{"version":3,"sources":["webpack:///./handlers/modalInstagramGallery.js"],"names":["modalInstagramGallery","posts","document","querySelectorAll","prevButton","querySelector","nextButton","progress","duration","currentIndex","animateProgress","startTime","animate","timestamp","elapsed","progressValue","Math","min","style","backgroundImage","requestAnimationFrame","showPost","index","forEach","post","i","classList","toggle","addEventListener","length","setInterval","click"],"mappings":";;;;;;;;;;AAAA;AAAA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;EAChC,IAAMC,KAAK,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,oBAA1B,CAAd;EACA,IAAMC,UAAU,GAAGF,QAAQ,CAACG,aAAT,CAAuB,oBAAvB,CAAnB;EACA,IAAMC,UAAU,GAAGJ,QAAQ,CAACG,aAAT,CAAuB,oBAAvB,CAAnB;EACA,IAAME,QAAQ,GAAGL,QAAQ,CAACG,aAAT,CAAuB,wBAAvB,CAAjB;EACA,IAAMG,QAAQ,GAAG,IAAjB;EACA,IAAIC,YAAY,GAAG,CAAnB,CANgC,CAQhC;;EACA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC1B,IAAIC,SAAJ;;IAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAe;MAC3B;MACA,IAAI,CAACF,SAAL,EAAgBA,SAAS,GAAGE,SAAZ;MAChB,IAAMC,OAAO,GAAGD,SAAS,GAAGF,SAA5B;MACA,IAAMI,aAAa,GAAGC,IAAI,CAACC,GAAL,CAASH,OAAO,GAAGN,QAAnB,EAA6B,CAA7B,IAAkC,GAAxD;MAEAD,QAAQ,CAACW,KAAT,CAAeC,eAAf,qCAA4DJ,aAA5D,wBAAuFA,aAAvF;;MAEA,IAAID,OAAO,GAAGN,QAAd,EAAwB;QACpBY,qBAAqB,CAACR,OAAD,CAArB;MACH;IACJ,CAXD;;IAaAQ,qBAAqB,CAACR,OAAD,CAArB;EACH,CAjBD;;EAmBA,IAAMS,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;IACxBrB,KAAK,CAACsB,OAAN,CAAc,UAACC,IAAD,EAAOC,CAAP,EAAa;MACvBD,IAAI,CAACE,SAAL,CAAeC,MAAf,CAAsB,YAAtB,EAAoCF,CAAC,KAAKH,KAA1C;IACH,CAFD;IAGAZ,eAAe;EAClB,CALD;;EAOAJ,UAAU,CAACsB,gBAAX,CAA4B,OAA5B,EAAqC,YAAM;IACvCnB,YAAY,GAAG,CAACA,YAAY,GAAG,CAAhB,IAAqBR,KAAK,CAAC4B,MAA1C;IACAR,QAAQ,CAACZ,YAAD,CAAR;EACH,CAHD;EAKAL,UAAU,CAACwB,gBAAX,CAA4B,OAA5B,EAAqC,YAAM;IACvCnB,YAAY,GAAG,CAACA,YAAY,GAAG,CAAf,GAAmBR,KAAK,CAAC4B,MAA1B,IAAoC5B,KAAK,CAAC4B,MAAzD;IACAR,QAAQ,CAACZ,YAAD,CAAR;EACH,CAHD,EAxCgC,CA6ChC;;EACAY,QAAQ,CAACZ,YAAD,CAAR,CA9CgC,CAgDhC;;EACAqB,WAAW,CAAC,YAAM;IACdxB,UAAU,CAACyB,KAAX;EACH,CAFU,EAERvB,QAFQ,CAAX;AAGH,CApDD;;AAsDeR,oFAAf,E","file":"instagram-gallery.js","sourcesContent":["const modalInstagramGallery = () => {\n const posts = document.querySelectorAll('.js-instagram-post');\n const prevButton = document.querySelector('.js-instagram-prev');\n const nextButton = document.querySelector('.js-instagram-next');\n const progress = document.querySelector('.js-instagram-progress');\n const duration = 5000;\n let currentIndex = 0;\n\n // Animate progress bar\n const animateProgress = () => {\n let startTime;\n\n const animate = (timestamp) => {\n // Set start time if it's not set\n if (!startTime) startTime = timestamp;\n const elapsed = timestamp - startTime;\n const progressValue = Math.min(elapsed / duration, 1) * 100;\n\n progress.style.backgroundImage = `conic-gradient(black 0% ${progressValue}%, #ffff5c ${progressValue}% 100%)`;\n\n if (elapsed < duration) {\n requestAnimationFrame(animate);\n }\n };\n\n requestAnimationFrame(animate);\n };\n\n const showPost = (index) => {\n posts.forEach((post, i) => {\n post.classList.toggle('js-visible', i === index);\n });\n animateProgress();\n };\n\n nextButton.addEventListener('click', () => {\n currentIndex = (currentIndex + 1) % posts.length;\n showPost(currentIndex);\n });\n\n prevButton.addEventListener('click', () => {\n currentIndex = (currentIndex - 1 + posts.length) % posts.length;\n showPost(currentIndex);\n });\n\n // Get first image\n showPost(currentIndex);\n\n // Show next image every 4 seconds\n setInterval(() => {\n nextButton.click();\n }, duration);\n};\n\nexport default modalInstagramGallery;\n"],"sourceRoot":""}