{"version":3,"file":"HubSpotFormEmailOnly.LDTiLKvJ.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/pPe870K9frVr3lFGjMRJ/yBCrYIIkuPdYpHuABXHe/HubSpotFormEmailOnly.js"],"sourcesContent":["// HLR email capture — posts straight to a HubSpot form (Forms API v3),\n// with three layouts, editable button, GDPR consent and email hand-off.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const PREFILL_KEY=\"hlr_prefill_email\";const EMAIL_RE=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/;const FORM_PRESETS={\"trial-email\":\"b8e50968-0a54-43bc-b541-65668898e3cc\",\"cmo-email\":\"f35f6292-4a68-4c8e-a448-cab1e56add83\"};// Accepts a form GUID or a HubSpot share-link ID (e.g. \"2uOUJa…2fmfvj\").\n// Share IDs are: 1 version char + 22 chars base64url(GUID) + portal ID in base36.\nfunction toFormGuid(raw){const v=(raw||\"\").trim().split(\"/\").pop()||\"\";if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v))return v;if(v.length>=23&&typeof atob!==\"undefined\"){try{const b=atob(v.slice(1,23).replace(/-/g,\"+\").replace(/_/g,\"/\")+\"==\");const hex=Array.from(b,c=>c.charCodeAt(0).toString(16).padStart(2,\"0\")).join(\"\");if(hex.length===32)return`${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;}catch{}}return v;}function readCookie(name){if(typeof document===\"undefined\")return undefined;const m=document.cookie.match(new RegExp(\"(?:^|; )\"+name+\"=([^;]*)\"));return m?decodeURIComponent(m[1]):undefined;}// Downloads a file without leaving the page. Fetching as a blob forces a\n// save even for PDFs; if the host blocks that, fall back to a new tab.\nasync function startDownload(url){if(!url)return;const name=decodeURIComponent(url.split(\"?\")[0].split(\"/\").pop()||\"download\");try{const res=await fetch(url);if(!res.ok)throw new Error(String(res.status));const blobUrl=URL.createObjectURL(await res.blob());const a=document.createElement(\"a\");a.href=blobUrl;a.download=name;document.body.appendChild(a);a.click();a.remove();window.setTimeout(()=>URL.revokeObjectURL(blobUrl),1e4);}catch{window.open(url,\"_blank\",\"noopener\");}}// Renders [label](url) as links, everything else as plain text.\nfunction renderLinks(text,linkColor){const parts=[];const re=/\\[([^\\]]+)\\]\\(([^)]+)\\)/g;let last=0;let m;let i=0;while(m=re.exec(text)){if(m.index>last)parts.push(text.slice(last,m.index));parts.push(/*#__PURE__*/_jsx(\"a\",{href:m[2],target:\"_blank\",rel:\"noopener\",style:{color:linkColor,textDecoration:\"underline\"},children:m[1]},i++));last=m.index+m[0].length;}if(last<text.length)parts.push(text.slice(last));return parts;}// Consent text as HubSpot stores it: links flattened to their label.\nfunction plainConsent(text){return text.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,\"$1\");}/**\n * HubSpot Email Capture\n *\n * @framerIntrinsicWidth 460\n * @framerIntrinsicHeight 48\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function HubSpotEmailCapture(props){const{portalId,form,formId,region,emailField,hiddenFields=[],afterSubmit,redirectUrl,downloadUrl,downloadingText,doneText,successMessage,passEmail,prefillEmail,eventName,placeholder,buttonText,loadingText,layout,shape,stackBelow,fieldHeight,gap,containerPadding,containerFill,containerRadius,containerShadow,inputFill,inputBorder,inputFocus,inputTextColor,placeholderColor,inputRadius,buttonFill,buttonTextColor,buttonHoverFill,buttonHoverText,buttonRadius,buttonWidth,inputFont,buttonFont,showConsent,consentText,consentMode,consentProperty,marketingOptIn,marketingText,subscriptionTypeId,consentFont,consentAlign=\"left\",consentColor,linkColor,messageColor,errorColor,genericError,invalidEmailError,blockedEmailError,consentError,previewState,style}=props;const isStatic=useIsStaticRenderer();const hubspotFormId=form&&form!==\"custom\"?FORM_PRESETS[form]:toFormGuid(formId);const rootRef=useRef(null);const uid=useRef(\"hsec-\"+Math.random().toString(36).slice(2,8)).current;const[email,setEmail]=useState(\"\");const[trap,setTrap]=useState(\"\");const[processOk,setProcessOk]=useState(false);const[marketingOk,setMarketingOk]=useState(false);const[status,setStatus]=useState(\"idle\");const[error,setError]=useState(\"\");const[hover,setHover]=useState(false);const[narrow,setNarrow]=useState(false);// Collapse to the stacked layout when the component itself gets narrow.\nuseEffect(()=>{const el=rootRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(entries=>{const w=entries[0].contentRect.width;const next=w>0&&w<stackBelow;startTransition(()=>setNarrow(prev=>prev===next?prev:next));});ro.observe(el);return()=>ro.disconnect();},[stackBelow]);useEffect(()=>{if(isStatic||!prefillEmail||typeof window===\"undefined\")return;try{const saved=window.sessionStorage.getItem(PREFILL_KEY);if(saved)startTransition(()=>setEmail(saved));}catch{}},[isStatic,prefillEmail]);const shownStatus=isStatic&&previewState!==\"idle\"?previewState:status;const shownError=isStatic&&previewState===\"error\"?genericError:error;async function onSubmit(e){e.preventDefault();if(isStatic||status===\"loading\"||status===\"downloading\"||status===\"done\")return;const value=email.trim();if(!EMAIL_RE.test(value)){setStatus(\"error\");setError(invalidEmailError);return;}if(showConsent&&consentMode===\"checkbox\"&&!processOk){setStatus(\"error\");setError(consentError);return;}// Honeypot: bots fill every field. Pretend it worked.\nif(trap){setStatus(\"success\");return;}setStatus(\"loading\");setError(\"\");const fields=[{name:emailField||\"email\",value}];// HLR forms record consent in a single-checkbox contact property.\nif(showConsent&&consentProperty){fields.push({name:consentProperty,value:\"true\"});}for(const f of hiddenFields){if(f?.name)fields.push({name:f.name,value:f.value??\"\"});}const context={pageUri:window.location.href,pageName:document.title};const hutk=readCookie(\"hubspotutk\");if(hutk)context.hutk=hutk;const body={fields,context};if(showConsent){const consent={consentToProcess:true,text:plainConsent(consentText)};if(marketingOptIn&&subscriptionTypeId){consent.communications=[{value:marketingOk,subscriptionTypeId,text:plainConsent(marketingText)}];}body.legalConsentOptions={consent};}const host=region===\"na1\"?\"api.hsforms.com\":\"api-eu1.hsforms.com\";try{const res=await fetch(`https://${host}/submissions/v3/integration/submit/${portalId.trim()}/${hubspotFormId}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(body)});if(!res.ok){const data=await res.json().catch(()=>({}));const types=(data?.errors||[]).map(x=>x?.errorType);let msg=genericError;if(types.includes(\"INVALID_EMAIL\"))msg=invalidEmailError;else if(types.includes(\"BLOCKED_EMAIL\"))msg=blockedEmailError;console.warn(\"[HubSpotEmailCapture] HubSpot rejected submission\",data);setStatus(\"error\");setError(msg);return;}}catch(err){console.warn(\"[HubSpotEmailCapture] network error\",err);setStatus(\"error\");setError(genericError);return;}try{const w=window;w.dataLayer=w.dataLayer||[];w.dataLayer.push({event:eventName||\"hlr_form_submit\",hubspot_form_id:hubspotFormId});}catch{}if(passEmail){try{window.sessionStorage.setItem(PREFILL_KEY,value);}catch{}}if(afterSubmit===\"download\"){setStatus(\"downloading\");const started=Date.now();await startDownload(downloadUrl||redirectUrl);// Lets other components (e.g. SkillNextSteps) react to a successful submit.\ntry{window.dispatchEvent(new CustomEvent(\"hlr:form-success\",{detail:{formId:hubspotFormId,afterSubmit}}));}catch{}// Show \"Downloading…\" for at least a second so the change is visible.\nwindow.setTimeout(()=>setStatus(\"done\"),Math.max(0,1e3-(Date.now()-started)));return;}if(afterSubmit===\"redirect\"&&redirectUrl){window.location.href=redirectUrl;return;}// Lets other components (e.g. SkillNextSteps) react to a successful submit.\ntry{window.dispatchEvent(new CustomEvent(\"hlr:form-success\",{detail:{formId:hubspotFormId,afterSubmit}}));}catch{}setStatus(\"success\");}const effectiveLayout=narrow?\"stacked\":layout;const isPill=effectiveLayout===\"pill\";const isStacked=effectiveLayout===\"stacked\";// A pill keeps its dark card when it collapses to stacked on small screens,\n// otherwise its light input text would sit on the page background.\nconst hasCard=layout===\"pill\";const cardStacked=hasCard&&isStacked;const loading=shownStatus===\"loading\";const busy=loading||shownStatus===\"downloading\"||shownStatus===\"done\";const buttonLabel=shownStatus===\"done\"?doneText:shownStatus===\"downloading\"||loading&&afterSubmit===\"download\"?downloadingText:loading?loadingText:buttonText;// Shape presets: Rounded = 30px, Squared = 10px on inputs and buttons.\nconst presetRadius=shape===\"squared\"?10:30;const inRadius=shape===\"custom\"?inputRadius:presetRadius;const btnRadius=shape===\"custom\"?buttonRadius:presetRadius;// The pill card wraps the input + button, so its corner = inner radius + padding.\nconst cardRadius=shape===\"custom\"?containerRadius:shape===\"squared\"?presetRadius+containerPadding:cardStacked?20:30;// Framer's Font control defaults to Inter; treat that as \"not chosen\"\n// and fall back to the site font.\nconst fontFallback=f=>{const fam=f?.fontFamily||\"\";const useSite=!fam||/(^|[\"'\\s,])Inter\\b/.test(fam);return{...f,fontFamily:useSite?`\"Urbanist\", \"Urbanist Placeholder\", sans-serif`:fam};};const rowStyle={display:\"flex\",flexDirection:isStacked?\"column\":\"row\",alignItems:\"stretch\",gap:cardStacked?Math.max(gap,6):gap,width:\"100%\",boxSizing:\"border-box\",...hasCard?{background:containerFill,borderRadius:shape===\"custom\"&&cardStacked?Math.min(cardRadius,20):cardRadius,padding:cardStacked?Math.max(containerPadding,8):containerPadding,boxShadow:containerShadow?\"0 10px 30px -10px rgba(0,0,0,0.35), 0 2px 6px -2px rgba(0,0,0,0.12)\":\"none\"}:{}};const inputStyle={...fontFallback(inputFont),flex:isStacked?\"none\":1,minWidth:0,width:isStacked?\"100%\":undefined,height:fieldHeight,boxSizing:\"border-box\",padding:\"0 16px\",background:inputFill,color:inputTextColor,border:`1px solid ${inputBorder}`,borderRadius:inRadius,outline:\"none\",margin:0,transition:\"border-color 0.2s ease\"};const buttonStyle={...fontFallback(buttonFont),flex:\"none\",width:isStacked?\"100%\":buttonWidth>0?buttonWidth:\"auto\",height:fieldHeight,padding:\"0 22px\",boxSizing:\"border-box\",whiteSpace:\"nowrap\",background:hover&&!busy?buttonHoverFill:buttonFill,color:hover&&!busy?buttonHoverText:buttonTextColor,border:\"none\",borderRadius:btnRadius,cursor:loading||shownStatus===\"downloading\"?\"progress\":busy?\"default\":\"pointer\",transition:\"background 0.2s cubic-bezier(0.44,0,0.56,1), color 0.2s cubic-bezier(0.44,0,0.56,1)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,margin:0};const smallText={...fontFallback(consentFont),color:consentColor,margin:0,textAlign:consentAlign};// Left: checkbox hangs beside the text. Center/right: checkbox flows inline\n// at the start of the text so both align together.\nconst checkRow=consentAlign===\"left\"?{display:\"flex\",gap:8,alignItems:\"flex-start\"}:{display:\"block\"};const checkBox=consentAlign===\"left\"?{marginTop:2,flex:\"none\"}:{margin:\"0 6px 0 0\",verticalAlign:\"-2px\"};if(shownStatus===\"success\"){return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,role:\"status\",style:{...style,position:\"relative\",width:\"100%\",...fontFallback(inputFont),color:messageColor,minHeight:fieldHeight,display:\"flex\",alignItems:\"center\"},children:successMessage});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{...style,position:\"relative\",width:\"100%\",display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                #${uid}-email::placeholder { color: ${placeholderColor}; opacity: 1; }\n                #${uid}-email:focus { border-color: ${inputFocus} !important; }\n            `}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:onSubmit,noValidate:true,\"data-hs-do-not-collect\":\"true\",style:{margin:0,width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:rowStyle,children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:`${uid}-email`,style:visuallyHidden,children:\"Email address\"}),/*#__PURE__*/_jsx(\"input\",{id:`${uid}-email`,type:\"email\",name:\"email\",autoComplete:\"email\",inputMode:\"email\",required:true,placeholder:placeholder,value:email,onChange:e=>{setEmail(e.target.value);if(status===\"error\")setStatus(\"idle\");},\"aria-invalid\":shownStatus===\"error\",\"aria-describedby\":shownError?`${uid}-err`:undefined,style:inputStyle}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",name:\"company_website\",tabIndex:-1,autoComplete:\"off\",\"aria-hidden\":\"true\",value:trap,onChange:e=>setTrap(e.target.value),style:visuallyHidden}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:busy,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:buttonStyle,children:buttonLabel})]}),showConsent&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,marginTop:10},children:[consentMode===\"checkbox\"?/*#__PURE__*/_jsxs(\"label\",{style:{...smallText,...checkRow},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:processOk,onChange:e=>setProcessOk(e.target.checked),style:{...checkBox,accentColor:buttonFill}}),/*#__PURE__*/_jsx(\"span\",{children:renderLinks(consentText,linkColor)})]}):/*#__PURE__*/_jsx(\"p\",{style:smallText,children:renderLinks(consentText,linkColor)}),marketingOptIn&&/*#__PURE__*/_jsxs(\"label\",{style:{...smallText,...checkRow},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:marketingOk,onChange:e=>setMarketingOk(e.target.checked),style:{...checkBox,accentColor:buttonFill}}),/*#__PURE__*/_jsx(\"span\",{children:renderLinks(marketingText,linkColor)})]})]})]}),shownStatus===\"error\"&&shownError&&/*#__PURE__*/_jsx(\"p\",{id:`${uid}-err`,role:\"alert\",style:{...smallText,color:errorColor},children:shownError})]});}const visuallyHidden={position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0 0 0 0)\",whiteSpace:\"nowrap\",border:0};const smallFont={type:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",description:\"Shows Inter for new placements but renders in Urbanist (site font) unless you pick another.\",defaultValue:{fontSize:\"9px\",variant:\"Regular\",lineHeight:\"1.4em\",letterSpacing:\"0em\"}};addPropertyControls(HubSpotEmailCapture,{// ── Essentials ──────────────────────────\nlayout:{type:ControlType.Enum,title:\"Layout\",options:[\"pill\",\"inline\",\"stacked\"],optionTitles:[\"Pill\",\"Inline\",\"Stacked\"],defaultValue:\"pill\",displaySegmentedControl:true},shape:{type:ControlType.Enum,title:\"Shape\",options:[\"rounded\",\"squared\",\"custom\"],optionTitles:[\"Rounded\",\"Squared\",\"Custom\"],defaultValue:\"rounded\",displaySegmentedControl:true,description:\"Rounded = 30px, Squared = 10px corners. Custom shows radius sliders.\"},form:{type:ControlType.Enum,title:\"Form\",options:[\"trial-email\",\"cmo-email\",\"custom\"],optionTitles:[\"Free Trial – Email Only\",\"CMO Speed to Lead – Email Only\",\"Custom…\"],defaultValue:\"trial-email\",description:\"Which HubSpot form receives the submission.\"},formId:{type:ControlType.String,title:\"Custom Form ID\",defaultValue:\"\",placeholder:\"Form ID or share-link ID\",description:\"Paste the form ID, or the end of its share link.\",hidden:p=>p.form!==\"custom\"},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Free Until You Convert\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter your work email\"},loadingText:{type:ControlType.String,title:\"Loading Text\",defaultValue:\"Sending...\"},// ── HubSpot ─────────────────────────────\nportalId:{type:ControlType.String,title:\"Portal ID\",defaultValue:\"147173599\"},region:{type:ControlType.Enum,title:\"Region\",options:[\"eu1\",\"na1\"],optionTitles:[\"EU\",\"US\"],defaultValue:\"eu1\",displaySegmentedControl:true},emailField:{type:ControlType.String,title:\"Email Field\",defaultValue:\"email\"},hiddenFields:{type:ControlType.Array,title:\"Hidden Fields\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Property\",defaultValue:\"\"},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\"}}},defaultValue:[],description:\"Optional. Must also exist as fields on the HubSpot form.\"},// ── After submit ────────────────────────\nafterSubmit:{type:ControlType.Enum,title:\"After Submit\",options:[\"redirect\",\"message\",\"download\"],optionTitles:[\"Go to page\",\"Show message\",\"Download file\"],defaultValue:\"redirect\"},redirectUrl:{type:ControlType.Link,title:\"Redirect To\",defaultValue:\"/thank-you\",hidden:p=>p.afterSubmit!==\"redirect\"},downloadUrl:{type:ControlType.Link,title:\"File Link\",defaultValue:\"\",description:\"The file to download after a successful submit.\",hidden:p=>p.afterSubmit!==\"download\"},downloadingText:{type:ControlType.String,title:\"Downloading Text\",defaultValue:\"Downloading…\",hidden:p=>p.afterSubmit!==\"download\"},doneText:{type:ControlType.String,title:\"Done Text\",defaultValue:\"Done ✓\",hidden:p=>p.afterSubmit!==\"download\"},successMessage:{type:ControlType.String,title:\"Success Text\",defaultValue:\"Thanks — check your inbox.\",displayTextArea:true,hidden:p=>p.afterSubmit!==\"message\"},passEmail:{type:ControlType.Boolean,title:\"Pass Email On\",defaultValue:false,description:\"Hands the email to the next form on the site for this visit.\"},prefillEmail:{type:ControlType.Boolean,title:\"Prefill Email\",defaultValue:false,description:\"Fill in an email handed over by an earlier form.\"},eventName:{type:ControlType.String,title:\"GTM Event\",defaultValue:\"hlr_form_submit\"},// ── Layout ──────────────────────────────\nstackBelow:{type:ControlType.Number,title:\"Stack Below\",defaultValue:380,min:0,max:800,step:10,unit:\"px\",description:\"Switches to Stacked when the form is narrower than this.\"},fieldHeight:{type:ControlType.Number,title:\"Field Height\",defaultValue:44,min:32,max:72,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:5,min:0,max:32,unit:\"px\"},buttonWidth:{type:ControlType.Number,title:\"Button Width\",defaultValue:0,min:0,max:400,unit:\"px\",description:\"0 = fit text. Ignored when Stacked.\"},containerPadding:{type:ControlType.Number,title:\"Pill Padding\",defaultValue:4,min:0,max:24,unit:\"px\",hidden:p=>p.layout!==\"pill\"},containerFill:{type:ControlType.Color,title:\"Pill Fill\",defaultValue:\"rgb(10, 10, 10)\",hidden:p=>p.layout!==\"pill\"},containerRadius:{type:ControlType.Number,title:\"Pill Radius\",defaultValue:30,min:0,max:40,unit:\"px\",hidden:p=>p.layout!==\"pill\"||p.shape!==\"custom\"},containerShadow:{type:ControlType.Boolean,title:\"Pill Shadow\",defaultValue:true,hidden:p=>p.layout!==\"pill\"},// ── Input ───────────────────────────────\ninputFill:{type:ControlType.Color,title:\"Input Fill\",defaultValue:\"rgba(255, 255, 255, 0.1)\"},inputBorder:{type:ControlType.Color,title:\"Input Border\",defaultValue:\"rgba(0, 0, 0, 0.05)\"},inputFocus:{type:ControlType.Color,title:\"Focus Border\",defaultValue:\"rgba(255, 255, 255, 0.2)\"},inputTextColor:{type:ControlType.Color,title:\"Input Text\",defaultValue:\"rgba(255, 255, 255, 0.8)\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"rgba(255, 255, 255, 0.3)\"},inputRadius:{type:ControlType.Number,title:\"Input Radius\",defaultValue:30,min:0,max:40,unit:\"px\",hidden:p=>p.shape!==\"custom\"},inputFont:{type:ControlType.Font,title:\"Input Font\",controls:\"extended\",defaultFontType:\"sans-serif\",description:\"Shows Inter for new placements but renders in Urbanist (site font) unless you pick another.\",defaultValue:{fontSize:\"15px\",variant:\"Regular\",lineHeight:\"1em\",letterSpacing:\"0em\"}},// ── Button ──────────────────────────────\nbuttonFill:{type:ControlType.Color,title:\"Button Fill\",defaultValue:\"rgb(255, 196, 0)\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text Colour\",defaultValue:\"rgb(10, 10, 10)\"},buttonHoverFill:{type:ControlType.Color,title:\"Hover Fill\",defaultValue:\"rgb(255, 196, 0)\"},buttonHoverText:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"rgb(255, 255, 255)\"},buttonRadius:{type:ControlType.Number,title:\"Button Radius\",defaultValue:30,min:0,max:40,unit:\"px\",hidden:p=>p.shape!==\"custom\"},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"extended\",defaultFontType:\"sans-serif\",description:\"Shows Inter for new placements but renders in Urbanist (site font) unless you pick another.\",defaultValue:{fontSize:\"15px\",variant:\"Regular\",lineHeight:\"1em\",letterSpacing:\"0em\"}},// ── Consent (GDPR) ──────────────────────\nshowConsent:{type:ControlType.Boolean,title:\"GDPR Consent\",defaultValue:true,description:\"Sends consent to HubSpot with the submission.\"},consentMode:{type:ControlType.Enum,title:\"Consent Type\",options:[\"notice\",\"checkbox\"],optionTitles:[\"Notice\",\"Checkbox\"],defaultValue:\"notice\",displaySegmentedControl:true,hidden:p=>!p.showConsent,description:\"Notice = submitting counts as consent. Checkbox = must tick.\"},consentProperty:{type:ControlType.String,title:\"Consent Property\",defaultValue:\"consent\",description:\"HubSpot checkbox property set to Yes on submit. Blank = don't send.\",hidden:p=>!p.showConsent},consentText:{type:ControlType.String,title:\"Consent Text\",displayTextArea:true,defaultValue:\"I agree to be contacted, to the [Privacy Policy](https://legal.hotlinering.ai/privacy) and understand that calls may be recorded for quality purposes.\",description:\"Use [label](url) for links.\",hidden:p=>!p.showConsent},marketingOptIn:{type:ControlType.Boolean,title:\"Marketing Opt-in\",defaultValue:false,hidden:p=>!p.showConsent},marketingText:{type:ControlType.String,title:\"Opt-in Text\",displayTextArea:true,defaultValue:\"I agree to receive other communications from Hotline Ring.\",hidden:p=>!p.showConsent||!p.marketingOptIn},subscriptionTypeId:{type:ControlType.Number,title:\"Subscription ID\",defaultValue:0,min:0,displayStepper:true,description:\"HubSpot → Settings → Marketing → Email → Subscription types.\",hidden:p=>!p.showConsent||!p.marketingOptIn},consentFont:{...smallFont,title:\"Consent Font\",hidden:p=>!p.showConsent},consentAlign:{type:ControlType.Enum,title:\"Privacy Text Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\",displaySegmentedControl:true,description:\"Aligns the consent/privacy text and error messages. Can differ per breakpoint.\",hidden:p=>!p.showConsent},consentColor:{type:ControlType.Color,title:\"Consent Colour\",defaultValue:\"rgba(0, 0, 0, 0.4)\",hidden:p=>!p.showConsent},linkColor:{type:ControlType.Color,title:\"Link Colour\",defaultValue:\"rgb(10, 10, 10)\",hidden:p=>!p.showConsent},// ── Messages ────────────────────────────\nmessageColor:{type:ControlType.Color,title:\"Success Colour\",defaultValue:\"rgb(10, 10, 10)\"},errorColor:{type:ControlType.Color,title:\"Error Colour\",defaultValue:\"rgb(214, 48, 49)\"},invalidEmailError:{type:ControlType.String,title:\"Invalid Email\",defaultValue:\"Please enter a valid email address.\"},blockedEmailError:{type:ControlType.String,title:\"Blocked Email\",defaultValue:\"Please use your work email.\"},consentError:{type:ControlType.String,title:\"Consent Error\",defaultValue:\"Please tick the box to continue.\"},genericError:{type:ControlType.String,title:\"Other Error\",defaultValue:\"Something went wrong. Please try again.\"},previewState:{type:ControlType.Enum,title:\"Canvas Preview\",options:[\"idle\",\"done\",\"success\",\"error\"],optionTitles:[\"Form\",\"Done\",\"Success\",\"Error\"],defaultValue:\"idle\",displaySegmentedControl:true,description:\"Canvas only — the live site always starts on the form.\"}});HubSpotEmailCapture.displayName=\"HubSpot Form Email Only\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HubSpotEmailCapture\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"48\",\"framerIntrinsicWidth\":\"460\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HubSpotFormEmailOnly.map"],"mappings":"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"}