{"version":3,"file":"ng-ineers-file-viewer.mjs","sources":["../../../projects/ng-ineers-file-viewer/src/lib/doc-viewer/doc-viewer.component.ts","../../../projects/ng-ineers-file-viewer/src/lib/doc-viewer/doc-viewer.component.html","../../../projects/ng-ineers-file-viewer/src/lib/doc-viewer/doc-viewer.module.ts","../../../projects/ng-ineers-file-viewer/src/lib/image-viewer/directive/fullscreen.directive.ts","../../../projects/ng-ineers-file-viewer/src/lib/image-viewer/image-viewer.component.ts","../../../projects/ng-ineers-file-viewer/src/lib/image-viewer/image-viewer.component.html","../../../projects/ng-ineers-file-viewer/src/lib/image-viewer/image-viewer.module.ts","../../../projects/ng-ineers-file-viewer/src/lib/audio-video-viewer/audio-video-viewer.component.ts","../../../projects/ng-ineers-file-viewer/src/lib/audio-video-viewer/audio-video-viewer.component.html","../../../projects/ng-ineers-file-viewer/src/lib/audio-video-viewer/audio-video-viewer.module.ts","../../../projects/ng-ineers-file-viewer/src/public-api.ts","../../../projects/ng-ineers-file-viewer/src/ng-ineers-file-viewer.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, Output, QueryList, SimpleChanges, ViewChildren } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { getDocxToHtml, getViewerDetails, googleCheckSubscription, iframeIsLoaded, IFrameReloader, isLocalFile, replaceLocalUrl, ViewerType } from 'docviewhelper';\r\n\r\n@Component({\r\n  selector: 'doc-viewer',\r\n  templateUrl: './doc-viewer.component.html',\r\n  styleUrl: './doc-viewer.component.scss'\r\n})\r\nexport class DocViewerComponent  implements OnChanges, OnDestroy, AfterViewInit{\r\n  @Output() loaded: EventEmitter<void> = new EventEmitter();\r\n  @Input() url: any = '';\r\n  @Input() queryParams = '';\r\n  @Input() viewerUrl = '';\r\n  @Input() googleCheckInterval = 3000;\r\n  @Input() googleMaxChecks = 5;\r\n  @Input() disableContent: 'none' | 'all' | 'popout' | 'popout-hide' = 'none';\r\n  @Input() googleCheckContentLoaded = true;\r\n  @Input() viewer: ViewerType = 'google';\r\n  @Input() overrideLocalhost = '';\r\n  @ViewChildren('iframe') iframes?: QueryList<ElementRef> = undefined;\r\n\r\n  public fullUrl?: SafeResourceUrl = undefined;\r\n  public externalViewer = false;\r\n  public docHtml = '';\r\n  public configuredViewer: ViewerType = 'google';\r\n  private checkIFrameSubscription?: IFrameReloader = undefined;\r\n  private shouldCheckIframe = false;\r\n  constructor(private domSanitizer: DomSanitizer, private ngZone: NgZone) {}\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.checkIFrameSubscription) {\r\n      this.checkIFrameSubscription.unsubscribe();\r\n    }\r\n  }\r\n  ngAfterViewInit(): void {\r\n    if (this.shouldCheckIframe) {\r\n      const iframe = this.iframes?.first?.nativeElement as HTMLIFrameElement;\r\n      if (iframe) {\r\n        this.shouldCheckIframe = false;\r\n        this.reloadIframe(iframe);\r\n      }\r\n    }\r\n  }\r\n\r\n  async ngOnChanges(changes: SimpleChanges): Promise<void> {\r\n    if (\r\n      changes &&\r\n      changes['viewer'] &&\r\n      changes['viewer'].currentValue !== changes['viewer'].previousValue\r\n    ) {\r\n      if (\r\n        this.viewer !== 'google' &&\r\n        this.viewer !== 'office' &&\r\n        this.viewer !== 'mammoth' &&\r\n        this.viewer !== 'pdf' &&\r\n        this.viewer !== 'url'\r\n      ) {\r\n        console.error(\r\n          `Unsupported viewer: '${this.viewer}'. Supported viewers: google, office, mammoth and pdf`\r\n        );\r\n      }\r\n      this.configuredViewer = this.viewer;\r\n    }\r\n\r\n    if (\r\n      (changes['url'] &&\r\n        changes['url'].currentValue !== changes['url'].previousValue) ||\r\n      (changes['viewer'] &&\r\n        changes['viewer'].currentValue !== changes['viewer'].previousValue) ||\r\n      (changes['viewerUrl'] &&\r\n        changes['viewerUrl'].currentValue !==\r\n          changes['viewerUrl'].previousValue)\r\n    ) {\r\n      let viewerDetails = getViewerDetails(\r\n        this.url,\r\n        this.configuredViewer,\r\n        this.queryParams,\r\n        this.viewerUrl\r\n      );\r\n      this.externalViewer = viewerDetails.externalViewer;\r\n      if (\r\n        viewerDetails.externalViewer &&\r\n        this.overrideLocalhost &&\r\n        isLocalFile(this.url)\r\n      ) {\r\n        const newUrl = replaceLocalUrl(this.url, this.overrideLocalhost);\r\n        viewerDetails = getViewerDetails(\r\n          newUrl,\r\n          this.configuredViewer,\r\n          this.queryParams,\r\n          this.viewerUrl\r\n        );\r\n      }\r\n      this.docHtml = '';\r\n      if (this.checkIFrameSubscription) {\r\n        this.checkIFrameSubscription.unsubscribe();\r\n      }\r\n      if (!this.url) {\r\n        this.fullUrl = undefined;\r\n      } else if (\r\n        viewerDetails.externalViewer ||\r\n        this.configuredViewer === 'url' ||\r\n        this.configuredViewer === 'pdf'\r\n      ) {\r\n        this.fullUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(\r\n          viewerDetails.url\r\n        );\r\n        // see:\r\n        // https://stackoverflow.com/questions/40414039/google-docs-viewer-returning-204-responses-no-longer-working-alternatives\r\n        // hack to reload iframe if it's not loaded.\r\n        // would maybe be better to use view.officeapps.live.com but seems not to work with sas token.\r\n        if (\r\n          this.configuredViewer === 'google' &&\r\n          this.googleCheckContentLoaded\r\n        ) {\r\n          this.ngZone.runOutsideAngular(() => {\r\n            // if it's not loaded after the googleIntervalCheck, then open load again.\r\n            const iframe = this.iframes?.first\r\n              ?.nativeElement as HTMLIFrameElement;\r\n            if (iframe) {\r\n              this.reloadIframe(iframe);\r\n            } else {\r\n              this.shouldCheckIframe = true;\r\n            }\r\n          });\r\n        }\r\n      } else if (this.configuredViewer === 'mammoth') {\r\n        this.docHtml = await getDocxToHtml(this.url);\r\n      }\r\n    }\r\n  }\r\n\r\n  private reloadIframe(iframe: HTMLIFrameElement) {\r\n    this.checkIFrameSubscription = googleCheckSubscription();\r\n    this.checkIFrameSubscription.subscribe(\r\n      iframe,\r\n      this.googleCheckInterval,\r\n      this.googleMaxChecks\r\n    );\r\n  }\r\n\r\n  iframeLoaded() {\r\n    const iframe = this.iframes?.first?.nativeElement as HTMLIFrameElement;\r\n    if (iframe && iframeIsLoaded(iframe)) {\r\n      this.loaded.emit(undefined);\r\n      if (this.checkIFrameSubscription) {\r\n        this.checkIFrameSubscription.unsubscribe();\r\n      }\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngIf=\"!externalViewer\">\r\n    <div class=\"mamoth\" *ngIf=\"configuredViewer !== 'pdf'\" [innerHtml]=\"docHtml\"></div>\r\n    <object\r\n      *ngIf=\"fullUrl && configuredViewer === 'pdf'\"\r\n      [data]=\"fullUrl\"\r\n      type=\"application/pdf\"\r\n      width=\"100%\"\r\n      height=\"100%\"\r\n    >\r\n      <p>\r\n        Your browser does not support PDFs.\r\n        <a [href]=\"fullUrl\">Download the PDF</a>.\r\n      </p>\r\n    </object>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"externalViewer\">\r\n    <iframe\r\n      (load)=\"iframeLoaded()\"\r\n      *ngIf=\"fullUrl && disableContent === 'none'\"\r\n      #iframe\r\n      id=\"iframe-doc-viewer\"\r\n      frameBorder=\"0\"\r\n      [src]=\"fullUrl\"\r\n    ></iframe>\r\n    <div class=\"container\" *ngIf=\"disableContent !== 'none'\">\r\n      <div\r\n        [class.overlay-full]=\"disableContent === 'all'\"\r\n        [class.overlay-popout-google]=\"\r\n          configuredViewer === 'google' &&\r\n          (disableContent === 'popout' || disableContent === 'popout-hide')\r\n        \"\r\n        [class.overlay-popout-office]=\"\r\n          configuredViewer === 'office' &&\r\n          (disableContent === 'popout' || disableContent === 'popout-hide')\r\n        \"\r\n        [style.background-color]=\"\r\n          disableContent === 'popout-hide' ? '#fff' : 'transparent'\r\n        \"\r\n      ></div>\r\n      <iframe\r\n        (load)=\"iframeLoaded()\"\r\n        *ngIf=\"fullUrl\"\r\n        #iframe\r\n        class=\"testing\"\r\n        id=\"iframe\"\r\n        frameBorder=\"0\"\r\n        [src]=\"fullUrl\"\r\n      ></iframe>\r\n    </div>\r\n  </ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DocViewerComponent } from './doc-viewer.component';\r\n\r\n@NgModule({\r\n  declarations: [DocViewerComponent],\r\n  imports: [CommonModule],\r\n  exports: [DocViewerComponent],\r\n})\r\nexport class DocViewerModule {}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[fullScreen]'\r\n})\r\nexport class FullScreenDirective implements OnChanges {\r\n  @Input(\"fullScreen\") fullscreenState!: boolean;\r\n  constructor(private el: ElementRef) { }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (!changes[\"fullscreenState\"].isFirstChange()) {\r\n      if (this.fullscreenState) {\r\n        const element: any = this.el.nativeElement;\r\n        const requestMethod =\r\n          element.requestFullscreen ||\r\n          element.webkitRequestFullScreen ||\r\n          element.mozRequestFullScreen ||\r\n          element.msRequestFullScreen;\r\n\r\n        if (requestMethod) {\r\n          // Native full screen.\r\n          return requestMethod.call(element);\r\n          \r\n        } else {\r\n          return null;\r\n        }\r\n      } else {\r\n        const element: any = document;\r\n        const requestMethod =\r\n          element.cancelFullscreen ||\r\n          element.webkitExitFullscreen ||\r\n          element.webkitCancelFullScreen ||\r\n          element.mozCancelFullScreen ||\r\n          element.msExitFullScreen;\r\n\r\n        if (requestMethod) {\r\n          // Native Cancel full screen.\r\n          return requestMethod.call(element);\r\n          \r\n        } else {\r\n          return null;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n}\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  HostListener,\r\n  Inject,\r\n  Input,\r\n  OnInit,\r\n  Optional,\r\n  Output,\r\n} from '@angular/core';\r\nimport { ImageViewerConfig } from './model/angular-image-viewer-config.model';\r\n\r\nconst DEFAULT_CONFIG: ImageViewerConfig = {\r\n  btnClass: 'default',\r\n  zoomFactor: 0.1,\r\n  containerBackgroundColor: '#ccc',\r\n  wheelZoom: false,\r\n  allowFullscreen: true,\r\n  allowKeyboardNavigation: true,\r\n  btnShow: {\r\n    zoomIn: true,\r\n    zoomOut: true,\r\n    rotateClockwise: true,\r\n    rotateCounterClockwise: true,\r\n    next: true,\r\n    prev: true,\r\n  },\r\n  btnIcons: {\r\n    zoomIn: \"fa-solid fa-plus\",\r\n    zoomOut: \"fa-solid fa-minus\",\r\n    rotateClockwise: \"fa-solid fa-arrow-rotate-right\",\r\n    rotateCounterClockwise: \"fa-solid fa-arrow-rotate-left\",\r\n    next: \"fa-solid fa-arrow-right\",\r\n    prev: \"fa-solid fa-arrow-left\",\r\n    fullscreen: \"fa-solid fa-up-right-and-down-left-from-center\",\r\n  },\r\n};\r\n@Component({\r\n  selector: 'image-viewer',\r\n  templateUrl: './image-viewer.component.html',\r\n  styleUrl: './image-viewer.component.scss',\r\n})\r\nexport class ImageViewerComponent implements OnInit {\r\n  @Input()\r\n  src!: string[];\r\n\r\n  @Input()\r\n  index = 0;\r\n\r\n  @Input()\r\n  config!: ImageViewerConfig;\r\n\r\n  @Output()\r\n  indexChange: EventEmitter<number> = new EventEmitter();\r\n\r\n  @Output()\r\n  configChange: EventEmitter<ImageViewerConfig> = new EventEmitter();\r\n\r\n  @Output()\r\n  customEvent: EventEmitter<CustomEvent> = new EventEmitter();\r\n\r\n  public style = {\r\n    transform: '',\r\n    msTransform: '',\r\n    oTransform: '',\r\n    webkitTransform: '',\r\n  };\r\n  public fullscreen = false;\r\n  public loading = true;\r\n  private scale = 1;\r\n  private rotation = 0;\r\n  private translateX = 0;\r\n  private translateY = 0;\r\n  private prevX!: number;\r\n  private prevY!: number;\r\n  private hovered = false;\r\n\r\n  constructor(\r\n    @Optional() @Inject('config') public moduleConfig: ImageViewerConfig\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    const merged = this.mergeConfig(DEFAULT_CONFIG, this.moduleConfig);\r\n    this.config = this.mergeConfig(merged, this.config);\r\n    this.triggerConfigBinding();\r\n  }\r\n\r\n  @HostListener('window:keyup.ArrowRight', ['$event'])\r\n  nextImage(event: any) {\r\n    if (this.canNavigate(event) && this.index < this.src.length - 1) {\r\n      this.loading = true;\r\n      this.index++;\r\n      this.triggerIndexBinding();\r\n      this.reset();\r\n    }\r\n  }\r\n\r\n  @HostListener('window:keyup.ArrowLeft', ['$event'])\r\n  prevImage(event: any) {\r\n    if (this.canNavigate(event) && this.index > 0) {\r\n      this.loading = true;\r\n      this.index--;\r\n      this.triggerIndexBinding();\r\n      this.reset();\r\n    }\r\n  }\r\n\r\n  zoomIn() {\r\n    if (this.config.zoomFactor != undefined) {\r\n      this.scale *= 1 + this.config.zoomFactor;\r\n    }\r\n    this.updateStyle();\r\n  }\r\n\r\n  zoomOut() {\r\n    if (this.config.zoomFactor != undefined) {\r\n      if (this.scale > this.config.zoomFactor) {\r\n        this.scale /= 1 + this.config.zoomFactor;\r\n      }\r\n    }\r\n    this.updateStyle();\r\n  }\r\n\r\n  scrollZoom(evt: any) {\r\n    if (this.config.wheelZoom) {\r\n      evt.deltaY > 0 ? this.zoomOut() : this.zoomIn();\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  rotateClockwise() {\r\n    this.rotation += 90;\r\n    this.updateStyle();\r\n  }\r\n\r\n  rotateCounterClockwise() {\r\n    this.rotation -= 90;\r\n    this.updateStyle();\r\n  }\r\n\r\n  onLoad() {\r\n    this.loading = false;\r\n  }\r\n\r\n  onLoadStart() {\r\n    this.loading = true;\r\n  }\r\n\r\n  onDragOver(evt: any) {\r\n    this.translateX += evt.clientX - this.prevX;\r\n    this.translateY += evt.clientY - this.prevY;\r\n    this.prevX = evt.clientX;\r\n    this.prevY = evt.clientY;\r\n    this.updateStyle();\r\n  }\r\n\r\n  onDragStart(evt: any) {\r\n    if (evt.dataTransfer && evt.dataTransfer.setDragImage) {\r\n      evt.dataTransfer.setDragImage(evt.target.nextElementSibling, 0, 0);\r\n    }\r\n    this.prevX = evt.clientX;\r\n    this.prevY = evt.clientY;\r\n  }\r\n\r\n  toggleFullscreen() {\r\n    this.fullscreen = !this.fullscreen;\r\n    if (!this.fullscreen) {\r\n      this.reset();\r\n    }\r\n  }\r\n\r\n  triggerIndexBinding() {\r\n    this.indexChange.emit(this.index);\r\n  }\r\n\r\n  triggerConfigBinding() {\r\n    this.configChange.next(this.config);\r\n  }\r\n\r\n  fireCustomEvent(name: any, imageIndex: any) {\r\n    this.customEvent.emit(new CustomEvent(name, imageIndex));\r\n  }\r\n\r\n  reset() {\r\n    this.scale = 1;\r\n    this.rotation = 0;\r\n    this.translateX = 0;\r\n    this.translateY = 0;\r\n    this.updateStyle();\r\n  }\r\n\r\n  @HostListener('mouseover')\r\n  private onMouseOver() {\r\n    this.hovered = true;\r\n  }\r\n\r\n  @HostListener('mouseleave')\r\n  private onMouseLeave() {\r\n    this.hovered = false;\r\n  }\r\n\r\n  private canNavigate(event: any) {\r\n    return (\r\n      event == null || (this.config.allowKeyboardNavigation && this.hovered)\r\n    );\r\n  }\r\n\r\n  private updateStyle() {\r\n    this.style.transform = `translate(${this.translateX}px, ${this.translateY}px) rotate(${this.rotation}deg) scale(${this.scale})`;\r\n    this.style.msTransform = this.style.transform;\r\n    this.style.webkitTransform = this.style.transform;\r\n    this.style.oTransform = this.style.transform;\r\n  }\r\n\r\n  private mergeConfig(\r\n    defaultValues: ImageViewerConfig,\r\n    overrideValues: ImageViewerConfig\r\n  ): ImageViewerConfig {\r\n    let result: ImageViewerConfig = { ...defaultValues };\r\n    if (overrideValues) {\r\n      result = { ...defaultValues, ...overrideValues };\r\n\r\n      if (overrideValues.btnIcons) {\r\n        result.btnIcons = {\r\n          ...defaultValues.btnIcons,\r\n          ...overrideValues.btnIcons,\r\n        };\r\n      }\r\n    }\r\n    return result;\r\n  }\r\n}\r\n","<div\r\n  [fullScreen]=\"fullscreen\"\r\n  class=\"img-container\"\r\n  [style.backgroundColor]=\"config.containerBackgroundColor\"\r\n  (wheel)=\"scrollZoom($event)\"\r\n  (dragover)=\"onDragOver($event)\"\r\n>\r\n  <img\r\n    [src]=\"src[index]\"\r\n    [ngStyle]=\"style\"\r\n    alt=\"Image not found...\"\r\n    (dragstart)=\"onDragStart($event)\"\r\n    (load)=\"onLoad()\"\r\n    (loadstart)=\"onLoadStart()\"\r\n  />\r\n  <!-- Div below will be used to hide the 'ghost' image when dragging -->\r\n  <div></div>\r\n  <div class=\"spinner-container\" *ngIf=\"loading\">\r\n    <div class=\"spinner\"></div>\r\n  </div>\r\n\r\n  <button\r\n    type=\"button\"\r\n    [class]=\"config.btnClass\"\r\n    *ngIf=\"config.btnShow?.rotateCounterClockwise\"\r\n    (click)=\"rotateCounterClockwise()\"\r\n  >\r\n    <span [class]=\"config.btnIcons?.rotateCounterClockwise\"></span>\r\n  </button>\r\n  <button\r\n    type=\"button\"\r\n    [class]=\"config.btnClass\"\r\n    *ngIf=\"config.btnShow?.rotateClockwise\"\r\n    (click)=\"rotateClockwise()\"\r\n  >\r\n    <span [class]=\"config.btnIcons?.rotateClockwise\"></span>\r\n  </button>\r\n\r\n  <button\r\n    type=\"button\"\r\n    [class]=\"config.btnClass\"\r\n    *ngIf=\"config.btnShow?.zoomOut\"\r\n    (click)=\"zoomOut()\"\r\n  >\r\n    <span [class]=\"config.btnIcons?.zoomOut\"></span>\r\n  </button>\r\n  <button\r\n    type=\"button\"\r\n    [class]=\"config.btnClass\"\r\n    *ngIf=\"config.btnShow?.zoomIn\"\r\n    (click)=\"zoomIn()\"\r\n  >\r\n    <span [class]=\"config.btnIcons?.zoomIn\"></span>\r\n  </button>\r\n\r\n  <button\r\n    type=\"button\"\r\n    [class]=\"config.btnClass\"\r\n    *ngFor=\"let cBtn of config.customBtns\"\r\n    (click)=\"fireCustomEvent(cBtn.name, index)\"\r\n  >\r\n    <span [class]=\"cBtn.icon\"></span>\r\n  </button>\r\n\r\n  <button\r\n    type=\"button\"\r\n    id=\"image-fs-btn\"\r\n    [class]=\"config.btnClass\"\r\n    (click)=\"toggleFullscreen()\"\r\n    *ngIf=\"config.allowFullscreen\"\r\n  >\r\n    <span [class]=\"config.btnIcons?.fullscreen\"></span>\r\n  </button>\r\n\r\n  <div class=\"nav-button-container\" *ngIf=\"src.length > 1\">\r\n    <button\r\n      type=\"button\"\r\n      [class]=\"config.btnClass\"\r\n      (click)=\"prevImage($event)\"\r\n      [disabled]=\"index === 0\"\r\n    >\r\n      <span [class]=\"config.btnIcons?.prev\"></span>\r\n    </button>\r\n    <button\r\n      type=\"button\"\r\n      [class]=\"config.btnClass\"\r\n      (click)=\"nextImage($event)\"\r\n      [disabled]=\"index === src.length - 1\"\r\n    >\r\n      <span [class]=\"config.btnIcons?.next\"></span>\r\n    </button>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImageViewerComponent } from './image-viewer.component';\r\nimport { FullScreenDirective } from './directive/fullscreen.directive';\r\n\r\n@NgModule({\r\n  declarations: [ImageViewerComponent, FullScreenDirective],\r\n  imports: [CommonModule],\r\n  exports: [ImageViewerComponent, FullScreenDirective],\r\n})\r\nexport class ImageViewerModule {}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'audio-video-viewer',\r\n  templateUrl: './audio-video-viewer.component.html',\r\n  styleUrl: './audio-video-viewer.component.scss',\r\n})\r\nexport class AudioVideoViewerComponent {\r\n  @Input('viewer') viewer: any;\r\n  @Input('url') url: any;\r\n}\r\n","<audio *ngIf=\"viewer === 'audio'\" controls id=\"audio\">\r\n  <source [src]=\"url\" type=\"audio/ogg\" />\r\n  <source [src]=\"url\" type=\"audio/mpeg\" />\r\n  <source [src]=\"url\" type=\"audio/AMR\" />\r\n  <source [src]=\"url\" type=\"audio/mp2\" />\r\n  <source [src]=\"url\" type=\"audio/x-ms-wma\" />\r\n\r\n  Your browser does not support the audio element.\r\n</audio>\r\n\r\n<video\r\n  width=\"100%\"\r\n  height=\"300\"\r\n  controls\r\n  *ngIf=\"viewer === 'video'\"\r\n  [src]=\"url\"\r\n>\r\n  <!-- <source  [src]=\"sanitize(certificate_preview)\" type=\"video/mp4\" />\r\n  <source  [src]=\"sanitize(certificate_preview)\" type=\"video/ogg\" /> -->\r\n  Your browser does not support the video tag.\r\n  <track label=\"English\" kind=\"captions\" />\r\n</video>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AudioVideoViewerComponent } from './audio-video-viewer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AudioVideoViewerComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports:[\r\n    AudioVideoViewerComponent\r\n  ]\r\n})\r\nexport class AudioVideoViewerModule { }\r\n","/*\r\n * Public API Surface of ng-ineers-file-viewer\r\n */\r\n\r\nexport * from './lib/doc-viewer/doc-viewer.module';\r\nexport * from './lib/doc-viewer/doc-viewer.component';\r\nexport * from './lib/image-viewer/image-viewer.module';\r\nexport * from './lib/image-viewer/image-viewer.component';\r\nexport * from './lib/image-viewer/directive/fullscreen.directive';\r\nexport * from './lib/audio-video-viewer/audio-video-viewer.module';\r\nexport * from './lib/audio-video-viewer/audio-video-viewer.component';\r\n\r\n\r\n\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i2.FullScreenDirective"],"mappings":"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"}