{"version":3,"file":"chunks/dc04e5a3448b3f.js","mappings":"kxBAKqBA,EAA2B,WAY9C,SAAAA,EAAYC,EAAsBC,I,4FAAaC,CAAA,KAAAH,GAC7CI,KAAKH,QAAUA,EACfG,KAAKF,OAASA,EACdE,KAAKC,gBAAkB,CACrBC,QAAS,GACTC,OAAQ,IAEVH,KAAKI,aAAe,IAAIC,MACxBL,KAAKI,aAAaE,IAAMN,KAAKF,OAAOM,aACpCJ,KAAKO,YAAc,IAAIF,MACvBL,KAAKO,YAAYD,IAAMN,KAAKF,OAAOS,YACnCP,KAAKQ,iBAAmBR,KAAKH,QAAQY,cAAc,8CACnDT,KAAKU,eAAiBV,KAAKH,QAAQY,cAAc,0CACjDT,KAAKW,aAAeX,KAAKH,QAAQe,iBAAiB,wDAClDZ,KAAKa,sBAAwBb,KAAKH,QAAQY,cAAc,WACxDT,KAAKc,qBAAuBd,KAAKH,QAAQY,cAAc,WACvDT,KAAKe,MACP,C,QAuEC,O,EAvEAnB,G,EAAA,EAAAoB,IAAA,OAAAC,MAED,WACEjB,KAAKkB,cAAc,WACnBlB,KAAKkB,cAAc,UACnBlB,KAAKmB,YACP,GAAC,CAAAH,IAAA,YAAAC,MAED,SAAUG,GACR,OAA+B,MAAxBA,EAAQC,YACjB,GAAC,CAAAL,IAAA,aAAAC,MAED,WAAa,IAAAK,EAAA,KACXtB,KAAKW,aAAaY,SAAQ,SAACC,EAAaC,GACtCD,EAAYE,iBAAiB,cAAc,WACzCJ,EAAKX,aAAaY,SAAQ,SAAAI,GAAUA,EAAKC,WAAWC,UAAUC,OAAO,SAAU,IAC/EN,EAAYI,WAAWC,UAAUE,IAAI,UACrCT,EAAKU,YAAYP,EACnB,GACF,GACF,GAAC,CAAAT,IAAA,gBAAAC,MAED,SAAcgB,GAA4B,IACpCC,EADoCC,EAAA,KAExCnC,KAAKF,OAAOsC,OAAOH,GAAMV,SAAQ,SAACjB,GAEhC,IAAI+B,EACJ,GAAI/B,EAAIgC,SAAS,OAAQ,EACvBD,EAAWE,SAASC,cAAc,UACzBC,UAAW,EACpBJ,EAASK,OAAQ,EACjBL,EAASM,MAAO,EAChB,IAAIC,EAAQL,SAASC,cAAc,UACnCI,EAAMtC,IAAMA,EACZsC,EAAMX,KAAO,YACbI,EAASQ,YAAYD,EACvB,MACEP,EAAW,IAAIhC,MAEjBgC,EAAS/B,IAAMA,EACf4B,EAAiB,CACfY,MAAOT,EACP/B,IAAK+B,EAAS/B,KAEhB6B,EAAKlC,gBAAgBgC,GAAMc,KAAKb,EAClC,GACF,GAAC,CAAAlB,IAAA,cAAAC,MAED,SAAYQ,GACVzB,KAAKa,sBAAsBmC,UAAYhD,KAAKc,qBAAqBkC,UAAY,GAE7E,IAAIC,EAAoBjD,KAAKC,gBAAgBC,QAAQuB,GAAOqB,MACxDI,EAAmBlD,KAAKC,gBAAgBE,OAAOsB,GAAOqB,MAC1D9C,KAAKa,sBAAsBgC,YAAYI,GACvCjD,KAAKc,qBAAqB+B,YAAYK,GAClCD,EAAkB3C,IAAIgC,SAAS,QAC7BtC,KAAKmD,UAAUnD,KAAKa,wBACtBoC,EAAkBG,OAGlBF,EAAiB5C,IAAIgC,SAAS,QAC5BtC,KAAKmD,UAAUnD,KAAKc,uBACtBoC,EAAiBE,MAGvB,GAAC,CAAApC,IAAA,qBAAAC,MAED,WACEjB,KAAKa,sBAAsBmC,UAAYhD,KAAKc,qBAAqBkC,UAAY,GAC7EhD,KAAKa,sBAAsBgC,YAAY7C,KAAKI,cAC5CJ,KAAKc,qBAAqB+B,YAAY7C,KAAKO,YAC7C,M,oEAACX,CAAA,CApG6C,E","sources":["webpack:///./resources/js/components/layout/container-features-screenshot.ts"],"sourcesContent":["type PreloadedImage = {\n image: HTMLImageElement | HTMLVideoElement,\n src: string,\n}\n\nexport default class ContainerFeaturesScreenshot {\n domRoot: HTMLElement;\n params: any;\n preloadedImages: { desktop: PreloadedImage[]; mobile: PreloadedImage[]; };\n defaultImage: HTMLImageElement;\n mobileImage: HTMLImageElement;\n featureContainer: any;\n imageContainer: any;\n featureCards: any;\n desktopImageContainer: any;\n mobileImageContainer: any;\n\n constructor(domRoot: HTMLElement, params: any) {\n this.domRoot = domRoot;\n this.params = params;\n this.preloadedImages = {\n desktop: [],\n mobile: []\n };\n this.defaultImage = new Image();\n this.defaultImage.src = this.params.defaultImage;\n this.mobileImage = new Image();\n this.mobileImage.src = this.params.mobileImage;\n this.featureContainer = this.domRoot.querySelector('.imkt-features-screenshots__text-container');\n this.imageContainer = this.domRoot.querySelector('.imkt-features-screenshots__screenshot');\n this.featureCards = this.domRoot.querySelectorAll('.screenshot-desktop .imkt-features-screenshots__card');\n this.desktopImageContainer = this.domRoot.querySelector('.md-img');\n this.mobileImageContainer = this.domRoot.querySelector('.xs-img');\n this.init();\n }\n\n init() {\n this.preloadImages('desktop');\n this.preloadImages('mobile');\n this.bindEvents();\n }\n\n isVisible(element: any) {\n return element.offsetParent != null;\n }\n\n bindEvents() {\n this.featureCards.forEach((featureCard, index) => {\n featureCard.addEventListener('mouseenter', () => {\n this.featureCards.forEach(card => { card.parentNode.classList.remove('active') });\n featureCard.parentNode.classList.add('active');\n this.updateImage(index);\n });\n })\n }\n\n preloadImages(type: 'mobile' | 'desktop') {\n var preloadedImage;\n this.params.images[type].forEach((src) => {\n\n var newImage;\n if (src.includes(\"mp4\")) {\n newImage = document.createElement(\"video\");\n newImage.autoplay = true;\n newImage.muted = true;\n newImage.loop = true;\n var srcer = document.createElement(\"source\");\n srcer.src = src;\n srcer.type = \"video/mp4\";\n newImage.appendChild(srcer);\n } else {\n newImage = new Image();\n }\n newImage.src = src;\n preloadedImage = {\n image: newImage,\n src: newImage.src\n };\n this.preloadedImages[type].push(preloadedImage);\n });\n }\n\n updateImage(index: number) {\n this.desktopImageContainer.innerHTML = this.mobileImageContainer.innerHTML = '';\n\n let appenderImageDesk = this.preloadedImages.desktop[index].image;\n let appenderImageMob = this.preloadedImages.mobile[index].image;\n this.desktopImageContainer.appendChild(appenderImageDesk);\n this.mobileImageContainer.appendChild(appenderImageMob);\n if (appenderImageDesk.src.includes(\"mp4\")) {\n if (this.isVisible(this.desktopImageContainer)) {\n appenderImageDesk.play();\n }\n }\n if (appenderImageMob.src.includes(\"mp4\")) {\n if (this.isVisible(this.mobileImageContainer)) {\n appenderImageMob.play();\n }\n }\n }\n \n updateImageDefault() {\n this.desktopImageContainer.innerHTML = this.mobileImageContainer.innerHTML = '';\n this.desktopImageContainer.appendChild(this.defaultImage);\n this.mobileImageContainer.appendChild(this.mobileImage);\n }\n}\n"],"names":["ContainerFeaturesScreenshot","domRoot","params","_classCallCheck","this","preloadedImages","desktop","mobile","defaultImage","Image","src","mobileImage","featureContainer","querySelector","imageContainer","featureCards","querySelectorAll","desktopImageContainer","mobileImageContainer","init","key","value","preloadImages","bindEvents","element","offsetParent","_this","forEach","featureCard","index","addEventListener","card","parentNode","classList","remove","add","updateImage","type","preloadedImage","_this2","images","newImage","includes","document","createElement","autoplay","muted","loop","srcer","appendChild","image","push","innerHTML","appenderImageDesk","appenderImageMob","isVisible","play"],"sourceRoot":""}