{"version":3,"file":"WebhookForm.KgCf93b2.mjs","names":["useState","useCallback"],"sources":["https:/framerusercontent.com/modules/dc1ymERPHxBXhBSONLRE/QdYJGJtygey46lw603ry/WebhookForm.js"],"sourcesContent":["// Dynamic CMS Webhook Form\n// Creates a form that posts data to a dynamic webhook URL set via property controls.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,startTransition,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Webhook Form (CMS)\n *\n * @framerIntrinsicWidth 360\n * @framerIntrinsicHeight 420\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function WebhookForm(props){const{webhookURL,submitLabel,font,buttonFont,borderRadius,style,webinarTitle,webinarDescription,redirectUrl}=props;const[loading,setLoading]=useState(false);const[success,setSuccess]=useState(false);const[error,setError]=useState(\"\");const[fields,setFields]=useState({name:\"\",email:\"\",phone:\"\"});const[submitted,setSubmitted]=useState(false);function handleChange(e){const{name,value}=e.target;setFields(f=>({...f,[name]:value}));}const handleSubmit=useCallback(async e=>{e.preventDefault();if(!webhookURL.trim()){startTransition(()=>setError(\"No webhook URL set.\"));return;}startTransition(()=>setError(\"\"));startTransition(()=>setLoading(true));setSuccess(false);setSubmitted(false);try{// Compose data for webhook\nconst now=new Date;const body={Name:fields.name,Email:fields.email,Phone:fields.phone,URL:typeof window!==\"undefined\"?window.location.href:\"\",Date:now.toISOString().slice(0,10),Time:now.toISOString().slice(11,19),WebinarTitle:webinarTitle,Description:webinarDescription};const formData=new FormData;Object.entries(body).forEach(([key,value])=>{formData.append(key,value);});const res=await fetch(webhookURL,{method:\"POST\",body:formData});if(!res.ok)throw new Error(\"Failed to send: \"+res.status);setSuccess(true);setFields({name:\"\",email:\"\",phone:\"\"});setSubmitted(true);if(redirectUrl&&typeof window!==\"undefined\"){setTimeout(()=>{window.open(redirectUrl,\"_blank\");},800);}}catch(err){startTransition(()=>setError(err?.message||\"Unknown error\"));}finally{startTransition(()=>setLoading(false));}},[fields,webhookURL,webinarTitle,webinarDescription,redirectUrl]);return /*#__PURE__*/_jsxs(\"form\",{style:{...style,width:\"100%\",height:\"auto\",borderRadius,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap:5,...font},onSubmit:handleSubmit,\"aria-label\":\"CMS Webhook Form\",autoComplete:\"off\",children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap\",rel:\"stylesheet\"}),props.showFirstName&&/*#__PURE__*/_jsx(\"input\",{name:\"name\",value:fields.name,onChange:handleChange,required:true,style:{border:`1px solid rgba(0,0,0,0.10)`,padding:\"10px 16px\",borderRadius:10,fontSize:14,outline:\"none\",background:\"transparent\",color:\"#6d6d6d\",lineHeight:\"1.2em\",fontFamily:\"Figtree, sans-serif\",boxSizing:\"border-box\"},autoComplete:\"name\",placeholder:\"First name\"}),props.showPhone&&/*#__PURE__*/_jsx(\"input\",{name:\"phone\",value:fields.phone,onChange:handleChange,required:true,type:\"tel\",style:{border:`1px solid rgba(0,0,0,0.10)`,padding:\"10px 16px\",borderRadius:10,fontSize:14,outline:\"none\",background:\"transparent\",color:\"#6d6d6d\",lineHeight:\"1.2em\",fontFamily:\"Figtree, sans-serif\",boxSizing:\"border-box\"},autoComplete:\"tel\",placeholder:\"Phone number\"}),/*#__PURE__*/_jsx(\"input\",{name:\"email\",value:fields.email,onChange:handleChange,required:true,type:\"email\",style:{border:`1px solid rgba(0,0,0,0.10)`,padding:\"10px 16px\",borderRadius:10,fontSize:14,outline:\"none\",background:\"transparent\",color:\"#6d6d6d\",lineHeight:\"1.2em\",fontFamily:\"Figtree, sans-serif\",boxSizing:\"border-box\"},autoComplete:\"email\",placeholder:\"Email\"}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:loading,style:{background:\"linear-gradient(to bottom, #FFDE14, #FFCA00)\",color:\"#000000\",border:\"0.5px solid #E1AC00\",padding:\"15px 0\",borderRadius:12,fontWeight:600,letterSpacing:\"-0.02em\",fontSize:16,cursor:loading?\"default\":\"pointer\",opacity:loading?.6:1,// Use only a single boxShadow property with combined values\nboxShadow:\"inset 0px 2px 0px 0px rgba(255,255,255,0.55), 0 1.5px 3px 0 rgba(32, 35, 39, 0.04),0 0.5px 1px 0 rgba(60,66,87,0.03)\",transition:\"background 0.18s cubic-bezier(.4,0,1,1), border-color 0.18s cubic-bezier(.4,0,1,1)\",...buttonFont},children:submitted?\"Submitted\":loading?\"Sending...\":submitLabel})]});}addPropertyControls(WebhookForm,{webhookURL:{type:ControlType.String,title:\"Webhook URL\",placeholder:\"Paste full webhook URL here…\",defaultValue:\"\",displayTextArea:false},submitLabel:{type:ControlType.String,title:\"Submit Button\",defaultValue:\"Send Message\"},font:{type:ControlType.Font,title:\"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\"}},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:32},webinarTitle:{type:ControlType.String,title:\"Webinar Title\",defaultValue:\"Upcoming Webinar\"},webinarDescription:{type:ControlType.String,title:\"Description\",defaultValue:\"This is a sample description for the webinar.\",displayTextArea:true},redirectUrl:{type:ControlType.Link,title:\"Redirect URL (from CMS)\",placeholder:\"Paste or bind a CMS Link field…\",defaultValue:\"\",// Add helper text to encourage connecting a CMS link field\ndescription:\"Connect a CMS Link field for dynamic redirect.\"},showFirstName:{type:ControlType.Boolean,title:\"Show First Name\",defaultValue:true},showPhone:{type:ControlType.Boolean,title:\"Show Phone Number\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WebhookForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"360\",\"framerIntrinsicHeight\":\"420\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WebhookForm.map"],"mappings":"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"}