!function(){"use strict";const e=Object.freeze({5259:"2026-09-01",5260:"2026-09-02",5261:"2026-09-03",5262:"2026-09-04",5263:"2026-09-07",5264:"2026-09-08",5265:"2026-09-09",5266:"2026-09-10",5267:"2026-09-11",5268:"2026-09-14",5269:"2026-09-15",5270:"2026-09-16",5271:"2026-09-17",5272:"2026-09-18",5273:"2026-09-21",5274:"2026-09-22",5275:"2026-09-23",5276:"2026-09-24",5277:"2026-09-25",5278:"2026-09-28"}),r=Object.freeze({5258:14,5257:28}),t=Object.freeze({autoOpenDelayMs:1e3,itemCount:5,modalId:"delivery-information",noDeliveryDatesGlobal:"deliveryScheduleNoDeliveryDates",noticeId:"delivery-messages",scheduleProfilesGlobal:"deliveryScheduleProfiles",sessionStorageKey:"isShownDelivery",styleElementId:"delivery-schedule-styles",textOverrideGlobal:"deliveryScheduleText"}),n=Object.freeze({noticeText:"Important information about delivery schedule -",noticeLinkText:"click here",modalTitle:"Important Notice!",scheduleTitle:"Delivery schedule",orderByTitle:"Order by 12pm",deliveryOnTitle:"For delivery on",confirmationButtonText:"Got it"}),o=/^(\d{4})-(\d{2})-(\d{2})$/;function i(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function d(e){const r=o.exec(e);if(!r)throw new TypeError(`Invalid ISO date: ${e}`);const[,t,n,i]=r.map(Number),d=new Date(Date.UTC(t,n-1,i));if(d.getUTCFullYear()!==t||d.getUTCMonth()!==n-1||d.getUTCDate()!==i)throw new TypeError(`Invalid calendar date: ${e}`);return d}function a(e=new Date){return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function l(e,r){const t=d(e);return t.setUTCDate(t.getUTCDate()+r),function(e){return[e.getUTCFullYear(),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-")}(t)}function s(e){return Array.isArray(e)?new Set(e.filter(e=>{if("string"!=typeof e)return!1;try{return d(e),!0}catch(r){return!1}})):new Set}function c(e){if("string"!=typeof e)return!1;try{return d(e),!0}catch(r){return!1}}function u(e){const r=d(e).getUTCDay();return 0===r||6===r}function y(e,r=[]){const t=d(e).getUTCDay(),n=4===t||5===t,o=r instanceof Set?r:s(r);let i=l(e,n?4:2);for(;u(i)||o.has(i);)i=l(i,1);return i}function f({startDate:e,frequencyDays:r,today:t=a(),count:n=5,noDeliveryDates:o=[]}){if(!Number.isInteger(r)||r<=0)throw new TypeError("frequencyDays must be a positive integer");const i=(c=t,u=e,Math.round((d(c).getTime()-d(u).getTime())/864e5));var c,u;const f=Math.max(0,Math.ceil(i/r)),m=s(o);return Array.from({length:n},(t,n)=>{const o=l(e,(f+n)*r);return{deliveryDate:y(o,m),orderDate:o}})}function m({entries:e,today:r=a(),count:t=5}){if(d(r),!Number.isInteger(t)||t<0)throw new TypeError("count must be a non-negative integer");return function(e){return Array.isArray(e)?e.filter(e=>i(e)&&c(e.orderFrom)&&c(e.orderTo)&&c(e.deliveryBy)&&e.orderFrom<=e.orderTo&&e.orderTo<=e.deliveryBy).map(e=>({deliveryDate:e.deliveryBy,orderFrom:e.orderFrom,orderTo:e.orderTo})).sort((e,r)=>e.orderFrom.localeCompare(r.orderFrom)||e.orderTo.localeCompare(r.orderTo)||e.deliveryDate.localeCompare(r.deliveryDate)):[]}(e).filter(({orderTo:e})=>e>=r).slice(0,t)}function v(e){const r=d(e),t=r.getUTCDate(),n=t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th";return{day:t,month:r.toLocaleString("en-GB",{month:"long",timeZone:"UTC"}),suffix:n}}function p(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function g(e){return"string"==typeof e&&""!==e.trim()}function h(e){return e.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[e]))}function b(e){const{day:r,month:t,suffix:n}=v(e);return`

${r}${n} ${t}

`}function x({orderDate:e,orderFrom:r,orderTo:t}){return r&&t?function(e,r){const t=v(e),n=v(r),o=e.slice(0,7)===r.slice(0,7)?"":` ${t.month}`;return`\n

\n ${t.day}${t.suffix}${o}–${n.day}${n.suffix} ${n.month}\n

\n `}(r,t):b(e)}function w(){var e,r;const jQuery=null!=(e=window.jQuery)?e:window.$;return jQuery&&"function"==typeof(null==(r=jQuery.fn)?void 0:r.modal)?(jQuery(`#${t.modalId}`).modal("show"),!0):(console.error("The delivery popup requires the Bootstrap jQuery modal plugin."),!1)}function T(){var o;if(document.querySelector(".ex-loggedout")||document.getElementById(t.modalId))return;const d=function(e,r){const t=i(r)?r:{},n=Array.from(e).find(e=>/^ex-l-\d+$/.test(e)&&Array.isArray(t[e]));return n?{entries:t[n],scheduleLabel:n}:null}(document.body.classList,window[t.scheduleProfilesGlobal]),a=d?null:function(t){const n=Array.from(t).map(e=>{var r;return null==(r=/^ex-l-(\d+)$/.exec(e))?void 0:r[1]}).filter(Boolean),o=n.find(r=>e[r]),i=n.find(e=>r[e]);return o&&i?{frequencyDays:r[i],frequencyLabelId:i,startDate:e[o],startLabelId:o}:null}(document.body.classList);if(!d&&!a)return;const l=d?m({count:t.itemCount,entries:d.entries}):f({count:t.itemCount,frequencyDays:a.frequencyDays,noDeliveryDates:window[t.noDeliveryDatesGlobal],startDate:a.startDate});if(0===l.length){const e=null!=(o=null==d?void 0:d.scheduleLabel)?o:"the matching account labels";return void console.warn(`No current or future delivery dates are configured for ${e}.`)}!function(){if(document.getElementById(t.styleElementId))return;const e=document.createElement("style");e.id=t.styleElementId,e.textContent="#delivery-messages,#delivery-information{--delivery-accent: red;--delivery-primary: #253775;--delivery-text: #2b2b2b;--delivery-tint: #f6f6f6}.account-theme-active #delivery-messages,.account-theme-active #delivery-information{--delivery-accent: var(--evo-brand-default, var(--account-primary, #253775));--delivery-primary: var(--evo-brand-default, var(--account-primary, #253775));--delivery-tint: var(--account-tint, #f6f6f6)}#delivery-messages{position:fixed;top:0;left:0;width:100%;background-color:var(--delivery-accent);text-align:center;z-index:900;cursor:pointer}#delivery-messages p{padding:0;margin:0;color:#fff;font-size:1rem}#delivery-information .modal-dialog{width:auto;max-width:580px;margin:30px auto}#delivery-information .modal-content{overflow:visible;border:0;border-radius:10px;background-color:#fff;box-shadow:0 12px 38px #0003}#delivery-information .modal-header{position:relative;padding:14px 44px;border:0;border-radius:10px 10px 0 0;background-color:var(--delivery-accent)}#delivery-information-label{margin:0;color:#fff;text-align:center;font-size:1.45rem;font-weight:700;line-height:1.2}#delivery-information .close{position:absolute;top:50%;right:14px;float:none;padding:0;margin:0;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;text-shadow:none;transform:translateY(-50%);opacity:1}#delivery-information .close:hover,#delivery-information .close:focus-visible{color:#fff;opacity:1}#delivery-information .modal-body{padding:12px 14px 14px;border-radius:0 0 10px 10px;background-color:#fff}.delivery-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;text-align:center}.delivery-schedule-title{padding:10px 14px;border-radius:6px;background-color:transparent;color:var(--delivery-text)}.delivery-schedule-title p{margin:0;color:var(--delivery-text);font-size:1.3rem;font-weight:700;line-height:1.2}.delivery-table{overflow:hidden;border:1px solid #d7dfeb;border-radius:10px;background-color:#fff}.delivery-table-header,.delivery-row{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center}.delivery-table-header{min-height:48px;padding:7px 12px;background-color:var(--delivery-primary);color:#fff}.delivery-table-header p{margin:0;color:#fff;font-size:.95rem;font-weight:700;line-height:1.25}.delivery-row{min-height:48px;padding:7px 12px;color:var(--delivery-text)}.delivery-row:nth-child(2n){background-color:var(--delivery-tint)}.delivery-row+.delivery-row{border-top:1px solid #d7dfeb}.delivery-date{margin:0;color:var(--delivery-text);font-size:1.05rem;font-weight:500;line-height:1.2}.delivery-date sup{font-size:.6em;line-height:0}.delivery-row>.fa-arrow-right{color:var(--delivery-primary);font-size:1rem;font-weight:700;line-height:1}.delivery-confirm{width:100%;padding:9px 16px;border:0;border-radius:8px;background-color:var(--delivery-primary);color:#fff;font:inherit;font-size:1rem;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .2s ease}.delivery-confirm:hover,.delivery-confirm:focus-visible{background-color:#2b2b2b;color:#fff}@media only screen and (max-width:768px){#delivery-information .modal-dialog{max-width:none;margin:20px 12px}#delivery-information .modal-header{padding:13px 42px}#delivery-information-label{font-size:1.25rem}#delivery-information .close{right:14px;font-size:28px}#delivery-information .modal-body{padding:10px}.delivery-wrapper{gap:9px}.delivery-schedule-title{padding:8px 10px}.delivery-schedule-title p{font-size:1.15rem}.delivery-table-header,.delivery-row{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);padding:6px}.delivery-table-header,.delivery-row{min-height:44px}.delivery-table-header p{font-size:.85rem}.delivery-date{font-size:1.05rem}.delivery-row>.fa-arrow-right{font-size:1.05rem}.delivery-confirm{padding:11px 14px;font-size:1.05rem}}@media only screen and (max-width:500px){body:has(#delivery-information){padding-top:10px}#delivery-information .modal-dialog{margin:12px 8px}.delivery-table-header p{font-size:.75rem}.delivery-date{font-size:.95rem}}",document.head.append(e)}();const s=function(e,r){const t=p(r)?r:{},o=p(t.default)?t.default:{},i=Array.from(e).find(e=>/^ex-l-\d+$/.test(e)&&p(t[e])),d=i?t[i]:{};return Object.fromEntries(Object.entries(n).map(([e,r])=>[e,g(d[e])?d[e]:g(o[e])?o[e]:r]))}(document.body.classList,window[t.textOverrideGlobal]),c=function(e){const r=document.createElement("div");return r.id=t.noticeId,r.setAttribute("role","button"),r.setAttribute("tabindex","0"),r.innerHTML=`

${h(e.noticeText)} ${h(e.noticeLinkText)}

`,r}(s);document.body.append(c),document.body.insertAdjacentHTML("beforeend",function(e,r){const n=e.map((e,r)=>`\n
\n
${x(e)}
\n \n
${b(e.deliveryDate)}
\n
\n `).join("");return`\n \n `}(l,s)),c.addEventListener("click",w),c.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),w())}),function(){try{const e=window.sessionStorage.getItem(t.sessionStorageKey);return Boolean(e&&"false"!==e)}catch(e){return!1}}()||(!function(){try{window.sessionStorage.setItem(t.sessionStorageKey,"true")}catch(e){}}(),window.setTimeout(w,t.autoOpenDelayMs))}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",T,{once:!0}):T()}(); //# sourceMappingURL=delivery.min.js.map