{"version":3,"sources":["webpack://[name]/./src/js/components/StoryVideo.js"],"names":["StoryVideo","_BaseComponent","element","_this","_classCallCheck","_callSuper","overlay","querySelector","modal","iframe","addEventListener","onPlayClick","closeVideoModal","loadYouTubeAPI","initYoutubePlayer","_inherits","_createClass","key","value","window","youTubeAPILoaded","tag","document","createElement","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","this","player","YT","Player","height","width","playerVars","controls","rel","showInfo","_this2","createPlayer","onYouTubeIframeAPIReadyCallbacks","push","onYouTubeIframeAPIReady","forEach","callback","style","display","playVideo","getComputedStyle","classList","add","remove","body","stopVideo","BaseComponent"],"mappings":"keAAuD,IAElCA,EAAU,SAAAC,GAC7B,SAAAD,EAAYE,GAAS,IAAAC,EAYM,OAZNC,IAAA,KAAAJ,IACnBG,EAAAE,EAAA,KAAAL,EAAA,CAAME,KAEDI,QAAUJ,EAAQK,cAAc,kBACrCJ,EAAKK,MAAQN,EAAQK,cAAc,mBACnCJ,EAAKM,OAASP,EAAQK,cAAc,kBAEpCJ,EAAKG,QAAQI,iBAAiB,SAAS,kBAAMP,EAAKQ,iBAClDR,EAAKK,MAAME,iBAAiB,SAAS,kBAAMP,EAAKS,qBAGhDT,EAAKU,iBACLV,EAAKW,oBAAoBX,EAC1B,OAAAY,IAAAf,EAAAC,GAAAe,IAAAhB,EAAA,EAAAiB,IAAA,iBAAAC,MAGD,WAEE,IAAKC,OAAOC,iBAAkB,CAC5B,IAAMC,EAAMC,SAASC,cAAc,UACnCF,EAAIG,IAAM,qCACV,IAAMC,EAAiBH,SAASI,qBAAqB,UAAU,GAC/DD,EAAeE,WAAWC,aAAaP,EAAKI,GAC5CN,OAAOC,kBAAmB,KAE7B,CAAAH,IAAA,eAAAC,MAED,WACEW,KAAKC,OAAS,IAAIC,GAAGC,OAAOH,KAAKpB,OAAQ,CACvCwB,OAAQ,MACRC,MAAO,MACPC,WAAY,CACVC,SAAU,EACVC,IAAK,EACLC,SAAU,OAGf,CAAArB,IAAA,oBAAAC,MAED,WAAoB,IAAAqB,EAAA,KACdpB,OAAOY,IAAMZ,OAAOY,GAAGC,OACzBH,KAAKW,gBAGLrB,OAAOsB,iCAAmCtB,OAAOsB,kCAAoC,GACrFtB,OAAOsB,iCAAiCC,MAAK,kBAAMH,EAAKC,kBAEnDrB,OAAOwB,0BAEVxB,OAAOwB,wBAA0B,WAC/BxB,OAAOsB,iCAAiCG,SAAQ,SAAAC,GAAQ,OAAIA,YAInE,CAAA5B,IAAA,cAAAC,MAED,WACEW,KAAKrB,MAAMsC,MAAMC,QAAU,QACvBlB,KAAKC,QAAUD,KAAKC,OAAOkB,WAC7BnB,KAAKC,OAAOkB,YAGTnB,KAAKpB,QAA2D,SAAjDU,OAAO8B,iBAAiBpB,KAAKpB,QAAQsC,QAGvDlB,KAAKrB,MAAMD,cAAc,mBAAmB2C,UAAUC,IAAI,QAF1DtB,KAAKrB,MAAMD,cAAc,mBAAmB2C,UAAUE,OAAO,QAK/D9B,SAAS+B,KAAKH,UAAUC,IAAI,oBAC7B,CAAAlC,IAAA,kBAAAC,MAED,WACEW,KAAKrB,MAAMsC,MAAMC,QAAU,OACvBlB,KAAKC,QAAUD,KAAKC,OAAOwB,WAC7BzB,KAAKC,OAAOwB,YAEdhC,SAAS+B,KAAKH,UAAUE,OAAO,sBA7EJ,C,OAASG","file":"js/component-StoryVideo-js.chunks.js","sourcesContent":["import BaseComponent from '../abstracts/BaseComponent';\n\nexport default class StoryVideo extends BaseComponent {\n constructor(element) {\n super(element);\n\n this.overlay = element.querySelector('.video-overlay');\n this.modal = element.querySelector('.js-video-modal');\n this.iframe = element.querySelector('#youtube-video');\n\n this.overlay.addEventListener('click', () => this.onPlayClick());\n this.modal.addEventListener('click', () => this.closeVideoModal());\n\n // INIT YOUTUBE API\n this.loadYouTubeAPI();\n this.initYoutubePlayer();\n }\n\n\n loadYouTubeAPI() {\n //const script = document.querySelector('script');\n if (!window.youTubeAPILoaded) {\n const tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n window.youTubeAPILoaded = true;\n }\n }\n\n createPlayer() {\n this.player = new YT.Player(this.iframe, {\n height: '85%',\n width: '85%',\n playerVars: {\n controls: 0,\n rel: 0,\n showInfo: 0\n }\n });\n }\n\n initYoutubePlayer() {\n if (window.YT && window.YT.Player) {\n this.createPlayer();\n } else {\n // ADD CALLBACK TO CALL WHEN API IS READY\n window.onYouTubeIframeAPIReadyCallbacks = window.onYouTubeIframeAPIReadyCallbacks || [];\n window.onYouTubeIframeAPIReadyCallbacks.push(() => this.createPlayer());\n\n if (!window.onYouTubeIframeAPIReady) {\n // SET API FUNCTION GLOBALLY\n window.onYouTubeIframeAPIReady = () => {\n window.onYouTubeIframeAPIReadyCallbacks.forEach(callback => callback());\n };\n }\n }\n }\n\n onPlayClick() {\n this.modal.style.display = 'block';\n if (this.player && this.player.playVideo) {\n this.player.playVideo();\n }\n\n if (!this.iframe || window.getComputedStyle(this.iframe).display === 'none') {\n this.modal.querySelector('.cookie-warning').classList.remove('hide');\n } else {\n this.modal.querySelector('.cookie-warning').classList.add('hide');\n }\n\n document.body.classList.add('no-scroll-body');\n }\n\n closeVideoModal() {\n this.modal.style.display = 'none';\n if (this.player && this.player.stopVideo) {\n this.player.stopVideo();\n }\n document.body.classList.remove('no-scroll-body');\n }\n}\n"],"sourceRoot":""}