class CountdownTimer{constructor(element){element&&(this.element=element,this.endTime=null,this.interval=null,this.daysElement=element.querySelector(".timer-days"),this.hoursElement=element.querySelector(".timer-hours"),this.minutesElement=element.querySelector(".timer-minutes"),this.secondsElement=element.querySelector(".timer-seconds"),this.init())}init(){const expirationDate=this.element.getAttribute("data-offer-expiration");expirationDate&&(this.endTime=new Date(expirationDate.replace(" ","T")),isNaN(this.endTime.getTime())||this.start())}start(){this.tick(),this.interval=setInterval(()=>this.tick(),1e3)}tick(){if(!this.endTime)return;const diff=this.endTime.getTime()-(new Date).getTime();if(diff<=0)return this.stop(),void this.setDisplay(0,0,0,0);const days=Math.floor(diff/864e5),hours=Math.floor(diff%864e5/36e5),minutes=Math.floor(diff%36e5/6e4),seconds=Math.floor(diff%6e4/1e3);this.setDisplay(days,hours,minutes,seconds)}stop(){this.interval&&(clearInterval(this.interval),this.interval=null)}setDisplay(days,hours,minutes,seconds){this.daysElement&&(this.daysElement.textContent=days>0?days+"D":"00D"),this.hoursElement&&(this.hoursElement.textContent=String(hours).padStart(2,"0")),this.minutesElement&&(this.minutesElement.textContent=String(minutes).padStart(2,"0")),this.secondsElement&&(this.secondsElement.textContent=String(seconds).padStart(2,"0"))}destroy(){this.stop()}}function initializeCountdownTimers(){document.querySelectorAll(".countdown-timer").forEach(element=>{element._countdownTimer&&element._countdownTimer.destroy(),element._countdownTimer=new CountdownTimer(element)})}if("loading"===document.readyState?document.addEventListener("DOMContentLoaded",initializeCountdownTimers):initializeCountdownTimers(),window.MutationObserver){new MutationObserver(function(mutations){let shouldRefresh=!1;mutations.forEach(function(mutation){"childList"===mutation.type&&mutation.addedNodes.forEach(function(node){1===node.nodeType&&(node.classList&&node.classList.contains("countdown-timer")||node.querySelector&&node.querySelector(".countdown-timer"))&&(shouldRefresh=!0)})}),shouldRefresh&&setTimeout(initializeCountdownTimers,100)}).observe(document.body,{childList:!0,subtree:!0})}"undefined"!=typeof module&&module.exports&&(module.exports=CountdownTimer);