{"version":3,"file":"SimpleForm.DgIzZA2T.mjs","names":["useState","useRef","useCallback","startTransition"],"sources":["https:/framerusercontent.com/modules/hHX4tj0yzYOCeQ9XYBRX/gn4EPWvUmPnOwbqaAG0v/SimpleForm.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useCallback,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";/**\n * SimpleForm — one configurable form for the non-RFQ pages.\n *\n * Used by /v2/contactus (form_type \"contact\") and\n * /v2/ola-autocare-partner-form (form_type \"autocare_partner\"). Both post to the\n * same unified Apps Script router as the quote basket.\n *\n * WHY A CODE COMPONENT RATHER THAN A NATIVE FRAMER FORM:\n * the endpoint's echo URL answers 404 for roughly one request in three, in\n * bursts. A native form would report those as failures to the visitor while the\n * script had in fact already run and emailed sales. This reuses BasketPanel's\n * contract instead — retry, an idempotency key so a retry can never duplicate an\n * enquiry, and treating \"reached the server but could not read the reply\" as\n * delivered rather than failed.\n *\n * @framerDisableUnlink\n * @framerIntrinsicWidth 520\n * @framerIntrinsicHeight 480\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function SimpleForm(props){const{endpoint,formType,routingCode,fields,submitLabel,successMode,successUrl,successText,consentLabel,requireConsent,accent,font,style}=props;const onCanvas=RenderTarget.current()===RenderTarget.canvas;// Field sets live in code, keyed by form type, so placing an instance is a\n// single property change. `fields` stays an override for one-off tweaks —\n// editing an array of objects through the DSL is error-prone.\nconst activeFields=fields&&fields.length?fields:FIELD_SETS[formType]||FIELD_SETS.contact;const[values,setValues]=useState({});const[consent,setConsent]=useState(false);const[busy,setBusy]=useState(false);const[error,setError]=useState(\"\");const[done,setDone]=useState(false);const[unconfirmed,setUnconfirmed]=useState(false);const clientRefRef=useRef(\"\");const set=useCallback((k,v)=>{startTransition(()=>setValues(s=>({...s,[k]:v})));},[]);const submit=useCallback(async()=>{if(onCanvas)return;if(!endpoint){startTransition(()=>setError(\"No endpoint configured.\"));return;}const missing=activeFields.filter(f=>f.required&&!String(values[f.name]||\"\").trim());if(missing.length){startTransition(()=>setError(`Please fill in: ${missing.map(f=>f.label).join(\", \")}`));return;}if(requireConsent&&!consent){startTransition(()=>setError(\"Please accept the terms to continue.\"));return;}startTransition(()=>{setBusy(true);setError(\"\");});if(!clientRefRef.current){clientRefRef.current=Date.now().toString(36)+\"-\"+Math.random().toString(36).slice(2,10);}const controller=new AbortController;const timer=window.setTimeout(()=>controller.abort(),45e3);const body=JSON.stringify({form_type:formType,client_ref:clientRefRef.current,// Routing key only — never the recipient address itself. Binding an\n// office email into the page would publish all 16 in the HTML where\n// they can be harvested; the script resolves the address server-side\n// from the Destinations tab.\ncountry_code:routingCode||undefined,...values,agree:requireConsent?String(consent):undefined});let reachedServer=false;let rejected=false;let sent=false;for(let attempt=1;attempt<=2&&!sent&&!rejected;attempt++){try{const res=await fetch(endpoint,{method:\"POST\",// text/plain avoids a preflight, which Apps Script rejects.\nheaders:{\"Content-Type\":\"text/plain;charset=utf-8\"},signal:controller.signal,body});reachedServer=true;if(!res.ok)throw new Error(`HTTP ${res.status}`);const text=await res.text();let payload=null;try{payload=JSON.parse(text);}catch{throw new Error(\"non-json-response\");}if(!payload||payload.success!==true){rejected=true;break;}sent=true;}catch(e){console.error(`[${formType}] attempt ${attempt} failed:`,e);if(e?.name===\"AbortError\")break;if(attempt<2){await new Promise(r=>window.setTimeout(r,1200));}}}window.clearTimeout(timer);if(sent||reachedServer&&!rejected){clientRefRef.current=\"\";// The message state is set even when redirecting: the navigation\n// can fail (a page that no longer exists, a blocked assign), and a\n// form that looks like it did nothing makes people submit twice.\nstartTransition(()=>{setUnconfirmed(!sent);setDone(true);});if(successMode===\"redirect\"&&successUrl){try{window.location.assign(successUrl);}catch(e){console.error(`[${formType}] success redirect failed:`,e);}}}else{startTransition(()=>setError(\"Could not send your message. Please try again, or email us directly.\"));}startTransition(()=>setBusy(false));},[endpoint,formType,routingCode,activeFields,values,consent,requireConsent,onCanvas,successMode,successUrl]);if(done){return /*#__PURE__*/_jsxs(\"div\",{style:{...styles.wrap,...style,...font},children:[/*#__PURE__*/_jsx(\"p\",{style:styles.success,children:successText}),unconfirmed&&/*#__PURE__*/_jsx(\"p\",{style:styles.note,children:\"A confirmation is on its way — please check your email before sending again.\"})]});}return /*#__PURE__*/_jsxs(\"div\",{style:{...styles.wrap,...style,...font},children:[activeFields.map(f=>/*#__PURE__*/_jsxs(\"label\",{style:styles.field,children:[/*#__PURE__*/_jsxs(\"span\",{style:styles.label,children:[f.label,f.required?\" *\":\"\"]}),f.multiline?/*#__PURE__*/_jsx(\"textarea\",{style:{...styles.input,height:120,resize:\"vertical\"},placeholder:f.placeholder,value:values[f.name]||\"\",onChange:e=>set(f.name,e.target.value)}):/*#__PURE__*/_jsx(\"input\",{style:styles.input,type:f.name===\"email\"?\"email\":\"text\",placeholder:f.placeholder,value:values[f.name]||\"\",onChange:e=>set(f.name,e.target.value)})]},f.name)),requireConsent&&/*#__PURE__*/_jsxs(\"label\",{style:styles.consent,children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:consent,onChange:e=>startTransition(()=>setConsent(e.target.checked))}),/*#__PURE__*/_jsx(\"span\",{style:styles.label,children:consentLabel})]}),error?/*#__PURE__*/_jsx(\"p\",{style:styles.error,children:error}):null,/*#__PURE__*/_jsx(motion.button,{onClick:submit,disabled:busy,whileHover:{scale:onCanvas||busy?1:1.01},whileTap:{scale:onCanvas||busy?1:.99},style:{...styles.button,background:accent,opacity:busy?.6:1},children:busy?\"Sending…\":submitLabel})]});}const FIELD_SETS={contact:[{name:\"name\",label:\"Name\",placeholder:\"Jane Smith\",required:true,multiline:false},{name:\"email\",label:\"Email\",placeholder:\"jane@example.com\",required:true,multiline:false},{name:\"message\",label:\"Message\",placeholder:\"Your message...\",required:true,multiline:true}],distributor:[{name:\"name\",label:\"Name\",placeholder:\"Jane Smith\",required:true,multiline:false},{name:\"company\",label:\"Company\",placeholder:\"Company name\",required:true,multiline:false},{name:\"email\",label:\"Email\",placeholder:\"jane@example.com\",required:true,multiline:false},{name:\"phone\",label:\"Phone Number\",placeholder:\"+20 100 000 0000\",required:true,multiline:false},{name:\"message\",label:\"Message\",placeholder:\"Tell us about your business and the territory you cover...\",required:false,multiline:true}],autocare_partner:[{name:\"name\",label:\"Name\",placeholder:\"Jane Smith\",required:true,multiline:false},{name:\"company\",label:\"Company\",placeholder:\"Company name\",required:true,multiline:false},{name:\"email\",label:\"Email\",placeholder:\"jane@example.com\",required:true,multiline:false},{name:\"phone\",label:\"Phone Number\",placeholder:\"+20 100 000 0000\",required:false,multiline:false},{name:\"message\",label:\"Tell us more\",placeholder:\"Tell us about your site and plans...\",required:false,multiline:true}]};const styles={wrap:{width:\"100%\",display:\"grid\",gap:16,textAlign:\"start\"},field:{display:\"grid\",gap:6},label:{font:\"600 13px/1.4 Inter, sans-serif\",color:\"#555\"},input:{width:\"100%\",padding:\"12px 14px\",borderRadius:8,border:\"1px solid #e3e3e3\",font:\"400 15px/1.4 Inter, sans-serif\",color:\"#333\",background:\"#fff\",boxSizing:\"border-box\"},consent:{display:\"flex\",alignItems:\"center\",gap:10},button:{padding:\"14px 24px\",borderRadius:8,border:\"none\",color:\"#fff\",font:\"600 15px/1 Inter, sans-serif\",cursor:\"pointer\"},error:{font:\"500 13px/1.5 Inter, sans-serif\",color:\"#b3261e\",margin:0},success:{font:\"500 17px/1.6 Inter, sans-serif\",color:\"#333\",margin:0},note:{font:\"400 14px/1.6 Inter, sans-serif\",color:\"#666\",margin:0}};SimpleForm.defaultProps={endpoint:\"\",formType:\"contact\",routingCode:\"\",submitLabel:\"Send\",successMode:\"message\",successUrl:\"\",successText:\"Thank you — your message has been sent. We will be in touch shortly.\",consentLabel:\"I agree with the Terms & Conditions\",requireConsent:false,accent:\"#0250a4\",font:{fontFamily:\"Inter, sans-serif\"},fields:[]};addPropertyControls(SimpleForm,{endpoint:{type:ControlType.String,title:\"Endpoint\",placeholder:\"Apps Script /exec URL\"},formType:{type:ControlType.Enum,title:\"Form Type\",options:[\"contact\",\"autocare_partner\",\"distributor\"],optionTitles:[\"Contact\",\"AutoCare Partner\",\"Distributor\"],description:\"Must match a form_type branch in Code.gs.\"},routingCode:{type:ControlType.String,title:\"Routing Code\",placeholder:\"EG\",description:\"Bind to Countries -> Country Code. Resolved against the Destinations tab server-side; never an email address.\"},fields:{type:ControlType.Array,title:\"Fields\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Key\"},label:{type:ControlType.String,title:\"Label\"},placeholder:{type:ControlType.String,title:\"Placeholder\"},required:{type:ControlType.Boolean,title:\"Required\"},multiline:{type:ControlType.Boolean,title:\"Multiline\"}}}},requireConsent:{type:ControlType.Boolean,title:\"Consent Box\"},consentLabel:{type:ControlType.String,title:\"Consent Text\"},submitLabel:{type:ControlType.String,title:\"Submit Label\"},successMode:{type:ControlType.Enum,title:\"On Success\",options:[\"message\",\"redirect\"],optionTitles:[\"Show message\",\"Go to page\"],description:\"Where the visitor lands after a successful submission.\"},successUrl:{type:ControlType.Link,title:\"Success Page\",hidden:props=>props.successMode!==\"redirect\"},successText:{type:ControlType.String,title:\"Success Text\",displayTextArea:true,description:\"Also shown if the redirect cannot run.\"},accent:{type:ControlType.Color,title:\"Accent\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SimpleForm\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"480\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 520\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SimpleForm.map"],"mappings":"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"}