{"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":""}