{"version":3,"file":"autoplay-video.js","mappings":"k2BAAgC,IAE1BA,EAAa,WAehB,O,EAZD,SAAAA,EAAYC,GAAI,IAAAC,EAAAC,E,mGAAAC,CAAA,KAAAJ,G,EAAA,K,EAFJ,I,MAEI,gB,wFACdK,KAAKC,MAAQL,EAAGM,cAAc,SAC9BF,KAAKG,IAAMP,EAAGM,cAAc,iBAC5BF,KAAKI,SAAkB,QAARP,EAAAG,KAAKG,WAAG,IAAAN,OAAA,EAARA,EAAUK,cAAc,UAAWG,SAASC,cAAc,QACzEN,KAAKO,QAAiB,QAART,EAAAE,KAAKG,WAAG,IAAAL,OAAA,EAARA,EAAUI,cAAc,SAAUG,SAASC,cAAc,OAElDE,OAAOC,WAAW,oCACtBC,SACfV,KAAKW,aAGPX,KAAKY,gBACP,G,EAAC,EAAAC,IAAA,SAAAC,MAED,WACEd,KAAKe,UAAUC,SAAQ,SAAAC,GAAG,MAAoB,mBAARA,EAAqBA,IAAQ,IAAI,IACvEjB,KAAKe,UAAY,EACnB,GAAC,CAAAF,IAAA,iBAAAC,MAED,WACEd,KAAKe,UAAY,EAACG,EAAAA,EAAAA,GAAGlB,KAAKG,IAAK,QAASH,KAAKmB,OAAOC,KAAKpB,OAC3D,GAAC,CAAAa,IAAA,SAAAC,MAED,WACMd,KAAKC,MAAMoB,OACbrB,KAAKsB,YAELtB,KAAKW,YAET,GAAC,CAAAE,IAAA,YAAAC,MAED,WACEd,KAAKC,MAAMsB,OACXvB,KAAKG,IAAIqB,aAAa,aAAc,eACpCxB,KAAKI,QAAQqB,UAAY,QACzBzB,KAAKO,OAAOiB,aAAa,aAAc,eACzC,GAAC,CAAAX,IAAA,aAAAC,MAED,WACEd,KAAKC,MAAMyB,QACX1B,KAAKG,IAAIqB,aAAa,aAAc,cACpCxB,KAAKI,QAAQqB,UAAY,OACzBzB,KAAKO,OAAOiB,aAAa,aAAc,cACzC,M,6EAAC,CA9CgB,GAiDnB,W","sources":["webpack://@upstatement/harvard-law-school-wp-theme/./static/js/components/autoplay-video.js"],"sourcesContent":["import { on } from '@src/utils';\n\nclass AutoplayVideo {\n listeners = [];\n\n constructor(el) {\n this.video = el.querySelector('video');\n this.btn = el.querySelector('.js-video-btn');\n this.btnText = this.btn?.querySelector('span') || document.createElement('span');\n this.btnSVG = this.btn?.querySelector('use') || document.createElement('use');\n\n const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n if (reduceMotion.matches) {\n this.pauseVideo();\n }\n\n this.setupListeners();\n }\n\n deinit() {\n this.listeners.forEach(off => (typeof off === 'function' ? off() : null));\n this.listeners = [];\n }\n\n setupListeners() {\n this.listeners = [on(this.btn, 'click', this.toggle.bind(this))];\n }\n\n toggle() {\n if (this.video.paused) {\n this.playVideo();\n } else {\n this.pauseVideo();\n }\n }\n\n playVideo() {\n this.video.play();\n this.btn.setAttribute('aria-label', 'Pause Video');\n this.btnText.innerText = 'Pause';\n this.btnSVG.setAttribute('xlink:href', '#video-pause');\n }\n\n pauseVideo() {\n this.video.pause();\n this.btn.setAttribute('aria-label', 'Play Video');\n this.btnText.innerText = 'Play';\n this.btnSVG.setAttribute('xlink:href', '#video-play');\n }\n}\n\nexport default AutoplayVideo;\n"],"names":["AutoplayVideo","el","_this$btn","_this$btn2","_classCallCheck","this","video","querySelector","btn","btnText","document","createElement","btnSVG","window","matchMedia","matches","pauseVideo","setupListeners","key","value","listeners","forEach","off","on","toggle","bind","paused","playVideo","play","setAttribute","innerText","pause"],"sourceRoot":""}