{"version":3,"file":"makiwin-ngx-plyr.mjs","sources":["../../../projects/ngx-plyr/src/lib/plyr-driver/default-plyr-driver.ts","../../../projects/ngx-plyr/src/lib/plyr/plyr.component.ts","../../../projects/ngx-plyr/src/lib/plyr/plyr.component.html","../../../projects/ngx-plyr/src/lib/plyr.module.ts","../../../projects/ngx-plyr/src/makiwin-ngx-plyr.ts"],"sourcesContent":["import Plyr from \"plyr\";\nimport {\n  PlyrDriver,\n  PlyrDriverCreateParams,\n  PlyrDriverDestroyParams,\n  PlyrDriverUpdateSourceParams,\n} from \"./plyr-driver\";\n\nexport class DefaultPlyrDriver implements PlyrDriver {\n  create(params: PlyrDriverCreateParams) {\n    console.log(Plyr, \"it is plyr\");\n    return new Plyr(params.videoElement, params.options);\n  }\n\n  updateSource(params: PlyrDriverUpdateSourceParams) {\n    params.plyr.source = params.source;\n  }\n\n  destroy(params: PlyrDriverDestroyParams) {\n    params.plyr.destroy();\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  Output,\n  Renderer2,\n  SimpleChange,\n  ViewChild,\n} from \"@angular/core\";\nimport * as Plyr from \"plyr\";\nimport { BehaviorSubject, Observable, Subscription } from \"rxjs\";\nimport { filter, first, switchMap } from \"rxjs/operators\";\nimport { DefaultPlyrDriver } from \"../plyr-driver/default-plyr-driver\";\nimport { PlyrDriver } from \"../plyr-driver/plyr-driver\";\n\n@Component({\n  selector: \"plyr, [plyr]\", // tslint:disable-line\n  templateUrl: \"./plyr.component.html\",\n  styleUrls: [\"./plyr.component.css\"],\n  exportAs: \"plyr\",\n})\nexport class PlyrComponent implements AfterViewInit, OnChanges, OnDestroy {\n  private playerChange = new BehaviorSubject<Plyr>(null);\n\n  get player(): Plyr {\n    return this.playerChange.getValue();\n  }\n\n  private events = new Map();\n\n  @Input() plyrDriver: PlyrDriver;\n\n  @Input() plyrType: Plyr.MediaType = \"video\";\n\n  @Input() plyrTitle: string;\n\n  @Input() plyrPoster: string;\n\n  @Input() plyrSources: Plyr.Source[];\n\n  @Input() plyrTracks: Plyr.Track[];\n\n  @Input() plyrOptions: Plyr.Options;\n\n  @Input() plyrCrossOrigin: boolean;\n\n  @Input() plyrPlaysInline: boolean;\n\n  @ViewChild(\"v\") private vr: ElementRef;\n\n  // ngx-plyr events\n  @Output() plyrInit = this.playerChange.pipe(\n    filter((player) => !!player)\n  ) as EventEmitter<Plyr>;\n\n  // standard media events\n  @Output() plyrProgress = this.createLazyEvent(\"progress\");\n  @Output() plyrPlaying = this.createLazyEvent(\"playing\");\n  @Output() plyrPlay = this.createLazyEvent(\"play\");\n  @Output() plyrPause = this.createLazyEvent(\"pause\");\n  @Output() plyrTimeUpdate = this.createLazyEvent(\"timeupdate\");\n  @Output() plyrVolumeChange = this.createLazyEvent(\"volumechange\");\n  @Output() plyrSeeking = this.createLazyEvent(\"seeking\");\n  @Output() plyrSeeked = this.createLazyEvent(\"seeked\");\n  @Output() plyrRateChange = this.createLazyEvent(\"ratechange\");\n  @Output() plyrEnded = this.createLazyEvent(\"ended\");\n  @Output() plyrEnterFullScreen = this.createLazyEvent(\"enterfullscreen\");\n  @Output() plyrExitFullScreen = this.createLazyEvent(\"exitfullscreen\");\n  @Output() plyrCaptionsEnabled = this.createLazyEvent(\"captionsenabled\");\n  @Output() plyrCaptionsDisabled = this.createLazyEvent(\"captionsdisabled\");\n  @Output() plyrLanguageChange = this.createLazyEvent(\"languagechange\");\n  @Output() plyrControlsHidden = this.createLazyEvent(\"controlshidden\");\n  @Output() plyrControlsShown = this.createLazyEvent(\"controlsshown\");\n  @Output() plyrReady = this.createLazyEvent(\"ready\");\n\n  // HTML5 events\n  @Output() plyrLoadStart = this.createLazyEvent(\"loadstart\");\n  @Output() plyrLoadedData = this.createLazyEvent(\"loadeddata\");\n  @Output() plyrLoadedMetadata = this.createLazyEvent(\"loadedmetadata\");\n  @Output() plyrQualityChange = this.createLazyEvent(\"qualitychange\");\n  @Output() plyrCanPlay = this.createLazyEvent(\"canplay\");\n  @Output() plyrCanPlayThrough = this.createLazyEvent(\"canplaythrough\");\n  @Output() plyrStalled = this.createLazyEvent(\"stalled\");\n  @Output() plyrWaiting = this.createLazyEvent(\"waiting\");\n  @Output() plyrEmptied = this.createLazyEvent(\"emptied\");\n  @Output() plyrCueChange = this.createLazyEvent(\"cuechange\");\n  @Output() plyrError = this.createLazyEvent(\"error\");\n\n  // YouTube events\n  @Output() plyrStateChange = this.createLazyEvent(\"statechange\");\n\n  private subscriptions: Subscription[] = [];\n\n  private driver: PlyrDriver;\n\n  private videoElement: HTMLVideoElement;\n\n  constructor(\n    private elementRef: ElementRef<HTMLDivElement>,\n    private ngZone: NgZone,\n    private renderer: Renderer2\n  ) {}\n\n  ngOnChanges(changes: { [p in keyof PlyrComponent]?: SimpleChange }) {\n    this.subscriptions.push(\n      this.plyrInit.pipe(first()).subscribe((player: Plyr) => {\n        const reinitTriggers = [\n          changes.plyrOptions,\n          changes.plyrPlaysInline,\n          changes.plyrCrossOrigin,\n        ].filter((t) => !!t);\n\n        if (reinitTriggers.length) {\n          if (reinitTriggers.some((t) => !t.firstChange)) {\n            this.initPlyr(true);\n          }\n        } else {\n          this.updatePlyrSource(player);\n        }\n      })\n    );\n  }\n\n  ngOnDestroy() {\n    this.destroyPlayer();\n    this.subscriptions.forEach((s) => s.unsubscribe());\n  }\n\n  ngAfterViewInit() {\n    this.initPlyr();\n  }\n\n  private initPlyr(force = false) {\n    if (force || !this.player) {\n      this.ngZone.runOutsideAngular(() => {\n        this.destroyPlayer();\n\n        this.driver = this.plyrDriver || new DefaultPlyrDriver();\n\n        this.ensureVideoElement();\n\n        const newPlayer = this.driver.create({\n          videoElement: this.videoElement,\n          options: this.plyrOptions,\n        });\n\n        this.updatePlyrSource(newPlayer);\n\n        this.playerChange.next(newPlayer);\n      });\n    }\n  }\n\n  private updatePlyrSource(plyr: Plyr) {\n    this.driver.updateSource({\n      videoElement: this.videoElement,\n      plyr,\n      source: {\n        type: this.plyrType,\n        title: this.plyrTitle,\n        sources: this.plyrSources,\n        poster: this.plyrPoster,\n        tracks: this.plyrTracks,\n      },\n    });\n  }\n\n  // see https://stackoverflow.com/a/53704102/1990451\n  private createLazyEvent<T extends Plyr.PlyrEvent>(\n    name: Plyr.StandardEvent | Plyr.Html5Event | Plyr.YoutubeEvent\n  ): EventEmitter<T> {\n    return this.plyrInit.pipe(\n      switchMap(\n        () =>\n          new Observable((observer) =>\n            this.on(name, (data: T) =>\n              this.ngZone.run(() => observer.next(data))\n            )\n          )\n      )\n    ) as EventEmitter<T>;\n  }\n\n  private destroyPlayer() {\n    if (this.player) {\n      Array.from(this.events.keys()).forEach((name) => this.off(name));\n\n      this.driver.destroy({\n        plyr: this.player,\n      });\n\n      this.videoElement = null;\n    }\n  }\n\n  private get hostElement() {\n    return this.elementRef.nativeElement;\n  }\n\n  // this method is required because the plyr inserts clone of the original element on destroy\n  // so we catch the clone element right here and reuse it\n  private ensureVideoElement() {\n    const videoElement = this.hostElement.querySelector(\"video\");\n\n    if (videoElement) {\n      this.videoElement = videoElement;\n    } else {\n      this.videoElement = this.renderer.createElement(\"video\");\n      this.videoElement.controls = true;\n\n      if (this.plyrCrossOrigin) {\n        this.videoElement.setAttribute(\"crossorigin\", \"\");\n      }\n\n      if (this.plyrPlaysInline) {\n        this.videoElement.setAttribute(\"playsinline\", \"\");\n      }\n\n      this.renderer.appendChild(this.hostElement, this.videoElement);\n    }\n  }\n\n  private on(name: string, handler: any) {\n    this.events.set(name, handler);\n    this.player.on(name as any, handler);\n  }\n\n  private off(name: string) {\n    this.player.off(name as any, this.events.get(name));\n    this.events.delete(name);\n  }\n}\n","","import { NgModule } from '@angular/core';\nimport { PlyrComponent } from './plyr/plyr.component';\n\n@NgModule({\n  declarations: [\n    PlyrComponent,\n  ],\n  exports: [\n    PlyrComponent,\n  ]\n})\nexport class PlyrModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}