{"version":3,"file":"WithFormWebhook.DmXpFwFF.mjs","names":["useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/71swTFrRe6CqKE8WlUkK/0R7JfzR2rcuK4DyNKCK6/WithFormWebhook.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function withFormWebhook(Component){const Wrapped=/*#__PURE__*/forwardRef(function WithFormWebhook(props,forwardedRef){const{webhookUrl=\"\",...rest}=props;const elementRef=useRef(null);const AnyComponent=Component;const setRefs=useCallback(node=>{elementRef.current=node;if(typeof forwardedRef===\"function\"){forwardedRef(node);}else if(forwardedRef&&typeof forwardedRef===\"object\"){forwardedRef.current=node;}},[forwardedRef]);useEffect(()=>{const rootNode=elementRef.current;if(!rootNode||typeof window===\"undefined\")return;const formNode=rootNode instanceof HTMLFormElement?rootNode:rootNode.querySelector(\"form\");if(!formNode)return;const onSubmit=event=>{try{const target=event.target;if(!target)return;const formData=new FormData(target);const payload=Object.fromEntries(formData.entries());if(webhookUrl&&webhookUrl.trim().length>0){void fetch(webhookUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)}).catch(error=>{console.error(\"withFormWebhook: webhook request failed\",error);});}}catch(error){console.error(\"withFormWebhook: submit handler error\",error);}};formNode.addEventListener(\"submit\",onSubmit);return()=>{formNode.removeEventListener(\"submit\",onSubmit);};},[webhookUrl]);return /*#__PURE__*/_jsx(AnyComponent,{ref:setRefs,...rest});});addPropertyControls(Wrapped,{webhookUrl:{type:ControlType.String,title:\"Webhook URL\",defaultValue:\"\",placeholder:\"https://example.com/webhook\"}});return Wrapped;}\nexport const __FramerMetadata__ = {\"exports\":{\"withFormWebhook\":{\"type\":\"reactHoc\",\"name\":\"withFormWebhook\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithFormWebhook.map"],"mappings":"6MAA0J,SAAgB,EAAgB,EAAU,CAAC,IAAM,EAAqB,EAAW,SAAyB,EAAM,EAAa,CAAC,GAAK,CAAC,aAAW,GAAG,GAAG,GAAM,EAAY,EAAWA,EAAO,IAAI,EAAQ,EAAa,EAAgB,EAAQC,EAAY,GAAM,CAAC,EAAW,QAAQ,EAAQ,OAAO,GAAe,WAAY,EAAa,CAAI,EAAW,GAAc,OAAO,GAAe,WAAU,EAAa,QAAQ,EAAM,EAAE,CAAC,CAAY,CAAC,EAAuyB,OAAryB,MAAc,CAAC,IAAM,EAAS,EAAW,QAAQ,GAAG,CAAC,GAAiB,IAAS,OAAY,OAAO,IAAM,EAAS,aAAoB,gBAAgB,EAAS,EAAS,cAAc,MAAM,EAAE,GAAG,CAAC,EAAS,OAAO,IAAM,EAAS,GAAO,CAAC,GAAG,CAAC,IAAM,EAAO,EAAM,OAAO,GAAG,CAAC,EAAO,OAAO,IAAM,EAAS,IAAI,SAAS,CAAM,EAAQ,EAAQ,OAAO,YAAY,EAAS,QAAQ,CAAC,EAAK,GAAY,EAAW,KAAK,CAAC,CAAC,OAAO,GAAG,MAAW,EAAW,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,kBAAkB,EAAE,KAAK,KAAK,UAAU,CAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAO,CAAC,QAAQ,MAAM,0CAA0C,CAAK,CAAE,CAAC,CAAG,OAAO,EAAM,CAAC,QAAQ,MAAM,wCAAwC,CAAK,CAAE,CAAC,EAA+C,OAA7C,EAAS,iBAAiB,SAAS,CAAQ,MAAY,CAAC,EAAS,oBAAoB,SAAS,CAAQ,CAAE,CAAE,EAAE,CAAC,CAAU,CAAC,EAAsB,EAAK,EAAa,CAAC,IAAI,EAAQ,GAAG,CAAI,CAAC,CAAE,CAAC,EAAoJ,OAAlJ,EAAoB,EAAQ,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,YAAY,6BAA6B,CAAC,CAAC,EAAS,CAAQ,qBAAviD,IAA2D,IAAoD"}