{"version":3,"file":"Hubspot.eRs2Uh8F.mjs","names":["defaultEmptyStateStyle"],"sources":["https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js","https:/framer.com/m/framer/default-utils.js@^0.43.0","https:/framer.com/m/framer/integrations-styles.js@0.2.0","https:/framerusercontent.com/modules/uGQZtcsxBzvxqsgxQ0Tz/X7pdtYLSbZHs5Yl3H9xm/Hubspot.js"],"sourcesContent":["// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\n// @ts-ignore\nimport { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nconst fontWeights = {\n    100: \"Thin\",\n    200: \"Extra-light\",\n    300: \"Light\",\n    400: \"Regular\",\n    500: \"Medium\",\n    600: \"Semi-bold\",\n    700: \"Bold\",\n    800: \"Extra-bold\",\n    900: \"Black\"\n};\nexport function useFontControls(props) {\n    const { fontFamily , fontSize , fontWeight , font  } = props;\n    const fontWeightName = fontWeights[fontWeight];\n    const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;\n    const fontFamilyStyle = fontFamily ? {\n        fontSize,\n        fontWeight,\n        fontFamily: customFontStack\n    } : {\n        fontSize,\n        fontWeight\n    };\n    const fetchCustomFonts = async ()=>{\n        await fontStore.loadWebFontsFromSelectors([\n            `CUSTOM;${fontFamily}`,\n            `CUSTOM;${fontFamily} ${fontWeightName}`,\n            `GF;${fontFamily}-${fontWeightName.toLowerCase()}`, \n        ]).catch((e)=>console.error(e)\n        );\n    };\n    useEffect(()=>{\n        if (font) fetchCustomFonts();\n    }, [\n        font,\n        fontFamily,\n        fontWeight\n    ]);\n    return fontFamilyStyle;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import { defaultEvents, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nimport { useOnEnter, useOnExit } from \"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nimport { colorTokentoValue, colorFromToken } from \"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nimport { useUniqueClassName, randomID } from \"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";\nimport { getVariantControls } from \"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";\nimport { useIsBrowserSafari } from \"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";\nimport { useMultiOnChange, useOnChange } from \"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";\nimport { mstoMinAndSec, secondsToMinutes } from \"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";\nimport { useAutoMotionValue } from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";\nimport { useFontControls } from \"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js\";\nimport { useRenderTarget, useIsInPreview } from \"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js\";\nimport { useControlledState } from \"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";\nimport { usePadding, useRadius, paddingControl, borderRadiusControl } from \"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";\nimport { detectAutoSizingAxis } from \"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";\nexport { useOnEnter, useOnExit, defaultEvents, isMotionValue, colorFromToken, colorTokentoValue, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack, useUniqueClassName, getVariantControls, useIsBrowserSafari, randomID, useConstant, useMultiOnChange, useOnChange, usePadding, useRadius, paddingControl, borderRadiusControl, mstoMinAndSec, useFontControls, secondsToMinutes, useAutoMotionValue, useRenderTarget, useIsInPreview, useControlledState, detectAutoSizingAxis,  };\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{containerStyles,emptyStateStyle as defaultEmptyStateStyle}from\"https://framer.com/m/framer/default-utils.js@^0.43.0\";export const emptyStateStyle={...containerStyles,...defaultEmptyStateStyle,textAlign:\"center\",padding:15,width:200,height:100,overflow:\"hidden\"};export const neutralStateStyle={...emptyStateStyle,color:\"#09f\",background:\"rgb(0, 153, 255, 0.1)\",borderColor:\"#09f\"};export const stateTitleStyle={fontSize:12,fontWeight:600,margin:0};export const stateParagraphStyle={fontSize:12,maxWidth:200,lineHeight:1.4,margin:\"5px 0 0 0\"};\nexport const __FramerMetadata__ = {\"exports\":{\"neutralStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateTitleStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateParagraphStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./styles.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useTracking}from\"framer\";import{emptyStateStyle,stateParagraphStyle,stateTitleStyle}from\"https://framer.com/m/framer/integrations-styles.js@0.2.0\";// Poll for 5 minutes ...\nfunction poll(f,delay=200,count=5*60*5,i=0){if(i>count){console.error(\"poll max attempts\",f);return;}if(!f()){console.log(\"poll\",delay,count,i);setTimeout(()=>{poll(f,delay,count,i+1);},delay);}}function EmptyState({title,description}){return /*#__PURE__*/_jsxs(\"div\",{style:{...emptyStateStyle,width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:stateTitleStyle,children:title}),/*#__PURE__*/_jsx(\"p\",{style:stateParagraphStyle,children:description})]});}/**\n * Return the actual instance id of the HubSpot form.\n *\n * window.hbspt.forms.create returns a totally different instanceId\n * from the one in the success event. This ugly code below grabs the\n * actual instance id from the iframe src. Hopefully this doesn’t break.\n */function getActualInstanceId(div){const url=div.querySelector(\"iframe\")?.getAttribute(\"src\");return url?new URL(url).searchParams.get(\"_hsInstanceId\"):null;}/**\n * HUBSPOT\n *\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 300\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function HubSpotForm({portalId,formId,advanced,region,trackingId}){const[isScriptLoaded,setIsScriptLoaded]=React.useState(()=>Boolean(typeof window!==\"undefined\"&&window.hbspt));const ref=React.useRef(null);const track=useTracking();if(!portalId||!formId||!region){return /*#__PURE__*/_jsx(EmptyState,{title:\"Hubspot\",description:\"Set a portal ID and form in the Properties.\"});}// Tracking setup\nReact.useEffect(()=>{if(!trackingId)return;function onFormSubmissionSuccess(event){if(!ref.current)return;// Because the events are global, we need to compare\n// instanceId to know which instance it is comes from.\nif(getActualInstanceId(ref.current)!==event.detail.instanceId)return;if(trackingId)track(trackingId);}// https://developers.hubspot.com/docs/guides/api/marketing/forms/global-form-events#form-events$0\ndocument.addEventListener(\"hs-form-event:on-submission:success\",onFormSubmissionSuccess);return()=>document.removeEventListener(\"hs-form-event:on-submission:success\",onFormSubmissionSuccess);},[trackingId]);// Load the hubspot script\nReact.useEffect(()=>{if(isScriptLoaded||typeof window===\"undefined\")return;if(window.hbspt)return setIsScriptLoaded(true);const script=document.createElement(\"script\");script.src=`https://js-${region}.hsforms.net/forms/shell.js`;script.async=true;script.onload=()=>poll(()=>{if(window.hbspt){setIsScriptLoaded(true);return true;}});document.body.appendChild(script);},[isScriptLoaded,region]);React.useEffect(()=>{if(!isScriptLoaded||!ref.current||typeof window===\"undefined\")return;const element=document.createElement(\"div\");const randomId=Math.random().toString(36).substr(2,8);const elementId=`hubspot_form_${randomId}`;element.setAttribute(\"id\",elementId);element.style.width=\"100%\";element.style.height=\"100%\";ref.current.appendChild(element);window.hbspt.forms.create({region,portalId,formId,target:`#${elementId}`});return()=>{if(ref.current)ref.current.removeChild(element);};},[isScriptLoaded,portalId,formId]);return /*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},ref:ref});}addPropertyControls(HubSpotForm,{portalId:{title:\"Portal\",type:ControlType.String,placeholder:\"25276298\",// defaultValue: \"25276298\",\ndescription:\"Create a [Hubspot](https://www.hubspot.com/) account, add a new form and copy your portal ID. [Learn more…](https://www.framer.com/plugins/hubspot/)\"},formId:{title:\"Form\",type:ControlType.String,placeholder:\"e7167571-4bc4-4c2c-bfdc-a0a8dbfd22f1\"},trackingId:{title:\"Tracking\",type:ControlType.TrackingId,placeholder:\"ID\"},advanced:{title:\"Advanced\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},region:{title:\"Region\",type:ControlType.String,placeholder:\"eu1\",defaultValue:\"eu1\",hidden:({advanced})=>!advanced}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HubSpotForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"480\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hubspot.map"],"mappings":"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"}