1customElements.get("count-down")||customElements.define("count-down",class extends HTMLElement{constructor(){super(),this.needReverseTime=!1,this.dataset.hasOwnTpl||this.appendChild(document.getElementById("countdown-tpl").content.firstElementChild.cloneNode(!0)),this.dataset.endtime?this.initSingleCountdown():this.dataset.list?this.initCountdownInList():this.initFail()}initSingleCountdown(){const pattern1=/^\d{4}-\d{2}-\d{2}$/,pattern2=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/,pattern3=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}(\:\d{2}|)(\+|-)\d{4}/,pattern4=/^\d{2}:\d{2}$/;if(pattern1.test(this.dataset.endtime)||pattern2.test(this.dataset.endtime)||pattern3.test(this.dataset.endtime)||pattern4.test(this.dataset.endtime)){var finalDate=pattern3.test(this.dataset.endtime)?this.dataset.endtime:this.dataset.endtime.replace(/-/g,"/");if(!pattern4.test(this.dataset.endtime))pattern1.test(this.dataset.endtime)?finalDate+=" 00:00:00"+this.dataset.timezone:pattern2.test(this.dataset.endtime)&&(finalDate+=":00"+this.dataset.timezone),this.countDownDate=new Date(finalDate).getTime();else{var expiredDate=new Date(this.dataset.reverseTime);const currentDate=new Date(this.dataset.nowTime);expiredDate.getTime()<=currentDate.getTime()&&expiredDate.setTime(expiredDate.getTime()+1440*60*1e3),this.countDownDate=expiredDate.getTime(),this.needReverseTime=!0}this.initElements(),this.interval=setInterval(this.run.bind(this),1e3)}else this.initFail()}initCountdownInList(){const pattern=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}(\:\d{2}|)(\+|-)\d{4}/,dataList=this.dataset.list.split(","),now=new Date;let min;dataList.forEach(value=>{if(pattern.test(value)){let countdownDate=new Date(value.replace(/-/g,"/"));countdownDate>now&&(!min||countdownDate<=min)&&(min=countdownDate)}}),min?(this.countDownDate=min.getTime(),this.initElements(),this.interval=setInterval(this.run.bind(this),1e3)):this.initFail()}initElements(){this.daysElement=this.querySelector(".countdown__days__value"),this.hoursElement=this.querySelector(".countdown__hours__value"),this.minutesElement=this.querySelector(".countdown__minutes__value"),this.secondsElement=this.querySelector(".countdown__seconds__value")}initFail(){Shopify.designMode?this.showMessage(window.accessibilityStrings.countdownErrorMsg):this.remove()}run(){const now=new Date().getTime(),distance=this.countDownDate-now;if(distance>0){const daysNumber=Math.floor(distance/864e5),hoursNumber=Math.floor(distance%(1e3*60*60*24)/(1e3*60*60)),minutesNumber=Math.floor(distance%(1e3*60*60)/(1e3*60)),secondsNumber=Math.floor(distance%(1e3*60)/1e3);daysNumber?this.daysElement.textContent=daysNumber:this.daysElement.parentElement.classList.add("hidden"),hoursNumber?this.hoursElement.textContent=hoursNumber:this.hoursElement.parentElement.classList.add("hidden"),this.minutesElement.textContent=minutesNumber,this.secondsElement.textContent=secondsNumber}else this.needReverseTime?this.countDownDate+=1440*60*1e3:(clearInterval(this.interval),this.dataset.hideAfterExpiry?this.remove():(this.showMessage(this.dataset.expiredMsg?this.dataset.expiredMsg:window.accessibilityStrings.countdownExpiredMsg),this.classList.add("expired")))}showMessage(msg){this.querySelectorAll(":scope > *").forEach(ele=>ele.remove());const node=document.createTextNode(msg);this.appendChild(node)}}); 2//# sourceMappingURL=/cdn/shop/t/12/assets/countdown.js.map?v=161095927253376903141787220069
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.