@mintplayer/ng-qr-code 15.2.1 → 16.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.
@@ -0,0 +1,30 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../directives/qr-code/qr-code.directive";
5
+ class QrCodeComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: QrCodeComponent, selector: "qr-code", inputs: { value: "value", size: "size", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: "errorCorrectionLevel", centerImageSrc: "centerImageSrc", centerImageSize: "centerImageSize", margin: "margin" }, ngImport: i0, template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.QrCodeDirective, selector: "canvas[qrCode]", inputs: ["qrCode", "qrCodeVersion", "width", "height", "darkColor", "lightColor", "qrCodeErrorCorrectionLevel", "qrCodeCenterImageSrc", "qrCodeCenterImageWidth", "qrCodeCenterImageHeight", "qrCodeMargin"] }] }); }
8
+ }
9
+ export { QrCodeComponent };
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'qr-code', template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n" }]
13
+ }], propDecorators: { value: [{
14
+ type: Input
15
+ }], size: [{
16
+ type: Input
17
+ }], darkColor: [{
18
+ type: Input
19
+ }], lightColor: [{
20
+ type: Input
21
+ }], errorCorrectionLevel: [{
22
+ type: Input
23
+ }], centerImageSrc: [{
24
+ type: Input
25
+ }], centerImageSize: [{
26
+ type: Input
27
+ }], margin: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL2NvbXBvbmVudHMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1xci1jb2RlL3NyYy9saWIvY29tcG9uZW50cy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFJakQsTUFLYSxlQUFlOzhHQUFmLGVBQWU7a0dBQWYsZUFBZSxpUkNUNUIsMFpBWUE7O1NESGEsZUFBZTsyRkFBZixlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVM7OEJBS1YsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRUkNvZGVFcnJvckNvcnJlY3Rpb25MZXZlbCB9IGZyb20gJ0BtaW50cGxheWVyL3FyLWNvZGUnO1xuaW1wb3J0IHsgUmdiYUNvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmdiYS1jb2xvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FyLWNvZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXItY29kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3FyLWNvZGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRckNvZGVDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZT86IG51bWJlcjtcbiAgQElucHV0KCkgZGFya0NvbG9yPzogUmdiYUNvbG9yO1xuICBASW5wdXQoKSBsaWdodENvbG9yPzogUmdiYUNvbG9yO1xuICBASW5wdXQoKSBlcnJvckNvcnJlY3Rpb25MZXZlbD86IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsO1xuICBASW5wdXQoKSBjZW50ZXJJbWFnZVNyYz86IHN0cmluZztcbiAgQElucHV0KCkgY2VudGVySW1hZ2VTaXplPzogc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBtYXJnaW4/OiBudW1iZXI7XG59XG4iLCI8Y2FudmFzICpuZ0lmPVwidmFsdWVcIlxuICAgIFtxckNvZGVdPVwidmFsdWVcIlxuICAgIFtxckNvZGVFcnJvckNvcnJlY3Rpb25MZXZlbF09XCJlcnJvckNvcnJlY3Rpb25MZXZlbFwiXG4gICAgW3FyQ29kZUNlbnRlckltYWdlU3JjXT1cImNlbnRlckltYWdlU3JjXCJcbiAgICBbcXJDb2RlQ2VudGVySW1hZ2VXaWR0aF09XCJjZW50ZXJJbWFnZVNpemVcIlxuICAgIFtxckNvZGVDZW50ZXJJbWFnZUhlaWdodF09XCJjZW50ZXJJbWFnZVNpemVcIlxuICAgIFtxckNvZGVNYXJnaW5dPVwibWFyZ2luXCJcbiAgICBbd2lkdGhdPVwic2l6ZVwiXG4gICAgW2hlaWdodF09XCJzaXplXCJcbiAgICBbZGFya0NvbG9yXT1cImRhcmtDb2xvclwiXG4gICAgW2xpZ2h0Q29sb3JdPVwibGlnaHRDb2xvclwiPlxuPC9jYW52YXM+XG4iXX0=
@@ -0,0 +1,134 @@
1
+ import { Directive, Input, ViewContainerRef } from '@angular/core';
2
+ import * as qrCodeService from '@mintplayer/qr-code';
3
+ import * as i0 from "@angular/core";
4
+ class QrCodeDirective {
5
+ constructor(viewContainerRef) {
6
+ this.viewContainerRef = viewContainerRef;
7
+ //#region Version
8
+ this.version = null;
9
+ this.darkColor = '#000000FF';
10
+ this.lightColor = '#FFFFFFFF';
11
+ this.errorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
12
+ this.margin = 16;
13
+ }
14
+ static { this.VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/; }
15
+ static { this.DEFAULT_ERROR_CORRECTION_LEVEL = 'M'; }
16
+ static { this.DEFAULT_CENTER_IMAGE_SIZE = 40; }
17
+ set qrCodeVersion(value) {
18
+ if (value && (value > 40)) {
19
+ this.version = 40;
20
+ }
21
+ else if (value && (value < 1)) {
22
+ this.version = 1;
23
+ }
24
+ else {
25
+ this.version = null;
26
+ }
27
+ }
28
+ async ngOnChanges() {
29
+ if (!this.value) {
30
+ return;
31
+ }
32
+ const canvas = this.viewContainerRef.element.nativeElement;
33
+ if (!canvas) {
34
+ // native element not available on server side rendering
35
+ return;
36
+ }
37
+ const context = canvas.getContext('2d');
38
+ if (context) {
39
+ context.clearRect(0, 0, context.canvas.width, context.canvas.height);
40
+ }
41
+ const errorCorrectionLevel = this.errorCorrectionLevel ?? QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
42
+ const dark = !this.darkColor
43
+ ? undefined
44
+ : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)
45
+ ? this.darkColor
46
+ : undefined;
47
+ const light = !this.lightColor
48
+ ? undefined
49
+ : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)
50
+ ? this.lightColor
51
+ : undefined;
52
+ await qrCodeService
53
+ .toCanvas(canvas, this.value, {
54
+ version: this.version ?? undefined,
55
+ errorCorrectionLevel,
56
+ width: this.width,
57
+ margin: this.margin,
58
+ color: {
59
+ dark,
60
+ light,
61
+ },
62
+ });
63
+ const centerImageSrc = this.centerImageSrc;
64
+ const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
65
+ const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
66
+ if (centerImageSrc && context) {
67
+ if (!this.centerImage) {
68
+ this.centerImage = new Image(centerImageWidth, centerImageHeight);
69
+ }
70
+ if (centerImageSrc !== this.centerImage?.src) {
71
+ this.centerImage.src = centerImageSrc;
72
+ }
73
+ if (centerImageWidth !== this.centerImage.width) {
74
+ this.centerImage.width = centerImageWidth;
75
+ }
76
+ if (centerImageHeight !== this.centerImage.height) {
77
+ this.centerImage.height = centerImageHeight;
78
+ }
79
+ const centerImage = this.centerImage;
80
+ centerImage.onload = () => {
81
+ context.drawImage(centerImage, canvas.width / 2 - centerImageWidth / 2, canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight);
82
+ };
83
+ }
84
+ }
85
+ getIntOrDefault(value, defaultValue) {
86
+ if (value === undefined || value === '') {
87
+ return defaultValue;
88
+ }
89
+ else if (typeof value === 'string') {
90
+ return parseInt(value, 10);
91
+ }
92
+ else {
93
+ return value;
94
+ }
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: { value: ["qrCode", "value"], qrCodeVersion: "qrCodeVersion", width: "width", height: "height", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: ["qrCodeErrorCorrectionLevel", "errorCorrectionLevel"], centerImageSrc: ["qrCodeCenterImageSrc", "centerImageSrc"], centerImageWidth: ["qrCodeCenterImageWidth", "centerImageWidth"], centerImageHeight: ["qrCodeCenterImageHeight", "centerImageHeight"], margin: ["qrCodeMargin", "margin"] }, usesOnChanges: true, ngImport: i0 }); }
98
+ }
99
+ export { QrCodeDirective };
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeDirective, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ selector: 'canvas[qrCode]'
104
+ }]
105
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { value: [{
106
+ type: Input,
107
+ args: ['qrCode']
108
+ }], qrCodeVersion: [{
109
+ type: Input
110
+ }], width: [{
111
+ type: Input
112
+ }], height: [{
113
+ type: Input
114
+ }], darkColor: [{
115
+ type: Input
116
+ }], lightColor: [{
117
+ type: Input
118
+ }], errorCorrectionLevel: [{
119
+ type: Input,
120
+ args: ['qrCodeErrorCorrectionLevel']
121
+ }], centerImageSrc: [{
122
+ type: Input,
123
+ args: ['qrCodeCenterImageSrc']
124
+ }], centerImageWidth: [{
125
+ type: Input,
126
+ args: ['qrCodeCenterImageWidth']
127
+ }], centerImageHeight: [{
128
+ type: Input,
129
+ args: ['qrCodeCenterImageHeight']
130
+ }], margin: [{
131
+ type: Input,
132
+ args: ['qrCodeMargin']
133
+ }] } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL2RpcmVjdGl2ZXMvcXItY29kZS9xci1jb2RlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxLQUFLLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHckQsTUFHYSxlQUFlO0lBRTFCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUXRELGlCQUFpQjtRQUNULFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBZTdCLGNBQVMsR0FBZSxXQUFXLENBQUM7UUFDcEMsZUFBVSxHQUFlLFdBQVcsQ0FBQztRQUVULHlCQUFvQixHQUFnQyxlQUFlLENBQUMsOEJBQThCLENBQUM7UUFJakgsV0FBTSxHQUFJLEVBQUUsQ0FBQztJQS9CcUIsQ0FBQzthQUUxQyxzQkFBaUIsR0FBRyw4QkFBOEIsQUFBakMsQ0FBa0M7YUFDbkQsbUNBQThCLEdBQStCLEdBQUcsQUFBbEMsQ0FBbUM7YUFDakUsOEJBQXlCLEdBQUcsRUFBRSxBQUFMLENBQU07SUFNL0MsSUFBYSxhQUFhLENBQUMsS0FBb0I7UUFDN0MsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDbkI7YUFBTSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxD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bnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsIH0gZnJvbSAnQG1pbnRwbGF5ZXIvcXItY29kZSc7XG5pbXBvcnQgKiBhcyBxckNvZGVTZXJ2aWNlIGZyb20gJ0BtaW50cGxheWVyL3FyLWNvZGUnO1xuaW1wb3J0IHsgUmdiYUNvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmdiYS1jb2xvcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2NhbnZhc1txckNvZGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBRckNvZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBzdGF0aWMgcmVhZG9ubHkgVkFMSURfQ09MT1JfUkVHRVggPSAvXiMoPzpbMC05YS1mQS1GXXszLDR9KXsxLDJ9JC87XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0VSUk9SX0NPUlJFQ1RJT05fTEVWRUw6IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsID0gJ00nO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSA9IDQwO1xuXG4gIEBJbnB1dCgncXJDb2RlJykgdmFsdWUhOiBzdHJpbmc7XG5cbiAgLy8jcmVnaW9uIFZlcnNpb25cbiAgcHJpdmF0ZSB2ZXJzaW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgc2V0IHFyQ29kZVZlcnNpb24odmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgJiYgKHZhbHVlID4gNDApKSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSA0MDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmICh2YWx1ZSA8IDEpKSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSBudWxsO1xuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgZGFya0NvbG9yPzogUmdiYUNvbG9yID0gJyMwMDAwMDBGRic7XG4gIEBJbnB1dCgpIGxpZ2h0Q29sb3I/OiBSZ2JhQ29sb3IgPSAnI0ZGRkZGRkZGJztcbiAgXG4gIEBJbnB1dCgncXJDb2RlRXJyb3JDb3JyZWN0aW9uTGV2ZWwnKSBlcnJvckNvcnJlY3Rpb25MZXZlbD86IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsID0gUXJDb2RlRGlyZWN0aXZlLkRFRkFVTFRfRVJST1JfQ09SUkVDVElPTl9MRVZFTDtcbiAgQElucHV0KCdxckNvZGVDZW50ZXJJbWFnZVNyYycpIGNlbnRlckltYWdlU3JjPzogc3RyaW5nO1xuICBASW5wdXQoJ3FyQ29kZUNlbnRlckltYWdlV2lkdGgnKSBjZW50ZXJJbWFnZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoJ3FyQ29kZUNlbnRlckltYWdlSGVpZ2h0JykgY2VudGVySW1hZ2VIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgncXJDb2RlTWFyZ2luJykgbWFyZ2luPyA9IDE2O1xuXG4gIHByaXZhdGUgY2VudGVySW1hZ2U/OiBIVE1MSW1hZ2VFbGVtZW50O1xuXG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2FudmFzID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKCFjYW52YXMpIHtcbiAgICAgIC8vIG5hdGl2ZSBlbGVtZW50IG5vdCBhdmFpbGFibGUgb24gc2VydmVyIHNpZGUgcmVuZGVyaW5nXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIGNvbnRleHQuY2FudmFzLndpZHRoLCBjb250ZXh0LmNhbnZhcy5oZWlnaHQpO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yQ29ycmVjdGlvbkxldmVsID0gdGhpcy5lcnJvckNvcnJlY3Rpb25MZXZlbCA/PyBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9FUlJPUl9DT1JSRUNUSU9OX0xFVkVMXG5cbiAgICBjb25zdCBkYXJrID0gIXRoaXMuZGFya0NvbG9yIFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogUXJDb2RlRGlyZWN0aXZlLlZBTElEX0NPTE9SX1JFR0VYLnRlc3QodGhpcy5kYXJrQ29sb3IpXG4gICAgICA/IHRoaXMuZGFya0NvbG9yXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsaWdodCA9ICF0aGlzLmxpZ2h0Q29sb3JcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IFFyQ29kZURpcmVjdGl2ZS5WQUxJRF9DT0xPUl9SRUdFWC50ZXN0KHRoaXMubGlnaHRDb2xvcilcbiAgICAgID8gdGhpcy5saWdodENvbG9yXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGF3YWl0IHFyQ29kZVNlcnZpY2VcbiAgICAgIC50b0NhbnZhcyhjYW52YXMsIHRoaXMudmFsdWUsIHtcbiAgICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsXG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICBtYXJnaW46IHRoaXMubWFyZ2luLFxuICAgICAgICBjb2xvcjoge1xuICAgICAgICAgIGRhcmssXG4gICAgICAgICAgbGlnaHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGNlbnRlckltYWdlU3JjID0gdGhpcy5jZW50ZXJJbWFnZVNyYztcbiAgICBjb25zdCBjZW50ZXJJbWFnZVdpZHRoID0gdGhpcy5nZXRJbnRPckRlZmF1bHQodGhpcy5jZW50ZXJJbWFnZVdpZHRoLCBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSk7XG4gICAgY29uc3QgY2VudGVySW1hZ2VIZWlnaHQgPSB0aGlzLmdldEludE9yRGVmYXVsdCh0aGlzLmNlbnRlckltYWdlSGVpZ2h0LCBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSk7XG5cbiAgICBpZiAoY2VudGVySW1hZ2VTcmMgJiYgY29udGV4dCkge1xuXG4gICAgICBpZiAoIXRoaXMuY2VudGVySW1hZ2UpIHtcbiAgICAgICAgdGhpcy5jZW50ZXJJbWFnZSA9IG5ldyBJbWFnZShjZW50ZXJJbWFnZVdpZHRoLCBjZW50ZXJJbWFnZUhlaWdodCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjZW50ZXJJbWFnZVNyYyAhPT0gdGhpcy5jZW50ZXJJbWFnZT8uc3JjKSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2Uuc3JjID0gY2VudGVySW1hZ2VTcmM7XG4gICAgICB9XG5cbiAgICAgIGlmIChjZW50ZXJJbWFnZVdpZHRoICE9PSB0aGlzLmNlbnRlckltYWdlLndpZHRoKSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2Uud2lkdGggPSBjZW50ZXJJbWFnZVdpZHRoO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2VudGVySW1hZ2VIZWlnaHQgIT09IHRoaXMuY2VudGVySW1hZ2UuaGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2UuaGVpZ2h0ID0gY2VudGVySW1hZ2VIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNlbnRlckltYWdlID0gdGhpcy5jZW50ZXJJbWFnZTtcblxuICAgICAgY2VudGVySW1hZ2Uub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShcbiAgICAgICAgICBjZW50ZXJJbWFnZSxcbiAgICAgICAgICBjYW52YXMud2lkdGggLyAyIC0gY2VudGVySW1hZ2VXaWR0aCAvIDIsXG4gICAgICAgICAgY2FudmFzLmhlaWdodCAvIDIgLSBjZW50ZXJJbWFnZUhlaWdodCAvIDIsIGNlbnRlckltYWdlV2lkdGgsIGNlbnRlckltYWdlSGVpZ2h0LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRPckRlZmF1bHQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { QrCodeComponent } from './components/qr-code/qr-code.component';
4
+ import { QrCodeDirective } from './directives/qr-code/qr-code.directive';
5
+ import * as i0 from "@angular/core";
6
+ class QrCodeModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, declarations: [QrCodeComponent,
9
+ QrCodeDirective], imports: [CommonModule], exports: [QrCodeComponent,
10
+ QrCodeDirective] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, imports: [CommonModule] }); }
12
+ }
13
+ export { QrCodeModule };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [CommonModule],
18
+ declarations: [
19
+ QrCodeComponent,
20
+ QrCodeDirective
21
+ ],
22
+ exports: [
23
+ QrCodeComponent,
24
+ QrCodeDirective
25
+ ],
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL3FyLWNvZGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBRXpFLE1BV2EsWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBUnJCLGVBQWU7WUFDZixlQUFlLGFBSFAsWUFBWSxhQU1wQixlQUFlO1lBQ2YsZUFBZTsrR0FHTixZQUFZLFlBVmIsWUFBWTs7U0FVWCxZQUFZOzJGQUFaLFlBQVk7a0JBWHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUXJDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3FyLWNvZGUvcXItY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUXJDb2RlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3FyLWNvZGUvcXItY29kZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUXJDb2RlQ29tcG9uZW50LFxuICAgIFFyQ29kZURpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUXJDb2RlQ29tcG9uZW50LFxuICAgIFFyQ29kZURpcmVjdGl2ZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBRckNvZGVNb2R1bGUge31cbiJdfQ==
@@ -14,6 +14,9 @@ class QrCodeDirective {
14
14
  this.errorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
15
15
  this.margin = 16;
16
16
  }
