PageSourceSearch

https://rivendellshop.co.nz/cdn/shop/t/31/assets/order-deadline.js?v=1629585641994926011773116430

js rivendellshop.co.nz collected 2026-10-01 12:12:24 UTC 4,537 bytes, 2 lines download raw bytes

1(function(){"use strict";var TZ="Pacific/Auckland",MATARIKI={2024:[6,28],2025:[6,20],2026:[7,10],2027:[6,25],2028:[7,14],2029:[7,6],2030:[6,21]};function nzt(d){var parts={};new Intl.DateTimeFormat("en-NZ",{timeZone:TZ,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).formatToParts(d).forEach(function(p){parts[p.type]=p.value});var h=+parts.hour==24?0:+parts.hour,y=+parts.year,mo=+parts.month-1,day=+parts.day;return{y:y,mo:mo,d:day,h:h,mi:+parts.minute,s:+parts.second,dow:new Date(y,mo,day).getDay(),key:parts.year+"-"+parts.month+"-"+parts.day}}function addDays(d,n){return new Date(d.valueOf()+n*864e5)}function nztDate(y,mo,day){return new Date(Date.UTC(y,mo,day,0,0,0))}function easter(y){var a=y%19,b=Math.floor(y/100),c=y%100,d=Math.floor(b/4),e=b%4,f=Math.floor((b+8)/25),g=Math.floor((b-f+1)/3),h=(19*a+b-d-g+15)%30,i=Math.floor(c/4),k=c%4,l=(32+2*e+2*i-h-k)%7,m=Math.floor((a+11*h+22*l)/451),mo=Math.floor((h+l-7*m+114)/31),day=(h+l-7*m+114)%31+1;return nztDate(y,mo-1,day)}var _cache={};function buildHolidays(y){var s=new Set;function add(d2){s.add(nzt(d2).key)}function mondayise(d2){var dw=nzt(d2).dow;return dw===6?addDays(d2,2):dw===0?addDays(d2,1):d2}var ny1=nztDate(y,0,1),ny2=nztDate(y,0,2),ny1dw=nzt(ny1).dow,ny2dw=nzt(ny2).dow;ny1dw===6?(add(addDays(ny1,2)),add(addDays(ny2,2))):ny1dw===0?(add(addDays(ny1,1)),add(addDays(ny2,1))):(add(ny1),add(ny2dw===6?addDays(ny2,2):ny2dw===0?addDays(ny2,1):ny2));for(var d=nztDate(y,0,31);nzt(d).dow!==1;)d=addDays(d,-1);add(d),add(mondayise(nztDate(y,1,6)));var e=easter(y);for(add(addDays(e,-2)),add(addDays(e,1)),add(mondayise(nztDate(y,3,25))),d=nztDate(y,5,1);nzt(d).dow!==1;)d=addDays(d,1);add(d),MATARIKI[y]&&add(nztDate(y,MATARIKI[y][0]-1,MATARIKI[y][1])),d=nztDate(y,9,1);for(var count=0;count<4;
1)nzt(d).dow===1&&count++,count<4&&(d=addDays(d,1));add(d);var xmas=nztDate(y,11,25),box=nztDate(y,11,26),xdw=nzt(xmas).dow,bdw=nzt(box).dow;return xdw===6?(add(addDays(xmas,2)),add(addDays(box,2))):xdw===0?(add(addDays(xmas,1)),add(addDays(box,1))):(add(xmas),add(bdw===6?addDays(box,2):bdw===0?addDays(box,1):box)),_cache[y]=s}function getHolidays(y){return _cache[y]||buildHolidays(y)}function isBizDay(d){var p=nzt(d);return p.dow===0||p.dow===6?!1:!getHolidays(p.y).has(p.key)}function nextBizDay(d){for(var next=addDays(d,1);!isBizDay(next);)next=addDays(next,1);return next}function addBizDays(d,n){for(var cur=d,i=0;i<n;i++)cur=nextBizDay(cur);return cur}function fmtDate(d){return d.toLocaleDateString("en-NZ",{timeZone:TZ,weekday:"short",day:"numeric",month:"short"})}function parseCutoff(str){if(!str||str.indexOf(":")===-1)return null;var parts=str.split(":");return{h:+parts[0],m:+parts[1]}}function render(widget,cfg){var now=new Date,p=nzt(now),cutoff=null;p.dow>=1&&p.dow<=5?cutoff=parseCutoff(cfg.weekday):p.dow===6&&(cutoff=parseCutoff(cfg.saturday));var secsLeft=null;if(cutoff){var cutoffSecs=cutoff.h*3600+cutoff.m*60,nowSecs=p.h*3600+p.mi*60+p.s;secsLeft=cutoffSecs-nowSecs}var beforeCutoff=secsLeft!==null&&secsLeft>0,todayDate=nztDate(p.y,p.mo,p.d),dispatchDate=beforeCutoff?todayDate:nextBizDay(todayDate),earliest=addBizDays(dispatchDate,cfg.min),latest=addBizDays(dispatchDate,cfg.max),eStr=fmtDate(earliest),lStr=fmtDate(latest),delivery=eStr===lStr?eStr:eStr+" \u2013 "+lStr,inner,urgent=!1;if(beforeCutoff){var h=Math.floor(secsLeft/3600),m=Math.floor(secsLeft%3600/60),s=secsLeft%60,timer=h>0?h+"h "+m+"m "+String(s).padStart(2,"0")+"s":m+"m "+String(s).padStart(2,"0")+"s";urgent=secsLeft<3600,inner="Order within <strong>"+timer+"</strong> for estimated delivery <strong>"+delivery+"</strong>"}else isBizDay(todayDate)&&secsLeft!==null&&secsLeft<=0?inner="Order today for estimated delivery <strong>"+delivery+"</strong>":inner="Next dispatch <strong>"+fmtDate(dispatchDate)+"</strong> \xB7 estimated delivery <strong>"+delivery+"</strong>";widget.innerHTML='<p class="order-deadline__text'+(urgent?" order-deadline__text--urgent":"")+'">'+inner+"</p>",widget.classList.toggle("order-deadline--urgent",urgent)}document.addEventListener("DOMContentLoaded",function(){var widget=document.getElementById("order-deadline-widget");if(widget){var cfg={weekday:widget.dataset.cutoffWeekday||"12:30",saturday:widget.dataset.cutoffSaturday||"",min:+(widget.dataset.deliveryMin||1),max:+(widget.dataset.deliveryMax||3)};render(widget,cfg),setInterval(function(){render(widget,cfg)},1e3)}})})();
2//# sourceMappingURL=/cdn/shop/t/31/assets/order-deadline.js.map?v=1629585641994926011773116430

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.