{"version":3,"file":"VEXARPostcodeChecker.DVJVfCqA.mjs","names":["useState","useId","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/DAgetqhrYgILhktCpnHO/6XHufQgFlBfH9X1kuedF/VEXARPostcodeChecker.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{forwardRef,startTransition,useCallback,useId,useMemo,useState}from\"react\";export function validateUkPostcodeCoverage(input){const normalized=(input||\"\").toUpperCase().replace(/\\s+/g,\"\");const pattern=/^(GIR0AA|(?:[A-PR-UWYZ][0-9][0-9A-HJKPSTUW]?|[A-PR-UWYZ][A-HK-Y][0-9][0-9ABEHMNPRVWXY]?)[0-9][ABD-HJLNP-UW-Z]{2})$/;if(!normalized||!pattern.test(normalized)){return{normalized,isFullUkPostcode:false,outwardCode:null,isInCoverage:false,state:\"invalid\"};}const outwardCode=normalized===\"GIR0AA\"?\"GIR\":normalized.slice(0,-3);const isInCoverage=outwardCode===\"NP7\";return{normalized,isFullUkPostcode:true,outwardCode,isInCoverage,state:isInCoverage?\"inside\":\"outside\"};}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function VEXARPostcodeChecker(props){const{navy=\"#081E3B\",background=\"#FFFFFF\",textColor=\"#081E3B\",borderColor=\"#081E3B\",radius=\"12px\",font,plansLink=\"/bin-collections#collection-plans\",contactLink=\"/contact\",estimateLink=\"/waste-removals#estimate-request\",accent=\"#0866D9\",cardBackground=\"#F4F7FB\",style}=props;const[postcode,setPostcode]=useState(\"\");const[validationState,setValidationState]=useState(\"idle\");const scopeId=useId();const scopeClassName=useMemo(()=>`vexar-postcode-checker-${scopeId.replace(/[^a-zA-Z0-9_-]/g,\"\")}`,[scopeId]);const inputId=useId();const statusId=useId();const titleId=useId();const result=useMemo(()=>validateUkPostcodeCoverage(postcode),[postcode]);const handleSubmit=useCallback(event=>{event.preventDefault();startTransition(()=>setValidationState(result.state));},[result.state]);const invalid=validationState===\"invalid\";const inside=validationState===\"inside\";const outside=validationState===\"outside\";const message=invalid?\"Please enter a full UK postcode, for example NP7 5AA.\":inside?\"We currently collect in NP7 on Thursdays. Choose a weekly or fortnightly plan below. Your collection schedule will be confirmed after signup.\":outside?\"Regular bin collections are not currently available in your postcode. Contact us to register your interest.\":\"\";const rootStyle={...style,width:style?.width??\"100%\",height:\"auto\",minWidth:0,boxSizing:\"border-box\",position:\"relative\",containerType:\"inline-size\",containerName:\"vexar-postcode\",background,color:textColor,fontFamily:font?.fontFamily||'\"Plus Jakarta Sans\", Inter, sans-serif',fontStyle:font?.fontStyle||\"normal\",\"--vx-navy\":navy,\"--vx-accent\":accent,\"--vx-card\":cardBackground,\"--vx-border\":borderColor,\"--vx-radius\":radius};return /*#__PURE__*/_jsxs(\"section\",{className:scopeClassName,style:rootStyle,\"aria-labelledby\":titleId,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .${scopeClassName} *,\n                .${scopeClassName} *::before,\n                .${scopeClassName} *::after {\n                    box-sizing: border-box;\n                }\n\n                .${scopeClassName} .vx-card {\n                    padding: 32px;\n                    background: var(--vx-card);\n                    border: 1px solid rgba(8,30,59,.12);\n                    border-color: color-mix(\n                        in srgb,\n                        var(--vx-border) 16%,\n                        transparent\n                    );\n                    border-radius: var(--vx-radius);\n                }\n\n                .${scopeClassName} .vx-layout {\n                    display: flex;\n                    flex-wrap: wrap;\n                    align-items: center;\n                    gap: 28px 40px;\n                }\n\n                .${scopeClassName} .vx-intro {\n                    flex: 1 1 280px;\n                    min-width: 0;\n                }\n\n                .${scopeClassName} h2 {\n                    margin: 0 0 10px;\n                    color: var(--vx-navy);\n                    font: inherit;\n                    font-size: 28px;\n                    font-weight: 700;\n                    line-height: 1.2;\n                    letter-spacing: -.035em;\n                }\n\n                .${scopeClassName} .vx-description {\n                    margin: 0;\n                    font-size: 15px;\n                    line-height: 1.65;\n                    max-width: 38ch;\n                }\n\n                .${scopeClassName} form {\n                    flex: 0 1 430px;\n                    min-width: 0;\n                    margin: 0;\n                }\n\n                .${scopeClassName} label {\n                    display: block;\n                    margin: 0 0 8px;\n                    color: var(--vx-navy);\n                    font-size: 14px;\n                    font-weight: 600;\n                    line-height: 1.4;\n                }\n\n                .${scopeClassName} .vx-controls {\n                    display: flex;\n                    gap: 10px;\n                }\n\n                .${scopeClassName} input {\n                    flex: 1 1 180px;\n                    min-width: 0;\n                    width: 100%;\n                    height: 54px;\n                    border: 1px solid #AAB5C5;\n                    border-radius: 6px;\n                    padding: 14px 16px;\n                    background: #FFFFFF;\n                    color: var(--vx-navy);\n                    font: inherit;\n                    font-size: 16px;\n                    line-height: 1.4;\n                    letter-spacing: .035em;\n                    box-shadow: 0 1px 2px rgba(8,30,59,.03);\n                    transition: border-color .15s, box-shadow .15s;\n                }\n\n                .${scopeClassName} input::placeholder {\n                    color: #667085;\n                    opacity: 1;\n                    letter-spacing: 0;\n                }\n\n                .${scopeClassName} input[aria-invalid=\"true\"] {\n                    border-color: #B42318;\n                }\n\n                .${scopeClassName} button {\n                    flex: 0 0 auto;\n                    display: inline-flex;\n                    justify-content: center;\n                    align-items: center;\n                    gap: 12px;\n                    min-height: 54px;\n                    padding: 14px 20px;\n                    border: 0;\n                    border-radius: 6px;\n                    background: var(--vx-accent);\n                    color: #FFFFFF;\n                    font: inherit;\n                    font-size: 15px;\n                    font-weight: 700;\n                    line-height: 1.4;\n                    cursor: pointer;\n                    transition:\n                        filter .15s,\n                        transform .15s,\n                        box-shadow .15s;\n                }\n\n                .${scopeClassName} button:hover {\n                    filter: brightness(.93);\n                    box-shadow: 0 4px 12px rgba(8,30,59,.12);\n                }\n\n                .${scopeClassName} button:active {\n                    transform: translateY(1px);\n                    filter: brightness(.86);\n                }\n\n                .${scopeClassName} :is(a, input, button):focus-visible {\n                    outline: 3px solid var(--vx-accent);\n                    outline-offset: 3px;\n                }\n\n                .${scopeClassName} input:focus-visible {\n                    box-shadow: 0 0 0 4px #FFFFFF;\n                }\n\n                .${scopeClassName} .vx-result {\n                    display: flex;\n                    gap: 14px;\n                    margin-top: 24px;\n                    padding: 20px;\n                    border-radius: 8px;\n                    background: #FFFFFF;\n                    border: 1px solid #D9E1EA;\n                }\n\n                .${scopeClassName} .vx-result[data-state=\"inside\"] {\n                    border-color: #B7D8C8;\n                }\n\n                .${scopeClassName} .vx-result[data-state=\"invalid\"] {\n                    border-color: #E6B5B0;\n                }\n\n                .${scopeClassName} .vx-icon {\n                    flex: 0 0 30px;\n                    width: 30px;\n                    height: 30px;\n                    border-radius: 50%;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                    background: #EDF2F8;\n                    color: var(--vx-navy);\n                }\n\n                .${scopeClassName} [data-state=\"inside\"] .vx-icon {\n                    background: #E8F5EE;\n                    color: #176543;\n                }\n\n                .${scopeClassName} [data-state=\"invalid\"] .vx-icon {\n                    background: #FEECEB;\n                    color: #B42318;\n                }\n\n                .${scopeClassName} .vx-result-content {\n                    min-width: 0;\n                    flex: 1;\n                }\n\n                .${scopeClassName} .vx-result-title {\n                    margin: 2px 0 6px;\n                    color: var(--vx-navy);\n                    font-size: 16px;\n                    font-weight: 700;\n                    line-height: 1.4;\n                }\n\n                .${scopeClassName} .vx-message {\n                    margin: 0;\n                    font-size: 15px;\n                    line-height: 1.65;\n                }\n\n                .${scopeClassName} .vx-result a {\n                    display: inline-block;\n                    padding: 10px 0;\n                    color: var(--vx-accent);\n                    font-size: 15px;\n                    font-weight: 700;\n                    line-height: 1.6;\n                    text-decoration: underline;\n                    text-underline-offset: 3px;\n                }\n\n                .${scopeClassName} .vx-note {\n                    margin: 0;\n                    font-size: 14px;\n                    line-height: 1.65;\n                }\n\n                .${scopeClassName} .vx-note a {\n                    font-size: inherit;\n                }\n\n                @container vexar-postcode (max-width: 760px) {\n                    .${scopeClassName} .vx-layout {\n                        flex-direction: column;\n                        align-items: stretch;\n                        gap: 22px;\n                    }\n\n                    .${scopeClassName} .vx-intro,\n                    .${scopeClassName} form {\n                        flex: none;\n                        width: 100%;\n                    }\n\n                    .${scopeClassName} .vx-description {\n                        max-width: none;\n                    }\n                }\n\n                @container vexar-postcode (max-width: 480px) {\n                    .${scopeClassName} .vx-card {\n                        padding: 24px 20px;\n                    }\n\n                    .${scopeClassName} h2 {\n                        font-size: 25px;\n                    }\n\n                    .${scopeClassName} .vx-controls {\n                        flex-direction: column;\n                        gap: 12px;\n                    }\n\n                    .${scopeClassName} input,\n                    .${scopeClassName} button {\n                        flex: none;\n                        width: 100%;\n                    }\n\n                    .${scopeClassName} .vx-result {\n                        padding: 16px;\n                        gap: 10px;\n                    }\n                }\n\n                @media (prefers-reduced-motion: reduce) {\n                    .${scopeClassName} input,\n                    .${scopeClassName} button {\n                        transition: none;\n                    }\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{className:\"vx-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"vx-layout\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"vx-intro\",children:[/*#__PURE__*/_jsx(\"h2\",{id:titleId,children:\"Check your collection area\"}),/*#__PURE__*/_jsx(\"p\",{className:\"vx-description\",children:\"Enter your postcode to see if we offer regular bin collections where you live.\"})]}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,noValidate:true,children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:inputId,children:\"Your postcode\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"vx-controls\",children:[/*#__PURE__*/_jsx(\"input\",{id:inputId,type:\"text\",inputMode:\"text\",autoComplete:\"postal-code\",autoCapitalize:\"characters\",autoCorrect:\"off\",spellCheck:false,placeholder:\"Enter your postcode\",value:postcode,\"aria-invalid\":invalid||undefined,\"aria-describedby\":statusId,onChange:event=>{setPostcode(event.target.value);setValidationState(\"idle\");}}),/*#__PURE__*/_jsxs(\"button\",{type:\"submit\",children:[\"Check postcode\",/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 12h15m-6-6 6 6-6 6\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]})]})]})]}),/*#__PURE__*/_jsx(\"div\",{id:statusId,role:\"status\",\"aria-live\":\"polite\",\"aria-atomic\":\"true\",children:validationState!==\"idle\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"vx-result\",\"data-state\":validationState,children:[/*#__PURE__*/_jsx(\"span\",{className:\"vx-icon\",\"aria-hidden\":\"true\",children:inside?/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{d:\"m5 12 4 4L19 6\",stroke:\"currentColor\",strokeWidth:\"2.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}):/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:700},children:\"!\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"vx-result-content\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"vx-result-title\",children:inside?\"Good news — we collect in your area.\":outside?\"Your area isn’t on our regular route yet.\":\"Check your postcode\"}),/*#__PURE__*/_jsx(\"p\",{className:\"vx-message\",children:message}),inside&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"a\",{href:plansLink,children:\"View collection plans →\"}),/*#__PURE__*/_jsx(\"p\",{className:\"vx-note\",children:\"Service is subject to your property being suitable and safely accessible for bin delivery and collection.\"})]}),outside&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"a\",{href:contactLink,children:\"Contact us →\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"vx-note\",children:[\"Need a one-off waste removal?\",\" \",/*#__PURE__*/_jsx(\"a\",{href:estimateLink,children:\"Request an estimate\"})]})]})]})]})})]})]});}VEXARPostcodeChecker.displayName=\"VEXAR Postcode Checker\";addPropertyControls(VEXARPostcodeChecker,{accent:{type:ControlType.Color,title:\"Button Blue\",defaultValue:\"#0866D9\"},cardBackground:{type:ControlType.Color,title:\"Card Fill\",defaultValue:\"#F4F7FB\"},navy:{type:ControlType.Color,title:\"Navy\",defaultValue:\"rgb(8,30,59)\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#EEEEEE\"},radius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"12px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},plansLink:{type:ControlType.Link,title:\"Plans Link\",defaultValue:\"/bin-collections#collection-plans\"},contactLink:{type:ControlType.Link,title:\"Contact Link\",defaultValue:\"/contact\"},estimateLink:{type:ControlType.Link,title:\"Estimate Link\",defaultValue:\"/waste-removals#estimate-request\"}});export function withAccessibleFAQ(Component){return /*#__PURE__*/forwardRef(function WithAccessibleFAQ(props,ref){const[focused,setFocused]=useState(false);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,type:props.type??\"button\",\"aria-expanded\":props[\"aria-expanded\"],style:{...props.style,outline:focused?\"2px solid rgb(8,30,59)\":props.style?.outline,outlineOffset:focused?2:props.style?.outlineOffset},onFocus:event=>{startTransition(()=>setFocused(true));if(typeof props.onFocus===\"function\"){props.onFocus(event);}},onBlur:event=>{startTransition(()=>setFocused(false));if(typeof props.onBlur===\"function\"){props.onBlur(event);}}});});}export function withAccessibleControl(Component){return /*#__PURE__*/forwardRef(function WithAccessibleControl(props,ref){const[focused,setFocused]=useState(false);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,type:props.type??\"button\",style:{...props.style,color:props.style?.color??\"#FFFFFF\",outline:focused?\"2px solid currentColor\":props.style?.outline,outlineOffset:focused?2:props.style?.outlineOffset},onFocus:event=>{startTransition(()=>setFocused(true));if(typeof props.onFocus===\"function\"){props.onFocus(event);}},onBlur:event=>{startTransition(()=>setFocused(false));if(typeof props.onBlur===\"function\"){props.onBlur(event);}}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withAccessibleFAQ\":{\"type\":\"reactHoc\",\"name\":\"withAccessibleFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAccessibleControl\":{\"type\":\"reactHoc\",\"name\":\"withAccessibleControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"VEXARPostcodeChecker\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"validateUkPostcodeCoverage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PostcodeValidationResult\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VEXARPostcodeChecker.map"],"mappings":"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"}