class CountdownTimer extends HTMLElement{targetDate;countdownElements;constructor(){super(),this.countdownElements={daysTens:this.querySelector("#times_day_tens"),daysOnes:this.querySelector("#times_day_ones"),hoursTens:this.querySelector("#times_hour_tens"),hoursOnes:this.querySelector("#times_hour_ones"),minutesTens:this.querySelector("#times_minute_tens"),minutesOnes:this.querySelector("#times_minute_ones"),secondsTens:this.querySelector("#times_second_tens"),secondsOnes:this.querySelector("#times_second_ones"),daysOnesSymbol:this.querySelector("#times_day_ones_symbol"),countdownText:this.querySelector(".components-countdown-text"),countdownItem:this.querySelector(".components-countdown-time_items")},this.targetDate=new Date(this.getAttribute("data-date")).getTime(),this.targetCycle=Math.floor(this.getAttribute("data-cycle"))||0,this.targetEndTip=this.getAttribute("data-endtip")||"Oops! It's over!",this.targetDayToHours=this.getAttribute("data-daytohours")==="true",this.updateCountdown(),setInterval(()=>this.updateCountdown(),1e3)}updateCountdown(){const now=new Date().getTime(),endtime=this.targetDate;if(endtime-now<=0)if(this.targetCycle>0){const cycle_time=864e5*this.targetCycle,left_time=Math.floor(now-endtime)%cycle_time,time=now+(cycle_time-left_time);this.continiuCountdown(time)}else this.resetCountdown();else this.continiuCountdown(this.targetDate)}updateElement(element,value){element&&(element.textContent=value)}resetCountdown(){for(const key in this.countdownElements)this.updateElement(this.countdownElements[key],"0");this.countdownElements.countdownItem.style.display="none",this.updateElement(this.countdownElements.countdownText,this.targetEndTip)}continiuCountdown(time){const now=new Date().getTime(),timeRemaining=time-now,days=Math.floor(timeRemaining/(1e3*60*60*24)),hours=Math.floor(timeRemaining%(1e3*60*60*24)/(1e3*60*60)),minutes=Math.floor(timeRemaining%(1e3*60*60)/(1e3*60)),seconds=Math.floor(timeRemaining%(1e3*60)/1e3);if(this.targetDayToHours&&days>0){let total_hours=days*24+hours;this.updateElement(this.countdownElements.hoursTens,total_hours>99?"9":Math.floor(total_hours/10).toString()),this.updateElement(this.countdownElements.hoursOnes,total_hours>99?"9":(total_hours%10).toString())}else this.updateElement(this.countdownElements.daysTens,days>0?Math.floor(days/10).toString():"0"),this.updateElement(this.countdownElements.daysOnes,(days%10).toString()),this.updateElement(this.countdownElements.hoursTens,Math.floor(hours/10).toString()),this.updateElement(this.countdownElements.hoursOnes,(hours%10).toString());this.updateElement(this.countdownElements.minutesTens,Math.floor(minutes/10).toString()),this.updateElement(this.countdownElements.minutesOnes,(minutes%10).toString()),this.updateElement(this.countdownElements.secondsTens,Math.floor(seconds/10).toString()),this.updateElement(this.countdownElements.secondsOnes,(seconds%10).toString()),this.countdownElements.daysTens.style.display=days>0?"inline-block":"none",this.countdownElements.daysOnes.style.display=days>0?"inline-block":"none",(days==0||this.targetDayToHours==!0)&&(this.countdownElements.daysOnesSymbol.style.display="none",this.countdownElements.daysOnesSymbol.parentNode&&(this.countdownElements.daysOnesSymbol.parentNode.style.display="none"))}}customElements.define("countdown-timer",CountdownTimer);
//# sourceMappingURL=/cdn/shop/t/106/assets/component-countdown.js.map?v=32058126294013019521733986484