{"version":3,"file":"PostcodeChecker.CBbrepp5.mjs","names":["useState","startTransition","useState","startTransition"],"sources":["https:/framerusercontent.com/modules/IhPsXN1QeVFhJU8KCJQe/2ZN8Rkjsfv3dfwSdhGpQ/CutoffCountdown.js","https:/framerusercontent.com/modules/KBoAn5v9DqLT33SbR9dr/UqMug4Wut18ePq4eYJ6m/PostcodeChecker.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const DAY=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];const FULL={Sun:\"Sunday\",Mon:\"Monday\",Tue:\"Tuesday\",Wed:\"Wednesday\",Thu:\"Thursday\",Fri:\"Friday\",Sat:\"Saturday\"};function nowIn(tz){try{const p=new Intl.DateTimeFormat(\"en-GB\",{timeZone:tz||undefined,weekday:\"short\",hour:\"2-digit\",minute:\"2-digit\",hourCycle:\"h23\"}).formatToParts(new Date);const g=t=>p.find(x=>x.type===t)?.value||\"\";return{day:g(\"weekday\").slice(0,3),mins:parseInt(g(\"hour\"),10)*60+parseInt(g(\"minute\"),10)};}catch(e){const d=new Date;return{day:DAY[d.getDay()],mins:d.getHours()*60+d.getMinutes()};}}function cutoffMessage(cutoff,days,tz,before,after,closed){const open=days.split(\",\").map(d=>d.trim().slice(0,3)).filter(Boolean);const[h,m]=(cutoff||\"13:00\").split(\":\").map(x=>parseInt(x,10)||0);const cut=h*60+m;const{day,mins}=nowIn(tz);const next=()=>{const i=DAY.indexOf(day);for(let k=1;k<=7;k++){const d=DAY[(i+k)%7];if(open.includes(d))return k===1?\"tomorrow\":FULL[d];}return\"soon\";};if(open.includes(day)&&mins<cut){const left=cut-mins,hh=Math.floor(left/60),mm=left%60;const t=hh>0?`${hh}h ${String(mm).padStart(2,\"0\")}m`:`${mm}m`;return{live:true,text:before.replace(\"{time}\",t)};}return{live:false,text:(open.includes(day)?after:closed).replace(\"{next}\",next())};}/**\n * Same-day cut-off countdown\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight auto\n */export default function CutoffCountdown(props){const{cutoff=\"13:00\",days=\"Mon,Tue,Wed,Thu,Fri,Sat\",timeZone=\"Europe/London\",before=\"Order in {time} for same-day delivery\",after=\"Same-day has gone for today. Order now for {next}\",closed=\"We’re closed today. Order now for {next}\",showDot=true,color=\"#1E1B18\",dotColor=\"#4F5D45\",font}=props;const[msg,setMsg]=useState(null);useEffect(()=>{const tick=()=>startTransition(()=>setMsg(cutoffMessage(cutoff,days,timeZone,before,after,closed)));tick();const id=window.setInterval(tick,3e4);return()=>window.clearInterval(id);},[cutoff,days,timeZone,before,after,closed]);const text=msg?msg.text:before.replace(\"{time}\",\"2h 14m\");const live=msg?msg.live:true;return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,position:\"relative\",display:\"flex\",alignItems:\"flex-start\",gap:10,color,maxWidth:\"100%\",...props.style?.width===\"100%\"?{}:{width:\"max-content\"},...font},\"aria-live\":\"polite\",children:[showDot&&/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":true,style:{position:\"relative\",width:8,height:8,flex:\"0 0 8px\",marginTop:\"0.45em\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,borderRadius:8,background:live?dotColor:\"transparent\",border:`1.5px solid ${dotColor}`}}),live&&/*#__PURE__*/_jsx(\"span\",{className:\"sp-pulse\",style:{position:\"absolute\",inset:-4,borderRadius:12,border:`1px solid ${dotColor}`,opacity:.5}})]}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:\"@keyframes spPulse{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.4);opacity:0}}.sp-pulse{animation:spPulse 2.4s ease-out infinite}@media (prefers-reduced-motion:reduce){.sp-pulse{animation:none;display:none}}\"}}),/*#__PURE__*/_jsx(\"span\",{children:text})]});}addPropertyControls(CutoffCountdown,{cutoff:{type:ControlType.String,title:\"Cut-off (24h)\",defaultValue:\"13:00\"},days:{type:ControlType.String,title:\"Delivery Days\",defaultValue:\"Mon,Tue,Wed,Thu,Fri,Sat\"},timeZone:{type:ControlType.String,title:\"Time Zone\",defaultValue:\"Europe/London\"},before:{type:ControlType.String,title:\"Before Cut-off\",defaultValue:\"Order in {time} for same-day delivery\"},after:{type:ControlType.String,title:\"After Cut-off\",defaultValue:\"Same-day has gone for today. Order now for {next}\"},closed:{type:ControlType.String,title:\"Closed Day\",defaultValue:\"We’re closed today. Order now for {next}\"},showDot:{type:ControlType.Boolean,title:\"Live Dot\",defaultValue:true},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"#1E1B18\"},dotColor:{type:ControlType.Color,title:\"Dot\",defaultValue:\"#4F5D45\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CutoffCountdown\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CutoffCountdown.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const DEFAULT_ZONES=`Central Bath | BA1 1, BA1 2, BA1 5 | 6 | 1pm | Monday to Saturday\nWidcombe & Lyncombe | BA2 4, BA2 6 | 6 | 1pm | Monday to Saturday\nLarkhall & Lansdown | BA1 6, BA1 7, BA1 9 | 8 | 1pm | Monday to Saturday\nWeston & Newbridge | BA1 3, BA1 4, BA2 1, BA2 3 | 8 | 12pm | Monday to Saturday\nCombe Down & Odd Down | BA2 2, BA2 5, BA2 7, BA2 8 | 9 | 12pm | Monday to Friday\nBradford-on-Avon & Box | BA15 1, BA15 2, SN13 8 | 14 | 11am | Tuesday and Friday`;const norm=s=>s.toUpperCase().replace(/[^A-Z0-9]/g,\"\");function parse(text){return text.split(\"\\n\").map(l=>l.split(\"|\").map(x=>x.trim())).filter(p=>p.length>=2&&p[0]).map(p=>({area:p[0],codes:p[1].split(\",\").map(c=>c.trim()).filter(Boolean),fee:p[2]||\"\",by:p[3]||\"\",days:p[4]||\"\"}));}function readPage(){const rows=Array.from(document.querySelectorAll('[data-framer-name=\"Zone Row\"]'));const get=(r,n)=>r.querySelector(`[data-framer-name=\"${n}\"]`)?.innerText.trim()||\"\";return rows.map(r=>({area:get(r,\"Zone Area\"),codes:get(r,\"Zone Postcodes\").split(\",\").map(c=>c.trim()).filter(Boolean),fee:get(r,\"Zone Fee\").replace(/[^0-9.]/g,\"\"),by:get(r,\"Zone Order By\").replace(/^by\\s+/i,\"\"),days:get(r,\"Zone Days\")})).filter(z=>z.area&&z.codes.length);}function findZone(zones,input){const pc=norm(input);if(pc.length<2)return null;let best=null,len=0;for(const z of zones)for(const c of z.codes){const n=norm(c);if(n&&pc.startsWith(n)&&n.length>len){best=z;len=n.length;}}return best;}/**\n * \"Do we deliver to you?\" postcode checker\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function PostcodeChecker(props){const{zones=DEFAULT_ZONES,readFromPage=true,partial=\"We deliver to parts of {code}: {areas}. Type your full postcode to check.\",currency=\"\\xa3\",placeholder=\"Your postcode, e.g. BA2 4QT\",button=\"Check\",yes=\"Yes, we deliver to {area}: {fee} delivery, {days}. Order by {by}.\",no=\"We don’t deliver there yet. Call us and we’ll see what we can do.\",invalid=\"Type the first part of a postcode, e.g. BA1 or BA2 4.\",ink=\"#1E1B18\",soft=\"#5E5750\",accent=\"#3A4533\",accentText=\"#F5F0E8\",line=\"#D8CFC2\",field=\"#FBF8F3\"}=props;const[list,setList]=useState(()=>parse(zones));const[value,setValue]=useState(\"\");const[res,setRes]=useState(null);useEffect(()=>{const base=parse(zones);if(!readFromPage){startTransition(()=>setList(base));return;}let tries=0,id=0;const go=()=>{const p=readPage();if(p.length)startTransition(()=>setList(p));else if(++tries<4)id=window.setTimeout(go,600);else startTransition(()=>setList(base));};id=window.setTimeout(go,300);return()=>window.clearTimeout(id);},[zones,readFromPage]);function submit(e){e.preventDefault();if(norm(value).length<2)return startTransition(()=>setRes({ok:false,text:invalid}));const z=findZone(list,value);if(!z){const parts=value.trim().toUpperCase().split(/\\s+/);const out=norm(parts[0]);const some=parts.length===1?list.filter(zz=>zz.codes.some(c=>norm(c.trim().split(/\\s+/)[0])===out)):[];if(some.length)return startTransition(()=>setRes({ok:true,text:partial.replace(\"{code}\",value.trim().toUpperCase()).replace(\"{areas}\",some.map(x=>x.area).join(\", \"))}));}startTransition(()=>setRes(z?{ok:true,text:yes.replace(\"{area}\",z.area).replace(\"{fee}\",`${currency}${z.fee}`).replace(\"{days}\",z.days).replace(\"{by}\",z.by)}:{ok:false,text:no}));}const sans=\"'Inter', 'Inter Placeholder', sans-serif\";return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:14,fontFamily:sans,color:ink},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:\".sp-pc{transition:border-color .25s ease,box-shadow .25s ease}.sp-pc:focus-within{border-color:var(--token-ca4e64fc-2477-4e02-a0f4-68254d7aa388,#B8694F)!important;box-shadow:0 0 0 1px var(--token-ca4e64fc-2477-4e02-a0f4-68254d7aa388,#B8694F)}.sp-pc button:focus-visible{outline:2px solid var(--token-ca4e64fc-2477-4e02-a0f4-68254d7aa388,#B8694F);outline-offset:2px}\"}}),/*#__PURE__*/_jsxs(\"form\",{className:\"sp-pc\",onSubmit:submit,role:\"search\",\"aria-label\":\"Check delivery postcode\",style:{display:\"flex\",gap:8,padding:6,borderRadius:100,border:`1px solid ${line}`,background:field},children:[/*#__PURE__*/_jsxs(\"label\",{style:{flex:1,minWidth:0,display:\"flex\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",width:1,height:1,overflow:\"hidden\",clip:\"rect(0 0 0 0)\"},children:\"Postcode\"}),/*#__PURE__*/_jsx(\"input\",{value:value,onChange:e=>setValue(e.target.value),placeholder:placeholder,autoComplete:\"postal-code\",size:1,style:{flex:1,minWidth:0,width:\"100%\",border:0,outline:\"none\",background:\"transparent\",padding:\"0 16px\",fontSize:15,fontFamily:sans,color:ink}})]}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",style:{cursor:\"pointer\",border:0,borderRadius:100,padding:\"13px 20px\",flex:\"0 0 auto\",background:accent,color:accentText,fontFamily:sans,fontSize:13,fontWeight:500,letterSpacing:\"0.08em\",textTransform:\"uppercase\"},children:button})]}),/*#__PURE__*/_jsx(\"p\",{\"aria-live\":\"polite\",style:{margin:0,minHeight:\"1.5em\",fontSize:14.5,lineHeight:1.5,color:res?res.ok?accent:soft:soft,paddingLeft:18},children:res?res.text:\"\"})]});}addPropertyControls(PostcodeChecker,{readFromPage:{type:ControlType.Boolean,title:\"Use Zones List\",defaultValue:true,description:\"Reads the Delivery Zones list on the same page (rows named “Zone Row”). Falls back to the text below.\"},zones:{type:ControlType.String,title:\"Zones\",displayTextArea:true,defaultValue:DEFAULT_ZONES,description:\"Area | postcodes | fee | order by | days — one per line.\"},currency:{type:ControlType.String,title:\"Currency\",defaultValue:\"\\xa3\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Your postcode, e.g. BA2 4QT\"},button:{type:ControlType.String,title:\"Button\",defaultValue:\"Check\"},yes:{type:ControlType.String,title:\"Yes Text\",displayTextArea:true,defaultValue:\"Yes, we deliver to {area}: {fee} delivery, {days}. Order by {by}.\"},no:{type:ControlType.String,title:\"No Text\",displayTextArea:true,defaultValue:\"We don’t deliver there yet. Call us and we’ll see what we can do.\"},partial:{type:ControlType.String,title:\"Partial Text\",displayTextArea:true,defaultValue:\"We deliver to parts of {code}: {areas}. Type your full postcode to check.\"},invalid:{type:ControlType.String,title:\"Invalid Text\",defaultValue:\"Type the first part of a postcode, e.g. BA1 or BA2 4.\"},ink:{type:ControlType.Color,title:\"Text\",defaultValue:\"#1E1B18\"},soft:{type:ControlType.Color,title:\"Soft Text\",defaultValue:\"#5E5750\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#3A4533\"},accentText:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#F5F0E8\"},line:{type:ControlType.Color,title:\"Border\",defaultValue:\"#D8CFC2\"},field:{type:ControlType.Color,title:\"Field\",defaultValue:\"#FBF8F3\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PostcodeChecker\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PostcodeChecker.map"],"mappings":"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"}