ng-qrcode.mjs.map 14 KB

1
  1. {"version":3,"file":"ng-qrcode.mjs","sources":["../../../projects/ng-qrcode/src/lib/qr-code.directive.ts","../../../projects/ng-qrcode/src/lib/qr-code.component.ts","../../../projects/ng-qrcode/src/lib/qr-code.module.ts","../../../projects/ng-qrcode/src/public-api.ts","../../../projects/ng-qrcode/src/ng-qrcode.ts"],"sourcesContent":["import { Directive, Input, isDevMode, OnChanges, ViewContainerRef } from \"@angular/core\"\nimport qrcode from \"qrcode\"\nimport { QrCodeErrorCorrectionLevel, RGBAColor } from \"./types\"\n\nconst validColorRegex = /^#(?:[0-9a-fA-F]{3,4}){1,2}$/\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `canvas[qrCode]`,\n standalone: true,\n})\nexport class QrCodeDirective implements OnChanges {\n\n static readonly DEFAULT_ERROR_CORRECTION_LEVEL: QrCodeErrorCorrectionLevel = \"M\"\n static readonly DEFAULT_CENTER_IMAGE_SIZE = 40\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCode\") value!: string\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeVersion\") version?: number\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeErrorCorrectionLevel\") errorCorrectionLevel: QrCodeErrorCorrectionLevel = QrCodeDirective.DEFAULT_ERROR_CORRECTION_LEVEL\n\n @Input() width?: number\n @Input() height?: number\n @Input() darkColor: RGBAColor = \"#000000FF\"\n @Input() lightColor: RGBAColor = \"#FFFFFFFF\"\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeCenterImageSrc\") centerImageSrc?: string\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeCenterImageWidth\") centerImageWidth?: number | string\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeCenterImageHeight\") centerImageHeight?: number | string\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input(\"qrCodeMargin\") margin = 16\n\n private centerImage?: HTMLImageElement\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n ) {\n }\n\n async ngOnChanges() {\n if (!this.value) {\n return\n }\n\n if (this.version && this.version > 40) {\n console.warn(\"[qrCode] max version is 40, clamping\")\n this.version = 40\n } else if (this.version && this.version < 1) {\n console.warn(\"[qrCode] min version is 1, clamping\")\n this.version = 1\n } else if (this.version !== undefined && isNaN(this.version)) {\n console.warn(\"[qrCode] version should be set to a number, defaulting to auto\")\n this.version = undefined\n }\n\n const canvas = this.viewContainerRef.element.nativeElement as HTMLCanvasElement | null\n\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 = validColorRegex.test(this.darkColor) ? this.darkColor : undefined\n const light = validColorRegex.test(this.lightColor) ? this.lightColor : undefined\n\n if (isDevMode()) {\n if (!dark && this.darkColor) {\n console.error(\"[ng-qrcode] darkColor set to invalid value, must be RGBA hex color string, eg: #3050A1FF\")\n }\n\n if (!light && this.lightColor) {\n console.error(\"[ng-qrcode] lightColor set to invalid value, must be RGBA hex color string, eg: #3050A130\")\n }\n }\n await qrcode\n .toCanvas(canvas, this.value, {\n version: this.version,\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 = getIntOrDefault(this.centerImageWidth, QrCodeDirective.DEFAULT_CENTER_IMAGE_SIZE)\n const centerImageHeight = 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 const centerImage = this.centerImage\n\n if (centerImageSrc !== this.centerImage.src) {\n centerImage.src = centerImageSrc\n }\n\n if (centerImageWidth !== this.centerImage.width) {\n centerImage.width = centerImageWidth\n }\n\n if (centerImageHeight !== this.centerImage.height) {\n centerImage.height = centerImageHeight\n }\n\n const doDrawImage = () => {\n context.drawImage(\n centerImage,\n canvas.width / 2 - centerImageWidth / 2,\n canvas.height / 2 - centerImageHeight / 2, centerImageWidth, centerImageHeight,\n )\n }\n\n centerImage.onload = doDrawImage\n\n if (centerImage.complete) {\n doDrawImage()\n }\n\n }\n\n }\n\n}\n\nfunction getIntOrDefault(value: string | number | undefined, defaultValue: number): number {\n if (value === undefined || value === \"\") {\n return defaultValue\n }\n\n if (typeof value === \"string\") {\n return parseInt(value, 10)\n }\n\n return value\n}\n","import { CommonModule } from \"@angular/common\"\nimport { Component, Input } from \"@angular/core\"\nimport { QrCodeDirective } from \"./qr-code.directive\"\nimport { QrCodeErrorCorrectionLevel, RGBAColor } from \"./types\"\n\n@Component({\n selector: \"qr-code\",\n template: `\n @if (value) {\n <canvas\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 [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [darkColor]=\"darkColor\"\n [lightColor]=\"lightColor\"\n >\n </canvas>\n }\n `,\n styles: [],\n standalone: true,\n imports: [QrCodeDirective, CommonModule]\n})\nexport class QrCodeComponent {\n\n @Input()\n value?: string\n\n @Input()\n size?: string | number\n\n @Input()\n style?: {\n // matches type of ngStyle https://angular.io/api/common/NgStyle\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [klass: string]: any\n } | null\n\n @Input()\n styleClass?: string\n\n @Input()\n darkColor?: RGBAColor\n\n @Input()\n lightColor?: RGBAColor\n\n @Input()\n errorCorrectionLevel?: QrCodeErrorCorrectionLevel\n\n @Input()\n centerImageSrc?: string\n\n @Input()\n centerImageSize?: string | number\n\n @Input()\n margin?: number\n\n}\n","import { CommonModule } from \"@angular/common\"\nimport { NgModule } from \"@angular/core\"\nimport { QrCodeComponent } from \"./qr-code.component\"\nimport { QrCodeDirective } from \"./qr-code.directive\"\n\n/**\n * @deprecated prefer importing `QrCodeComponent` or `QrCodeDirective` directly\n */\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n QrCodeComponent,\n QrCodeDirective,\n ],\n exports: [\n QrCodeComponent,\n QrCodeDirective,\n ],\n})\nexport class QrCodeModule {\n}\n","/*\n * Public API Surface of ng-qrcode\n */\n\nexport * from \"./lib/qr-code.component\"\nexport * from \"./lib/qr-code.directive\"\nexport * from './lib/qr-code.module'\nexport * from \"./lib/types\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}