17
+ static { this.VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/; }
18
+ static { this.DEFAULT_ERROR_CORRECTION_LEVEL = 'M'; }
19
+ static { this.DEFAULT_CENTER_IMAGE_SIZE = 40; }
17
20
  set qrCodeVersion(value) {
18
21
  if (value && (value > 40)) {
19
22
  this.version = 40;
@@ -93,13 +96,10 @@ class QrCodeDirective {
93
96
  return value;
94
97
  }
95
98
  }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
100
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: { value: ["qrCode", "value"], qrCodeVersion: "qrCodeVersion", width: "width", height: "height", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: ["qrCodeErrorCorrectionLevel", "errorCorrectionLevel"], centerImageSrc: ["qrCodeCenterImageSrc", "centerImageSrc"], centerImageWidth: ["qrCodeCenterImageWidth", "centerImageWidth"], centerImageHeight: ["qrCodeCenterImageHeight", "centerImageHeight"], margin: ["qrCodeMargin", "margin"] }, usesOnChanges: true, ngImport: i0 }); }
96
101
  }
97
- QrCodeDirective.VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;
98
- QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL = 'M';
99
- QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE = 40;
100
- QrCodeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
101
- QrCodeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: { value: ["qrCode", "value"], qrCodeVersion: "qrCodeVersion", width: "width", height: "height", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: ["qrCodeErrorCorrectionLevel", "errorCorrectionLevel"], centerImageSrc: ["qrCodeCenterImageSrc", "centerImageSrc"], centerImageWidth: ["qrCodeCenterImageWidth", "centerImageWidth"], centerImageHeight: ["qrCodeCenterImageHeight", "centerImageHeight"], margin: ["qrCodeMargin", "margin"] }, usesOnChanges: true, ngImport: i0 });
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeDirective, decorators: [{
103
103
  type: Directive,
104
104
  args: [{
105
105
  selector: 'canvas[qrCode]'
@@ -135,10 +135,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
135
135
  }] } });
