{"version":3,"file":"jvereecken-ngx-qr-scanner.mjs","sources":["../../../projects/ngx-qr-scanner/src/lib/ngx-qr-scanner.component.ts","../../../projects/ngx-qr-scanner/src/lib/ngx-qr-scanner.module.ts","../../../projects/ngx-qr-scanner/src/public-api.ts","../../../projects/ngx-qr-scanner/src/jvereecken-ngx-qr-scanner.ts"],"sourcesContent":["import {\r\n  AfterViewInit,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  NgZone,\r\n  OnChanges,\r\n  OnDestroy,\r\n  Output,\r\n  SimpleChanges,\r\n  ViewChild\r\n} from '@angular/core';\r\nimport QrScanner from 'qr-scanner';\r\n\r\n@Component({\r\n  selector: 'ngx-qr-scanner',\r\n  template: `\r\n    <video #videoFeed></video>\r\n  `,\r\n  styles: [\r\n    `\r\n      video {\r\n        width: 100%;\r\n        height: 100%;\r\n      }\r\n    `\r\n  ]\r\n})\r\nexport class NgxQrScannerComponent implements AfterViewInit, OnDestroy, OnChanges {\r\n  @Output() decode = new EventEmitter<QrScanner.ScanResult>();\r\n  @Output() decodeError = new EventEmitter<string | Error>();\r\n  @Output() ready = new EventEmitter<void>();\r\n\r\n  @Input() preferredCamera: QrScanner.FacingMode | QrScanner.DeviceId = \"environment\";\r\n  @Input() maxScansPerSecond: number | undefined = 1;\r\n  @Input() deviceId?: string;\r\n  @Input() highlightScanRegion: boolean = true;\r\n  @Input() highlightCodeOutline: boolean = true;\r\n  @Input() calculateScanRegion: ((video: HTMLVideoElement) => QrScanner.ScanRegion) | undefined;\r\n  @Input() overlay: HTMLDivElement | undefined;\r\n\r\n  private _qrScanner: QrScanner | undefined;\r\n\r\n  @ViewChild('videoFeed') private videoFeed?: ElementRef<HTMLVideoElement>;\r\n\r\n  constructor(private zone: NgZone) {\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (this.videoFeed) {\r\n      this._qrScanner = new QrScanner(\r\n        this.videoFeed.nativeElement,\r\n        result => {\r\n          this.zone.run(() => {\r\n            this.decode.emit(result);\r\n          });\r\n        },\r\n        {\r\n          onDecodeError: error => {\r\n            this.zone.run(() => {\r\n              this.decodeError.emit(error);\r\n            });\r\n          },\r\n          preferredCamera: this.deviceId ?? this.preferredCamera,\r\n          maxScansPerSecond: this.maxScansPerSecond,\r\n          returnDetailedScanResult: true,\r\n          highlightScanRegion: this.highlightScanRegion,\r\n          highlightCodeOutline: this.highlightCodeOutline,\r\n          calculateScanRegion: this.calculateScanRegion,\r\n          overlay: this.overlay,\r\n      });\r\n\r\n      this._qrScanner.start();\r\n      this.ready.emit();\r\n    } else {\r\n      console.error('something went wrong');\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes['deviceId']) {\r\n      const change = changes['deviceId'];\r\n      this._qrScanner?.setCamera(change.currentValue);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this._qrScanner?.destroy();\r\n    this._qrScanner = undefined;\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxQrScannerComponent } from './ngx-qr-scanner.component';\r\n\r\n@NgModule({\r\n  declarations: [NgxQrScannerComponent],\r\n  exports: [NgxQrScannerComponent]\r\n})\r\nexport class NgxQrScannerModule { }\r\n","/*\r\n * Public API Surface of ngx-qr-scanner\r\n */\r\n\r\nexport * from './lib/ngx-qr-scanner.component';\r\nexport * from './lib/ngx-qr-scanner.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}