{"version":3,"sources":["webpack:///./js/components/init-video-card.ts"],"names":["initialiseVideoCard","card","player","querySelector","playerHolder","container","plyr","Plyr","addEventListener","style","opacity","iframe","document","createElement","setAttribute","dataset","embed","innerHTML","appendChild","parseFloat","display","play","async","youtubeID","contactGUID","Cookies","get","cookieLevel","parseInt","activityInfoJson","YoutubeID","ContactGUID","PageURL","window","location","href","fetch","method","headers","Headers","Accept","body","JSON","stringify","trackActivity","videoControls","Array","from","querySelectorAll","forEach","videoControl","event","preventDefault","pause","whenDomReady","then","videoCards"],"mappings":"2FAAA,0GAoCO,SAASA,EAAoBC,GAChC,MAAMC,EAASD,EAAKE,cAAc,cAC5BC,EAAeH,EAAKE,cAAc,qBAClCE,EAAYJ,EAAKE,cAAc,gBACrC,IAAKD,IAAWE,IAAiBC,EAC7B,OAEJ,MAAMC,EAAO,IAAIC,IAAKL,GAEtBG,EAAUG,iBAAiB,QAAS,KAChCJ,EAAaK,MAAMC,QAAU,IAC7BL,EAAUI,MAAMC,QAAU,IAC1B,MAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOG,aAAa,cAAe,KACnCH,EAAOG,aAAa,kBAAmB,IACvCH,EAAOG,aAAa,oBAAqB,IACzCH,EAAOG,aAAa,QAAS,YAC7BH,EAAOG,aAAa,MAAO,iCAAmCZ,EAAOa,QAAQC,MAAQ,sHACrFd,EAAOe,UAAY,GACnBf,EAAOgB,YAAYP,KAGvBN,EAAUG,iBAAiB,gBAAiB,KAExB,IADAW,WAAWd,EAAUI,MAAMC,SAAW,MAElDL,EAAUI,MAAMW,QAAU,OAC1Bd,EAAKe,OAjDjBC,eAA6BC,GACzB,MAAMC,EAAcC,IAAQC,IAAI,kBAC1BC,EAAcC,SAASH,IAAQC,IAAI,mBAAqB,KAC9D,IAAKF,GAAeG,EAAc,UAA4B,IAAdJ,EAC5C,OACJ,MAAMM,EAAmB,CACrBC,UAAWP,EACXQ,YAAaN,IAAQC,IAAI,kBACzBM,QAASC,OAAOC,SAASC,YAEvBC,MAAM,2BAA4B,CACpCC,OAAQ,OACRC,QAAS,IAAIC,QAAQ,CACjB,eAAgB,mBAChBC,OAAQ,qBAEZC,KAAMC,KAAKC,UAAUd,KAkCjBe,CAAc1C,EAAOa,QAAQC,UAGrC,MAAM6B,EAAgBC,MAAMC,KAAKnC,SAASoC,iBAAiB,kBACvDH,GACAA,EAAcI,QAAQC,IAClBA,EAAa1C,iBAAiB,QAAS2C,IACnCA,EAAMC,iBACN9C,EAAK+C,YAKrBC,cAAeC,MAtEf,WACI,MAAMC,EAAa5C,SAASoC,iBAAiB,kBACxCQ,GAGLA,EAAWP,QAAQjD","file":"55-297f4c82d2ca57d5f952.js","sourcesContent":["import Cookies from 'js-cookie';\r\nimport Plyr from 'plyr';\r\nimport whenDomReady from 'when-dom-ready';\r\n/**\r\n * Initialise all video card components.\r\n */\r\nfunction initialise() {\r\n const videoCards = document.querySelectorAll('.js-video-card');\r\n if (!videoCards) {\r\n return;\r\n }\r\n videoCards.forEach(initialiseVideoCard);\r\n}\r\nasync function trackActivity(youtubeID) {\r\n const contactGUID = Cookies.get('CurrentContact');\r\n const cookieLevel = parseInt(Cookies.get('CMSCookieLevel') || '0');\r\n if (!contactGUID || cookieLevel < 200 || typeof youtubeID === 'undefined')\r\n return;\r\n const activityInfoJson = {\r\n YoutubeID: youtubeID,\r\n ContactGUID: Cookies.get('CurrentContact'),\r\n PageURL: window.location.href\r\n };\r\n await fetch(`/api/activity/videoplay/`, {\r\n method: 'post',\r\n headers: new Headers({\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n }),\r\n body: JSON.stringify(activityInfoJson),\r\n });\r\n}\r\n/**\r\n * Initialise the video card component.\r\n * @param card The video card element.\r\n */\r\nexport function initialiseVideoCard(card) {\r\n const player = card.querySelector('.js-player');\r\n const playerHolder = card.querySelector('.js-player-holder');\r\n const container = card.querySelector('.js-play-vid');\r\n if (!player || !playerHolder || !container) {\r\n return;\r\n }\r\n const plyr = new Plyr(player);\r\n // Trigger fade animation.\r\n container.addEventListener('click', () => {\r\n playerHolder.style.opacity = '1';\r\n container.style.opacity = '0';\r\n const iframe = document.createElement(\"iframe\");\r\n iframe.setAttribute(\"frameborder\", \"0\");\r\n iframe.setAttribute(\"allowfullscreen\", \"\");\r\n iframe.setAttribute(\"allowtransparency\", \"\");\r\n iframe.setAttribute(\"allow\", \"autoplay\");\r\n iframe.setAttribute(\"src\", \"https://www.youtube.com/embed/\" + player.dataset.embed + \"?iv_load_policy=3&showinfo=0&rel=0&autoplay=1&modestbranding=1&enablejsapi=1&playsinline=1\");\r\n player.innerHTML = \"\";\r\n player.appendChild(iframe);\r\n });\r\n // Once faded out then hide and play video.\r\n container.addEventListener('transitionend', () => {\r\n const opacity = parseFloat(container.style.opacity || '');\r\n if (opacity === 0) {\r\n container.style.display = 'none';\r\n plyr.play();\r\n trackActivity(player.dataset.embed);\r\n }\r\n });\r\n const videoControls = Array.from(document.querySelectorAll('[data-target]'));\r\n if (videoControls) {\r\n videoControls.forEach(videoControl => {\r\n videoControl.addEventListener('click', event => {\r\n event.preventDefault();\r\n plyr.pause();\r\n });\r\n });\r\n }\r\n}\r\nwhenDomReady().then(initialise);\r\n"],"sourceRoot":""}