136
136
 
137
137
  class QrCodeComponent {
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: QrCodeComponent, selector: "qr-code", inputs: { value: "value", size: "size", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: "errorCorrectionLevel", centerImageSrc: "centerImageSrc", centerImageSize: "centerImageSize", margin: "margin" }, ngImport: i0, template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: ["qrCode", "qrCodeVersion", "width", "height", "darkColor", "lightColor", "qrCodeErrorCorrectionLevel", "qrCodeCenterImageSrc", "qrCodeCenterImageWidth", "qrCodeCenterImageHeight", "qrCodeMargin"] }] }); }
138
140
  }
139
- QrCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
140
- QrCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeComponent, selector: "qr-code", inputs: { value: "value", size: "size", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: "errorCorrectionLevel", centerImageSrc: "centerImageSrc", centerImageSize: "centerImageSize", margin: "margin" }, ngImport: i0, template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: ["qrCode", "qrCodeVersion", "width", "height", "darkColor", "lightColor", "qrCodeErrorCorrectionLevel", "qrCodeCenterImageSrc", "qrCodeCenterImageWidth", "qrCodeCenterImageHeight", "qrCodeMargin"] }] });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'qr-code', template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n" }]
144
144
  }], propDecorators: { value: [{
@@ -160,13 +160,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
160
160
  }] } });
161
161
 
162
162
  class QrCodeModule {
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
164
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, declarations: [QrCodeComponent,
165
+ QrCodeDirective], imports: [CommonModule], exports: [QrCodeComponent,
166
+ QrCodeDirective] }); }
167
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, imports: [CommonModule] }); }
163
168
  }
