{"version":3,"file":"HS_Form_Component.BfaW10za.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/U3LblWFuwe9ucjCgFqqo/LNiTaqFWu5mDCP4eyGkN/HS_Form_Component.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useTracking}from\"framer\";/**\n * HubSpot form embed for Framer.\n *\n * Requires this tag in Site Settings -> Custom Code -> start of <head>:\n * <script src=\"https://js.hsforms.net/forms/embed/40882779.js\" defer></script>\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function HS_Form_Component(props){const{portalId,formId,region,minHeight,trackingId}=props;const track=useTracking();const trackedRef=useRef(false);// Render the container only after mount. If HubSpot fills a\n// server-rendered container before Framer hydrates, React rebuilds the\n// subtree and destroys the form for good.\nconst[mounted,setMounted]=useState(false);useEffect(()=>setMounted(true),[]);useEffect(()=>{if(!trackingId||!formId)return;const onSuccess=event=>{const detail=event.detail;if(!detail||detail.formId!==formId)return;if(trackedRef.current)return;trackedRef.current=true;track(trackingId);};window.addEventListener(\"hs-form-event:on-submission:success\",onSuccess);return()=>window.removeEventListener(\"hs-form-event:on-submission:success\",onSuccess);},[formId,trackingId,track]);useEffect(()=>{trackedRef.current=false;},[portalId,formId,region]);// Load the embed script if it isn't already on the page. No-op on the\n// published site, where the <head> tag above provides it. This exists for\n// the Framer canvas and preview, which don't run Custom Code.\nuseEffect(()=>{if(!portalId)return;const src=`https://js.hsforms.net/forms/embed/${portalId}.js`;if(document.querySelector(`script[src=\"${src}\"]`))return;const script=document.createElement(\"script\");script.src=src;script.defer=true;document.body.appendChild(script);},[portalId]);if(!portalId||!formId)return null;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",minHeight},children:mounted&&/*#__PURE__*/_jsx(\"div\",{className:\"hs-form-frame\",\"data-portal-id\":portalId,\"data-form-id\":formId,\"data-region\":region})});}addPropertyControls(HS_Form_Component,{portalId:{title:\"Portal ID\",type:ControlType.String,placeholder:\"e.g. 40882779\"},formId:{title:\"Form ID\",type:ControlType.String,placeholder:\"e.g. 9fa498b8-...\"},region:{title:\"Region\",type:ControlType.Enum,options:[\"na1\",\"eu1\"],optionTitles:[\"North America (na1)\",\"Europe (eu1)\"]},trackingId:{title:\"Tracking\",type:ControlType.TrackingId},minHeight:{title:\"Min Height\",type:ControlType.Number,defaultValue:250,min:0,step:10,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HS_Form_Component\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HS_Form_Component.map"],"mappings":"+MAQG,SAAwB,EAAkB,EAAM,CAAC,GAAK,CAAC,WAAS,SAAO,SAAO,YAAU,cAAY,EAAY,EAAM,EAAY,EAAQ,EAAWA,EAAO,EAAK,EAG/J,CAAC,EAAQ,GAAYC,EAAS,EAAK,EAGmR,OAHjR,MAAc,EAAW,EAAI,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAG,CAAC,GAAY,CAAC,EAAO,OAAO,IAAM,EAAU,GAAO,CAAC,IAAM,EAAO,EAAM,OAAU,CAAC,GAAQ,EAAO,SAAS,GAAiB,EAAW,UAAe,EAAW,QAAQ,GAAK,EAAM,CAAU,EAAE,EAA2E,OAAzE,EAAO,iBAAiB,sCAAsC,CAAS,MAAY,EAAO,oBAAoB,sCAAsC,CAAS,CAAE,EAAE,CAAC,EAAO,EAAW,CAAK,CAAC,EAAE,MAAc,CAAC,EAAW,QAAQ,EAAM,EAAE,CAAC,EAAS,EAAO,CAAM,CAAC,EAG9hB,MAAc,CAAC,GAAG,CAAC,EAAS,OAAO,IAAM,EAAI,sCAAsC,EAAS,KAAK,GAAG,SAAS,cAAc,eAAe,EAAI,GAAG,EAAE,OAAO,IAAM,EAAO,SAAS,cAAc,QAAQ,EAAE,EAAO,IAAI,EAAI,EAAO,MAAM,GAAK,SAAS,KAAK,YAAY,CAAM,CAAE,EAAE,CAAC,CAAQ,CAAC,EAAK,CAAC,GAAU,CAAC,EAAc,KAAyB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,WAAS,EAAE,SAAS,GAAsB,EAAK,MAAM,CAAC,UAAU,gBAAgB,iBAAiB,EAAS,eAAe,EAAO,cAAc,CAAM,CAAC,CAAC,CAAC,CAAE,qBAd9d,IAA6C,IAAgE,EAckX,EAAoB,EAAkB,CAAC,SAAS,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,YAAY,eAAe,EAAE,OAAO,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,YAAY,mBAAmB,EAAE,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,KAAK,QAAQ,CAAC,MAAM,KAAK,EAAE,aAAa,CAAC,sBAAsB,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,WAAW,KAAK,EAAY,UAAU,EAAE,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,aAAa,IAAI,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC"}