{"version":3,"file":"308.min.js?t=1747159542749","mappings":"2KAEe,MAAMA,EACpBC,iBAAmB,CAClBC,QAAS,yCACTC,OAAQ,wCACRC,MAAO,SAGRH,eAAiB,CAChBI,OAAQ,qCAGTJ,cAAgB,CACfK,KAAM,YACNC,MAAO,aACPC,KAAM,aAGPC,WAAAA,CAAYC,GACXC,KAAKD,QAAUA,EACfC,KAAKC,SAAWC,EAAAA,EAASC,cACzBH,KAAKI,oBAAsBJ,KAAKC,SAASG,oBAEzCJ,KAAKK,QAAS,EAEdL,KAAKM,WACLN,KAAKO,MACN,CAKAD,QAAAA,GACCN,KAAKQ,SAAWR,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUlB,QACjEQ,KAAKW,UAAYX,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUnB,SAClES,KAAKY,MAAQZ,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUjB,MAC/D,CAKAc,IAAAA,GACCP,KAAKK,OAA0C,SAAjCL,KAAKQ,SAASK,QAAQR,OAEhCL,KAAKK,QACRL,KAAKc,cAEP,CAKAA,YAAAA,GACCd,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOrB,KAAMK,KAAKiB,aAC1DjB,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOpB,MAAOI,KAAKkB,aAC3DlB,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOnB,KAAMG,KAAKkB,YAC3D,CAKAC,YAAAA,GACCnB,KAAKI,oBAAoBgB,IAAI/B,EAAY2B,OAAOrB,KAAMK,KAAKiB,aAC3DjB,KAAKI,oBAAoBgB,IAAI/B,EAAY2B,OAAOpB,MAAOI,KAAKkB,aAC5DlB,KAAKI,oBAAoBgB,IAAI/B,EAAY2B,OAAOnB,KAAMG,KAAKkB,YAC5D,CAKAG,OAAAA,GACKrB,KAAKK,QACRL,KAAKmB,cAEP,CAKAF,YAAeK,IACd,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYvB,KAAKY,MAAMY,IACrCxB,KAAKW,UAAUc,UAAUC,IAAIrC,EAAYsC,QAAQjC,OAClD,EAMDwB,YAAeI,IACd,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYvB,KAAKY,MAAMY,IACrCxB,KAAKW,UAAUc,UAAUG,OAAOvC,EAAYsC,QAAQjC,OACrD,E","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","static","CAPTION","FIGURE","VIDEO","HIDDEN","PLAY","PAUSE","STOP","constructor","element","this","services","Services","getInstance","EventEmitterService","inline","cacheDom","init","figureEl","querySelector","SELECTORS","captionEl","video","dataset","attachEvents","on","EVENTS","hideCaption","showCaption","removeEvents","off","destroy","event","videoId","id","classList","add","CLASSES","remove"],"sourceRoot":""}