164
- QrCodeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
165
- QrCodeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, declarations: [QrCodeComponent,
166
- QrCodeDirective], imports: [CommonModule], exports: [QrCodeComponent,
167
- QrCodeDirective] });
168
- QrCodeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, imports: [CommonModule] });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QrCodeModule, decorators: [{
170
170
  type: NgModule,
171
171
  args: [{
172
172
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-qr-code.mjs","sources":["../../../../libs/mintplayer-ng-qr-code/src/lib/directives/qr-code/qr-code.directive.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.html","../../../../libs/mintplayer-ng-qr-code/src/lib/qr-code.module.ts","../../../../libs/mintplayer-ng-qr-code/src/mintplayer-ng-qr-code.ts"],"sourcesContent":["import { Directive, Input, isDevMode, OnChanges, ViewContainerRef } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport * as qrCodeService from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Directive({\n selector: 'canvas[qrCode]'\n})\nexport class QrCodeDirective implements OnChanges {\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n static readonly VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;\n static readonly DEFAULT_ERROR_CORRECTION_LEVEL: QRCodeErrorCorrectionLevel = 'M';\n static readonly DEFAULT_CENTER_IMAGE_SIZE = 40;\n\n @Input('qrCode') value!: string;\n\n //#region Version\n private version: number | null = null;\n @Input() set qrCodeVersion(value: number | null) {\n if (value && (value > 40)) {\n this.version = 40;\n } else if (value && (value < 1)) {\n this.version = 1;\n } else {\n this.version = null;\n }\n }\n //#endregion\n\n \n @Input() width?: number;\n @Input() height?: number;\n @Input() darkColor?: RgbaColor = '#000000FF';\n @Input() lightColor?: RgbaColor = '#FFFFFFFF';\n \n @Input('qrCodeErrorCorrectionLevel') errorCorrectionLevel?: QRCodeErrorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;\n @Input('qrCodeCenterImageSrc') centerImageSrc?: string;\n @Input('qrCodeCenterImageWidth') centerImageWidth?: number | string;\n @Input('qrCodeCenterImageHeight') centerImageHeight?: number | string;\n @Input('qrCodeMargin') margin? = 16;\n\n private centerImage?: HTMLImageElement;\n\n\n async ngOnChanges() {\n if (!this.value) {\n return;\n }\n\n const canvas = this.viewContainerRef.element.nativeElement as HTMLCanvasElement | null;\n if (!canvas) {\n // native element not available on server side rendering\n return;\n }\n\n const context = canvas.getContext('2d');\n\n if (context) {\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n\n const errorCorrectionLevel = this.errorCorrectionLevel ?? QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL\n\n const dark = !this.darkColor \n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)\n ? this.darkColor\n : undefined;\n const light = !this.lightColor\n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)\n ? this.lightColor\n : undefined;\n\n await qrCodeService\n .toCanvas(canvas, this.value, {\n version: this.version ?? undefined,\n errorCorrectionLevel,\n width: this.width,\n margin: this.margin,\n color: {\n dark,\n light,\n },\n });\n\n const centerImageSrc = this.centerImageSrc;\n const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n\n if (centerImageSrc && context) {\n\n if (!this.centerImage) {\n this.centerImage = new Image(centerImageWidth, centerImageHeight);\n }\n\n if (centerImageSrc !== this.centerImage?.src) {\n this.centerImage.src = centerImageSrc;\n }\n\n if (centerImageWidth !== this.centerImage.width) {\n this.centerImage.width = centerImageWidth;\n }\n\n if (centerImageHeight !== this.centerImage.height) {\n this.centerImage.height = centerImageHeight;\n }\n\n const centerImage = this.centerImage;\n\n centerImage.onload = () => {\n context.drawImage(\n centerImage,\n canvas.width / 2 - centerImageWidth / 2,\n canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight,\n );\n }\n }\n\n }\n\n private getIntOrDefault(value: string | number | undefined, defaultValue: number): number {\n if (value === undefined || value === '') {\n return defaultValue;\n } else if (typeof value === 'string') {\n return parseInt(value, 10);\n } else {\n return value;\n }\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Component({\n selector: 'qr-code',\n templateUrl: './qr-code.component.html',\n styleUrls: ['./qr-code.component.scss']\n})\nexport class QrCodeComponent {\n @Input() value?: string;\n @Input() size?: number;\n @Input() darkColor?: RgbaColor;\n @Input() lightColor?: RgbaColor;\n @Input() errorCorrectionLevel?: QRCodeErrorCorrectionLevel;\n @Input() centerImageSrc?: string;\n @Input() centerImageSize?: string | number;\n @Input() margin?: number;\n}\n","<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { QrCodeComponent } from './components/qr-code/qr-code.component';\nimport { QrCodeDirective } from './directives/qr-code/qr-code.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n QrCodeComponent,\n QrCodeDirective\n ],\n exports: [\n QrCodeComponent,\n QrCodeDirective\n ],\n})\nexport class QrCodeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.QrCodeDirective"],"mappings":";;;;;;MAQa,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;;QAS9C,IAAO,CAAA,OAAA,GAAkB,IAAI,CAAC;QAe7B,IAAS,CAAA,SAAA,GAAe,WAAW,CAAC;QACpC,IAAU,CAAA,UAAA,GAAe,WAAW,CAAC;AAET,QAAA,IAAA,CAAA,oBAAoB,GAAgC,eAAe,CAAC,8BAA8B,CAAC;QAIjH,IAAM,CAAA,MAAA,GAAI,EAAE,CAAC;KA/BsB;IAU1D,IAAa,aAAa,CAAC,KAAoB,EAAA;AAC7C,QAAA,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,SAAA;KACF;AAkBD,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;AACR,SAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAyC,CAAC;QACvF,IAAI,CAAC,MAAM,EAAE;;YAEX,OAAO;AACR,SAAA;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAExC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACtE,SAAA;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,eAAe,CAAC,8BAA8B,CAAA;AAExG,QAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS;AAC1B,cAAE,SAAS;cACT,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;kBACtD,IAAI,CAAC,SAAS;kBACd,SAAS,CAAC;AACd,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU;AAC5B,cAAE,SAAS;cACT,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;kBACvD,IAAI,CAAC,UAAU;kBACf,SAAS,CAAC;AAEd,QAAA,MAAM,aAAa;AAChB,aAAA,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;AAC5B,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;YAClC,oBAAoB;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,YAAA,KAAK,EAAE;gBACL,IAAI;gBACJ,KAAK;AACN,aAAA;AACF,SAAA,CAAC,CAAC;AAEL,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;AAChH,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAElH,IAAI,cAAc,IAAI,OAAO,EAAE;AAE7B,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AACnE,aAAA;AAED,YAAA,IAAI,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;AAC5C,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,cAAc,CAAC;AACvC,aAAA;AAED,YAAA,IAAI,gBAAgB,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC/C,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAC3C,aAAA;AAED,YAAA,IAAI,iBAAiB,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,iBAAiB,CAAC;AAC7C,aAAA;AAED,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAErC,YAAA,WAAW,CAAC,MAAM,GAAG,MAAK;AACxB,gBAAA,OAAO,CAAC,SAAS,CACf,WAAW,EACX,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,gBAAgB,GAAG,CAAC,EACvC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,CAC/E,CAAC;AACJ,aAAC,CAAA;AACF,SAAA;KAEF;IAEO,eAAe,CAAC,KAAkC,EAAE,YAAoB,EAAA;AAC9E,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;AACvC,YAAA,OAAO,YAAY,CAAC;AACrB,SAAA;AAAM,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5B,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;;AAvHe,eAAiB,CAAA,iBAAA,GAAG,8BAA8B,CAAC;AACnD,eAA8B,CAAA,8BAAA,GAA+B,GAAG,CAAC;AACjE,eAAyB,CAAA,yBAAA,GAAG,EAAE,CAAC;4GANpC,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,CAAA,4BAAA,EAAA,sBAAA,CAAA,EAAA,cAAA,EAAA,CAAA,sBAAA,EAAA,gBAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,wBAAA,EAAA,kBAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,yBAAA,EAAA,mBAAA,CAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;uGASkB,KAAK,EAAA,CAAA;sBAArB,KAAK;uBAAC,QAAQ,CAAA;gBAIF,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAYG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAE+B,oBAAoB,EAAA,CAAA;sBAAxD,KAAK;uBAAC,4BAA4B,CAAA;gBACJ,cAAc,EAAA,CAAA;sBAA5C,KAAK;uBAAC,sBAAsB,CAAA;gBACI,gBAAgB,EAAA,CAAA;sBAAhD,KAAK;uBAAC,wBAAwB,CAAA;gBACG,iBAAiB,EAAA,CAAA;sBAAlD,KAAK;uBAAC,yBAAyB,CAAA;gBACT,MAAM,EAAA,CAAA;sBAA5B,KAAK;uBAAC,cAAc,CAAA;;;MChCV,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,iRCT5B,0ZAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,eAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,YAAA,EAAA,4BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDHa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,0ZAAA,EAAA,CAAA;8BAKV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEDK,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBARrB,eAAe;QACf,eAAe,CAAA,EAAA,OAAA,EAAA,CAHP,YAAY,CAAA,EAAA,OAAA,EAAA,CAMpB,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;AAGN,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAVb,YAAY,CAAA,EAAA,CAAA,CAAA;2FAUX,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,eAAe;AAChB,qBAAA;AACF,iBAAA,CAAA;;;ACfD;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-qr-code.mjs","sources":["../../../../libs/mintplayer-ng-qr-code/src/lib/directives/qr-code/qr-code.directive.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.html","../../../../libs/mintplayer-ng-qr-code/src/lib/qr-code.module.ts","../../../../libs/mintplayer-ng-qr-code/src/mintplayer-ng-qr-code.ts"],"sourcesContent":["import { Directive, Input, isDevMode, OnChanges, ViewContainerRef } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport * as qrCodeService from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Directive({\n selector: 'canvas[qrCode]'\n})\nexport class QrCodeDirective implements OnChanges {\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n static readonly VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;\n static readonly DEFAULT_ERROR_CORRECTION_LEVEL: QRCodeErrorCorrectionLevel = 'M';\n static readonly DEFAULT_CENTER_IMAGE_SIZE = 40;\n\n @Input('qrCode') value!: string;\n\n //#region Version\n private version: number | null = null;\n @Input() set qrCodeVersion(value: number | null) {\n if (value && (value > 40)) {\n this.version = 40;\n } else if (value && (value < 1)) {\n this.version = 1;\n } else {\n this.version = null;\n }\n }\n //#endregion\n\n \n @Input() width?: number;\n @Input() height?: number;\n @Input() darkColor?: RgbaColor = '#000000FF';\n @Input() lightColor?: RgbaColor = '#FFFFFFFF';\n \n @Input('qrCodeErrorCorrectionLevel') errorCorrectionLevel?: QRCodeErrorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;\n @Input('qrCodeCenterImageSrc') centerImageSrc?: string;\n @Input('qrCodeCenterImageWidth') centerImageWidth?: number | string;\n @Input('qrCodeCenterImageHeight') centerImageHeight?: number | string;\n @Input('qrCodeMargin') margin? = 16;\n\n private centerImage?: HTMLImageElement;\n\n\n async ngOnChanges() {\n if (!this.value) {\n return;\n }\n\n const canvas = this.viewContainerRef.element.nativeElement as HTMLCanvasElement | null;\n if (!canvas) {\n // native element not available on server side rendering\n return;\n }\n\n const context = canvas.getContext('2d');\n\n if (context) {\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n\n const errorCorrectionLevel = this.errorCorrectionLevel ?? QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL\n\n const dark = !this.darkColor \n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)\n ? this.darkColor\n : undefined;\n const light = !this.lightColor\n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)\n ? this.lightColor\n : undefined;\n\n await qrCodeService\n .toCanvas(canvas, this.value, {\n version: this.version ?? undefined,\n errorCorrectionLevel,\n width: this.width,\n margin: this.margin,\n color: {\n dark,\n light,\n },\n });\n\n const centerImageSrc = this.centerImageSrc;\n const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n\n if (centerImageSrc && context) {\n\n if (!this.centerImage) {\n this.centerImage = new Image(centerImageWidth, centerImageHeight);\n }\n\n if (centerImageSrc !== this.centerImage?.src) {\n this.centerImage.src = centerImageSrc;\n }\n\n if (centerImageWidth !== this.centerImage.width) {\n this.centerImage.width = centerImageWidth;\n }\n\n if (centerImageHeight !== this.centerImage.height) {\n this.centerImage.height = centerImageHeight;\n }\n\n const centerImage = this.centerImage;\n\n centerImage.onload = () => {\n context.drawImage(\n centerImage,\n canvas.width / 2 - centerImageWidth / 2,\n canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight,\n );\n }\n }\n\n }\n\n private getIntOrDefault(value: string | number | undefined, defaultValue: number): number {\n if (value === undefined || value === '') {\n return defaultValue;\n } else if (typeof value === 'string') {\n return parseInt(value, 10);\n } else {\n return value;\n }\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Component({\n selector: 'qr-code',\n templateUrl: './qr-code.component.html',\n styleUrls: ['./qr-code.component.scss']\n})\nexport class QrCodeComponent {\n @Input() value?: string;\n @Input() size?: number;\n @Input() darkColor?: RgbaColor;\n @Input() lightColor?: RgbaColor;\n @Input() errorCorrectionLevel?: QRCodeErrorCorrectionLevel;\n @Input() centerImageSrc?: string;\n @Input() centerImageSize?: string | number;\n @Input() margin?: number;\n}\n","<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { QrCodeComponent } from './components/qr-code/qr-code.component';\nimport { QrCodeDirective } from './directives/qr-code/qr-code.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n QrCodeComponent,\n QrCodeDirective\n ],\n exports: [\n QrCodeComponent,\n QrCodeDirective\n ],\n})\nexport class QrCodeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.QrCodeDirective"],"mappings":"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"}
@@ -11,5 +11,5 @@ export declare class QrCodeComponent {
11
11
  centerImageSize?: string | number;
12
12
  margin?: number;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<QrCodeComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<QrCodeComponent, "qr-code", never, { "value": "value"; "size": "size"; "darkColor": "darkColor"; "lightColor": "lightColor"; "errorCorrectionLevel": "errorCorrectionLevel"; "centerImageSrc": "centerImageSrc"; "centerImageSize": "centerImageSize"; "margin": "margin"; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<QrCodeComponent, "qr-code", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "darkColor": { "alias": "darkColor"; "required": false; }; "lightColor": { "alias": "lightColor"; "required": false; }; "errorCorrectionLevel": { "alias": "errorCorrectionLevel"; "required": false; }; "centerImageSrc": { "alias": "centerImageSrc"; "required": false; }; "centerImageSize": { "alias": "centerImageSize"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -24,5 +24,5 @@ export declare class QrCodeDirective implements OnChanges {
24
24
  ngOnChanges(): Promise<void>;
25
25
  private getIntOrDefault;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<QrCodeDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<QrCodeDirective, "canvas[qrCode]", never, { "value": "qrCode"; "qrCodeVersion": "qrCodeVersion"; "width": "width"; "height": "height"; "darkColor": "darkColor"; "lightColor": "lightColor"; "errorCorrectionLevel": "qrCodeErrorCorrectionLevel"; "centerImageSrc": "qrCodeCenterImageSrc"; "centerImageWidth": "qrCodeCenterImageWidth"; "centerImageHeight": "qrCodeCenterImageHeight"; "margin": "qrCodeMargin"; }, {}, never, never, false, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QrCodeDirective, "canvas[qrCode]", never, { "value": { "alias": "qrCode"; "required": false; }; "qrCodeVersion": { "alias": "qrCodeVersion"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "darkColor": { "alias": "darkColor"; "required": false; }; "lightColor": { "alias": "lightColor"; "required": false; }; "errorCorrectionLevel": { "alias": "qrCodeErrorCorrectionLevel"; "required": false; }; "centerImageSrc": { "alias": "qrCodeCenterImageSrc"; "required": false; }; "centerImageWidth": { "alias": "qrCodeCenterImageWidth"; "required": false; }; "centerImageHeight": { "alias": "qrCodeCenterImageHeight"; "required": false; }; "margin": { "alias": "qrCodeMargin"; "required": false; }; }, {}, never, never, false, never>;
28
28
  }
package/package.json CHANGED
@@ -1,25 +1,21 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-qr-code",
3
3
  "private": false,
4
- "version": "15.2.1",
4
+ "version": "16.0.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
8
8
  "directory": "libs/mintplayer-ng-qr-code"
9
9
  },
10
10
  "peerDependencies": {
11
- "@angular/common": "^15.2.0",
12
- "@angular/core": "^15.2.0",
13
- "@mintplayer/qr-code": "^1.1.0"
11
+ "@angular/common": "^16.0.0",
12
+ "@angular/core": "^16.0.0",
13
+ "@mintplayer/qr-code": "^1.2.0"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0"
17
17
  },
18
- "module": "fesm2015/mintplayer-ng-qr-code.mjs",
19
- "es2020": "fesm2020/mintplayer-ng-qr-code.mjs",
20
- "esm2020": "esm2020/mintplayer-ng-qr-code.mjs",
21
- "fesm2020": "fesm2020/mintplayer-ng-qr-code.mjs",
22
- "fesm2015": "fesm2015/mintplayer-ng-qr-code.mjs",
18
+ "module": "fesm2022/mintplayer-ng-qr-code.mjs",
23
19
  "typings": "index.d.ts",
24
20
  "exports": {
25
21
  "./package.json": {
@@ -27,11 +23,9 @@
27
23
  },
28
24
  ".": {
29
25
  "types": "./index.d.ts",
30
- "esm2020": "./esm2020/mintplayer-ng-qr-code.mjs",
31
- "es2020": "./fesm2020/mintplayer-ng-qr-code.mjs",
32
- "es2015": "./fesm2015/mintplayer-ng-qr-code.mjs",
33
- "node": "./fesm2015/mintplayer-ng-qr-code.mjs",
34
- "default": "./fesm2020/mintplayer-ng-qr-code.mjs"
26
+ "esm2022": "./esm2022/mintplayer-ng-qr-code.mjs",
27
+ "esm": "./esm2022/mintplayer-ng-qr-code.mjs",
28
+ "default": "./fesm2022/mintplayer-ng-qr-code.mjs"
35
29
  }
36
30
  },
37
31
  "sideEffects": false
@@ -1,29 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../directives/qr-code/qr-code.directive";
5
- export class QrCodeComponent {
6
- }
7
- QrCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- QrCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeComponent, selector: "qr-code", inputs: { value: "value", size: "size", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: "errorCorrectionLevel", centerImageSrc: "centerImageSrc", centerImageSize: "centerImageSize", margin: "margin" }, ngImport: i0, template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.QrCodeDirective, selector: "canvas[qrCode]", inputs: ["qrCode", "qrCodeVersion", "width", "height", "darkColor", "lightColor", "qrCodeErrorCorrectionLevel", "qrCodeCenterImageSrc", "qrCodeCenterImageWidth", "qrCodeCenterImageHeight", "qrCodeMargin"] }] });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: 'qr-code', template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n" }]
12
- }], propDecorators: { value: [{
13
- type: Input
14
- }], size: [{
15
- type: Input
16
- }], darkColor: [{
17
- type: Input
18
- }], lightColor: [{
19
- type: Input
20
- }], errorCorrectionLevel: [{
21
- type: Input
22
- }], centerImageSrc: [{
23
- type: Input
24
- }], centerImageSize: [{
25
- type: Input
26
- }], margin: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL2NvbXBvbmVudHMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1xci1jb2RlL3NyYy9saWIvY29tcG9uZW50cy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTakQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7Z0dBQWYsZUFBZSxpUkNUNUIsMFpBWUE7MkZESGEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxTQUFTOzhCQUtWLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUVJDb2RlRXJyb3JDb3JyZWN0aW9uTGV2ZWwgfSBmcm9tICdAbWludHBsYXllci9xci1jb2RlJztcbmltcG9ydCB7IFJnYmFDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL3JnYmEtY29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdxci1jb2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3FyLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xci1jb2RlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXJDb2RlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhcmtDb2xvcj86IFJnYmFDb2xvcjtcbiAgQElucHV0KCkgbGlnaHRDb2xvcj86IFJnYmFDb2xvcjtcbiAgQElucHV0KCkgZXJyb3JDb3JyZWN0aW9uTGV2ZWw/OiBRUkNvZGVFcnJvckNvcnJlY3Rpb25MZXZlbDtcbiAgQElucHV0KCkgY2VudGVySW1hZ2VTcmM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNlbnRlckltYWdlU2l6ZT86IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgbWFyZ2luPzogbnVtYmVyO1xufVxuIiwiPGNhbnZhcyAqbmdJZj1cInZhbHVlXCJcbiAgICBbcXJDb2RlXT1cInZhbHVlXCJcbiAgICBbcXJDb2RlRXJyb3JDb3JyZWN0aW9uTGV2ZWxdPVwiZXJyb3JDb3JyZWN0aW9uTGV2ZWxcIlxuICAgIFtxckNvZGVDZW50ZXJJbWFnZVNyY109XCJjZW50ZXJJbWFnZVNyY1wiXG4gICAgW3FyQ29kZUNlbnRlckltYWdlV2lkdGhdPVwiY2VudGVySW1hZ2VTaXplXCJcbiAgICBbcXJDb2RlQ2VudGVySW1hZ2VIZWlnaHRdPVwiY2VudGVySW1hZ2VTaXplXCJcbiAgICBbcXJDb2RlTWFyZ2luXT1cIm1hcmdpblwiXG4gICAgW3dpZHRoXT1cInNpemVcIlxuICAgIFtoZWlnaHRdPVwic2l6ZVwiXG4gICAgW2RhcmtDb2xvcl09XCJkYXJrQ29sb3JcIlxuICAgIFtsaWdodENvbG9yXT1cImxpZ2h0Q29sb3JcIj5cbjwvY2FudmFzPlxuIl19
@@ -1,133 +0,0 @@
1
- import { Directive, Input, ViewContainerRef } from '@angular/core';
2
- import * as qrCodeService from '@mintplayer/qr-code';
3
- import * as i0 from "@angular/core";
4
- export class QrCodeDirective {
5
- constructor(viewContainerRef) {
6
- this.viewContainerRef = viewContainerRef;
7
- //#region Version
8
- this.version = null;
9
- this.darkColor = '#000000FF';
10
- this.lightColor = '#FFFFFFFF';
11
- this.errorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
12
- this.margin = 16;
13
- }
14
- set qrCodeVersion(value) {
15
- if (value && (value > 40)) {
16
- this.version = 40;
17
- }
18
- else if (value && (value < 1)) {
19
- this.version = 1;
20
- }
21
- else {
22
- this.version = null;
23
- }
24
- }
25
- async ngOnChanges() {
26
- if (!this.value) {
27
- return;
28
- }
29
- const canvas = this.viewContainerRef.element.nativeElement;
30
- if (!canvas) {
31
- // native element not available on server side rendering
32
- return;
33
- }
34
- const context = canvas.getContext('2d');
35
- if (context) {
36
- context.clearRect(0, 0, context.canvas.width, context.canvas.height);
37
- }
38
- const errorCorrectionLevel = this.errorCorrectionLevel ?? QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
39
- const dark = !this.darkColor
40
- ? undefined
41
- : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)
42
- ? this.darkColor
43
- : undefined;
44
- const light = !this.lightColor
45
- ? undefined
46
- : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)
47
- ? this.lightColor
48
- : undefined;
49
- await qrCodeService
50
- .toCanvas(canvas, this.value, {
51
- version: this.version ?? undefined,
52
- errorCorrectionLevel,
53
- width: this.width,
54
- margin: this.margin,
55
- color: {
56
- dark,
57
- light,
58
- },
59
- });
60
- const centerImageSrc = this.centerImageSrc;
61
- const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
62
- const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
63
- if (centerImageSrc && context) {
64
- if (!this.centerImage) {
65
- this.centerImage = new Image(centerImageWidth, centerImageHeight);
66
- }
67
- if (centerImageSrc !== this.centerImage?.src) {
68
- this.centerImage.src = centerImageSrc;
69
- }
70
- if (centerImageWidth !== this.centerImage.width) {
71
- this.centerImage.width = centerImageWidth;
72
- }
73
- if (centerImageHeight !== this.centerImage.height) {
74
- this.centerImage.height = centerImageHeight;
75
- }
76
- const centerImage = this.centerImage;
77
- centerImage.onload = () => {
78
- context.drawImage(centerImage, canvas.width / 2 - centerImageWidth / 2, canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight);
79
- };
80
- }
81
- }
82
- getIntOrDefault(value, defaultValue) {
83
- if (value === undefined || value === '') {
84
- return defaultValue;
85
- }
86
- else if (typeof value === 'string') {
87
- return parseInt(value, 10);
88
- }
89
- else {
90
- return value;
91
- }
92
- }
93
- }
94
- QrCodeDirective.VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;
95
- QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL = 'M';
96
- QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE = 40;
97
- QrCodeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
98
- QrCodeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: { value: ["qrCode", "value"], qrCodeVersion: "qrCodeVersion", width: "width", height: "height", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: ["qrCodeErrorCorrectionLevel", "errorCorrectionLevel"], centerImageSrc: ["qrCodeCenterImageSrc", "centerImageSrc"], centerImageWidth: ["qrCodeCenterImageWidth", "centerImageWidth"], centerImageHeight: ["qrCodeCenterImageHeight", "centerImageHeight"], margin: ["qrCodeMargin", "margin"] }, usesOnChanges: true, ngImport: i0 });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, decorators: [{
100
- type: Directive,
101
- args: [{
102
- selector: 'canvas[qrCode]'
103
- }]
104
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { value: [{
105
- type: Input,
106
- args: ['qrCode']
107
- }], qrCodeVersion: [{
108
- type: Input
109
- }], width: [{
110
- type: Input
111
- }], height: [{
112
- type: Input
113
- }], darkColor: [{
114
- type: Input
115
- }], lightColor: [{
116
- type: Input
117
- }], errorCorrectionLevel: [{
118
- type: Input,
119
- args: ['qrCodeErrorCorrectionLevel']
120
- }], centerImageSrc: [{
121
- type: Input,
122
- args: ['qrCodeCenterImageSrc']
123
- }], centerImageWidth: [{
124
- type: Input,
125
- args: ['qrCodeCenterImageWidth']
126
- }], centerImageHeight: [{
127
- type: Input,
128
- args: ['qrCodeCenterImageHeight']
129
- }], margin: [{
130
- type: Input,
131
- args: ['qrCodeMargin']
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL2RpcmVjdGl2ZXMvcXItY29kZS9xci1jb2RlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxLQUFLLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFRdEQsaUJBQWlCO1FBQ1QsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFlN0IsY0FBUyxHQUFlLFdBQVcsQ0FBQztRQUNwQyxlQUFVLEdBQWUsV0FBVyxDQUFDO1FBRVQseUJBQW9CLEdBQWdDLGVBQWUsQ0FBQyw4QkFBOEIsQ0FBQztRQUlqSCxXQUFNLEdBQUksRUFBRSxDQUFDO0lBL0JxQixDQUFDO0lBVTFELElBQWEsYUFBYSxDQUFDLEtBQW9CO1FBQzdDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQWtCRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxD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LCBJbnB1dCwgaXNEZXZNb2RlLCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsIH0gZnJvbSAnQG1pbnRwbGF5ZXIvcXItY29kZSc7XG5pbXBvcnQgKiBhcyBxckNvZGVTZXJ2aWNlIGZyb20gJ0BtaW50cGxheWVyL3FyLWNvZGUnO1xuaW1wb3J0IHsgUmdiYUNvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmdiYS1jb2xvcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2NhbnZhc1txckNvZGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBRckNvZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBzdGF0aWMgcmVhZG9ubHkgVkFMSURfQ09MT1JfUkVHRVggPSAvXiMoPzpbMC05YS1mQS1GXXszLDR9KXsxLDJ9JC87XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0VSUk9SX0NPUlJFQ1RJT05fTEVWRUw6IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsID0gJ00nO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSA9IDQwO1xuXG4gIEBJbnB1dCgncXJDb2RlJykgdmFsdWUhOiBzdHJpbmc7XG5cbiAgLy8jcmVnaW9uIFZlcnNpb25cbiAgcHJpdmF0ZSB2ZXJzaW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgc2V0IHFyQ29kZVZlcnNpb24odmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgJiYgKHZhbHVlID4gNDApKSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSA0MDtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmICh2YWx1ZSA8IDEpKSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZlcnNpb24gPSBudWxsO1xuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgZGFya0NvbG9yPzogUmdiYUNvbG9yID0gJyMwMDAwMDBGRic7XG4gIEBJbnB1dCgpIGxpZ2h0Q29sb3I/OiBSZ2JhQ29sb3IgPSAnI0ZGRkZGRkZGJztcbiAgXG4gIEBJbnB1dCgncXJDb2RlRXJyb3JDb3JyZWN0aW9uTGV2ZWwnKSBlcnJvckNvcnJlY3Rpb25MZXZlbD86IFFSQ29kZUVycm9yQ29ycmVjdGlvbkxldmVsID0gUXJDb2RlRGlyZWN0aXZlLkRFRkFVTFRfRVJST1JfQ09SUkVDVElPTl9MRVZFTDtcbiAgQElucHV0KCdxckNvZGVDZW50ZXJJbWFnZVNyYycpIGNlbnRlckltYWdlU3JjPzogc3RyaW5nO1xuICBASW5wdXQoJ3FyQ29kZUNlbnRlckltYWdlV2lkdGgnKSBjZW50ZXJJbWFnZVdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoJ3FyQ29kZUNlbnRlckltYWdlSGVpZ2h0JykgY2VudGVySW1hZ2VIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgncXJDb2RlTWFyZ2luJykgbWFyZ2luPyA9IDE2O1xuXG4gIHByaXZhdGUgY2VudGVySW1hZ2U/OiBIVE1MSW1hZ2VFbGVtZW50O1xuXG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2FudmFzID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKCFjYW52YXMpIHtcbiAgICAgIC8vIG5hdGl2ZSBlbGVtZW50IG5vdCBhdmFpbGFibGUgb24gc2VydmVyIHNpZGUgcmVuZGVyaW5nXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIGNvbnRleHQuY2FudmFzLndpZHRoLCBjb250ZXh0LmNhbnZhcy5oZWlnaHQpO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yQ29ycmVjdGlvbkxldmVsID0gdGhpcy5lcnJvckNvcnJlY3Rpb25MZXZlbCA/PyBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9FUlJPUl9DT1JSRUNUSU9OX0xFVkVMXG5cbiAgICBjb25zdCBkYXJrID0gIXRoaXMuZGFya0NvbG9yIFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogUXJDb2RlRGlyZWN0aXZlLlZBTElEX0NPTE9SX1JFR0VYLnRlc3QodGhpcy5kYXJrQ29sb3IpXG4gICAgICA/IHRoaXMuZGFya0NvbG9yXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsaWdodCA9ICF0aGlzLmxpZ2h0Q29sb3JcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IFFyQ29kZURpcmVjdGl2ZS5WQUxJRF9DT0xPUl9SRUdFWC50ZXN0KHRoaXMubGlnaHRDb2xvcilcbiAgICAgID8gdGhpcy5saWdodENvbG9yXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGF3YWl0IHFyQ29kZVNlcnZpY2VcbiAgICAgIC50b0NhbnZhcyhjYW52YXMsIHRoaXMudmFsdWUsIHtcbiAgICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWwsXG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICBtYXJnaW46IHRoaXMubWFyZ2luLFxuICAgICAgICBjb2xvcjoge1xuICAgICAgICAgIGRhcmssXG4gICAgICAgICAgbGlnaHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGNlbnRlckltYWdlU3JjID0gdGhpcy5jZW50ZXJJbWFnZVNyYztcbiAgICBjb25zdCBjZW50ZXJJbWFnZVdpZHRoID0gdGhpcy5nZXRJbnRPckRlZmF1bHQodGhpcy5jZW50ZXJJbWFnZVdpZHRoLCBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSk7XG4gICAgY29uc3QgY2VudGVySW1hZ2VIZWlnaHQgPSB0aGlzLmdldEludE9yRGVmYXVsdCh0aGlzLmNlbnRlckltYWdlSGVpZ2h0LCBRckNvZGVEaXJlY3RpdmUuREVGQVVMVF9DRU5URVJfSU1BR0VfU0laRSk7XG5cbiAgICBpZiAoY2VudGVySW1hZ2VTcmMgJiYgY29udGV4dCkge1xuXG4gICAgICBpZiAoIXRoaXMuY2VudGVySW1hZ2UpIHtcbiAgICAgICAgdGhpcy5jZW50ZXJJbWFnZSA9IG5ldyBJbWFnZShjZW50ZXJJbWFnZVdpZHRoLCBjZW50ZXJJbWFnZUhlaWdodCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjZW50ZXJJbWFnZVNyYyAhPT0gdGhpcy5jZW50ZXJJbWFnZT8uc3JjKSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2Uuc3JjID0gY2VudGVySW1hZ2VTcmM7XG4gICAgICB9XG5cbiAgICAgIGlmIChjZW50ZXJJbWFnZVdpZHRoICE9PSB0aGlzLmNlbnRlckltYWdlLndpZHRoKSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2Uud2lkdGggPSBjZW50ZXJJbWFnZVdpZHRoO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2VudGVySW1hZ2VIZWlnaHQgIT09IHRoaXMuY2VudGVySW1hZ2UuaGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuY2VudGVySW1hZ2UuaGVpZ2h0ID0gY2VudGVySW1hZ2VIZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNlbnRlckltYWdlID0gdGhpcy5jZW50ZXJJbWFnZTtcblxuICAgICAgY2VudGVySW1hZ2Uub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShcbiAgICAgICAgICBjZW50ZXJJbWFnZSxcbiAgICAgICAgICBjYW52YXMud2lkdGggLyAyIC0gY2VudGVySW1hZ2VXaWR0aCAvIDIsXG4gICAgICAgICAgY2FudmFzLmhlaWdodCAvIDIgLSBjZW50ZXJJbWFnZUhlaWdodCAvIDIsIGNlbnRlckltYWdlV2lkdGgsIGNlbnRlckltYWdlSGVpZ2h0LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRPckRlZmF1bHQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { QrCodeComponent } from './components/qr-code/qr-code.component';
4
- import { QrCodeDirective } from './directives/qr-code/qr-code.directive';
5
- import * as i0 from "@angular/core";
6
- export class QrCodeModule {
7
- }
8
- QrCodeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- QrCodeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, declarations: [QrCodeComponent,
10
- QrCodeDirective], imports: [CommonModule], exports: [QrCodeComponent,
11
- QrCodeDirective] });
12
- QrCodeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, imports: [CommonModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [CommonModule],
17
- declarations: [
18
- QrCodeComponent,
19
- QrCodeDirective
20
- ],
21
- exports: [
22
- QrCodeComponent,
23
- QrCodeDirective
24
- ],
25
- }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXItY29kZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctcXItY29kZS9zcmMvbGliL3FyLWNvZGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBYXpFLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksaUJBUnJCLGVBQWU7UUFDZixlQUFlLGFBSFAsWUFBWSxhQU1wQixlQUFlO1FBQ2YsZUFBZTswR0FHTixZQUFZLFlBVmIsWUFBWTsyRkFVWCxZQUFZO2tCQVh4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFFyQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9xci1jb2RlL3FyLWNvZGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFFyQ29kZUNvbXBvbmVudCxcbiAgICBRckNvZGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFFyQ29kZUNvbXBvbmVudCxcbiAgICBRckNvZGVEaXJlY3RpdmVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXJDb2RlTW9kdWxlIHt9XG4iXX0=
@@ -1,193 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Directive, Input, Component, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import { __awaiter } from 'tslib';
6
- import * as qrCodeService from '@mintplayer/qr-code';
7
-
8
- class QrCodeDirective {
9
- constructor(viewContainerRef) {
10
- this.viewContainerRef = viewContainerRef;
11
- //#region Version
12
- this.version = null;
13
- this.darkColor = '#000000FF';
14
- this.lightColor = '#FFFFFFFF';
15
- this.errorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
16
- this.margin = 16;
17
- }
18
- set qrCodeVersion(value) {
19
- if (value && (value > 40)) {
20
- this.version = 40;
21
- }
22
- else if (value && (value < 1)) {
23
- this.version = 1;
24
- }
25
- else {
26
- this.version = null;
27
- }
28
- }
29
- ngOnChanges() {
30
- var _a, _b, _c;
31
- return __awaiter(this, void 0, void 0, function* () {
32
- if (!this.value) {
33
- return;
34
- }
35
- const canvas = this.viewContainerRef.element.nativeElement;
36
- if (!canvas) {
37
- // native element not available on server side rendering
38
- return;
39
- }
40
- const context = canvas.getContext('2d');
41
- if (context) {
42
- context.clearRect(0, 0, context.canvas.width, context.canvas.height);
43
- }
44
- const errorCorrectionLevel = (_a = this.errorCorrectionLevel) !== null && _a !== void 0 ? _a : QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;
45
- const dark = !this.darkColor
46
- ? undefined
47
- : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)
48
- ? this.darkColor
49
- : undefined;
50
- const light = !this.lightColor
51
- ? undefined
52
- : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)
53
- ? this.lightColor
54
- : undefined;
55
- yield qrCodeService
56
- .toCanvas(canvas, this.value, {
57
- version: (_b = this.version) !== null && _b !== void 0 ? _b : undefined,
58
- errorCorrectionLevel,
59
- width: this.width,
60
- margin: this.margin,
61
- color: {
62
- dark,
63
- light,
64
- },
65
- });
66
- const centerImageSrc = this.centerImageSrc;
67
- const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
68
- const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);
69
- if (centerImageSrc && context) {
70
- if (!this.centerImage) {
71
- this.centerImage = new Image(centerImageWidth, centerImageHeight);
72
- }
73
- if (centerImageSrc !== ((_c = this.centerImage) === null || _c === void 0 ? void 0 : _c.src)) {
74
- this.centerImage.src = centerImageSrc;
75
- }
76
- if (centerImageWidth !== this.centerImage.width) {
77
- this.centerImage.width = centerImageWidth;
78
- }
79
- if (centerImageHeight !== this.centerImage.height) {
80
- this.centerImage.height = centerImageHeight;
81
- }
82
- const centerImage = this.centerImage;
83
- centerImage.onload = () => {
84
- context.drawImage(centerImage, canvas.width / 2 - centerImageWidth / 2, canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight);
85
- };
86
- }
87
- });
88
- }
89
- getIntOrDefault(value, defaultValue) {
90
- if (value === undefined || value === '') {
91
- return defaultValue;
92
- }
93
- else if (typeof value === 'string') {
94
- return parseInt(value, 10);
95
- }
96
- else {
97
- return value;
98
- }
99
- }
100
- }
101
- QrCodeDirective.VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;
102
- QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL = 'M';
103
- QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE = 40;
104
- QrCodeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
105
- QrCodeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: { value: ["qrCode", "value"], qrCodeVersion: "qrCodeVersion", width: "width", height: "height", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: ["qrCodeErrorCorrectionLevel", "errorCorrectionLevel"], centerImageSrc: ["qrCodeCenterImageSrc", "centerImageSrc"], centerImageWidth: ["qrCodeCenterImageWidth", "centerImageWidth"], centerImageHeight: ["qrCodeCenterImageHeight", "centerImageHeight"], margin: ["qrCodeMargin", "margin"] }, usesOnChanges: true, ngImport: i0 });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeDirective, decorators: [{
107
- type: Directive,
108
- args: [{
109
- selector: 'canvas[qrCode]'
110
- }]
111
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { value: [{
112
- type: Input,
113
- args: ['qrCode']
114
- }], qrCodeVersion: [{
115
- type: Input
116
- }], width: [{
117
- type: Input
118
- }], height: [{
119
- type: Input
120
- }], darkColor: [{
121
- type: Input
122
- }], lightColor: [{
123
- type: Input
124
- }], errorCorrectionLevel: [{
125
- type: Input,
126
- args: ['qrCodeErrorCorrectionLevel']
127
- }], centerImageSrc: [{
128
- type: Input,
129
- args: ['qrCodeCenterImageSrc']
130
- }], centerImageWidth: [{
131
- type: Input,
132
- args: ['qrCodeCenterImageWidth']
133
- }], centerImageHeight: [{
134
- type: Input,
135
- args: ['qrCodeCenterImageHeight']
136
- }], margin: [{
137
- type: Input,
138
- args: ['qrCodeMargin']
139
- }] } });
140
-
141
- class QrCodeComponent {
142
- }
143
- QrCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
144
- QrCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: QrCodeComponent, selector: "qr-code", inputs: { value: "value", size: "size", darkColor: "darkColor", lightColor: "lightColor", errorCorrectionLevel: "errorCorrectionLevel", centerImageSrc: "centerImageSrc", centerImageSize: "centerImageSize", margin: "margin" }, ngImport: i0, template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: QrCodeDirective, selector: "canvas[qrCode]", inputs: ["qrCode", "qrCodeVersion", "width", "height", "darkColor", "lightColor", "qrCodeErrorCorrectionLevel", "qrCodeCenterImageSrc", "qrCodeCenterImageWidth", "qrCodeCenterImageHeight", "qrCodeMargin"] }] });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeComponent, decorators: [{
146
- type: Component,
147
- args: [{ selector: 'qr-code', template: "<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n" }]
148
- }], propDecorators: { value: [{
149
- type: Input
150
- }], size: [{
151
- type: Input
152
- }], darkColor: [{
153
- type: Input
154
- }], lightColor: [{
155
- type: Input
156
- }], errorCorrectionLevel: [{
157
- type: Input
158
- }], centerImageSrc: [{
159
- type: Input
160
- }], centerImageSize: [{
161
- type: Input
162
- }], margin: [{
163
- type: Input
164
- }] } });
165
-
166
- class QrCodeModule {
167
- }
168
- QrCodeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
169
- QrCodeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, declarations: [QrCodeComponent,
170
- QrCodeDirective], imports: [CommonModule], exports: [QrCodeComponent,
171
- QrCodeDirective] });
172
- QrCodeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, imports: [CommonModule] });
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QrCodeModule, decorators: [{
174
- type: NgModule,
175
- args: [{
176
- imports: [CommonModule],
177
- declarations: [
178
- QrCodeComponent,
179
- QrCodeDirective
180
- ],
181
- exports: [
182
- QrCodeComponent,
183
- QrCodeDirective
184
- ],
185
- }]
186
- }] });
187
-
188
- /**
189
- * Generated bundle index. Do not edit.
190
- */
191
-
192
- export { QrCodeComponent, QrCodeDirective, QrCodeModule };
193
- //# sourceMappingURL=mintplayer-ng-qr-code.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mintplayer-ng-qr-code.mjs","sources":["../../../../libs/mintplayer-ng-qr-code/src/lib/directives/qr-code/qr-code.directive.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.ts","../../../../libs/mintplayer-ng-qr-code/src/lib/components/qr-code/qr-code.component.html","../../../../libs/mintplayer-ng-qr-code/src/lib/qr-code.module.ts","../../../../libs/mintplayer-ng-qr-code/src/mintplayer-ng-qr-code.ts"],"sourcesContent":["import { Directive, Input, isDevMode, OnChanges, ViewContainerRef } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport * as qrCodeService from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Directive({\n selector: 'canvas[qrCode]'\n})\nexport class QrCodeDirective implements OnChanges {\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n static readonly VALID_COLOR_REGEX = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/;\n static readonly DEFAULT_ERROR_CORRECTION_LEVEL: QRCodeErrorCorrectionLevel = 'M';\n static readonly DEFAULT_CENTER_IMAGE_SIZE = 40;\n\n @Input('qrCode') value!: string;\n\n //#region Version\n private version: number | null = null;\n @Input() set qrCodeVersion(value: number | null) {\n if (value && (value > 40)) {\n this.version = 40;\n } else if (value && (value < 1)) {\n this.version = 1;\n } else {\n this.version = null;\n }\n }\n //#endregion\n\n \n @Input() width?: number;\n @Input() height?: number;\n @Input() darkColor?: RgbaColor = '#000000FF';\n @Input() lightColor?: RgbaColor = '#FFFFFFFF';\n \n @Input('qrCodeErrorCorrectionLevel') errorCorrectionLevel?: QRCodeErrorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL;\n @Input('qrCodeCenterImageSrc') centerImageSrc?: string;\n @Input('qrCodeCenterImageWidth') centerImageWidth?: number | string;\n @Input('qrCodeCenterImageHeight') centerImageHeight?: number | string;\n @Input('qrCodeMargin') margin? = 16;\n\n private centerImage?: HTMLImageElement;\n\n\n async ngOnChanges() {\n if (!this.value) {\n return;\n }\n\n const canvas = this.viewContainerRef.element.nativeElement as HTMLCanvasElement | null;\n if (!canvas) {\n // native element not available on server side rendering\n return;\n }\n\n const context = canvas.getContext('2d');\n\n if (context) {\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n\n const errorCorrectionLevel = this.errorCorrectionLevel ?? QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL\n\n const dark = !this.darkColor \n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.darkColor)\n ? this.darkColor\n : undefined;\n const light = !this.lightColor\n ? undefined\n : QrCodeDirective.VALID_COLOR_REGEX.test(this.lightColor)\n ? this.lightColor\n : undefined;\n\n await qrCodeService\n .toCanvas(canvas, this.value, {\n version: this.version ?? undefined,\n errorCorrectionLevel,\n width: this.width,\n margin: this.margin,\n color: {\n dark,\n light,\n },\n });\n\n const centerImageSrc = this.centerImageSrc;\n const centerImageWidth = this.getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n const centerImageHeight = this.getIntOrDefault(this.centerImageHeight, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE);\n\n if (centerImageSrc && context) {\n\n if (!this.centerImage) {\n this.centerImage = new Image(centerImageWidth, centerImageHeight);\n }\n\n if (centerImageSrc !== this.centerImage?.src) {\n this.centerImage.src = centerImageSrc;\n }\n\n if (centerImageWidth !== this.centerImage.width) {\n this.centerImage.width = centerImageWidth;\n }\n\n if (centerImageHeight !== this.centerImage.height) {\n this.centerImage.height = centerImageHeight;\n }\n\n const centerImage = this.centerImage;\n\n centerImage.onload = () => {\n context.drawImage(\n centerImage,\n canvas.width / 2 - centerImageWidth / 2,\n canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight,\n );\n }\n }\n\n }\n\n private getIntOrDefault(value: string | number | undefined, defaultValue: number): number {\n if (value === undefined || value === '') {\n return defaultValue;\n } else if (typeof value === 'string') {\n return parseInt(value, 10);\n } else {\n return value;\n }\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { QRCodeErrorCorrectionLevel } from '@mintplayer/qr-code';\nimport { RgbaColor } from '../../types/rgba-color';\n\n@Component({\n selector: 'qr-code',\n templateUrl: './qr-code.component.html',\n styleUrls: ['./qr-code.component.scss']\n})\nexport class QrCodeComponent {\n @Input() value?: string;\n @Input() size?: number;\n @Input() darkColor?: RgbaColor;\n @Input() lightColor?: RgbaColor;\n @Input() errorCorrectionLevel?: QRCodeErrorCorrectionLevel;\n @Input() centerImageSrc?: string;\n @Input() centerImageSize?: string | number;\n @Input() margin?: number;\n}\n","<canvas *ngIf=\"value\"\n [qrCode]=\"value\"\n [qrCodeErrorCorrectionLevel]=\"errorCorrectionLevel\"\n [qrCodeCenterImageSrc]=\"centerImageSrc\"\n [qrCodeCenterImageWidth]=\"centerImageSize\"\n [qrCodeCenterImageHeight]=\"centerImageSize\"\n [qrCodeMargin]=\"margin\"\n [width]=\"size\"\n [height]=\"size\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\">\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { QrCodeComponent } from './components/qr-code/qr-code.component';\nimport { QrCodeDirective } from './directives/qr-code/qr-code.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n QrCodeComponent,\n QrCodeDirective\n ],\n exports: [\n QrCodeComponent,\n QrCodeDirective\n ],\n})\nexport class QrCodeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.QrCodeDirective"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes