{"version":3,"file":"PostcodeCoverageChecker.CGXQCFfZ.mjs","names":["React.useState","React.useCallback","React.useMemo","React.startTransition"],"sources":["https:/framerusercontent.com/modules/RmzzXo8mS7nwg08woHRf/E6EMllSub9ZRP7UCuZOE/PostcodeCoverageChecker.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function normalizePostcode(input){const cleaned=input.toUpperCase().replace(/\\s+/g,\"\").trim();if(cleaned.length<=3)return cleaned;return`${cleaned.slice(0,-3)} ${cleaned.slice(-3)}`;}function isValidUkPostcode(postcode){const pattern=/^([Gg][Ii][Rr]\\s?0[Aa]{2}|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))\\s?[0-9][A-Za-z]{2}))$/;return pattern.test(postcode);}function milesBetween(latitudeA,longitudeA,latitudeB,longitudeB){const toRadians=degrees=>degrees*Math.PI/180;const earthRadiusMiles=3958.8;const dLat=toRadians(latitudeB-latitudeA);const dLon=toRadians(longitudeB-longitudeA);const lat1=toRadians(latitudeA);const lat2=toRadians(latitudeB);const a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(lat1)*Math.cos(lat2)*Math.sin(dLon/2)*Math.sin(dLon/2);const c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return earthRadiusMiles*c;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function PostcodeCoverageChecker(props){const{heading,description,radiusMiles,centerLatitude,centerLongitude,successTitle,successBody,outsideTitle,outsideBody,inputPlaceholder,checkButtonLabel,successButtonLabel,successButtonLink,outsideButtonLabel,outsideButtonLink,backgroundColor,surfaceColor,textColor,mutedTextColor,accentColor,borderColor,cornerRadius,compactMobile,headingFont,bodyFont,buttonFont}=props;const isStaticRenderer=useIsStaticRenderer();const[postcode,setPostcode]=React.useState(\"\");const[status,setStatus]=React.useState(\"idle\");const[distanceMiles,setDistanceMiles]=React.useState(null);const[statusMessage,setStatusMessage]=React.useState(\"\");const[isInputFocused,setIsInputFocused]=React.useState(false);const[isButtonFocused,setIsButtonFocused]=React.useState(false);const[isNarrow,setIsNarrow]=React.useState(false);React.useEffect(()=>{if(typeof window!==\"undefined\"){const update=()=>{React.startTransition(()=>{setIsNarrow(window.innerWidth<=640);});};update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);}return;},[]);const shouldStack=compactMobile&&isNarrow;const resetResult=React.useCallback(()=>{React.startTransition(()=>{setDistanceMiles(null);setStatus(\"idle\");setStatusMessage(\"\");});},[]);const onPostcodeChange=React.useCallback(event=>{const next=event.target.value;React.startTransition(()=>{setPostcode(next);});if(status!==\"idle\"){resetResult();}},[resetResult,status]);const checkCoverage=React.useCallback(async event=>{if(event)event.preventDefault();if(isStaticRenderer){React.startTransition(()=>{setStatus(\"networkError\");setStatusMessage(\"Coverage checks run in Preview/Published mode. Enter a postcode there to test.\");});return;}const normalized=normalizePostcode(postcode);if(!isValidUkPostcode(normalized)){React.startTransition(()=>{setStatus(\"invalid\");setDistanceMiles(null);setStatusMessage(\"Please enter a valid UK postcode, for example NG24 1XX.\");});return;}React.startTransition(()=>{setStatus(\"checking\");setDistanceMiles(null);setStatusMessage(\"Checking coverage for your postcode…\");});try{const response=await fetch(`https://api.postcodes.io/postcodes/${encodeURIComponent(normalized)}`);const payload=await response.json();if(!response.ok||payload?.status!==200||!payload?.result){React.startTransition(()=>{setStatus(\"notFound\");setStatusMessage(\"We couldn’t find that postcode. Please check it and try again.\");});return;}const latitude=Number(payload.result.latitude);const longitude=Number(payload.result.longitude);if(Number.isNaN(latitude)||Number.isNaN(longitude)){React.startTransition(()=>{setStatus(\"notFound\");setStatusMessage(\"That postcode could not be resolved to a location.\");});return;}const distance=milesBetween(centerLatitude,centerLongitude,latitude,longitude);const inRange=distance<=radiusMiles;React.startTransition(()=>{setDistanceMiles(distance);setStatus(inRange?\"inside\":\"outside\");setStatusMessage(`Postcode checked: ${normalized} is ${distance.toFixed(1)} miles from Newark-on-Trent town centre.`);});}catch(_error){React.startTransition(()=>{setStatus(\"networkError\");setStatusMessage(\"There was a network problem while checking coverage. Please try again.\");});}},[centerLatitude,centerLongitude,isStaticRenderer,postcode,radiusMiles]);const resultContent=React.useMemo(()=>{if(status===\"inside\"){return{title:successTitle,body:successBody,ctaLabel:successButtonLabel,ctaLink:successButtonLink};}if(status===\"outside\"){return{title:outsideTitle,body:outsideBody,ctaLabel:outsideButtonLabel,ctaLink:outsideButtonLink};}return null;},[outsideBody,outsideButtonLabel,outsideButtonLink,outsideTitle,status,successBody,successButtonLabel,successButtonLink,successTitle]);return /*#__PURE__*/_jsxs(\"section\",{style:{position:\"relative\",width:\"100%\",display:\"flex\",flexDirection:\"column\",gap:16,background:backgroundColor,border:`1px solid ${borderColor}`,borderRadius:cornerRadius,padding:16,boxSizing:\"border-box\",color:textColor},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,color:textColor,fontSize:headingFont.fontSize,lineHeight:headingFont.lineHeight,letterSpacing:headingFont.letterSpacing,fontWeight:headingFont.fontWeight,fontStyle:headingFont.fontStyle,fontFamily:headingFont.fontFamily,textAlign:headingFont.textAlign},children:heading}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:mutedTextColor,fontSize:bodyFont.fontSize,lineHeight:bodyFont.lineHeight,letterSpacing:bodyFont.letterSpacing,fontWeight:bodyFont.fontWeight,fontStyle:bodyFont.fontStyle,fontFamily:bodyFont.fontFamily,textAlign:bodyFont.textAlign},children:description})]}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:checkCoverage,style:{display:\"flex\",flexDirection:shouldStack?\"column\":\"row\",gap:10,width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",flex:1,gap:6},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"postcode-coverage-input\",style:{color:textColor,fontSize:bodyFont.fontSize,lineHeight:bodyFont.lineHeight,letterSpacing:bodyFont.letterSpacing,fontWeight:bodyFont.fontWeight,fontStyle:bodyFont.fontStyle,fontFamily:bodyFont.fontFamily,textAlign:bodyFont.textAlign},children:\"UK postcode\"}),/*#__PURE__*/_jsx(\"input\",{id:\"postcode-coverage-input\",type:\"text\",value:postcode,placeholder:inputPlaceholder,onChange:onPostcodeChange,disabled:status===\"checking\",\"aria-describedby\":\"postcode-coverage-status\",style:{width:\"100%\",boxSizing:\"border-box\",minHeight:44,border:`1px solid ${isInputFocused?accentColor:borderColor}`,borderRadius:cornerRadius,padding:\"10px 12px\",background:surfaceColor,color:textColor,outline:\"none\",boxShadow:isInputFocused?`0 0 0 2px ${accentColor}33`:\"none\",fontSize:bodyFont.fontSize,lineHeight:bodyFont.lineHeight,letterSpacing:bodyFont.letterSpacing,fontWeight:bodyFont.fontWeight,fontStyle:bodyFont.fontStyle,fontFamily:bodyFont.fontFamily,textAlign:bodyFont.textAlign},onFocus:()=>React.startTransition(()=>{setIsInputFocused(true);}),onBlur:()=>React.startTransition(()=>{setIsInputFocused(false);})})]}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:status===\"checking\",onFocus:()=>React.startTransition(()=>{setIsButtonFocused(true);}),onBlur:()=>React.startTransition(()=>{setIsButtonFocused(false);}),style:{minHeight:44,border:`1px solid ${accentColor}`,borderRadius:cornerRadius,background:accentColor,color:\"#000000\",padding:\"10px 16px\",cursor:status===\"checking\"?\"not-allowed\":\"pointer\",opacity:status===\"checking\"?.7:1,boxShadow:isButtonFocused?`0 0 0 2px ${accentColor}55`:\"none\",whiteSpace:\"nowrap\",fontSize:buttonFont.fontSize,lineHeight:buttonFont.lineHeight,letterSpacing:buttonFont.letterSpacing,fontWeight:buttonFont.fontWeight,fontStyle:buttonFont.fontStyle,fontFamily:buttonFont.fontFamily,textAlign:buttonFont.textAlign},children:status===\"checking\"?\"Checking…\":checkButtonLabel})]}),/*#__PURE__*/_jsxs(\"div\",{id:\"postcode-coverage-status\",role:\"status\",\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",gap:8,color:status===\"invalid\"||status===\"notFound\"||status===\"networkError\"?textColor:mutedTextColor,fontSize:bodyFont.fontSize,lineHeight:bodyFont.lineHeight,letterSpacing:bodyFont.letterSpacing,fontWeight:bodyFont.fontWeight,fontStyle:bodyFont.fontStyle,fontFamily:bodyFont.fontFamily,textAlign:bodyFont.textAlign},children:[statusMessage?/*#__PURE__*/_jsx(\"p\",{style:{margin:0},children:statusMessage}):null,resultContent?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,background:surfaceColor,border:`1px solid ${borderColor}`,borderRadius:cornerRadius,padding:12},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,color:textColor,fontSize:headingFont.fontSize,lineHeight:headingFont.lineHeight,letterSpacing:headingFont.letterSpacing,fontWeight:headingFont.fontWeight,fontStyle:headingFont.fontStyle,fontFamily:headingFont.fontFamily,textAlign:headingFont.textAlign},children:resultContent.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:mutedTextColor},children:resultContent.body}),distanceMiles!==null?/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:mutedTextColor},children:[\"Distance from centre: \",distanceMiles.toFixed(1),\" miles.\"]}):null,/*#__PURE__*/_jsx(\"a\",{href:resultContent.ctaLink,style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",minHeight:40,width:shouldStack?\"100%\":\"fit-content\",border:`1px solid ${accentColor}`,borderRadius:cornerRadius,background:accentColor,color:\"#000000\",textDecoration:\"none\",padding:\"10px 14px\",fontSize:buttonFont.fontSize,lineHeight:buttonFont.lineHeight,letterSpacing:buttonFont.letterSpacing,fontWeight:buttonFont.fontWeight,fontStyle:buttonFont.fontStyle,fontFamily:buttonFont.fontFamily,textAlign:buttonFont.textAlign},children:resultContent.ctaLabel})]}):null]})]});}addPropertyControls(PostcodeCoverageChecker,{heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Check if we cover your postcode\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"Enter your UK postcode to instantly check whether your property is inside our standard 20-mile service area from Newark-on-Trent.\",displayTextArea:true},radiusMiles:{type:ControlType.Number,title:\"Radius (mi)\",defaultValue:20,min:1,max:100,step:1},centerLatitude:{type:ControlType.Number,title:\"Center Lat\",defaultValue:53.0762,min:-90,max:90,step:1e-4},centerLongitude:{type:ControlType.Number,title:\"Center Lon\",defaultValue:-.808,min:-180,max:180,step:1e-4},successTitle:{type:ControlType.String,title:\"Success Title\",defaultValue:\"Yes, we cover your area\"},successBody:{type:ControlType.String,title:\"Success Body\",defaultValue:\"Great news — your postcode is within our standard service area for fencing, driveway and patio projects.\",displayTextArea:true},outsideTitle:{type:ControlType.String,title:\"Outside Title\",defaultValue:\"You’re just outside our standard area\"},outsideBody:{type:ControlType.String,title:\"Outside Body\",defaultValue:\"Your postcode appears to be outside our standard radius. We may still be able to take on your project depending on project size and availability.\",displayTextArea:true},inputPlaceholder:{type:ControlType.String,title:\"Input Placeholder\",defaultValue:\"e.g. NG24 1XX\"},checkButtonLabel:{type:ControlType.String,title:\"Check Label\",defaultValue:\"Check Coverage\"},successButtonLabel:{type:ControlType.String,title:\"Success CTA\",defaultValue:\"Book a Quote\"},successButtonLink:{type:ControlType.Link,title:\"Success Link\",defaultValue:\"/get-a-quote\"},outsideButtonLabel:{type:ControlType.String,title:\"Outside CTA\",defaultValue:\"Contact Us\"},outsideButtonLink:{type:ControlType.Link,title:\"Outside Link\",defaultValue:\"/get-a-quote\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F5F5\"},surfaceColor:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},mutedTextColor:{type:ControlType.Color,title:\"Muted Text\",defaultValue:\"#666666\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#B9E113\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#EEEEEE\"},cornerRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:6,min:0,max:24,step:1},compactMobile:{type:ControlType.Boolean,title:\"Compact Mobile\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},headingFont:{type:ControlType.Font,title:\"Heading Font\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},bodyFont:{type:ControlType.Font,title:\"Body Font\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},buttonFont:{type:ControlType.Font,title:\"Button Font\",defaultValue:{variant:\"Semibold\",fontSize:\"14px\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PostcodeCoverageChecker\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PostcodeCoverageChecker.map"],"mappings":"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"}