{"version":3,"file":"308.min.js?t=1764691092835","mappings":"okBAEe,MAAMA,EAiBpBC,WAAAA,CAAYC,GA0DZC,EAAA,oBAGeC,IACd,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYC,KAAKC,MAAMC,IACrCF,KAAKG,UAAUC,UAAUC,IAAIX,EAAYY,QAAQC,OAClD,IAGDV,EAAA,oBAGeC,IACd,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYC,KAAKC,MAAMC,IACrCF,KAAKG,UAAUC,UAAUI,OAAOd,EAAYY,QAAQC,OACrD,IA5EAP,KAAKJ,QAAUA,EACfI,KAAKS,SAAWC,EAAAA,EAASC,cACzBX,KAAKY,oBAAsBZ,KAAKS,SAASG,oBAEzCZ,KAAKa,QAAS,EAEdb,KAAKc,WACLd,KAAKe,MACN,CAKAD,QAAAA,GACCd,KAAKgB,SAAWhB,KAAKJ,QAAQqB,cAAcvB,EAAYwB,UAAUC,QACjEnB,KAAKG,UAAYH,KAAKJ,QAAQqB,cAAcvB,EAAYwB,UAAUE,SAClEpB,KAAKC,MAAQD,KAAKJ,QAAQqB,cAAcvB,EAAYwB,UAAUG,MAC/D,CAKAN,IAAAA,GACCf,KAAKa,OAA0C,SAAjCb,KAAKgB,SAASM,QAAQT,OAEhCb,KAAKa,QACRb,KAAKuB,cAEP,CAKAA,YAAAA,GACCvB,KAAKY,oBAAoBY,GAAG9B,EAAY+B,OAAOC,KAAM1B,KAAK2B,aAC1D3B,KAAKY,oBAAoBY,GAAG9B,EAAY+B,OAAOG,MAAO5B,KAAK6B,aAC3D7B,KAAKY,oBAAoBY,GAAG9B,EAAY+B,OAAOK,KAAM9B,KAAK6B,YAC3D,CAKAE,YAAAA,GACC/B,KAAKY,oBAAoBoB,IAAItC,EAAY+B,OAAOC,KAAM1B,KAAK2B,aAC3D3B,KAAKY,oBAAoBoB,IAAItC,EAAY+B,OAAOG,MAAO5B,KAAK6B,aAC5D7B,KAAKY,oBAAoBoB,IAAItC,EAAY+B,OAAOK,KAAM9B,KAAK6B,YAC5D,CAKAI,OAAAA,GACKjC,KAAKa,QACRb,KAAK+B,cAEP,EAuBAlC,EAhGoBH,EAAW,YACZ,CAClB0B,QAAS,yCACTD,OAAQ,wCACRE,MAAO,UACPxB,EALmBH,EAAW,UAOd,CAChBa,OAAQ,sCACRV,EATmBH,EAAW,SAWf,CACfgC,KAAM,YACNE,MAAO,aACPE,KAAM,a","sources":["webpack://@hero-digital/masonite/./src/components/modules/VideoPoster/VideoPoster.js"],"sourcesContent":["import Services from 'services'\n\nexport default class VideoPoster {\n\tstatic SELECTORS = {\n\t\tCAPTION: '[data-cmp-hook=\"video-poster-caption\"]',\n\t\tFIGURE: '[data-cmp-hook=\"video-poster-figure\"]',\n\t\tVIDEO: 'video'\n\t}\n\n\tstatic CLASSES = {\n\t\tHIDDEN: 'mod-video-poster__caption--hidden'\n\t}\n\n\tstatic EVENTS = {\n\t\tPLAY: 'videoPlay',\n\t\tPAUSE: 'videoPause',\n\t\tSTOP: 'videoStop'\n\t}\n\n\tconstructor(element) {\n\t\tthis.element = element\n\t\tthis.services = Services.getInstance()\n\t\tthis.EventEmitterService = this.services.EventEmitterService\n\n\t\tthis.inline = false\n\n\t\tthis.cacheDom()\n\t\tthis.init()\n\t}\n\n\t/**\n\t * Cache DOM elements\n\t */\n\tcacheDom() {\n\t\tthis.figureEl = this.element.querySelector(VideoPoster.SELECTORS.FIGURE)\n\t\tthis.captionEl = this.element.querySelector(VideoPoster.SELECTORS.CAPTION)\n\t\tthis.video = this.element.querySelector(VideoPoster.SELECTORS.VIDEO)\n\t}\n\n\t/**\n\t * Initialize the component\n\t */\n\tinit() {\n\t\tthis.inline = this.figureEl.dataset.inline === 'true'\n\n\t\tif (this.inline) {\n\t\t\tthis.attachEvents()\n\t\t}\n\t}\n\n\t/**\n\t * Add event listeners\n\t */\n\tattachEvents() {\n\t\tthis.EventEmitterService.on(VideoPoster.EVENTS.PLAY, this.hideCaption)\n\t\tthis.EventEmitterService.on(VideoPoster.EVENTS.PAUSE, this.showCaption)\n\t\tthis.EventEmitterService.on(VideoPoster.EVENTS.STOP, this.showCaption)\n\t}\n\n\t/**\n\t * Remove events\n\t */\n\tremoveEvents() {\n\t\tthis.EventEmitterService.off(VideoPoster.EVENTS.PLAY, this.hideCaption)\n\t\tthis.EventEmitterService.off(VideoPoster.EVENTS.PAUSE, this.showCaption)\n\t\tthis.EventEmitterService.off(VideoPoster.EVENTS.STOP, this.showCaption)\n\t}\n\n\t/**\n\t * Destroy the component\n\t */\n\tdestroy() {\n\t\tif (this.inline) {\n\t\t\tthis.removeEvents()\n\t\t}\n\t}\n\n\t/**\n\t * Hide the caption\n\t */\n\thideCaption = (event) => {\n\t\tconst { videoId } = event || {}\n\n\t\tif (videoId && videoId === this.video.id) {\n\t\t\tthis.captionEl.classList.add(VideoPoster.CLASSES.HIDDEN)\n\t\t}\n\t}\n\n\t/**\n\t * Show the caption\n\t */\n\tshowCaption = (event) => {\n\t\tconst { videoId } = event || {}\n\n\t\tif (videoId && videoId === this.video.id) {\n\t\t\tthis.captionEl.classList.remove(VideoPoster.CLASSES.HIDDEN)\n\t\t}\n\t}\n}\n"],"names":["VideoPoster","constructor","element","_defineProperty","event","videoId","this","video","id","captionEl","classList","add","CLASSES","HIDDEN","remove","services","Services","getInstance","EventEmitterService","inline","cacheDom","init","figureEl","querySelector","SELECTORS","FIGURE","CAPTION","VIDEO","dataset","attachEvents","on","EVENTS","PLAY","hideCaption","PAUSE","showCaption","STOP","removeEvents","off","destroy"],"sourceRoot":""}