{"version":3,"file":"308.min.js?t=1743173738202","mappings":"2KAEe,MAAMA,EACnBC,iBAAmB,CACjBC,QAAS,yCACTC,OAAQ,wCACRC,MAAO,SAGTH,eAAiB,CACfI,OAAQ,qCAGVJ,cAAgB,CACdK,KAAM,YACNC,MAAO,aACPC,KAAM,aAGRC,WAAAA,CAAYC,GACVC,KAAKD,QAAUA,EACfC,KAAKC,SAAWC,EAAAA,EAASC,cACzBH,KAAKI,oBAAsBJ,KAAKC,SAASG,oBAEzCJ,KAAKK,QAAS,EAEdL,KAAKM,WACLN,KAAKO,MACP,CAKAD,QAAAA,GACEN,KAAKQ,SAAWR,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUlB,QACjEQ,KAAKW,UAAYX,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUnB,SAClES,KAAKY,MAAQZ,KAAKD,QAAQU,cAAcpB,EAAYqB,UAAUjB,MAChE,CAKAc,IAAAA,GACEP,KAAKK,OAA0C,SAAjCL,KAAKQ,SAASK,QAAQR,OAEhCL,KAAKK,QACPL,KAAKc,cAET,CAKAA,YAAAA,GACEd,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOrB,KAAMK,KAAKiB,aAC1DjB,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOpB,MAAOI,KAAKkB,aAC3DlB,KAAKI,oBAAoBW,GAAG1B,EAAY2B,OAAOnB,KAAMG,KAAKkB,YAC5D,CAKAC,YAAAA,GACEnB,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,YAC7D,CAKAG,OAAAA,GACMrB,KAAKK,QACPL,KAAKmB,cAET,CAKAF,YAAeK,IACb,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYvB,KAAKY,MAAMY,IACpCxB,KAAKW,UAAUc,UAAUC,IAAIrC,EAAYsC,QAAQjC,OACnD,EAMFwB,YAAeI,IACb,MAAM,QAAEC,GAAYD,GAAS,CAAC,EAE1BC,GAAWA,IAAYvB,KAAKY,MAAMY,IACpCxB,KAAKW,UAAUc,UAAUG,OAAOvC,EAAYsC,QAAQjC,OACtD,E","sources":["webpack://@hero-digital/masonite/./src/components/modules/VideoPoster/VideoPoster.js"],"sourcesContent":["import Services from 'services'\n\nexport default class VideoPoster {\n static SELECTORS = {\n CAPTION: '[data-cmp-hook=\"video-poster-caption\"]',\n FIGURE: '[data-cmp-hook=\"video-poster-figure\"]',\n VIDEO: 'video'\n }\n\n static CLASSES = {\n HIDDEN: 'mod-video-poster__caption--hidden'\n }\n\n static EVENTS = {\n PLAY: 'videoPlay',\n PAUSE: 'videoPause',\n STOP: 'videoStop'\n }\n\n constructor(element) {\n this.element = element\n this.services = Services.getInstance()\n this.EventEmitterService = this.services.EventEmitterService\n\n this.inline = false\n\n this.cacheDom()\n this.init()\n }\n\n /**\n * Cache DOM elements\n */\n cacheDom() {\n this.figureEl = this.element.querySelector(VideoPoster.SELECTORS.FIGURE)\n this.captionEl = this.element.querySelector(VideoPoster.SELECTORS.CAPTION)\n this.video = this.element.querySelector(VideoPoster.SELECTORS.VIDEO)\n }\n\n /**\n * Initialize the component\n */\n init() {\n this.inline = this.figureEl.dataset.inline === 'true'\n\n if (this.inline) {\n this.attachEvents()\n }\n }\n\n /**\n * Add event listeners\n */\n attachEvents() {\n this.EventEmitterService.on(VideoPoster.EVENTS.PLAY, this.hideCaption)\n this.EventEmitterService.on(VideoPoster.EVENTS.PAUSE, this.showCaption)\n this.EventEmitterService.on(VideoPoster.EVENTS.STOP, this.showCaption)\n }\n\n /**\n * Remove events\n */\n removeEvents() {\n this.EventEmitterService.off(VideoPoster.EVENTS.PLAY, this.hideCaption)\n this.EventEmitterService.off(VideoPoster.EVENTS.PAUSE, this.showCaption)\n this.EventEmitterService.off(VideoPoster.EVENTS.STOP, this.showCaption)\n }\n\n /**\n * Destroy the component\n */\n destroy() {\n if (this.inline) {\n this.removeEvents()\n }\n }\n\n /**\n * Hide the caption\n */\n hideCaption = (event) => {\n const { videoId } = event || {}\n\n if (videoId && videoId === this.video.id) {\n this.captionEl.classList.add(VideoPoster.CLASSES.HIDDEN)\n }\n }\n\n /**\n * Show the caption\n */\n showCaption = (event) => {\n const { videoId } = event || {}\n\n if (videoId && videoId === this.video.id) {\n this.captionEl.classList.remove(VideoPoster.CLASSES.HIDDEN)\n }\n }\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":""}