{"version":3,"sources":["webpack:///./src/js/components/scurveCard.js"],"names":["gsap","registerPlugin","ScrollTrigger","Module","this","dom","videoTrigger","el","querySelector","localVideo","vimeoVideo","vimeoPlayer","Vimeo","Player","controls","initShapeAnimation","addEventListener","handleVideoClick","bind","e","key","which","keyCode","RETURN","SPACE","preventDefault","handleVideoPlay","handleVideoPause","handleVideoEnd","playing","play","url","encodeURI","element","src","URLSearchParams","split","get","vimeoPlayerAddControls","getPaused","pause","destroy","then","classList","add","on","setAttribute","remove","removeAttribute","currentTime","load","Component"],"mappings":"uoDAKAA,IAAKC,eAAeC,K,IAEdC,E,qXAEFC,KAAKC,IAAM,CACTC,aAAcF,KAAKG,GAAGC,cACpB,8DAEFC,WAAYL,KAAKG,GAAGC,cAAc,qCAClCE,WAAYN,KAAKG,GAAGC,cAClB,gDAIAJ,KAAKC,IAAIK,aACXN,KAAKO,YAAc,IAAIC,MAAMC,OAAOT,KAAKC,IAAIK,WAAY,CACvDI,UAAU,KAIdV,KAAKW,uB,qCAGQ,WACTX,KAAKC,IAAIC,eACXF,KAAKC,IAAIC,aAAaU,iBACpB,QACAZ,KAAKa,iBAAiBC,KAAKd,OAE7BA,KAAKC,IAAIC,aAAaU,iBAAiB,YAAY,SAAAG,GACjD,IAAMC,EAAMD,EAAEE,OAASF,EAAEG,QAErBF,IAAQE,IAAQC,QAAUH,IAAQE,IAAQE,QAC5CL,EAAEM,iBACF,EAAKR,iBAAiB,QAKxBb,KAAKC,IAAII,aACXL,KAAKC,IAAII,WAAWO,iBAClB,OACAZ,KAAKsB,gBAAgBR,KAAKd,OAE5BA,KAAKC,IAAII,WAAWO,iBAClB,QACAZ,KAAKuB,iBAAiBT,KAAKd,OAE7BA,KAAKC,IAAII,WAAWO,iBAClB,QACAZ,KAAKwB,eAAeV,KAAKd,U,iKAQzBA,KAAKC,IAAII,W,gBACNL,KAAKC,IAAII,WAAWoB,SACvBzB,KAAKC,IAAII,WAAWqB,O,2BAEb1B,KAAKO,Y,oBACRoB,EAAMC,UAAU5B,KAAKO,YAAYsB,QAAQC,KAGhB,MAFhB,IAAIC,gBAAgBJ,EAAIK,MAAM,KAAK,IAEvCC,IAAI,Y,iBACbjC,KAAKkC,yB,yCAEkBlC,KAAKO,YAAY4B,Y,eAMtCnC,KAAKO,YAAYmB,OAFjB1B,KAAKO,YAAY6B,Q,4TAQA,WACvBpC,KAAKO,YAAY8B,UAAUC,MAAK,WAC9B,EAAKrC,IAAIC,aAAaqC,UAAUC,IAC9B,0CAEF,EAAKjC,YAAc,IAAIC,MAAMC,OAAO,EAAKR,IAAIK,WAAY,CACvDI,UAAU,IAEZ,EAAKH,YAAYmB,OACjB,EAAKnB,YAAYkC,GAAG,OAAQ,EAAKnB,gBAAgBR,KAAK,IACtD,EAAKP,YAAYkC,GAAG,QAAS,EAAKlB,iBAAiBT,KAAK,IACxD,EAAKP,YAAYkC,GAAG,QAAS,EAAKjB,eAAeV,KAAK,S,wCAKxDd,KAAKC,IAAIC,aAAaqC,UAAUC,IAAI,wCACpCxC,KAAKC,IAAII,YACPL,KAAKC,IAAII,WAAWqC,aAAa,WAAY,c,yCAI/C1C,KAAKC,IAAIC,aAAaqC,UAAUI,OAC9B,wCAEF3C,KAAKC,IAAII,YACPL,KAAKC,IAAII,WAAWuC,gBAAgB,WAAY,c,uCAIlD5C,KAAKC,IAAIC,aAAaqC,UAAUI,OAC9B,wCAGE3C,KAAKC,IAAII,aACXL,KAAKC,IAAII,WAAWwC,YAAc,EAClC7C,KAAKC,IAAII,WAAWyC,OACpB9C,KAAKC,IAAII,WAAWuC,gBAAgB,WAAY,kB,8BApHjCG,aAyHNhD","file":"48.b97dace242b77ddf1e83.js","sourcesContent":["import { Component } from '@verndale/core';\r\nimport { gsap } from 'gsap';\r\nimport ScrollTrigger from 'gsap/ScrollTrigger';\r\nimport { keyCode } from '../helpers';\r\n\r\ngsap.registerPlugin(ScrollTrigger);\r\n\r\nclass Module extends Component {\r\n setupDefaults() {\r\n this.dom = {\r\n videoTrigger: this.el.querySelector(\r\n '.s-curve-card__media--video .s-curve-card__media-container'\r\n ),\r\n localVideo: this.el.querySelector('.s-curve-card__media--video video'),\r\n vimeoVideo: this.el.querySelector(\r\n '.s-curve-card__media--video [data-vimeo-id]'\r\n )\r\n };\r\n\r\n if (this.dom.vimeoVideo) {\r\n this.vimeoPlayer = new Vimeo.Player(this.dom.vimeoVideo, {\r\n controls: false\r\n });\r\n }\r\n\r\n this.initShapeAnimation();\r\n }\r\n\r\n addListeners() {\r\n if (this.dom.videoTrigger) {\r\n this.dom.videoTrigger.addEventListener(\r\n 'click',\r\n this.handleVideoClick.bind(this)\r\n );\r\n this.dom.videoTrigger.addEventListener('keypress', e => {\r\n const key = e.which || e.keyCode;\r\n\r\n if (key === keyCode.RETURN || key === keyCode.SPACE) {\r\n e.preventDefault();\r\n this.handleVideoClick(this);\r\n }\r\n });\r\n }\r\n\r\n if (this.dom.localVideo) {\r\n this.dom.localVideo.addEventListener(\r\n 'play',\r\n this.handleVideoPlay.bind(this)\r\n );\r\n this.dom.localVideo.addEventListener(\r\n 'pause',\r\n this.handleVideoPause.bind(this)\r\n );\r\n this.dom.localVideo.addEventListener(\r\n 'ended',\r\n this.handleVideoEnd.bind(this)\r\n );\r\n }\r\n }\r\n\r\n async handleVideoClick() {\r\n let isPlaying;\r\n\r\n if (this.dom.localVideo) {\r\n if (!this.dom.localVideo.playing) {\r\n this.dom.localVideo.play();\r\n }\r\n } else if (this.vimeoPlayer) {\r\n const url = encodeURI(this.vimeoPlayer.element.src);\r\n const params = new URLSearchParams(url.split('?')[1]);\r\n\r\n if (params.get('controls') === '0') {\r\n this.vimeoPlayerAddControls();\r\n } else {\r\n const isPaused = await this.vimeoPlayer.getPaused();\r\n isPlaying = !isPaused;\r\n\r\n if (isPlaying) {\r\n this.vimeoPlayer.pause();\r\n } else {\r\n this.vimeoPlayer.play();\r\n }\r\n }\r\n }\r\n }\r\n\r\n vimeoPlayerAddControls() {\r\n this.vimeoPlayer.destroy().then(() => {\r\n this.dom.videoTrigger.classList.add(\r\n 's-curve-card__media--vimeo-initialized'\r\n );\r\n this.vimeoPlayer = new Vimeo.Player(this.dom.vimeoVideo, {\r\n controls: true\r\n });\r\n this.vimeoPlayer.play();\r\n this.vimeoPlayer.on('play', this.handleVideoPlay.bind(this));\r\n this.vimeoPlayer.on('pause', this.handleVideoPause.bind(this));\r\n this.vimeoPlayer.on('ended', this.handleVideoEnd.bind(this));\r\n });\r\n }\r\n\r\n handleVideoPlay() {\r\n this.dom.videoTrigger.classList.add('s-curve-card__media--video-triggered');\r\n this.dom.localVideo &&\r\n this.dom.localVideo.setAttribute('controls', 'controls');\r\n }\r\n\r\n handleVideoPause() {\r\n this.dom.videoTrigger.classList.remove(\r\n 's-curve-card__media--video-triggered'\r\n );\r\n this.dom.localVideo &&\r\n this.dom.localVideo.removeAttribute('controls', 'controls');\r\n }\r\n\r\n handleVideoEnd() {\r\n this.dom.videoTrigger.classList.remove(\r\n 's-curve-card__media--video-triggered'\r\n );\r\n\r\n if (this.dom.localVideo) {\r\n this.dom.localVideo.currentTime = 0;\r\n this.dom.localVideo.load();\r\n this.dom.localVideo.removeAttribute('controls', 'controls');\r\n }\r\n }\r\n}\r\n\r\nexport default Module;\r\n"],"sourceRoot":""}