{"version":3,"file":"videogular-ngx-videogular-buffering.mjs","sources":["../../../../libs/ngx-videogular/buffering/src/lib/vg-buffering/vg-buffering.component.ts","../../../../libs/ngx-videogular/buffering/src/lib/buffering.module.ts","../../../../libs/ngx-videogular/buffering/src/videogular-ngx-videogular-buffering.ts"],"sourcesContent":["import {\n  Component,\n  ElementRef,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IPlayable, VgApiService } from '@videogular/ngx-videogular/core';\n\n@Component({\n    selector: 'vg-buffering',\n    encapsulation: ViewEncapsulation.None,\n    template: `<div class=\"vg-buffering\">\n    <div class=\"bufferingContainer\">\n      <div class=\"loadingSpinner\"></div>\n    </div>\n  </div>`,\n    styles: [\n        `\n      vg-buffering {\n        display: none;\n        z-index: 201;\n      }\n      vg-buffering.is-buffering {\n        display: block;\n      }\n\n      .vg-buffering {\n        position: absolute;\n        display: block;\n        width: 100%;\n        height: 100%;\n      }\n      .vg-buffering .bufferingContainer {\n        width: 100%;\n        position: absolute;\n        cursor: pointer;\n        top: 50%;\n        margin-top: -50px;\n        zoom: 1;\n        filter: alpha(opacity=60);\n        opacity: 0.6;\n      }\n      /* Loading Spinner\n        * http://www.alessioatzeni.com/blog/css3-loading-animation-loop/\n        */\n      .vg-buffering .loadingSpinner {\n        background-color: rgba(0, 0, 0, 0);\n        border: 5px solid rgba(255, 255, 255, 1);\n        opacity: 0.9;\n        border-top: 5px solid rgba(0, 0, 0, 0);\n        border-left: 5px solid rgba(0, 0, 0, 0);\n        border-radius: 50px;\n        box-shadow: 0 0 35px #ffffff;\n        width: 50px;\n        height: 50px;\n        margin: 0 auto;\n        -moz-animation: spin 0.5s infinite linear;\n        -webkit-animation: spin 0.5s infinite linear;\n      }\n      .vg-buffering .loadingSpinner .stop {\n        -webkit-animation-play-state: paused;\n        -moz-animation-play-state: paused;\n      }\n      @-moz-keyframes spin {\n        0% {\n          -moz-transform: rotate(0deg);\n        }\n        100% {\n          -moz-transform: rotate(360deg);\n        }\n      }\n      @-moz-keyframes spinoff {\n        0% {\n          -moz-transform: rotate(0deg);\n        }\n        100% {\n          -moz-transform: rotate(-360deg);\n        }\n      }\n      @-webkit-keyframes spin {\n        0% {\n          -webkit-transform: rotate(0deg);\n        }\n        100% {\n          -webkit-transform: rotate(360deg);\n        }\n      }\n      @-webkit-keyframes spinoff {\n        0% {\n          -webkit-transform: rotate(0deg);\n        }\n        100% {\n          -webkit-transform: rotate(-360deg);\n        }\n      }\n    `,\n    ],\n    standalone: false\n})\nexport class VgBufferingComponent implements OnInit, OnDestroy {\n  @Input() vgFor: string;\n\n  elem: HTMLElement;\n  target: IPlayable;\n  checkInterval = 50;\n  currentPlayPos = 0;\n  lastPlayPos = 0;\n\n  subscriptions: Subscription[] = [];\n\n  @HostBinding('class.is-buffering') isBuffering = false;\n\n  constructor(ref: ElementRef, public API: VgApiService) {\n    this.elem = ref.nativeElement;\n  }\n\n  ngOnInit() {\n    if (this.API.isPlayerReady) {\n      this.onPlayerReady();\n    } else {\n      this.subscriptions.push(\n        this.API.playerReadyEvent.subscribe(() => this.onPlayerReady())\n      );\n    }\n  }\n\n  onPlayerReady() {\n    this.target = this.API.getMediaById(this.vgFor);\n\n    this.subscriptions.push(\n      this.target.subscriptions.bufferDetected.subscribe((isBuffering) =>\n        this.onUpdateBuffer(isBuffering)\n      )\n    );\n  }\n\n  onUpdateBuffer(isBuffering) {\n    this.isBuffering = isBuffering;\n  }\n\n  ngOnDestroy() {\n    this.subscriptions.forEach((s) => s.unsubscribe());\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VgBufferingComponent } from './vg-buffering/vg-buffering.component';\nimport { VgCoreModule } from '@videogular/ngx-videogular/core';\n\n@NgModule({\n  imports: [CommonModule, VgCoreModule],\n  declarations: [VgBufferingComponent],\n  exports: [VgBufferingComponent],\n})\nexport class VgBufferingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}