{"version":3,"file":"HubSpotFormtest.C1ScaGHj.mjs","names":["useState","__legacyOverrideHOC_DataObserverContext","_jsx","useRef","useState"],"sources":["https:/framerusercontent.com/modules/iBfAqj3DIFb3XmlxdStX/bTPeTtEuUKmy4DkC6FXl/HideOnFormSubmit.js","https:/framerusercontent.com/modules/bDb4jNL8jlULOCrYvFxW/VFhX3VqZ1aP85oYckmG0/HubSpotFormtest.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";// Custom event name\nconst FORM_SUBMITTED_EVENT=\"hubspotFormSubmitted\";// Apply this to the HubSpot form component\nexport function hubSpotListener(){useEffect(()=>{const observer=new MutationObserver(mutations=>{const submittedMessage=document.querySelector(\".submitted-message\");if(submittedMessage){// Dispatch a custom event\nwindow.dispatchEvent(new CustomEvent(FORM_SUBMITTED_EVENT));observer.disconnect();}});observer.observe(document.body,{childList:true,subtree:true});// Check immediately\nif(document.querySelector(\".submitted-message\")){window.dispatchEvent(new CustomEvent(FORM_SUBMITTED_EVENT));}return()=>observer.disconnect();},[]);return{};}// Apply this to the title you want to hide\nexport function hideOnFormSubmit(){const[isHidden,setIsHidden]=useState(false);useEffect(()=>{const handleSubmit=()=>setIsHidden(true);window.addEventListener(FORM_SUBMITTED_EVENT,handleSubmit);// Check immediately if already submitted\nif(document.querySelector(\".submitted-message\")){setIsHidden(true);}return()=>window.removeEventListener(FORM_SUBMITTED_EVENT,handleSubmit);},[]);return{style:{opacity:isHidden?0:1,height:isHidden?0:\"auto\",width:\"100%\",overflow:\"hidden\",transition:\"opacity 0.3s ease-out, height 0.3s ease-out\"}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withhubSpotListener(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...hubSpotListener(props)});};}withhubSpotListener.displayName=\"hubSpotListener\";export function withhideOnFormSubmit(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...hideOnFormSubmit(props)});};}withhideOnFormSubmit.displayName=\"hideOnFormSubmit\";\nexport const __FramerMetadata__ = {\"exports\":{\"withhideOnFormSubmit\":{\"type\":\"reactHoc\",\"name\":\"withhideOnFormSubmit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hubSpotListener\":{\"type\":\"override\",\"name\":\"hubSpotListener\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withhubSpotListener\":{\"type\":\"reactHoc\",\"name\":\"withhubSpotListener\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hideOnFormSubmit\":{\"type\":\"override\",\"name\":\"hideOnFormSubmit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HideOnFormSubmit.map","// HubSpot form component with optional Calendly popup on submit\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * HubSpot Form with Calendly\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 500\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function HubSpotForm(props){const{portalId,formId,region,calendlyUrl,calendlyBackgroundColor,calendlyTextColor,calendlyPrimaryColor,backgroundColor,textColor,buttonColor,buttonTextColor,borderRadius,inputBorderColor,inputBackgroundColor,inputBorderRadius,inputFocusColor,buttonHoverBackground,buttonHoverTextColor,buttonTextTransform,buttonPlacement,buttonWidthDesktop,buttonWidthTablet,buttonWidthMobile,inputPadding,buttonPadding,linkColor,linkHoverColor,formPadding,font,buttonFont}=props;const formRef=useRef(null);const capturedFormData=useRef({});const[isLoaded,setIsLoaded]=useState(false);const[error,setError]=useState(null);// Load Calendly widget script only when a URL is configured\nuseEffect(()=>{if(typeof window===\"undefined\"||!calendlyUrl)return;// Load Calendly CSS\nif(!document.querySelector('link[href*=\"calendly\"]')){const link=document.createElement(\"link\");link.href=\"https://assets.calendly.com/assets/external/widget.css\";link.rel=\"stylesheet\";document.head.appendChild(link);}// Load Calendly JS\nif(!document.querySelector('script[src*=\"calendly\"]')){const script=document.createElement(\"script\");script.src=\"https://assets.calendly.com/assets/external/widget.js\";script.async=true;document.body.appendChild(script);}},[calendlyUrl]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!portalId||!formId){startTransition(()=>setError(\"Please provide Portal ID and Form ID\"));return;}const script=document.createElement(\"script\");script.src=\"https://js.hsforms.net/forms/v2.js\";script.async=true;script.charset=\"utf-8\";script.onload=()=>{if(window.hbspt&&formRef.current){try{window.hbspt.forms.create({region:region,portalId:portalId,formId:formId,target:`#hubspot-form-${formId}`,onFormReady:()=>{startTransition(()=>setIsLoaded(true));applyCustomStyles();},onFormSubmit:$form=>{// Capture form data BEFORE submission replaces the DOM\nif(calendlyUrl){capturedFormData.current=extractFormData();}},onFormSubmitted:()=>{// Only launch Calendly if a URL is configured\nif(calendlyUrl){openCalendlyPopup(capturedFormData.current);}if(formRef.current){const formContainer=formRef.current.querySelector(`#hubspot-form-${formId}`);if(formContainer){const submittedMessage=formContainer.querySelector(\".submitted-message\");if(submittedMessage){submittedMessage.classList.add(\"submitted-message\");}}}}});}catch(err){startTransition(()=>setError(\"Failed to load form. Check your Portal ID and Form ID.\"));}}};script.onerror=()=>{startTransition(()=>setError(\"Failed to load HubSpot script\"));};document.body.appendChild(script);return()=>{if(document.body.contains(script)){document.body.removeChild(script);}};},[portalId,formId,region]);useEffect(()=>{if(isLoaded){applyCustomStyles();}},[isLoaded,backgroundColor,textColor,buttonColor,buttonTextColor,borderRadius,inputBorderColor,inputBackgroundColor,inputBorderRadius,inputFocusColor,buttonHoverBackground,buttonHoverTextColor,buttonTextTransform,buttonPlacement,buttonWidthDesktop,buttonWidthTablet,buttonWidthMobile,inputPadding,buttonPadding,linkColor,linkHoverColor,formPadding,font,buttonFont]);const extractFormData=()=>{const data={};if(!formRef.current)return data;const container=formRef.current;// Get values from all form fields\nconst inputs=container.querySelectorAll(\"input, textarea, select\");inputs.forEach(input=>{const el=input;const name=el.name||\"\";const value=el.value||\"\";// Skip hidden/system fields and empty values\nif(!name||!value||name===\"hs_context\"||el.type===\"hidden\"||el.type===\"submit\")return;data[name]=value;});// Also try to extract from iframe if form is embedded that way\ntry{const iframe=container.querySelector(\"iframe\");if(iframe&&iframe.contentDocument){const iframeInputs=iframe.contentDocument.querySelectorAll(\"input, textarea, select\");iframeInputs.forEach(input=>{const el=input;const name=el.name||\"\";const value=el.value||\"\";if(!name||!value||name===\"hs_context\"||el.type===\"hidden\"||el.type===\"submit\")return;data[name]=value;});}}catch(e){console.log(\"Could not access iframe contents (cross-origin)\",e);}return data;};const openCalendlyPopup=formData=>{if(typeof window===\"undefined\"||!window.Calendly){console.error(\"Calendly widget not loaded\");return;}const baseUrl=calendlyUrl;// Append color customization params (hex without #)\nconst colorParams=new URLSearchParams;if(calendlyBackgroundColor){colorParams.set(\"background_color\",calendlyBackgroundColor.replace(\"#\",\"\"));}if(calendlyTextColor){colorParams.set(\"text_color\",calendlyTextColor.replace(\"#\",\"\"));}if(calendlyPrimaryColor){colorParams.set(\"primary_color\",calendlyPrimaryColor.replace(\"#\",\"\"));}const separator=baseUrl.includes(\"?\")?\"&\":\"?\";const colorString=colorParams.toString();const url=colorString?`${baseUrl}${separator}${colorString}`:baseUrl;// Build the full name from first + last\nconst fullName=[formData.firstname,formData.lastname].filter(Boolean).join(\" \");// Build prefill object\nconst prefill={};if(fullName){prefill.name=fullName;}if(formData.email){prefill.email=formData.email;}// Map additional HubSpot fields to Calendly custom answers\n// Your Calendly event has 1 custom question:\n//   a1 = \"Please share anything that will help prepare for our meeting.\"\n// We'll combine the relevant HubSpot fields into this answer.\nconst customAnswers={};const meetingContext=[formData.company?`Company: ${formData.company}`:\"\",formData.what_industry_is_your_company_in?`Industry: ${formData.what_industry_is_your_company_in}`:\"\",formData.what_are_you_looking_to_accomplish?`Looking to accomplish: ${formData.what_are_you_looking_to_accomplish}`:\"\",formData.how_did_you_hear_about_roebling_?`Heard about Roebling via: ${formData.how_did_you_hear_about_roebling_}`:\"\"].filter(Boolean).join(\"\\n\");if(meetingContext){customAnswers.a1=meetingContext;}if(Object.keys(customAnswers).length>0){prefill.customAnswers=customAnswers;}window.Calendly.initPopupWidget({url:url,prefill:prefill});};const applyCustomStyles=()=>{if(!formRef.current)return;const styleElement=document.createElement(\"style\");styleElement.textContent=`\n            #hubspot-form-${formId} .hs-form {\n                font-family: ${font.fontFamily||\"inherit\"};\n                font-size: ${font.fontSize||\"14px\"};\n                font-weight: ${font.fontWeight||\"400\"};\n                line-height: ${font.lineHeight||\"1.3em\"};\n                letter-spacing: ${font.letterSpacing||\"-0.01em\"};\n                color: ${textColor};\n                width: 100%;\n            }\n            \n            #hubspot-form-${formId} .hs-form label {\n                color: ${textColor};\n                font-weight: 500;\n                margin-bottom: 8px;\n                display: block;\n            }\n            \n            #hubspot-form-${formId} .hs-form input[type=\"text\"],\n            #hubspot-form-${formId} .hs-form input[type=\"email\"],\n            #hubspot-form-${formId} .hs-form input[type=\"tel\"],\n            #hubspot-form-${formId} .hs-form input[type=\"number\"],\n            #hubspot-form-${formId} .hs-form textarea,\n            #hubspot-form-${formId} .hs-form select {\n                width: 100%;\n                padding: ${inputPadding};\n                border: 1px solid ${inputBorderColor};\n                border-radius: ${inputBorderRadius}px;\n                background-color: ${inputBackgroundColor};\n                color: ${textColor};\n                font-family: ${font.fontFamily||\"inherit\"};\n                font-size: ${font.fontSize||\"14px\"};\n                box-sizing: border-box;\n                transition: border-color 0.2s;\n            }\n            \n            #hubspot-form-${formId} .hs-form input:focus,\n            #hubspot-form-${formId} .hs-form textarea:focus,\n            #hubspot-form-${formId} .hs-form select:focus {\n                outline: none;\n                border-color: ${inputFocusColor};\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-submit {\n                text-align: ${buttonPlacement};\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-button {\n                background-color: ${buttonColor};\n                color: ${buttonTextColor};\n                border: none;\n                border-radius: ${borderRadius}px;\n                padding: ${buttonPadding};\n                font-family: ${buttonFont.fontFamily||\"inherit\"};\n                font-size: ${buttonFont.fontSize||\"14px\"};\n                font-weight: ${buttonFont.fontWeight||\"600\"};\n                letter-spacing: ${buttonFont.letterSpacing||\"-0.01em\"};\n                text-transform: ${buttonTextTransform};\n                cursor: pointer;\n                transition: background-color 0.2s, color 0.2s;\n                width: ${buttonWidthMobile===\"full\"?\"100%\":\"auto\"};\n            }\n            \n            @media (min-width: 768px) {\n                #hubspot-form-${formId} .hs-form .hs-button {\n                    width: ${buttonWidthTablet===\"full\"?\"100%\":\"auto\"};\n                }\n            }\n            \n            @media (min-width: 1024px) {\n                #hubspot-form-${formId} .hs-form .hs-button {\n                    width: ${buttonWidthDesktop===\"full\"?\"100%\":\"auto\"};\n                }\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-button:hover {\n                background-color: ${buttonHoverBackground};\n                color: ${buttonHoverTextColor};\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-error-msgs {\n                list-style: none;\n                padding: 0;\n                margin: 4px 0 0 0;\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-error-msg {\n                color: #ff5588;\n                font-size: 12px;\n            }\n            \n            #hubspot-form-${formId} .hs-form .hs-form-field {\n                margin-bottom: ${props.rowGap??16}px;\n            }\n            #hubspot-form-${formId} .hs-form .input {\n                column-gap: ${props.columnGap??8}px;\n            }\n            #hubspot-form-${formId} .hs-form .hs-richtext {\n                color: ${textColor};\n                margin-bottom: 16px;\n            }\n            \n            #hubspot-form-${formId} .hs-form fieldset {\n                max-width: none !important;\n            }\n            \n            #hubspot-form-${formId} .hs-form a {\n                color: ${linkColor};\n                text-decoration: underline;\n                transition: color 0.2s;\n            }\n            \n            #hubspot-form-${formId} .hs-form a:hover {\n                color: ${linkHoverColor};\n            }\n            \n            #hubspot-form-${formId} .submitted-message {\n                display: flex;\n                flex-direction: column;\n                gap: 1rem;\n            }\n        `;formRef.current.appendChild(styleElement);};return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor:backgroundColor,borderRadius:borderRadius,padding:formPadding,overflow:\"auto\",boxSizing:\"border-box\"},children:error?/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,...font,textAlign:\"center\",padding:20},children:error}):/*#__PURE__*/_jsx(\"div\",{ref:formRef,id:`hubspot-form-${formId}`})});}addPropertyControls(HubSpotForm,{portalId:{type:ControlType.String,title:\"Portal ID\",defaultValue:\"\",placeholder:\"Enter your HubSpot Portal ID\"},formId:{type:ControlType.String,title:\"Form ID\",defaultValue:\"\",placeholder:\"Enter your HubSpot Form ID\"},region:{type:ControlType.Enum,title:\"Region\",options:[\"na1\",\"eu1\",\"ap1\"],optionTitles:[\"North America\",\"Europe\",\"Asia Pacific\"],defaultValue:\"na1\"},calendlyUrl:{type:ControlType.String,title:\"Calendly URL\",defaultValue:\"\",placeholder:\"https://calendly.com/your-link/event (leave empty to disable)\"},calendlyBackgroundColor:{type:ControlType.Color,title:\"Calendly BG\",defaultValue:\"#FFFFFF\"},calendlyTextColor:{type:ControlType.Color,title:\"Calendly Text\",defaultValue:\"#000000\"},calendlyPrimaryColor:{type:ControlType.Color,title:\"Calendly Accent\",defaultValue:\"#0069FF\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},inputBackgroundColor:{type:ControlType.Color,title:\"Input Background\",defaultValue:\"#FFFFFF\"},inputBorderColor:{type:ControlType.Color,title:\"Input Border\",defaultValue:\"#CCCCCC\"},inputBorderRadius:{type:ControlType.Number,title:\"Input Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},inputPadding:{type:ControlType.Padding,title:\"Input Padding\",defaultValue:\"12px\"},inputFocusColor:{type:ControlType.Color,title:\"Input Focus\",defaultValue:\"#000000\"},linkColor:{type:ControlType.Color,title:\"Link Color\",defaultValue:\"#0099FF\"},linkHoverColor:{type:ControlType.Color,title:\"Link Hover Color\",defaultValue:\"#0066FF\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#000000\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#FFFFFF\"},buttonHoverBackground:{type:ControlType.Color,title:\"Button Hover BG\",defaultValue:\"#333333\"},buttonHoverTextColor:{type:ControlType.Color,title:\"Button Hover Text\",defaultValue:\"#FFFFFF\"},buttonTextTransform:{type:ControlType.Enum,title:\"Button Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],optionTitles:[\"None\",\"Uppercase\",\"Lowercase\",\"Capitalize\"],defaultValue:\"none\"},buttonPadding:{type:ControlType.Padding,title:\"Button Padding\",defaultValue:\"12px 24px\"},buttonPlacement:{type:ControlType.Enum,title:\"Button Placement\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\",displaySegmentedControl:true},buttonWidthDesktop:{type:ControlType.Enum,title:\"Width (Desktop)\",options:[\"auto\",\"full\"],optionTitles:[\"Auto\",\"Full\"],defaultValue:\"auto\",displaySegmentedControl:true},buttonWidthTablet:{type:ControlType.Enum,title:\"Width (Tablet)\",options:[\"auto\",\"full\"],optionTitles:[\"Auto\",\"Full\"],defaultValue:\"auto\",displaySegmentedControl:true},buttonWidthMobile:{type:ControlType.Enum,title:\"Width (Mobile)\",options:[\"auto\",\"full\"],optionTitles:[\"Auto\",\"Full\"],defaultValue:\"full\",displaySegmentedControl:true},formPadding:{type:ControlType.Padding,title:\"Form Padding\",defaultValue:\"20px\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:16,min:0,max:64,step:1,unit:\"px\"},columnGap:{type:ControlType.Number,title:\"Column Gap\",defaultValue:8,min:0,max:64,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HubSpotForm\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"500\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HubSpotFormtest.map"],"mappings":"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"}