{"version":3,"file":"Generic_Form_Code_for_Bento.CD-vCeMa.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/AaLDnQCunnZpcQ1pgF7u/Dc0kXq1ZOMxtbw6BYI5L/Generic_Form_Code_for_Bento.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";// =========================================================\n// Bento config — replace with your values\n// =========================================================\nconst BENTO_SITE_UUID=\"1b64df806bfdc3b9bc238b1a41064174\";const BENTO_PUBLISHABLE_KEY=\"p7e18a73de4706bd857f0c020f940e233\";const BENTO_SECRET_KEY=\"s0c11647ffd0bab45be6730ad2aecea47\";// Field that carries the email (sent at the top level of the event)\nconst EMAIL_FIELD_NAME=\"email\";// Field that carries the event type. If it's empty or missing, we fall back below.\nconst EVENT_FIELD_NAME=\"event\";const FALLBACK_EVENT_TYPE=\"$blog_subscription\";async function sendBentoEvent(email,eventType,fields){const url=`https://app.bentonow.com/api/v1/batch/events?site_uuid=${encodeURIComponent(BENTO_SITE_UUID)}`;const authHeader=\"Basic \"+btoa(`${BENTO_PUBLISHABLE_KEY}:${BENTO_SECRET_KEY}`);const response=await fetch(url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:authHeader},body:JSON.stringify({events:[{type:eventType,email,fields}]})});const data=await response.json();if(!response.ok){console.error(\"Bento error:\",data);throw new Error(`Bento request failed: ${response.status}`);}return data;}/**\n * Framer Override — attach this to the top-level \"Form\" layer.\n *\n * Grabs every named field in the form automatically. `email` is sent\n * at the top level, the event type is read from the `event` field, and\n * everything else is forwarded as-is inside `fields`. No need to update\n * this file when you add or rename inputs — just set their `name`\n * attributes in Framer.\n */export function withBentoFormSubmit(Component){return props=>{const containerRef=useRef(null);useEffect(()=>{const container=containerRef.current;if(!container)return;const handleNativeSubmit=async event=>{const formEl=event.target;if(!(formEl instanceof HTMLFormElement))return;try{const formData=new FormData(formEl);// Collect every named field into a plain object\nconst allFields={};for(const[key,value]of formData.entries()){allFields[key]=String(value);}// Pull out the special ones\nconst email=allFields[EMAIL_FIELD_NAME]??\"\";const eventType=allFields[EVENT_FIELD_NAME]||FALLBACK_EVENT_TYPE;// Don't echo email/event back inside fields\ndelete allFields[EMAIL_FIELD_NAME];delete allFields[EVENT_FIELD_NAME];console.log(\"Bento override caught submit:\",{email,eventType,fields:{...allFields,emailfrom:email}});if(email){await sendBentoEvent(email,eventType,allFields);}}catch(err){console.error(\"Bento tracking error:\",err);}};container.addEventListener(\"submit\",handleNativeSubmit);return()=>container.removeEventListener(\"submit\",handleNativeSubmit);},[]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withBentoFormSubmit\":{\"type\":\"reactHoc\",\"name\":\"withBentoFormSubmit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Generic_Form_Code_for_Bento.map"],"mappings":"yHAK8E,eAAe,EAAe,EAAM,EAAU,EAAO,CAAC,IAAM,EAAI,0DAA0D,mBAAmB,CAAe,IAAU,EAAW,SAAS,KAAK,GAAG,EAAsB,GAAG,GAAkB,EAAQ,EAAS,MAAM,MAAM,EAAI,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,mBAAmB,cAAc,CAAU,EAAE,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAU,QAAM,QAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAQ,EAAK,MAAM,EAAS,KAAK,EAAE,GAAG,CAAC,EAAS,GAAuC,MAAnC,QAAQ,MAAM,eAAe,CAAI,EAAY,MAAM,yBAAyB,EAAS,QAAQ,EAAG,OAAO,CAAK,CAQ3oB,SAAgB,EAAoB,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAaA,EAAO,IAAI,EAGoU,OAHlU,MAAc,CAAC,IAAM,EAAU,EAAa,QAAQ,GAAG,CAAC,EAAU,OAAO,IAAM,EAAmB,KAAM,IAAO,CAAC,IAAM,EAAO,EAAM,OAAY,gBAAkB,gBAAwB,GAAG,CAAC,IAAM,EAAS,IAAI,SAAS,CAAM,EAC1T,EAAU,CAAC,EAAE,IAAI,GAAK,CAAC,EAAI,KAAS,EAAS,QAAQ,EAAG,EAAU,GAAK,OAAO,CAAK,EACzF,IAAM,EAAM,EAAU,IAAmB,GAAS,EAAU,EAAU,IAAmB,EACzF,OAAO,EAAU,GAAkB,OAAO,EAAU,GAAkB,QAAQ,IAAI,gCAAgC,CAAC,QAAM,YAAU,OAAO,CAAC,GAAG,EAAU,UAAU,CAAK,CAAC,CAAC,EAAK,GAAO,MAAM,EAAe,EAAM,EAAU,CAAS,CAAG,OAAO,EAAI,CAAC,QAAQ,MAAM,wBAAwB,CAAG,CAAE,CAAC,EAA0D,OAAxD,EAAU,iBAAiB,SAAS,CAAkB,MAAY,EAAU,oBAAoB,SAAS,CAAkB,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,QAAQ,UAAU,EAAE,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE,CAAE,6BAhB1f,IAAoC,EAGxE,EAAgB,mCAAyC,EAAsB,oCAA0C,EAAiB,oCAC1I,EAAiB,QACjB,EAAiB,QAAc,EAAoB"}