1customElements.get("countdown-timer")||customElements.define("countdown-timer",class extends HTMLElement{constructor(){super(),this.init()}init(){this.endTime=this.getAttribute("data-endtime");let regex=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/;if(!regex.test(this.endTime)||(this.shopTimezone=this.getAttribute("data-shop-timezone"),regex=/^[+-]\d{4}$/,!regex.test(this.shopTimezone)))return;this.hideWhenEnd=this.hasAttribute("data-hide-when-end"),this.timerElement=this.querySelector(".countdown-inner"),this.messageElement=this.querySelector(".countdown-message"),this.elements={day:this.querySelector(".day"),hour:this.querySelector(".hour"),minute:this.querySelector(".minute")};const endTimeStamp=this.getEndTimeStamp();this.doCountDown(endTimeStamp),this.timer=setInterval(()=>{this.doCountDown(endTimeStamp)},6e4)}getEndTimeStamp(){const[date,time]=this.endTime.split(" "),[year,month,day]=date.split("-"),[hour,minute]=time.split(":"),dateObj=new Date(Date.UTC(year,month-1,day,hour,minute)),sign=this.shopTimezone[0]==="-"?-1:1,offsetHours=parseInt(this.shopTimezone.substring(1,3),10),offsetMinutes=parseInt(this.shopTimezone.substring(3,5),10),totalOffsetMinutes=sign*(offsetHours*60+offsetMinutes);return dateObj.getTime()-totalOffsetMinutes*6e4}doCountDown(endTimeStamp){const nowTimeStamp=Date.now();let delta=endTimeStamp-nowTimeStamp;if(delta<0)return this.messageElement.classList.remove("hidden"),this.hideWhenEnd&&this.timerElement.classList.add("hidden"),clearInterval(this.timer);const days=Math.floor(delta/(1e3*60*60*24));delta-=days*(1e3*60*60*24);const hours=Math.floor(delta/(1e3*60*60));delta-=hours*(1e3*60*60);const minutes=Math.floor(delta/(1e3*60));delta-=minutes*(1e3*60),this.elements.day.innerText=days,this.elements.hour.innerText=String(hours).padStart(2,"0"),this.elements.minute.innerText=String(minutes).padStart(2,"0")}}); 2//# sourceMappingURL=/cdn/shop/t/9/assets/countdown.js.map?v=89289513189077695921761878804
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.