{"version":3,"file":"Unified_Form.Bk0IrdoD.mjs","names":["useState","useRef","useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/agOZFx5nezHW0ndSxAcp/xBDKyQvqlFdf0juvJ1CA/Unified_Form.js"],"sourcesContent":["// @ts-nocheck\n// UnifiedForm.tsx — Electricity Maps \"Unified Forms\" → Clay code component for Framer\n//\n// HOW TO USE IN FRAMER\n// 1. Assets panel → Code → New Component → paste this file, name it \"UnifiedForm\".\n// 2. Drag it onto the canvas / into a frame. Configure in the right panel.\n// 3. Set the Webhook URL to your n8n proxy. Preview to test (real POST).\n//\n// Fields/requirements/options follow the \"Form Field Reference\" table. JSON keys\n// match the product payload (camelCase profile*/solution* + type/origin/submittedAt)\n// so website + portal land in the SAME Clay columns. One component, two themes.\n//\n// ATTRIBUTION: on submit the form calls HubSpot's client-side `identify` to tie\n// the submitter's usertoken (the hubspotutk cookie) to their email. That binds\n// their web analytics — source, first page, and all future visits — to the\n// HubSpot contact: the same attribution a native HubSpot form gave, with no\n// HubSpot form involved. The field payload still POSTs to n8n (Clay + a HubSpot\n// CRM upsert). No Forms API, no hutk forwarding.\n//\n// @framerSupportedLayoutWidth any-prefer-fixed\n// @framerSupportedLayoutHeight auto\n// @framerIntrinsicWidth 440\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useMemo,useRef,useEffect}from\"react\";// ── Theme palettes ───────────────────────────────────────────────────────────\nconst THEMES={light:{cardBg:\"#F1F0EE\",text:\"#000000\",subtitle:\"rgba(0,0,0,0.62)\",fieldBg:\"#FFFFFF\",fieldText:\"#0A0A0A\",border:\"#D9D7D3\",buttonBg:\"#000000\",buttonText:\"#FFFFFF\",disabledBg:\"#C9C7C3\",disabledText:\"#6B6B6B\",error:\"#D14343\"},dark:{cardBg:\"#000000\",text:\"#FFFFFF\",subtitle:\"rgba(255,255,255,0.68)\",fieldBg:\"#FFFFFF\",fieldText:\"#0A0A0A\",border:\"transparent\",buttonBg:\"#F1F0EE\",buttonText:\"#000000\",disabledBg:\"#2E2E2E\",disabledText:\"#7A7A7A\",error:\"#FF6B6B\"}};// ── Default option lists (overridable in the panel) ──────────────────────────\nconst DEFAULT_INDUSTRIES=[\"Independent Power Producer (IPP)\",\"Prop & Algo Trader\",\"BESS\",\"Flexibility Aggregators & VPP\",\"Hedge Funds\",\"Private Equity & Asset Management\",\"Commercial & Retail Banks\",\"Buildings & Energy Management\",\"Energy Retailer\",\"Data Centers & IT Infrastructure\",\"E-Mobility & Automotive\",\"Carbon Accounting Software & Consultants\",\"Industrial & Commercial\",\"Other\"];const DEFAULT_HEAR_ABOUT=[\"Linkedin\",\"x/Twitter\",\"Whitepaper\",\"Media/News\",\"Podcast/Interview/Webinar\",\"Search Engines (Google, Bing, etc)\",\"LLMs (ChatGPT, Claude, etc)\",\"Event\",\"Customer referral\",\"Home Assistant\",\"Other\"];const DEFAULT_ZONES=[\"Global\",\"EU + UK\",\"North America\",\"South America\",\"Asia / Oceania\",\"Individual Zones\"];// Signals are grouped under category headers in the dropdown. Selection is still\n// flat (data.signals holds the chosen signal strings); the grouping is display\n// only, so the payload (solutionSignals) is unaffected.\nconst DEFAULT_SIGNAL_GROUPS={Sustainability:[\"Carbon Intensity\",\"Renewable Energy %\",\"Carbon-Free Energy %\"],\"Electricity Prices\":[\"Day-Ahead Price (EU)\",\"Locational Marginal Price (US)\",\"Intraday Price\"],\"Electricity Mix & Flows\":[\"Electricity Mix\",\"Interconnector Flows\",\"Interconnector Congestion\"],\"Electricity Load\":[\"Net Load\",\"Total Load\"],Other:[\"I don't know yet\"]};const EMAIL_RE=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;// Build the spec's \"<prefix>:<slug>\" origin. Blank slug → derive from the current\n// page path at submit time (/get-started → \"get-started\", homepage → \"home\").\nfunction pageSlug(){if(typeof window===\"undefined\"||!window.location)return\"home\";const path=window.location.pathname.replace(/^\\/+|\\/+$/g,\"\");return path?path.replace(/\\//g,\"-\").toLowerCase():\"home\";}function makeOrigin(prefix,slug){const s=(slug||\"\").trim()||pageSlug();return`${prefix}:${s}`;}// origin = \"portal:<utm_campaign>\" for portal traffic (e.g. \"portal:app-map-gating\");\n// everything else stays \"website:<page-slug>\" (e.g. \"website:get-started\").\nfunction resolveOrigin(utms,slug,originPrefix,portalOriginOverride){if(utms.utm_source===\"portal\"){const override=String(portalOriginOverride||\"\").trim();if(override)return override.includes(\":\")?override:`portal:${override}`;return`portal:${utms.utm_campaign||pageSlug()}`;}return makeOrigin(originPrefix||\"website\",slug);}// Tie this submitter to their HubSpot usertoken (the hubspotutk cookie) via the\n// tracking code's client-side `identify`. This binds their web attribution — and\n// their future visits — to the contact. `identify` only stages the identity in\n// the tracker; the trackPageView is what transmits it. No-ops safely if the\n// HubSpot script isn't present (e.g. Framer preview) or the visitor has no cookie\n// (declined tracking) — the contact then simply lands without attribution.\nfunction hsIdentify(email,firstName,lastName){if(typeof window===\"undefined\")return;window._hsq=window._hsq||[];window._hsq.push([\"identify\",{email,firstname:firstName,lastname:lastName}]);window._hsq.push([\"trackPageView\"]);}// ── UTM capture ──────────────────────────────────────────────────────────────\n// Last-touch UTMs, persisted in sessionStorage under \"em_utms\".\n//\n// Site-wide capture is done by the \"UTM capture\" custom code script (Site\n// Settings → Custom Code, End of <body>, All pages, On every page visit), which\n// writes the same \"em_utms\" key on any page that has UTMs in the URL. The\n// captureUtms() call on mount below is a fallback for pages where that script\n// hasn't run (e.g. Framer preview). Keep UTM_KEYS and UTM_STORE in sync with it.\n//\n// UTMs are treated as a set: if the current URL carries any UTM, that set wins\n// entirely; otherwise the stored set is used. This avoids mixing params from\n// two different campaigns into one submission.\nconst UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\"];const UTM_STORE=\"em_utms\";function readUrlUtms(){if(typeof window===\"undefined\"||!window.location)return{};const p=new URLSearchParams(window.location.search);const found={};for(const k of UTM_KEYS){const v=p.get(k);if(v)found[k]=v;}return found;}const UTM_MAX_AGE_MS=30*24*60*60*1e3// 30 days\n;function captureUtms(){const found=readUrlUtms();if(Object.keys(found).length){try{localStorage.setItem(UTM_STORE,JSON.stringify({utms:found,ts:Date.now()}));}catch(e){}}}function getUtms(){const current=readUrlUtms();if(Object.keys(current).length)return current;try{const raw=JSON.parse(localStorage.getItem(UTM_STORE)||\"null\");if(raw&&raw.utms&&Date.now()-raw.ts<UTM_MAX_AGE_MS)return raw.utms;}catch(e){}return{};}// ── Shared bits (module-level so inputs/dropdowns don't remount) ──────────────\nfunction Chevron({open,color}){return /*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0,transition:\"transform .15s ease\",transform:open?\"rotate(180deg)\":\"none\"},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6 9 12 15 18 9\"})});}function TextField({label,value,error,onChange,onBlur,type=\"text\",placeholder,required,s}){return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"label\",{style:s.label,children:[label,required?/*#__PURE__*/_jsx(\"span\",{style:s.req,children:\" *\"}):null]}),/*#__PURE__*/_jsx(\"input\",{style:s.input(error),type:type,value:value,placeholder:placeholder,onChange:onChange,onBlur:onBlur}),error?/*#__PURE__*/_jsx(\"div\",{style:s.errText,children:error}):null]});}// Unified dropdown — single-select (radio) or multi-select (checkbox). Both open\n// the same custom panel, so they look and behave identically.\nfunction Dropdown({label,required,hint,multi,value,selected,error,onPick,onBlur,options=[],groups,s,colors,checkboxSize}){const[open,setOpen]=useState(false);const ref=useRef(null);useEffect(()=>{if(!open)return;const onDoc=e=>{if(ref.current&&!ref.current.contains(e.target)){setOpen(false);onBlur&&onBlur();}};document.addEventListener(\"mousedown\",onDoc);return()=>document.removeEventListener(\"mousedown\",onDoc);},[open]);const chosen=multi?selected:value?[value]:[];const summary=chosen.length?chosen.join(\", \"):\"Select…\";const pick=o=>{onPick(o);if(!multi){setOpen(false);onBlur&&onBlur();}};const box=active=>({width:checkboxSize,height:checkboxSize,borderRadius:multi?4:999,border:`1px solid ${colors.fieldText}`,background:active?colors.fieldText:\"transparent\",color:colors.fieldBg,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:Math.round(checkboxSize*.62),flexShrink:0});const renderOption=o=>{const active=chosen.includes(o);return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>pick(o),style:{display:\"flex\",alignItems:\"center\",gap:10,padding:\"10px 14px\",cursor:\"pointer\",fontSize:14,color:colors.fieldText},children:[/*#__PURE__*/_jsx(\"span\",{style:box(active),children:active?\"✓\":\"\"}),/*#__PURE__*/_jsx(\"span\",{children:o})]},o);};return /*#__PURE__*/_jsxs(\"div\",{ref:ref,children:[/*#__PURE__*/_jsxs(\"label\",{style:s.label,children:[label,required?/*#__PURE__*/_jsx(\"span\",{style:s.req,children:\" *\"}):null,hint?/*#__PURE__*/_jsxs(\"span\",{style:{opacity:.5},children:[\" \",hint]}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{...s.input(error),display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",cursor:\"pointer\"},onClick:()=>setOpen(o=>!o),children:[/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",opacity:chosen.length?1:.5},children:summary}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"flex\",marginLeft:8},children:/*#__PURE__*/_jsx(Chevron,{open:open,color:colors.fieldText})})]}),open&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"calc(100% + 6px)\",left:0,right:0,zIndex:50,maxHeight:280,overflowY:\"auto\",border:`1px solid ${colors.panelBorder}`,borderRadius:12,background:colors.fieldBg,boxShadow:\"0 12px 32px rgba(0,0,0,0.18)\"},children:groups?Object.entries(groups).map(([groupName,items])=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 14px 4px\",fontSize:11,fontFamily:s.label.fontFamily,letterSpacing:.5,textTransform:\"uppercase\",color:colors.fieldText,opacity:.45},children:groupName}),items.map(o=>renderOption(o))]},groupName)):options.map(o=>renderOption(o))})]}),error?/*#__PURE__*/_jsx(\"div\",{style:s.errText,children:error}):null]});}// ── Main component ───────────────────────────────────────────────────────────\nexport default function UnifiedForm(props){const{webhookUrl,type,originPrefix,originSlug,portalOriginOverride,theme,heading,subtitle,newsletterLabel,privacyNoticeText,privacyUrl,submitLabel,successTitle,successBody,meetingEmbedURL,meetingSuccessHeading,meetingSuccessBody,hideHeaderOnMeeting,radius,fieldRadius,textSize,maxWidth,checkboxSize,fontRegular,fontMedium,style}=props;const pal=THEMES[theme]||THEMES.light;const successHeadingRef=useRef(null);const hasMeetingSuccess=Boolean(String(meetingEmbedURL||\"\").trim());const[data,setData]=useState({firstName:\"\",lastName:\"\",email:\"\",company:\"\",industry:\"\",industryOther:\"\",hearAbout:\"\",hearAboutOther:\"\",zones:[],signals:[],message:\"\",newsletter:false});const[touched,setTouched]=useState({});const[status,setStatus]=useState(\"idle\")// idle | submitting | success | error\n;const[errorMsg,setErrorMsg]=useState(\"\");const set=(key,value)=>setData(d=>({...d,[key]:value}));const blur=key=>setTouched(t=>({...t,[key]:true}));const toggleInArray=(key,value)=>setData(d=>({...d,[key]:d[key].includes(value)?d[key].filter(v=>v!==value):[...d[key],value]}));// Fallback capture; the site-wide \"UTM capture\" script is the primary one.\nuseEffect(()=>{captureUtms();},[]);useEffect(()=>{if(status!==\"success\"||!hasMeetingSuccess)return;if(typeof window===\"undefined\")return;if(!successHeadingRef.current)return;successHeadingRef.current.focus();},[status,hasMeetingSuccess]);const requiredKeys=[\"firstName\",\"lastName\",\"email\",\"company\",\"industry\",\"hearAbout\",\"message\"];const fieldError=key=>{const v=data[key];if(requiredKeys.includes(key)&&!String(v??\"\").trim())return\"Required\";if(key===\"email\"&&v&&!EMAIL_RE.test(v))return\"Enter a valid email\";return\"\";};const canSubmit=useMemo(()=>{const filled=requiredKeys.every(k=>String(data[k]??\"\").trim());const emailOk=EMAIL_RE.test(data.email);return filled&&emailOk&&status!==\"submitting\";},[data,status]);const buildPostHogPayload=utms=>({type,origin:resolveOrigin(utms,originSlug,originPrefix,portalOriginOverride),message:data.message,submitted_at:new Date().toISOString(),profile_first_name:data.firstName,profile_last_name:data.lastName,profile_email:data.email,profile_company:data.company,profile_industry:data.industry,profile_industry_other:data.industry===\"Other\"?data.industryOther:\"\",profile_hear_about:data.hearAbout,profile_hear_about_other:data.hearAbout===\"Other\"?data.hearAboutOther:\"\",profile_newsletter:Boolean(data.newsletter),solution_zones:data.zones.join(\", \"),solution_signals:data.signals.join(\", \"),...utms});const buildPayload=utms=>({type,origin:resolveOrigin(utms,originSlug,originPrefix,portalOriginOverride),message:data.message,submittedAt:new Date().toISOString(),profileFirstName:data.firstName,profileLastName:data.lastName,profileEmail:data.email,profileCompany:data.company,profileIndustry:data.industry,profileIndustryOther:data.industry===\"Other\"?data.industryOther:\"\",profileHearAbout:data.hearAbout,profileHearAboutOther:data.hearAbout===\"Other\"?data.hearAboutOther:\"\",profileNewsletter:Boolean(data.newsletter),solutionZones:data.zones.join(\", \"),solutionSignals:data.signals.join(\", \"),...utms});const handleSubmit=async()=>{setTouched(requiredKeys.reduce((a,k)=>({...a,[k]:true}),{}));if(!canSubmit)return;// Resolve UTMs once so PostHog and n8n receive the identical set.\nconst utms=getUtms();let ph={phDistinctId:\"\",phDeviceId:\"\",phSessionId:\"\"};try{if(window.posthog){window.posthog?.capture(\"form_submitted\",buildPostHogPayload(utms));ph.phDistinctId=window.posthog.get_distinct_id?.()||\"\";ph.phDeviceId=window.posthog.get_property?.(\"$device_id\")||\"\";ph.phSessionId=window.posthog.get_session_id?.()||\"\";}}catch(e){}// Attribution channel, independent of the n8n POST below: bind this\n// submitter's usertoken to their email so HubSpot attaches their browsing\n// (and future visits) to the contact.\nhsIdentify(data.email,data.firstName,data.lastName);setStatus(\"submitting\");setErrorMsg(\"\");try{const headers={\"Content-Type\":\"application/json\"};const res=await fetch(webhookUrl,{method:\"POST\",headers,body:JSON.stringify({...buildPayload(utms),...ph})});if(!res.ok)throw new Error(`Server returned ${res.status}`);setStatus(\"success\");}catch(err){setStatus(\"error\");setErrorMsg(err?.message?`Something went wrong (${err.message}). Please try again.`:\"Something went wrong. Please try again.\");}};// ── styles ──────────────────────────────────────────────────────────────\nconst s={wrap:{...style,boxSizing:\"border-box\",background:pal.cardBg,color:pal.text,fontFamily:fontRegular,borderRadius:radius,padding:32,display:\"flex\",flexDirection:\"column\",gap:18,width:\"100%\",maxWidth:maxWidth,marginLeft:\"auto\",marginRight:\"auto\",overflow:\"visible\"},label:{display:\"block\",fontSize:Math.max(12,textSize-1),fontFamily:fontMedium,letterSpacing:.2,marginBottom:6,opacity:1},input:err=>({boxSizing:\"border-box\",width:\"100%\",padding:\"10px 16px\",background:pal.fieldBg,color:pal.fieldText,border:`1px solid ${err?pal.error:pal.border}`,borderRadius:fieldRadius,fontSize:textSize,fontFamily:fontRegular,outline:\"none\"}),row2:{display:\"flex\",gap:14},col:{flex:1,minWidth:0},errText:{color:pal.error,fontSize:12,marginTop:4},req:{color:pal.error},indent:{marginLeft:14,paddingLeft:16,borderLeft:`2px solid ${pal.border===\"transparent\"?\"rgba(255,255,255,0.25)\":pal.border}`},button:{marginTop:6,padding:\"14px 18px\",background:canSubmit?pal.buttonBg:pal.disabledBg,color:canSubmit?pal.buttonText:pal.disabledText,border:\"none\",borderRadius:fieldRadius,fontSize:textSize,fontFamily:fontMedium,cursor:canSubmit?\"pointer\":\"not-allowed\",transition:\"background .15s ease\"},checkRow:{display:\"flex\",alignItems:\"flex-start\",gap:10,fontSize:17,lineHeight:1.4},notice:{fontSize:12,lineHeight:1.5,color:pal.subtitle,marginTop:2}};const colors={fieldBg:pal.fieldBg,fieldText:pal.fieldText,panelBorder:pal.border===\"transparent\"?\"#D9D7D3\":pal.border};const Header=()=>heading?/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:28,fontFamily:fontMedium,lineHeight:1.15,color:pal.text},children:heading}),subtitle?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:15,lineHeight:1.5,color:pal.subtitle,marginTop:8},children:subtitle}):null]}):null;if(status===\"success\"){if(hasMeetingSuccess){return /*#__PURE__*/_jsxs(\"div\",{style:s.wrap,children:[!hideHeaderOnMeeting?/*#__PURE__*/_jsx(Header,{}):null,/*#__PURE__*/_jsx(\"div\",{ref:successHeadingRef,tabIndex:-1,style:{fontSize:24,fontFamily:\"Inter, sans-serif\",fontWeight:400,lineHeight:1.2,color:\"#111111\",outline:\"none\"},children:meetingSuccessHeading}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"#4a4a48\",fontSize:16,lineHeight:1.5,fontFamily:\"Inter, sans-serif\",fontWeight:400},children:meetingSuccessBody}),/*#__PURE__*/_jsx(\"iframe\",{src:String(meetingEmbedURL||\"\").trim(),title:\"Book a meeting\",style:{width:\"100%\",minHeight:650,border:0,borderRadius:20,background:\"#FFFFFF\"}})]});}return /*#__PURE__*/_jsxs(\"div\",{style:s.wrap,children:[/*#__PURE__*/_jsx(Header,{}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:22,fontFamily:fontMedium,marginBottom:4},children:successTitle}),/*#__PURE__*/_jsx(\"div\",{style:{color:pal.subtitle,fontSize:15,lineHeight:1.5},children:successBody})]});}return /*#__PURE__*/_jsxs(\"div\",{style:s.wrap,children:[/*#__PURE__*/_jsx(Header,{}),/*#__PURE__*/_jsxs(\"div\",{style:s.row2,children:[/*#__PURE__*/_jsx(\"div\",{style:s.col,children:/*#__PURE__*/_jsx(TextField,{label:\"First name\",required:true,value:data.firstName,error:touched.firstName?fieldError(\"firstName\"):\"\",onChange:e=>set(\"firstName\",e.target.value),onBlur:()=>blur(\"firstName\"),s:s})}),/*#__PURE__*/_jsx(\"div\",{style:s.col,children:/*#__PURE__*/_jsx(TextField,{label:\"Last name\",required:true,value:data.lastName,error:touched.lastName?fieldError(\"lastName\"):\"\",onChange:e=>set(\"lastName\",e.target.value),onBlur:()=>blur(\"lastName\"),s:s})})]}),/*#__PURE__*/_jsx(TextField,{label:\"Email\",required:true,type:\"email\",placeholder:\"you@company.com\",value:data.email,error:touched.email?fieldError(\"email\"):\"\",onChange:e=>set(\"email\",e.target.value),onBlur:()=>blur(\"email\"),s:s}),/*#__PURE__*/_jsx(TextField,{label:\"Company name\",required:true,value:data.company,error:touched.company?fieldError(\"company\"):\"\",onChange:e=>set(\"company\",e.target.value),onBlur:()=>blur(\"company\"),s:s}),/*#__PURE__*/_jsx(Dropdown,{label:\"Industry\",required:true,value:data.industry,error:touched.industry?fieldError(\"industry\"):\"\",onPick:v=>set(\"industry\",v),onBlur:()=>blur(\"industry\"),options:DEFAULT_INDUSTRIES,s:s,colors:colors,checkboxSize:checkboxSize}),data.industry===\"Other\"&&/*#__PURE__*/_jsx(\"div\",{style:s.indent,children:/*#__PURE__*/_jsx(TextField,{label:\"Tell us your industry\",value:data.industryOther,error:\"\",onChange:e=>set(\"industryOther\",e.target.value),onBlur:()=>blur(\"industryOther\"),s:s})}),/*#__PURE__*/_jsx(Dropdown,{label:\"Where did you hear about us?\",required:true,value:data.hearAbout,error:touched.hearAbout?fieldError(\"hearAbout\"):\"\",onPick:v=>set(\"hearAbout\",v),onBlur:()=>blur(\"hearAbout\"),options:DEFAULT_HEAR_ABOUT,s:s,colors:colors,checkboxSize:checkboxSize}),data.hearAbout===\"Other\"&&/*#__PURE__*/_jsx(\"div\",{style:s.indent,children:/*#__PURE__*/_jsx(TextField,{label:\"Where exactly?\",value:data.hearAboutOther,error:\"\",onChange:e=>set(\"hearAboutOther\",e.target.value),onBlur:()=>blur(\"hearAboutOther\"),s:s})}),/*#__PURE__*/_jsx(Dropdown,{label:\"Zones\",hint:\"(optional, multi-select)\",multi:true,selected:data.zones,onPick:v=>toggleInArray(\"zones\",v),options:DEFAULT_ZONES,s:s,colors:colors,checkboxSize:checkboxSize}),/*#__PURE__*/_jsx(Dropdown,{label:\"Signals\",hint:\"(optional, multi-select)\",multi:true,selected:data.signals,onPick:v=>toggleInArray(\"signals\",v),groups:DEFAULT_SIGNAL_GROUPS,s:s,colors:colors,checkboxSize:checkboxSize}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"label\",{style:s.label,children:[\"Message\",/*#__PURE__*/_jsx(\"span\",{style:s.req,children:\" *\"})]}),/*#__PURE__*/_jsx(\"textarea\",{style:{...s.input(touched.message?fieldError(\"message\"):\"\"),minHeight:96,resize:\"vertical\"},value:data.message,onChange:e=>set(\"message\",e.target.value),onBlur:()=>blur(\"message\"),placeholder:\"What are you trying to do?\"}),touched.message&&fieldError(\"message\")?/*#__PURE__*/_jsx(\"div\",{style:s.errText,children:fieldError(\"message\")}):null]}),/*#__PURE__*/_jsxs(\"label\",{style:s.checkRow,children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:data.newsletter,onChange:e=>set(\"newsletter\",e.target.checked),style:{marginTop:2,flexShrink:0,width:16,height:16}}),/*#__PURE__*/_jsx(\"span\",{children:newsletterLabel})]}),/*#__PURE__*/_jsx(\"button\",{style:s.button,onClick:handleSubmit,disabled:!canSubmit,children:status===\"submitting\"?\"Sending…\":submitLabel}),privacyNoticeText?/*#__PURE__*/_jsxs(\"div\",{style:s.notice,children:[privacyNoticeText,privacyUrl?/*#__PURE__*/_jsxs(_Fragment,{children:[\" \",/*#__PURE__*/_jsx(\"a\",{href:privacyUrl,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:\"inherit\",textDecoration:\"underline\"},children:\"Privacy Policy\"}),\".\"]}):null]}):null,status===\"error\"?/*#__PURE__*/_jsx(\"div\",{style:s.errText,children:errorMsg}):null]});}UnifiedForm.defaultProps={webhookUrl:\"https://emaps.app.n8n.cloud/webhook/product-2-n8n-tts-trial\",type:\"talk_to_sales\",originPrefix:\"website\",originSlug:\"\",portalOriginOverride:\"\",theme:\"light\",heading:\"\",subtitle:\"\",newsletterLabel:\"Email me the Electricity Maps newsletter, product updates, and company news. Frequency varies. Unsubscribe anytime through the unsubscribe link.\",privacyNoticeText:\"By submitting, you agree we'll process the details above to respond to your enquiry.\",privacyUrl:\"https://www.electricitymaps.com/privacy-policy\",submitLabel:\"Submit\",successTitle:\"Thanks — we'll be in touch.\",successBody:\"Your message is on its way to our team. Expect a reply shortly.\",meetingEmbedURL:\"\",meetingSuccessHeading:\"\",meetingSuccessBody:\"\",hideHeaderOnMeeting:false,radius:16,fieldRadius:14,textSize:16,maxWidth:650,checkboxSize:18,fontRegular:\"'Formular Regular', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",fontMedium:\"'Formular Medium', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\"};addPropertyControls(UnifiedForm,{webhookUrl:{type:ControlType.String,title:\"Webhook URL\"},type:{type:ControlType.Enum,title:\"Type\",options:[\"talk_to_sales\",\"api_trial\"]},originPrefix:{type:ControlType.Enum,title:\"Origin prefix\",options:[\"website\",\"portal\"]},originSlug:{type:ControlType.String,title:\"Origin slug\",placeholder:\"blank = current page slug\"},portalOriginOverride:{type:ControlType.String,title:\"Portal origin override\",placeholder:\"empty = portal:<utm_campaign>\",defaultValue:\"\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"light\",\"dark\"],displaySegmentedControl:true},heading:{type:ControlType.String,title:\"Heading\",placeholder:\"optional\"},subtitle:{type:ControlType.String,title:\"Subtitle\",displayTextArea:true,placeholder:\"optional\"},newsletterLabel:{type:ControlType.String,title:\"Newsletter label\",displayTextArea:true},privacyNoticeText:{type:ControlType.String,title:\"Privacy notice\",displayTextArea:true},privacyUrl:{type:ControlType.String,title:\"Privacy Policy URL\"},submitLabel:{type:ControlType.String,title:\"Button\"},successTitle:{type:ControlType.String,title:\"Success title\"},successBody:{type:ControlType.String,title:\"Success body\"},meetingEmbedURL:{type:ControlType.String,title:\"Meeting embed URL\",defaultValue:\"\",placeholder:\"empty = off\"},meetingSuccessHeading:{type:ControlType.String,title:\"Success heading\",defaultValue:\"\"},meetingSuccessBody:{type:ControlType.String,title:\"Success body\",displayTextArea:true,defaultValue:\"\"},hideHeaderOnMeeting:{type:ControlType.Boolean,title:\"Hide header on booking\",defaultValue:false},radius:{type:ControlType.Number,title:\"Card radius\",min:0,max:48},fieldRadius:{type:ControlType.Number,title:\"Field radius\",min:0,max:999},textSize:{type:ControlType.Number,title:\"Text size\",min:12,max:22},maxWidth:{type:ControlType.Number,title:\"Max width\",min:320,max:1200},checkboxSize:{type:ControlType.Number,title:\"Checkbox size\",min:14,max:32},fontMedium:{type:ControlType.String,title:\"Font \\xb7 labels\"},fontRegular:{type:ControlType.String,title:\"Font \\xb7 fields\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UnifiedForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Unified_Form.map"],"mappings":"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"}