{"version":3,"file":"FormsCodeGoogleForms.DQsBmre7.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/tLASxwiuBTHwWQpDnBCg/MxTAnqDCltwpgQknSHqt/FormsCodeGoogleForms.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayout\n *\n * UTM → APOLLO UPDATE (this session):\n * - Root cause: Apollo's form script only reads real, visible-type\n *   inputs. It ignores type=\"hidden\" fields, and before this update\n *   the UTMs weren't in the DOM at all — they only lived in React\n *   state and were sent to Google Forms. So Apollo never saw them.\n * - Fix: each UTM is now rendered as an off-screen type=\"text\" input\n *   named utm_source / utm_medium / utm_campaign / utm_content /\n *   utm_term — the exact same trick the phone proxy field already\n *   uses (which is why phone reaches Apollo). Values are set with the\n *   native setter + dispatched \"input\"/\"change\" events so Apollo's\n *   listener picks them up.\n * - UTMs are also added to the manual Apollo submit payload.\n * - UTMs now survive page navigation: if the URL has UTMs they're\n *   saved to localStorage (30 days); if the visitor reaches the form\n *   without UTMs in the URL, the saved ones are used. Pair this with\n *   the site-wide snippet (utm-capture-snippet.html) so UTMs are\n *   saved even when the visitor lands on a page without this form.\n * - Google Forms payload unchanged (same entry IDs), it just gets the\n *   resolved UTMs (URL first, then saved).\n *\n * APOLLO SETUP REQUIRED for this to work:\n *   1. Create 5 custom contact fields in Apollo (UTM Source, UTM\n *      Medium, UTM Campaign, UTM Content, UTM Term).\n *   2. In Form enrichment → your form → Add field, map each one with\n *      HTML identifier utm_source, utm_medium, utm_campaign,\n *      utm_content, utm_term.\n *\n * PREVIOUS BRANDING UPDATE (kept for reference):\n * - Removed per-field <label>s; text + \"*\" folded into placeholders.\n * - Dark theme for inputs, flag selector and dropdown; explicit\n *   TT Norms Pro fontFamily on inputs.\n * - Checkbox size/accent and label opacity matched to other forms.\n * - Dropdown \"Other...\" link color changed to brand teal (#99ECF3).\n */const UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\"];const UTM_STORAGE_KEY=\"biorce_utms\";const UTM_MAX_AGE_MS=30*24*60*60*1e3// 30 days\n;const emptyUtms=()=>({utm_source:\"\",utm_medium:\"\",utm_campaign:\"\",utm_content:\"\",utm_term:\"\"});// URL UTMs win (and get saved). If the URL has none, fall back to the\n// UTMs saved on an earlier page view, as long as they're < 30 days old.\nfunction resolveUtms(){const fromUrl=emptyUtms();let hasUrlUtms=false;try{const params=new URLSearchParams(window.location.search);UTM_KEYS.forEach(k=>{const v=(params.get(k)||\"\").trim();fromUrl[k]=v;if(v)hasUrlUtms=true;});}catch(e){}if(hasUrlUtms){try{window.localStorage.setItem(UTM_STORAGE_KEY,JSON.stringify({...fromUrl,ts:Date.now()}));}catch(e){}return fromUrl;}try{const raw=window.localStorage.getItem(UTM_STORAGE_KEY);if(raw){const saved=JSON.parse(raw);if(saved&&Date.now()-(saved.ts||0)<UTM_MAX_AGE_MS){const out=emptyUtms();UTM_KEYS.forEach(k=>{out[k]=typeof saved[k]===\"string\"?saved[k]:\"\";});return out;}}}catch(e){}return emptyUtms();}// Sets an input's value the way a real user would, so third-party\n// listeners (Apollo) see it. A plain React value update doesn't fire\n// a native \"input\" event.\nfunction setNativeValue(el,value){if(!el)return;const setter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,\"value\").set;setter.call(el,value);el.dispatchEvent(new Event(\"input\",{bubbles:true}));el.dispatchEvent(new Event(\"change\",{bubbles:true}));}export default function DemoForm(props){const{buttonText,mobileCenter}=props;const[isButtonHovered,setIsButtonHovered]=useState(false);const[isSubmitting,setIsSubmitting]=useState(false);const[isMounted,setIsMounted]=useState(false);// --- HARD REFS TO SECURE ACCURATE DATA CAPTURE AWAY FROM APOLLO WRAPPERS ---\nconst fullnameRef=useRef(null);const emailRef=useRef(null);const companyRef=useRef(null);const positionRef=useRef(null);const apolloPhoneRef=useRef(null);const utmRefs=useRef({});// --- UNIFIED INLINE FLAG SELECTOR SYSTEM STATE ---\nconst[countryCode,setCountryCode]=useState(\"+34\");const[phoneNumber,setPhoneNumber]=useState(\"\");const[flag,setFlag]=useState(\"🇪🇸\");const[isDropdownOpen,setIsDropdownOpen]=useState(false);const[isManualMode,setIsManualMode]=useState(false);const[manualCode,setManualCode]=useState(\"\");// --- UTM CAPTURE STATE ---\nconst[utmData,setUtmData]=useState(emptyUtms());// --- Fully composed phone number (country code + local number), kept in sync\n// for Apollo's mapped \"phone\" field via the native setter + events. ---\nuseEffect(()=>{const activePrefix=isManualMode?manualCode.trim():countryCode;const cleanNumber=phoneNumber.replace(/\\D/g,\"\");const composed=cleanNumber?`${activePrefix}${cleanNumber}`:\"\";setNativeValue(apolloPhoneRef.current,composed);},[countryCode,manualCode,isManualMode,phoneNumber]);// --- Push UTMs into the off-screen proxy inputs Apollo reads. Runs once\n// the form is rendered (isMounted) and whenever UTMs are resolved. ---\nuseEffect(()=>{if(!isMounted)return;UTM_KEYS.forEach(k=>setNativeValue(utmRefs.current[k],utmData[k]||\"\"));},[utmData,isMounted]);useEffect(()=>{setIsMounted(true);// Capture UTMs from the URL (or the saved copy from an earlier page)\nsetUtmData(resolveUtms());const handlePageShow=e=>{if(e.persisted){setIsSubmitting(false);}};window.addEventListener(\"pageshow\",handlePageShow);return()=>window.removeEventListener(\"pageshow\",handlePageShow);},[]);const handleFormSubmit=async e=>{e.preventDefault();if(isSubmitting)return;setIsSubmitting(true);// Pull raw text values instantly from hard nodes to guarantee zero blanks\nconst rawEmail=emailRef.current?emailRef.current.value.trim().toLowerCase():\"\";const rawName=fullnameRef.current?fullnameRef.current.value.trim():\"\";const rawCompany=companyRef.current?companyRef.current.value.trim():\"\";const rawPosition=positionRef.current?positionRef.current.value.trim():\"\";// Formulate prefix string based on user configuration mode\nconst activePrefix=isManualMode?manualCode.trim():countryCode;const cleanNumber=phoneNumber.replace(/\\D/g,\"\");const fullPhone=`${activePrefix} ${cleanNumber}`;// Flat UTM object for Apollo (Apollo expects flat key/values)\nconst utmPayload={utm_source:utmData.utm_source,utm_medium:utmData.utm_medium,utm_campaign:utmData.utm_campaign,utm_content:utmData.utm_content,utm_term:utmData.utm_term};// --- STEP 1: FORCE-PUSH LEAD DATA DIRECTLY TO APOLLO API ---\nlet apolloDispatched=false;try{// Support both direct script hooks or window instances smoothly\nconst apolloTracker=window.ApolloInbound||window.apollo&&window.apollo.inbound||window.ApolloFormEnrichment;const apolloLead={email:rawEmail,fullName:rawName,company:rawCompany,title:rawPosition,phone:fullPhone,...utmPayload};if(apolloTracker&&apolloTracker.formEnrichment){apolloTracker.formEnrichment.submit(apolloLead);apolloDispatched=true;console.log(\"[Apollo Bridge] Manual submission successfully dispatched.\");}else if(window.ApolloInbound&&typeof window.ApolloInbound.submit===\"function\"){window.ApolloInbound.submit(apolloLead);apolloDispatched=true;console.log(\"[Apollo Bridge] Direct submission method fallback dispatched.\");}else{console.error(\"[Apollo Bridge Error] Script found on page, but initialization functions are missing or blocked.\");}}catch(apolloError){console.error(\"[Apollo Bridge Exception] Failed to execute manual post:\",apolloError);}// GOOGLE ADS TRACKING DATA LAYER PUSH\nwindow.dataLayer=window.dataLayer||[];window.dataLayer.push({event:\"form_submission\",user_data:{email:rawEmail,phone_number:fullPhone}});// --- STEP 2: MAPPED GOOGLE FORMS DATA PAYLOAD (INCLUDING UTM FIELDS) ---\nconst body=new URLSearchParams;body.append(\"entry.219405588\",rawName);body.append(\"entry.1329452835\",rawEmail);body.append(\"entry.1848394178\",fullPhone);body.append(\"entry.446018180\",rawCompany);body.append(\"entry.1935941524\",rawPosition);body.append(\"entry.1961765077\",utmData.utm_source);body.append(\"entry.1138894393\",utmData.utm_medium);body.append(\"entry.1315348580\",utmData.utm_campaign);body.append(\"entry.2009286275\",utmData.utm_content);body.append(\"entry.1460418483\",utmData.utm_term);try{await fetch(\"https://docs.google.com/forms/d/e/1FAIpQLSds5Uv4SlcWlG_f6QgnGPvC-U7dHkQP4dGIGeZnoRZJc47DyQ/formResponse\",{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:body.toString()});// --- STEP 3: CONFIGURE TIMEOUT WATERFALL TO ALLOW API DISPATCHES TO COMPLETE ---\nconst executionBuffer=apolloDispatched?2e3:1200;setTimeout(()=>{window.location.href=`https://biorce.com/thank-you-demo?email=${encodeURIComponent(rawEmail)}`;},executionBuffer);}catch(error){console.error(\"Transmission failed\",error);setTimeout(()=>{window.location.href=`https://biorce.com/thank-you-demo?email=${encodeURIComponent(rawEmail)}`;},1e3);}};if(!isMounted)return null;const alignment=mobileCenter?\"center\":\"flex-start\";return /*#__PURE__*/_jsxs(\"div\",{style:wrapperStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:containerStyle,className:\"demo-form-container\",children:/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleFormSubmit,className:\"apollo-inbound-form\",children:[UTM_KEYS.map(k=>/*#__PURE__*/_jsx(\"input\",{ref:el=>{utmRefs.current[k]=el;},type:\"text\",name:k,id:k,defaultValue:\"\",tabIndex:-1,\"aria-hidden\":\"true\",autoComplete:\"off\",style:offscreenProxyStyle},k)),/*#__PURE__*/_jsxs(\"div\",{style:formContentStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldsAndCheckboxesStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldsListStyle,children:[/*#__PURE__*/_jsx(\"input\",{ref:fullnameRef,type:\"text\",name:\"fullname\",id:\"fullName\",placeholder:\"Full name *\",required:true,style:inputStyle}),/*#__PURE__*/_jsx(\"input\",{ref:emailRef,type:\"email\",name:\"email\",id:\"email\",placeholder:\"Work email *\",required:true,style:inputStyle}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:apolloPhoneRef,type:\"text\",name:\"phone\",id:\"phone\",defaultValue:\"\",tabIndex:-1,\"aria-hidden\":\"true\",autoComplete:\"off\",style:offscreenProxyStyle}),/*#__PURE__*/_jsxs(\"div\",{className:\"biorce-phone-row\",style:{display:\"flex\",gap:\"8px\",position:\"relative\",width:\"100%\"},children:[!isManualMode?/*#__PURE__*/_jsxs(\"div\",{className:\"biorce-phone-flag\",style:flagSelectorStyle,onClick:()=>setIsDropdownOpen(!isDropdownOpen),children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"16px\"},children:flag}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"13px\",marginLeft:\"4px\",color:\"#FFFFFF\",fontWeight:500},children:countryCode})]}):/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"+351\",required:true,value:manualCode,onChange:e=>setManualCode(e.target.value),style:{...inputStyle,margin:0,minWidth:\"95px\",maxWidth:\"95px\",textAlign:\"center\"}}),isDropdownOpen&&!isManualMode&&/*#__PURE__*/_jsxs(\"div\",{style:dropdownListStyle,children:[[{code:\"+34\",flag:\"🇪🇸\"},{code:\"+351\",flag:\"🇵🇹\"},{code:\"+1\",flag:\"🇺🇸\"},{code:\"+44\",flag:\"🇬🇧\"}].map(c=>/*#__PURE__*/_jsxs(\"div\",{style:dropdownListItem,onClick:()=>{setCountryCode(c.code);setFlag(c.flag);setIsDropdownOpen(false);},children:[c.flag,\" (\",c.code,\")\"]},c.code)),/*#__PURE__*/_jsx(\"div\",{style:{...dropdownListItem,color:\"#99ECF3\",fontWeight:\"bold\",borderBottom:\"none\"},onClick:()=>{setIsManualMode(true);setIsDropdownOpen(false);},children:\"🌐 Other...\"})]}),/*#__PURE__*/_jsx(\"input\",{className:\"biorce-phone-input\",type:\"tel\",name:\"phone_local\",id:\"phoneLocal\",placeholder:\"Phone number *\",required:true,value:phoneNumber,onChange:e=>setPhoneNumber(e.target.value),style:{...inputStyle,flex:1,margin:0}}),isManualMode&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{setIsManualMode(false);setManualCode(\"\");setCountryCode(\"+34\");setFlag(\"🇪🇸\");},style:{background:\"none\",border:\"none\",color:\"rgba(255,255,255,0.4)\",cursor:\"pointer\",fontSize:\"12px\",padding:\"0 4px\"},children:\"Reset\"})]})]}),/*#__PURE__*/_jsx(\"input\",{ref:companyRef,type:\"text\",name:\"company\",id:\"company\",placeholder:\"Company *\",required:true,style:inputStyle}),/*#__PURE__*/_jsx(\"input\",{ref:positionRef,type:\"text\",name:\"position\",id:\"title\",placeholder:\"Position / Department *\",required:true,style:inputStyle})]}),/*#__PURE__*/_jsxs(\"div\",{style:checkboxContainer,children:[/*#__PURE__*/_jsxs(\"label\",{style:checkboxLabelStyle,children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",required:true,style:checkboxInputStyle}),/*#__PURE__*/_jsxs(\"span\",{children:[\"I agree to the Privacy Policy and consent to the processing of my data as described therein\",\" \",/*#__PURE__*/_jsx(\"span\",{style:requiredStar,children:\"*\"})]})]}),/*#__PURE__*/_jsxs(\"label\",{style:checkboxLabelStyle,children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",style:checkboxInputStyle}),/*#__PURE__*/_jsxs(\"span\",{children:[\"I would like to receive Biorce's newsletter with clinical trial insights, AI updates, and industry news. Unsubscribe anytime\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:\"rgba(255,255,255,0.5)\",fontSize:\"11px\"},children:\"(optional)\"})]})]})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:alignment},children:/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:isSubmitting,style:{...buttonStyle,opacity:isSubmitting?.6:1,backgroundColor:isButtonHovered?\"#22272B\":\"rgba(0, 0, 0, 0.8)\",borderColor:isButtonHovered?\"rgba(153, 236, 243, 0.4)\":\"rgba(153, 236, 243, 1)\"},onMouseEnter:()=>setIsButtonHovered(true),onMouseLeave:()=>setIsButtonHovered(false),children:isSubmitting?\"Sending...\":buttonText})})]})]})}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n.demo-form-container { width: 613px !important; }\n@media (max-width: 810px) { .demo-form-container { width: 353px !important; } }\n\n/* Lock the phone row layout regardless of any inline styles injected by\n   third-party scripts (Apollo) onto the flag selector or phone input */\n.biorce-phone-row {\n    display: flex !important;\n    flex-direction: row !important;\n    flex-wrap: nowrap !important;\n    gap: 8px !important;\n    width: 100% !important;\n}\n.biorce-phone-flag {\n    flex: 0 0 95px !important;\n    min-width: 95px !important;\n    max-width: 95px !important;\n    width: 95px !important;\n}\n.biorce-phone-input {\n    flex: 1 1 auto !important;\n    min-width: 0 !important;\n    width: auto !important;\n    margin: 0 !important;\n}\n`}})]});}// Off-screen (not type=\"hidden\", not display:none) so Apollo's script\n// still treats these as normal fields while visitors never see them.\nconst offscreenProxyStyle={position:\"absolute\",left:\"-9999px\",opacity:0,pointerEvents:\"none\",width:\"1px\",height:\"1px\"};const wrapperStyle={display:\"flex\",justifyContent:\"center\",width:\"100%\",overflow:\"visible\"};const containerStyle={padding:\"0px\",boxSizing:\"border-box\"};// Top-level: [fields+checkboxes group] vs [submit button] — 32px.\nconst formContentStyle={display:\"flex\",flexDirection:\"column\",gap:\"32px\"};// Between the fields group and the checkboxes group — 18px.\nconst fieldsAndCheckboxesStyle={display:\"flex\",flexDirection:\"column\",gap:\"18px\"};// Between individual fields (name, email, phone, company, position) — 12px.\nconst fieldsListStyle={display:\"flex\",flexDirection:\"column\",gap:\"12px\"};const requiredStar={color:\"#FF4D4D\",marginLeft:\"2px\"};// Dark theme matching NewsletterForm/BiorceContactForm. Explicit\n// height kept so the phone input and flag selector align.\nconst inputStyle={width:\"100%\",height:\"40px\",borderRadius:\"12px\",border:\"1px solid rgba(99, 109, 121, 0.66)\",backgroundColor:\"rgba(99, 109, 121, 0.12)\",padding:\"0 14px\",fontFamily:'\"TT Norms Pro\", sans-serif',fontWeight:400,fontSize:\"14px\",color:\"#FFFFFF\",boxSizing:\"border-box\",outline:\"none\"};// Between individual checkboxes — 12px.\nconst checkboxContainer={display:\"flex\",flexDirection:\"column\",gap:\"12px\"};const checkboxLabelStyle={display:\"flex\",gap:\"12px\",fontSize:\"12px\",color:\"rgba(255, 255, 255, 0.7)\",lineHeight:\"1.4\",textAlign:\"left\",fontFamily:'\"TT Norms Pro\", sans-serif'};const checkboxInputStyle={marginTop:\"2px\",cursor:\"pointer\",width:\"13px\",height:\"13px\",minWidth:\"13px\",maxWidth:\"13px\",flexShrink:0,accentColor:\"#FFFFFF\"};const buttonStyle={padding:\"8px 36px\",borderRadius:\"100px\",fontFamily:'\"TT Norms Pro\", sans-serif',fontWeight:700,fontSize:\"14px\",color:\"#FFFFFF\",border:\"1px solid #99ECF3\",cursor:\"pointer\",height:\"40px\",transition:\"all 0.2s ease\"};const flagSelectorStyle={display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"rgba(99, 109, 121, 0.12)\",border:\"1px solid rgba(99, 109, 121, 0.66)\",borderRadius:\"12px\",minWidth:\"95px\",height:\"40px\",cursor:\"pointer\"};const dropdownListStyle={position:\"absolute\",bottom:\"45px\",left:\"0\",backgroundColor:\"#1A1D21\",border:\"1px solid rgba(99, 109, 121, 0.66)\",borderRadius:\"12px\",width:\"210px\",zIndex:9999,boxShadow:\"0 8px 24px rgba(0,0,0,0.35)\"};const dropdownListItem={padding:\"12px 14px\",fontSize:\"13px\",cursor:\"pointer\",color:\"#FFFFFF\",borderBottom:\"1px solid rgba(99, 109, 121, 0.3)\",fontFamily:'\"TT Norms Pro\", sans-serif'};addPropertyControls(DemoForm,{buttonText:{type:ControlType.String,defaultValue:\"Submit\"},mobileCenter:{type:ControlType.Boolean,defaultValue:false,title:\"Mobile Center\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DemoForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormsCodeGoogleForms.map"],"mappings":"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"}