{"version":3,"file":"625.min.js?t=1744984834426","mappings":"2KAKe,MAAMA,EACpBC,iBAAmB,CAClBC,YAAa,gCACbC,UAAW,8BACXC,WAAY,+BACZC,aAAc,qCACdC,iBAAkB,8CAGnBL,cAAgB,CACfM,WAAY,YACZC,YAAa,aACbC,eAAgB,gBAChBC,gBAAiB,kBAGlBT,kBAAoB,CACnBU,mBAAoB,iBACpBC,kBAAmB,kBACnBC,mBAAoB,oBAGrBC,WAAAA,CAAYC,GACXC,KAAKD,QAAUA,EACfC,KAAKC,wBACJD,KAAKD,QAAQG,QAAQD,wBACtBD,KAAKG,UAAYH,KAAKD,QAAQG,QAAQC,UACtCH,KAAKI,SAAWC,EAAAA,EAASC,cACzBN,KAAKO,oBAAsBP,KAAKI,SAASG,oBAEzCP,KAAKQ,WACLR,KAAKS,cACN,CAKAD,QAAAA,GACKR,KAAKC,0BACRD,KAAKU,aAAeV,KAAKD,QAAQY,cAChC3B,EAAS4B,UAAU1B,aAEpBc,KAAKa,WAAab,KAAKD,QAAQY,cAC9B3B,EAAS4B,UAAUzB,WAEpBa,KAAKc,YAAcd,KAAKD,QAAQY,cAC/B3B,EAAS4B,UAAUxB,YAEpBY,KAAKe,OAASf,KAAKD,QAAQiB,iBAC1BhC,EAAS4B,UAAUvB,cAEpBW,KAAKiB,QAAUjB,KAAKD,QAAQiB,iBAC3BhC,EAAS4B,UAAUtB,kBAGtB,CAKAmB,YAAAA,GACKT,KAAKC,yBACRD,KAAKU,cAAcQ,iBAClB,QACAlB,KAAKmB,sBAGR,CAKAC,YAAAA,GACKpB,KAAKC,yBACRD,KAAKU,cAAcW,oBAClB,QACArB,KAAKmB,sBAGR,CAKAG,qBAAuBA,KACtBtB,KAAKe,OAAOQ,SAASC,IACpBxB,KAAKO,oBAAoBkB,KAAKzC,EAAS0C,OAAOlC,YAAa,CAC1DmC,QAASH,EAAMI,IACd,IAGH5B,KAAKiB,QAAQM,SAASM,IACrB7B,KAAKO,oBAAoBkB,KAAKzC,EAAS0C,OAAOhC,gBAAiB,CAC9DoC,SAAUD,EAAOD,IAChB,IAGH5B,KAAKG,WAAY,EACjBH,KAAKD,QAAQG,QAAQC,WAAY,EACjCH,KAAKU,aAAaqB,aACjB/C,EAASgD,WAAWrC,oBACpB,GAGDK,KAAKU,aAAaqB,aACjB,aACA/B,KAAKU,aAAaR,QAAQ+B,WAE3BjC,KAAKc,YAAYoB,MAAMC,QAAU,OACjCnC,KAAKa,WAAWqB,MAAMC,QAAU,MAAM,EAMvCC,oBAAsBA,KAErBpC,KAAKe,OAAOQ,SAASC,IACpBxB,KAAKO,oBAAoBkB,KAAKzC,EAAS0C,OAAOnC,WAAY,CACzDoC,QAASH,EAAMI,IACd,IAGH5B,KAAKiB,QAAQM,SAASM,IACrB7B,KAAKO,oBAAoBkB,KAAKzC,EAAS0C,OAAOjC,eAAgB,CAC7DqC,SAAUD,EAAOD,IAChB,IAGH5B,KAAKG,WAAY,EACjBH,KAAKD,QAAQG,QAAQC,WAAY,EACjCH,KAAKU,aAAaqB,aACjB/C,EAASgD,WAAWrC,oBACpB,GAEDK,KAAKU,aAAaqB,aACjB,aACA/B,KAAKU,aAAaR,QAAQmC,YAE3BrC,KAAKc,YAAYoB,MAAMC,QAAU,OACjCnC,KAAKa,WAAWqB,MAAMC,QAAU,MAAM,EAMvChB,sBAAwBA,KACnBnB,KAAKG,UACRH,KAAKsB,uBAELtB,KAAKoC,qBACN,E","sources":["webpack://@hero-digital/masonite/./src/components/modules/TileGrid/TileGrid.js"],"sourcesContent":["import Services from 'services'\n\n/**\n * TileGrid component\n */\nexport default class TileGrid {\n\tstatic SELECTORS = {\n\t\tPLAY_BUTTON: '[data-cmp-hook=\"play-button\"]',\n\t\tPLAY_ICON: '[data-cmp-hook=\"play-icon\"]',\n\t\tPAUSE_ICON: '[data-cmp-hook=\"pause-icon\"]',\n\t\tVIDEO_PLAYER: '[data-video-player=\"video-player\"]',\n\t\tLOTTIE_ANIMATION: '[data-lottie-animation=\"lottie-animation\"]'\n\t}\n\n\tstatic EVENTS = {\n\t\tPLAY_VIDEO: 'playVideo',\n\t\tPAUSE_VIDEO: 'pauseVideo',\n\t\tPLAY_ANIMATION: 'playAnimation',\n\t\tPAUSE_ANIMATION: 'pauseAnimation'\n\t}\n\n\tstatic ATTRIBUTES = {\n\t\tPLAY_BUTTON_STATUS: 'data-is-paused',\n\t\tPLAY_BUTTON_LABEL: 'data-play-label',\n\t\tPAUSE_BUTTON_LABEL: 'data-pause-label'\n\t}\n\n\tconstructor(element) {\n\t\tthis.element = element\n\t\tthis.includesAnimatedContent =\n\t\t\tthis.element.dataset.includesAnimatedContent\n\t\tthis.isPlaying = this.element.dataset.isPlaying\n\t\tthis.services = Services.getInstance()\n\t\tthis.EventEmitterService = this.services.EventEmitterService\n\n\t\tthis.cacheDom()\n\t\tthis.attachEvents()\n\t}\n\n\t/**\n\t * Cache DOM elements\n\t */\n\tcacheDom() {\n\t\tif (this.includesAnimatedContent) {\n\t\t\tthis.playButtonEl = this.element.querySelector(\n\t\t\t\tTileGrid.SELECTORS.PLAY_BUTTON\n\t\t\t)\n\t\t\tthis.playIconEl = this.element.querySelector(\n\t\t\t\tTileGrid.SELECTORS.PLAY_ICON\n\t\t\t)\n\t\t\tthis.pauseIconEl = this.element.querySelector(\n\t\t\t\tTileGrid.SELECTORS.PAUSE_ICON\n\t\t\t)\n\t\t\tthis.videos = this.element.querySelectorAll(\n\t\t\t\tTileGrid.SELECTORS.VIDEO_PLAYER\n\t\t\t)\n\t\t\tthis.lotties = this.element.querySelectorAll(\n\t\t\t\tTileGrid.SELECTORS.LOTTIE_ANIMATION\n\t\t\t)\n\t\t}\n\t}\n\n\t/**\n\t * Add event listeners\n\t */\n\tattachEvents() {\n\t\tif (this.includesAnimatedContent) {\n\t\t\tthis.playButtonEl?.addEventListener(\n\t\t\t\t'click',\n\t\t\t\tthis.toggleAnimatedContent\n\t\t\t)\n\t\t}\n\t}\n\n\t/**\n\t * Remove event listeners\n\t */\n\tremoveEvents() {\n\t\tif (this.includesAnimatedContent) {\n\t\t\tthis.playButtonEl?.removeEventListener(\n\t\t\t\t'click',\n\t\t\t\tthis.toggleAnimatedContent\n\t\t\t)\n\t\t}\n\t}\n\n\t/**\n\t * Pause all animated content\n\t */\n\tpauseAnimatedContent = () => {\n\t\tthis.videos.forEach((video) => {\n\t\t\tthis.EventEmitterService.emit(TileGrid.EVENTS.PAUSE_VIDEO, {\n\t\t\t\tvideoId: video.id\n\t\t\t})\n\t\t})\n\n\t\tthis.lotties.forEach((lottie) => {\n\t\t\tthis.EventEmitterService.emit(TileGrid.EVENTS.PAUSE_ANIMATION, {\n\t\t\t\tlottieId: lottie.id\n\t\t\t})\n\t\t})\n\n\t\tthis.isPlaying = false\n\t\tthis.element.dataset.isPlaying = false\n\t\tthis.playButtonEl.setAttribute(\n\t\t\tTileGrid.ATTRIBUTES.PLAY_BUTTON_STATUS,\n\t\t\ttrue\n\t\t)\n\n\t\tthis.playButtonEl.setAttribute(\n\t\t\t'aria-label',\n\t\t\tthis.playButtonEl.dataset.playLabel\n\t\t)\n\t\tthis.pauseIconEl.style.display = 'none'\n\t\tthis.playIconEl.style.display = 'flex'\n\t}\n\n\t/**\n\t * Play all animated content\n\t */\n\tplayAnimatedContent = () => {\n\t\t// Play all element videos\n\t\tthis.videos.forEach((video) => {\n\t\t\tthis.EventEmitterService.emit(TileGrid.EVENTS.PLAY_VIDEO, {\n\t\t\t\tvideoId: video.id\n\t\t\t})\n\t\t})\n\n\t\tthis.lotties.forEach((lottie) => {\n\t\t\tthis.EventEmitterService.emit(TileGrid.EVENTS.PLAY_ANIMATION, {\n\t\t\t\tlottieId: lottie.id\n\t\t\t})\n\t\t})\n\n\t\tthis.isPlaying = true\n\t\tthis.element.dataset.isPlaying = true\n\t\tthis.playButtonEl.setAttribute(\n\t\t\tTileGrid.ATTRIBUTES.PLAY_BUTTON_STATUS,\n\t\t\tfalse\n\t\t)\n\t\tthis.playButtonEl.setAttribute(\n\t\t\t'aria-label',\n\t\t\tthis.playButtonEl.dataset.pauseLabel\n\t\t)\n\t\tthis.pauseIconEl.style.display = 'flex'\n\t\tthis.playIconEl.style.display = 'none'\n\t}\n\n\t/**\n\t * Toggle animated content play/pause\n\t */\n\ttoggleAnimatedContent = () => {\n\t\tif (this.isPlaying) {\n\t\t\tthis.pauseAnimatedContent()\n\t\t} else {\n\t\t\tthis.playAnimatedContent()\n\t\t}\n\t}\n}\n"],"names":["TileGrid","static","PLAY_BUTTON","PLAY_ICON","PAUSE_ICON","VIDEO_PLAYER","LOTTIE_ANIMATION","PLAY_VIDEO","PAUSE_VIDEO","PLAY_ANIMATION","PAUSE_ANIMATION","PLAY_BUTTON_STATUS","PLAY_BUTTON_LABEL","PAUSE_BUTTON_LABEL","constructor","element","this","includesAnimatedContent","dataset","isPlaying","services","Services","getInstance","EventEmitterService","cacheDom","attachEvents","playButtonEl","querySelector","SELECTORS","playIconEl","pauseIconEl","videos","querySelectorAll","lotties","addEventListener","toggleAnimatedContent","removeEvents","removeEventListener","pauseAnimatedContent","forEach","video","emit","EVENTS","videoId","id","lottie","lottieId","setAttribute","ATTRIBUTES","playLabel","style","display","playAnimatedContent","pauseLabel"],"sourceRoot":""}