{"version":3,"file":"video-thumbs-js.bff9b9f7.js","mappings":"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","sources":["webpack://ucn/./src/components/video-thumbs/video-thumbs.js"],"sourcesContent":["const IFRAME_HOSTS = {\n\tvimeo: \"player.vimeo.com\",\n\tyoutube: \"www.youtube-nocookie.com\",\n};\n\nexport const emitVideoPauseEvent = (el) => {\n\tconst video = el.querySelector(\"video\");\n\tconst iframe = el.querySelector(\"iframe\");\n\tconst event = new Event(\"js-video-pause\");\n\tif (video) {\n\t\tvideo.dispatchEvent(event);\n\t}\n\tif (iframe) {\n\t\tiframe.dispatchEvent(event);\n\t}\n};\n\nexport const emitVideoStopEvent = (el) => {\n\tconst video = el.querySelector(\"video\");\n\tconst iframe = el.querySelector(\"iframe\");\n\tconst event = new Event(\"js-video-stop\");\n\tif (video) {\n\t\tvideo.dispatchEvent(event);\n\t}\n\tif (iframe) {\n\t\tiframe.dispatchEvent(event);\n\t}\n};\n\nexport default class VideoThumbs {\n\tconstructor(config) {\n\t\tthis.el = config.el;\n\t\tthis.videoTopImage = this.el.querySelector(\".video-thumbs__container\");\n\t\tthis.playerEl = null;\n\t\tthis.YTPlayer = null;\n\t\tthis.vimeoPlayer = null;\n\t\tthis.videoType = \"\";\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.setVideoTypeAndPlayerEl();\n\t\tthis.addEventListeners();\n\t}\n\n\tsetVideoTypeAndPlayerEl() {\n\t\tconst videoTag = this.videoTopImage\n\t\t\t.closest(\".video-thumbs\")\n\t\t\t.querySelector(\".video-tag\");\n\t\tif (videoTag != null) {\n\t\t\tthis.videoType = \"local\";\n\t\t\tthis.playerEl = videoTag;\n\t\t} else {\n\t\t\tconst iframe = this.videoTopImage\n\t\t\t\t.closest(\".video-thumbs\")\n\t\t\t\t.querySelector(\".videoplayer__iframe\");\n\t\t\tconst iframeHost = new URL(iframe.src).host;\n\n\t\t\tthis.playerEl = iframe;\n\n\t\t\tswitch (iframeHost) {\n\t\t\t\tcase IFRAME_HOSTS.vimeo:\n\t\t\t\t\tthis.videoType = \"vimeo\";\n\t\t\t\t\tthis.loadVimeoSDK();\n\t\t\t\t\tbreak;\n\t\t\t\tcase IFRAME_HOSTS.youtube:\n\t\t\t\t\tthis.videoType = \"youtube\";\n\t\t\t\t\tthis.loadYoutubeSDK();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\taddEventListeners() {\n\t\tconst self = this;\n\t\tthis.playerEl.addEventListener(\n\t\t\t\"js-video-pause\",\n\t\t\t() => {\n\t\t\t\tself.pauseVideo();\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t\tthis.playerEl.addEventListener(\n\t\t\t\"js-video-stop\",\n\t\t\t() => {\n\t\t\t\tself.stopVideo();\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t\tif (this.videoType === \"local\") {\n\t\t\tthis.videoTopImage.addEventListener(\"click\", () => {\n\t\t\t\tself.playLocalVideo();\n\t\t\t});\n\t\t}\n\t}\n\n\thideThumbnail() {\n\t\tthis.videoTopImage.classList.add(\"hidden\");\n\t\tthis.playerEl.tabIndex = 0;\n\t}\n\n\tpauseVideo() {\n\t\tswitch (this.videoType) {\n\t\t\tcase \"local\":\n\t\t\t\tthis.playerEl.pause();\n\t\t\t\tbreak;\n\t\t\tcase \"youtube\":\n\t\t\t\tif (this.YTPlayer) {\n\t\t\t\t\tthis.YTPlayer.pauseVideo();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"vimeo\":\n\t\t\t\tif (this.vimeoPlayer) {\n\t\t\t\t\tthis.vimeoPlayer.pause();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tstopVideo() {\n\t\tswitch (this.videoType) {\n\t\t\tcase \"local\":\n\t\t\t\tthis.playerEl.stop();\n\t\t\t\tbreak;\n\t\t\tcase \"youtube\":\n\t\t\t\tif (this.YTPlayer) {\n\t\t\t\t\tthis.YTPlayer.stopVideo();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"vimeo\":\n\t\t\t\tif (this.vimeoPlayer) {\n\t\t\t\t\tthis.vimeoPlayer.stop();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tplayLocalVideo() {\n\t\tthis.hideThumbnail();\n\t\tthis.playerEl.load();\n\t\tthis.playerEl.play();\n\t\tthis.emitPlayEvent();\n\t}\n\n\tloadYoutubeSDK() {\n\t\tconst youtubeSDKReadyCallback = () => {\n\t\t\tif (window.YT.loaded) {\n\t\t\t\tthis.playYoutubeVideo();\n\t\t\t} else {\n\t\t\t\twindow.YT.ready(() => {\n\t\t\t\t\tthis.playYoutubeVideo();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst youtubeScriptEl = document.getElementById(\"youtube-iframe-api\");\n\t\tif (youtubeScriptEl) {\n\t\t\t// already loaded or in the process of loading youtube sdk\n\t\t\tif (window.YT) {\n\t\t\t\t// already loaded\n\t\t\t\tyoutubeSDKReadyCallback();\n\t\t\t} else {\n\t\t\t\t// another module initiated the loading of youtube sdk, so we just hook up to that element\n\t\t\t\tyoutubeScriptEl.addEventListener(\n\t\t\t\t\t\"load\",\n\t\t\t\t\tyoutubeSDKReadyCallback\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst tag = document.createElement(\"script\");\n\t\t\ttag.id = \"youtube-iframe-api\";\n\t\t\ttag.src = \"https://www.youtube.com/iframe_api\";\n\t\t\tconst firstScriptTag = document.getElementsByTagName(\"script\")[0];\n\t\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\t\t\ttag.addEventListener(\"load\", youtubeSDKReadyCallback);\n\t\t}\n\t}\n\n\tloadVimeoSDK() {\n\t\tconst vimeoSDKReadyCallback = () => {\n\t\t\tthis.playVimeoVideo();\n\t\t};\n\n\t\tconst vimeoScriptEl = document.getElementById(\"vimeo-iframe-api\");\n\t\tif (vimeoScriptEl) {\n\t\t\t// already loaded or in the process of loading youtube sdk\n\t\t\tif (window.Vimeo) {\n\t\t\t\t// already loaded\n\t\t\t\tvimeoSDKReadyCallback();\n\t\t\t} else {\n\t\t\t\t// another module initiated the loading of youtube sdk, so we just hook up to that element\n\t\t\t\tvimeoScriptEl.addEventListener(\"load\", vimeoSDKReadyCallback);\n\t\t\t}\n\t\t} else {\n\t\t\tconst tag = document.createElement(\"script\");\n\t\t\ttag.id = \"vimeo-iframe-api\";\n\t\t\ttag.src = \"https://player.vimeo.com/api/player.js\";\n\t\t\tconst firstScriptTag = document.getElementsByTagName(\"script\")[0];\n\t\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\t\t\ttag.addEventListener(\"load\", vimeoSDKReadyCallback);\n\t\t}\n\t}\n\n\tplayVimeoVideo() {\n\t\tconst self = this;\n\t\tthis.vimeoPlayer = new Vimeo.Player(this.playerEl);\n\t\tself.videoTopImage.addEventListener(\"click\", function () {\n\t\t\tself.hideThumbnail();\n\t\t\tself.vimeoPlayer.play();\n\t\t\tself.emitPlayEvent();\n\t\t});\n\t}\n\n\tplayYoutubeVideo() {\n\t\tconst self = this;\n\t\tthis.YTPlayer = new window.YT.Player(self.playerEl, {\n\t\t\tevents: {\n\t\t\t\tonReady: onPlayerReady,\n\t\t\t},\n\t\t});\n\t\tfunction onPlayerReady(event) {\n\t\t\tself.videoTopImage.addEventListener(\"click\", function () {\n\t\t\t\tself.hideThumbnail();\n\t\t\t\tevent.target.playVideo();\n\t\t\t\tself.emitPlayEvent();\n\t\t\t});\n\t\t}\n\t}\n\n\temitPlayEvent() {\n\t\tconst playEvent = new CustomEvent(\"playing\", {\n\t\t\tbubbles: true,\n\t\t\tdetail: {\n\t\t\t\ttype: this.videoType,\n\t\t\t},\n\t\t});\n\t\tthis.el.dispatchEvent(playEvent);\n\t}\n}\n"],"names":["IFRAME_HOSTS","emitVideoPauseEvent","el","video","querySelector","iframe","event","Event","dispatchEvent","emitVideoStopEvent","VideoThumbs","config","this","videoTopImage","playerEl","YTPlayer","vimeoPlayer","videoType","init","setVideoTypeAndPlayerEl","addEventListeners","videoTag","closest","iframeHost","URL","src","host","loadVimeoSDK","loadYoutubeSDK","self","addEventListener","pauseVideo","stopVideo","playLocalVideo","classList","add","tabIndex","pause","stop","hideThumbnail","load","play","emitPlayEvent","youtubeSDKReadyCallback","window","YT","loaded","playYoutubeVideo","ready","youtubeScriptEl","document","getElementById","tag","createElement","id","firstScriptTag","getElementsByTagName","parentNode","insertBefore","vimeoSDKReadyCallback","playVimeoVideo","vimeoScriptEl","Vimeo","Player","events","onReady","target","playVideo","playEvent","CustomEvent","bubbles","detail","type"],"sourceRoot":""}