{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/OVXuH6jLewSq7gsT03RZ/8IeGeMD863kdKoGS10Uv/formspark_contact_form.js"],
  "sourcesContent": ["/*\n * Noah Joshua\n * Copyright: \u00A9 2023, Studio SK. All rights reserved.\n * Created on: December 9, 2023\n * Contact Information: noah@studiosk.co\n *\n * License: ???\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";// Define the FormSparkContactForm component with props being passed in\nexport default function FormSparkContactForm(props){// Destructure props for easy access\nconst{textfield,spacing,button,api}=props;const[loading,setLoading]=useState(false);const[success,setSuccess]=useState(false);const[isHovered,setIsHovered]=useState(false);const[name,setName]=useState(\"\");const[email,setEmail]=useState(\"\");const[phone,setPhone]=useState(\"\");const[message,setMessage]=useState(\"\");const[token,setToken]=useState(\"\");var gRecaptchaResponse=\"\";const formRef=useRef(null);// Email + Phone regex expressions\nconst emailRegex=/^(?:(?:\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")|(?:(?:[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*)|(?:\\.[a-zA-Z]{2,})))@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)\\.)+[a-zA-Z]{2,}|(?:\\[IPv6:[0-9a-fA-F:]+\\]))$/;const phoneRegex=/^(?:\\((?:0[2-9])\\)\\s?\\d{4}\\s?\\d{4}|04\\d{2}\\s?\\d{3}\\s?\\d{3}|\\+61\\s?4\\d{2}\\s?\\d{3}\\s?\\d{3})$/;useEffect(()=>{},[token]);//Capture the token on recaptcha success\nwindow.onRecaptchaSuccess=t=>{if(token==\"\"||token==null){setToken(t);gRecaptchaResponse=t;handleFormSubmission();}};// Function to dynamically load reCAPTCHA script\nconst loadRecaptchaScript=()=>{// Define the script URL\nconst scriptUrl=`https://www.google.com/recaptcha/api.js?&render=${api.recaptchaInvisibleV2Key}`;// Check if the script already exists\nconst existingScript=document.querySelector(`script[src=\"${scriptUrl}\"]`);if(existingScript){// Remove the existing script\nexistingScript.remove();}// Create a new script element\nconst script=document.createElement(\"script\");script.src=scriptUrl;script.async=true;script.defer=true;// Append the script to the document's head\ndocument.head.appendChild(script);};// Load the script when the component mounts\nuseEffect(()=>{loadRecaptchaScript();},[]);//Submit the form data to formspark\nconst submitFormData=async data=>{if(data.hasOwnProperty(\"name\")&&data.hasOwnProperty(\"email\")&&data.hasOwnProperty(\"phone\")&&data.hasOwnProperty(\"message\")){try{// Submit the form data to the endpoint\nconst response=await fetch(api.url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(data)});// Handle the response from the server\nif(response.ok){// Success logic, e.g., showing a success message\nsetSuccess(true);setLoading(false);}else{// Handle errors, e.g., showing an error message\nsetSuccess(false);setLoading(false);throw new Error(`Error: ${response}`);}}catch(error){setSuccess(false);setLoading(false);throw new Error(`Network error or other issue ${error.message}`);}}else{setSuccess(false);setLoading(false);}setToken(\"\");gRecaptchaResponse=\"\";loadRecaptchaScript();};//Validate the email field\nconst validateEmail=()=>{const emailInput=document.getElementById(\"email\");if(!emailInput)return false;if(emailInput.value.includes(\"john@doe.fake\")||emailInput.value.includes(\".fake\")||emailInput.value.includes(\"john@doe\")){return false;}emailInput.setCustomValidity(\"\");if(!emailRegex.test(emailInput.value)){emailInput.setCustomValidity(\"Please enter a valid email address.\");emailInput.reportValidity();return false;}return true;};//Validate the phone field\nconst validatePhone=()=>{if(!api.validatePhone){return true;}const phoneInput=document.getElementById(\"phone\");if(!phoneInput)return false;phoneInput.setCustomValidity(\"\");if(!phoneRegex.test(phoneInput.value)){phoneInput.setCustomValidity(\"Please enter a valid Australian phone number.\");phoneInput.reportValidity();return false;}return true;};//Validate the name field\nconst validateName=()=>{const nameInput=document.getElementById(\"name\");if(!nameInput)return false;nameInput.setCustomValidity(\"\");if(!nameInput.value.trim()){nameInput.setCustomValidity(\"Please enter your name.\");nameInput.reportValidity();return false;}return true;};//Validate the message field\nconst validateMessage=()=>{const messageInput=document.getElementById(\"message\");if(!messageInput)return false;messageInput.setCustomValidity(\"\");if(!messageInput.value.trim()){messageInput.setCustomValidity(\"Please enter a message.\");messageInput.reportValidity();return false;}return true;};//Add the Recaptcha script to the page\nuseEffect(()=>{if(// Trigger reCAPTCHA check\nisUsingRecaptcha()&&!document.querySelector(`script[src=\"https://www.google.com/recaptcha/api.js?&render=${api.recaptchaInvisibleV2Key}\"]`)){const recaptchaScript=document.createElement(\"script\");recaptchaScript.src=`https://www.google.com/recaptcha/api.js?&render=${api.recaptchaInvisibleV2Key}`;recaptchaScript.async=true;recaptchaScript.defer=true;document.body.appendChild(recaptchaScript);}},[api.recaptchaInvisibleV2Key]);//Begin form submission\nconst handleFormSubmission=async()=>{// Run custom validations\nconst isEmailValid=validateEmail();const isPhoneValid=validatePhone();const isNameValid=validateName();const isMessageValid=validateMessage();if(isEmailValid&&isPhoneValid&&isNameValid&&isMessageValid){}else{return;}setLoading(true);setSuccess(false);const currentFormData={name:name,email:email,phone:phone,message:message};if(isUsingRecaptcha()){const t=gRecaptchaResponse==\"\"||gRecaptchaResponse==null?token:gRecaptchaResponse;const dataWithToken={...currentFormData,\"g-recaptcha-response\":t};await submitFormData(dataWithToken);}else{// Directly submit the form if reCAPTCHA is not used\nawait submitFormData(currentFormData);}};// Function to reset validation message\nconst resetValidation=inputId=>{const input=document.getElementById(inputId);if(input){input.setCustomValidity(\"\");}};//Handle the submission of the form\nconst handleSubmit=e=>{e.preventDefault();if(isUsingRecaptcha()){if(token==null||token==\"\"){// Trigger reCAPTCHA check\nwindow.grecaptcha.execute();}else{handleFormSubmission();}}else{// If no reCAPTCHA, directly handle form submission\nhandleFormSubmission();}};//Determines if the user wants the form to use recaptcha or not\nconst isUsingRecaptcha=()=>{if(api.recaptchaInvisibleV2Key==null||api.recaptchaInvisibleV2Key==\"\"){return false;}return true;};// Styles\nconst formGroupStyle={display:\"flex\",flexDirection:\"column\"};const formGroupHalfWidthStyle={...formGroupStyle,flexDirection:\"row\"};const inputStyle={padding:`${textfield.padding.vertical}px ${textfield.padding.horizontal}px`,backgroundColor:textfield.color,border:\"none\",width:\"100%\",marginBottom:spacing+\"px\",borderRadius:textfield.border.radius+\"px\",paddingLeft:textfield.horizontalPadding+\"px\",fontFamily:textfield.inputFont.family,fontSize:textfield.inputFont.size+\"px\",color:textfield.inputFont.color,fontWeight:textfield.inputFont.weight,outline:`${textfield.border.thickness}px ${textfield.border.color} solid`};const placeholderStyle=`\n  ::placeholder { \n    font-family: ${textfield.hintFont.family};\n    font-size: ${textfield.hintFont.size}px;\n    color: ${textfield.hintFont.color};\n    font-weight: ${textfield.hintFont.weight};\n  }`;const spinnerAnimation=`\n    @keyframes spin {\n        0% { transform: rotate(0deg); }\n        100% { transform: rotate(360deg); }\n    }\n`;// Return the JSX for the Chart component\nreturn(//Styles\n/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:placeholderStyle}),/*#__PURE__*/_jsx(\"style\",{children:spinnerAnimation}),/*#__PURE__*/_jsxs(\"form\",{ref:formRef,method:\"POST\",className:\"contact-form\",onSubmit:e=>{handleSubmit(e);},children:[/*#__PURE__*/_jsx(\"div\",{className:\"form-group full-width\",style:formGroupStyle,children:/*#__PURE__*/_jsx(\"input\",{//name\ntype:\"text\",id:\"name\",name:\"name\",required:true,placeholder:\"Name\",onChange:e=>{resetValidation(\"name\");setName(e.target.value);},style:inputStyle})}),!textfield.splitContactRow?//Split contact row\n/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{className:\"form-group full-width\",children:/*#__PURE__*/_jsx(\"input\",{//email\ntype:\"email\",id:\"email\",name:\"email\",placeholder:\"Email\",required:true,onChange:e=>{resetValidation(\"email\");setEmail(e.target.value);},style:inputStyle})}),/*#__PURE__*/_jsx(\"div\",{className:\"form-group full-width\",children:/*#__PURE__*/_jsx(\"input\",{//phone\nrequired:true,type:\"phone\",id:\"phone\",name:\"phone\",placeholder:\"Phone\",onChange:e=>{resetValidation(\"phone\");setPhone(e.target.value);},style:inputStyle})})]})://Un-split contact row\n/*#__PURE__*/_jsxs(\"div\",{className:\"form-group half-width\",style:formGroupHalfWidthStyle,children:[/*#__PURE__*/_jsx(\"input\",{//email\ntype:\"email\",id:\"email\",name:\"email\",placeholder:\"Email\",required:true,onChange:e=>{setEmail(e.target.value);resetValidation(\"email\");},style:{...inputStyle,flex:1}}),/*#__PURE__*/_jsx(\"input\",{type:\"phone\",id:\"phone\",name:\"phone\",required:true,placeholder:\"Phone\",onChange:e=>{resetValidation(\"phone\");setPhone(e.target.value);},style:{...inputStyle,flex:1,marginLeft:spacing+\"px\"}})]}),/*#__PURE__*/_jsx(\"div\",{className:\"form-group full-width\",style:formGroupStyle,children:/*#__PURE__*/_jsx(\"textarea\",{//Message\nid:\"message\",name:\"message\",required:true,placeholder:\"Message\",onChange:e=>{resetValidation(\"message\");setMessage(e.target.value);},style:{...inputStyle,height:textfield.messageHeight+\"px\"}})}),/*#__PURE__*/_jsx(\"button\",{// Submit button\nclassName:isUsingRecaptcha()?\"g-recaptcha\":\"\",\"data-callback\":isUsingRecaptcha()?\"onRecaptchaSuccess\":null,\"data-sitekey\":isUsingRecaptcha()?api.recaptchaInvisibleV2Key:null,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),type:\"submit\",onClick:e=>{if(isUsingRecaptcha()){if(token==null||token==\"\"){}else{handleSubmit(e);}}},disabled:loading||success,style:{margin:\"0 auto\",float:\"right\",width:button.expand?\"100%\":`${button.size.width}px`,height:button.size.height+\"px\",outline:\"none\",borderRadius:button.border.radius+\"px\",marginTop:\"0px\",backgroundColor:isHovered?button.colors.hover:success?button.colors.success:button.colors.color,fontFamily:button.font.family,fontSize:button.font.size+\"px\",color:button.font.color,fontWeight:button.font.weight,transition:`background-color 0.3s ease`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`${button.border.thickness}px ${button.border.color} solid`,cursor:isHovered?\"pointer\":\"\"},children:loading?//Loading Spinner\n/*#__PURE__*/_jsx(\"div\",{style:{margin:\"0 auto\",border:\"2px solid rgba(255, 255, 255, 0.3)\",borderTop:\"2px solid #fff\",borderRadius:\"50%\",width:\"24px\",height:\"24px\",animation:\"spin 1s linear infinite\",alignSelf:\"center\"}}):success?//Success icon\n/*#__PURE__*/_jsx(\"svg\",{width:\"24px\",height:\"24px\",viewBox:\"0px 0px 24px 24px\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}):button.text})]})]}));}// Add property controls to the FormSparkContactForm component.\naddPropertyControls(FormSparkContactForm,{// Textfield property controls\ntextfield:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"white\"},border:{title:\"Border\",type:ControlType.Object,controls:{thickness:{type:ControlType.Number,defaultValue:1,unit:\"px\"},color:{type:ControlType.Color,defaultValue:\"#E0E0E0\"},radius:{type:ControlType.Number,defaultValue:8,unit:\"px\"}}},hintFont:{type:ControlType.Object,controls:{family:{type:ControlType.String,defaultValue:\"Inter\"},size:{type:ControlType.Number,defaultValue:14,unit:\"px\"},weight:{type:ControlType.Number,defaultValue:400,step:100,min:100,max:900,unit:\"w\"},color:{type:ControlType.Color,defaultValue:\"#008026\"}}},inputFont:{type:ControlType.Object,controls:{family:{type:ControlType.String,defaultValue:\"Inter\"},size:{type:ControlType.Number,defaultValue:16,unit:\"px\"},weight:{type:ControlType.Number,defaultValue:400,step:100,min:100,max:900,unit:\"w\"},color:{type:ControlType.Color,defaultValue:\"black\"}}},splitContactRow:{type:ControlType.Boolean,defaultValue:false},padding:{type:ControlType.Object,controls:{horizontal:{type:ControlType.Number,defaultValue:16,unit:\"px\"},vertical:{type:ControlType.Number,defaultValue:16,unit:\"px\"}}},messageHeight:{type:ControlType.Number,defaultValue:120,max:300,unit:\"px\"}}},// Button property controls\nbutton:{type:ControlType.Object,controls:{colors:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"#008026\"},hover:{type:ControlType.Color,defaultValue:\"#3DB05F\"},success:{type:ControlType.Color,defaultValue:\"#00BA37\"}}},text:{type:ControlType.String,defaultValue:\"Sign Up\"},font:{type:ControlType.Object,controls:{family:{type:ControlType.String,defaultValue:\"Arial\"},size:{type:ControlType.Number,defaultValue:14,unit:\"px\"},weight:{type:ControlType.Number,defaultValue:700,step:100,min:100,max:900,unit:\"w\"},color:{type:ControlType.Color,defaultValue:\"white\"}}},expand:{type:ControlType.Boolean,defaultValue:false},size:{type:ControlType.Object,controls:{width:{type:ControlType.Number,defaultValue:100,unit:\"px\",description:\"Only takes effect when Expand is FALSE\"},height:{type:ControlType.Number,defaultValue:40,unit:\"px\"}}},border:{title:\"Border\",type:ControlType.Object,controls:{thickness:{type:ControlType.Number,defaultValue:0,unit:\"px\"},color:{type:ControlType.Color,defaultValue:\"\"},radius:{type:ControlType.Number,defaultValue:4,unit:\"px\"}}}}},// Spacing property control\nspacing:{type:ControlType.Number,defaultValue:12,unit:\"px\"},// API property controls\napi:{type:ControlType.Object,controls:{url:{type:ControlType.String,title:\"FormSpark URL\",description:\"Your configured Formspark url.\",defaultValue:\"https://submit-form.com/xxx\"},validatePhone:{type:ControlType.Boolean,description:\"Validate the phone number to Australian standards\",defaultValue:true},recaptchaInvisibleV2Key:{type:ControlType.String,description:\"Recaptcha V2 Invisible Site Key. Leave blank if none.\",defaultValue:\"\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormSparkContactForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./formspark_contact_form.map"],
  "mappings": "uMAQe,SAARA,EAAsCC,EAAM,CACnD,GAAK,CAAC,UAAAC,EAAU,QAAAC,EAAQ,OAAAC,EAAO,IAAAC,CAAG,EAAEJ,EAAW,CAACK,EAAQC,CAAU,EAAEC,EAAS,EAAK,EAAO,CAACC,EAAQC,CAAU,EAAEF,EAAS,EAAK,EAAO,CAACG,EAAUC,CAAY,EAAEJ,EAAS,EAAK,EAAO,CAACK,EAAKC,CAAO,EAAEN,EAAS,EAAE,EAAO,CAACO,EAAMC,CAAQ,EAAER,EAAS,EAAE,EAAO,CAACS,EAAMC,CAAQ,EAAEV,EAAS,EAAE,EAAO,CAACW,EAAQC,CAAU,EAAEZ,EAAS,EAAE,EAAO,CAACa,EAAMC,CAAQ,EAAEd,EAAS,EAAE,EAAE,IAAIe,EAAmB,GAAG,IAAMC,EAAQC,EAAO,IAAI,EAC1YC,EAAW,uRAA6RC,EAAW,6FAA6FC,EAAU,IAAI,CAAC,EAAE,CAACP,CAAK,CAAC,EAC9aQ,EAAO,mBAAmBC,GAAG,EAAIT,GAAO,IAAIA,GAAO,QAAMC,EAASQ,CAAC,EAAEP,EAAmBO,EAAEC,EAAqB,EAAG,EAClH,IAAMC,EAAoB,IAAI,CAC9B,IAAMC,EAAU,mDAAmD5B,EAAI,0BACjE6B,EAAe,SAAS,cAAc,eAAeD,KAAa,EAAKC,GAC7EA,EAAe,OAAO,EACtB,IAAMC,EAAO,SAAS,cAAc,QAAQ,EAAEA,EAAO,IAAIF,EAAUE,EAAO,MAAM,GAAKA,EAAO,MAAM,GAClG,SAAS,KAAK,YAAYA,CAAM,CAAE,EAClCP,EAAU,IAAI,CAACI,EAAoB,CAAE,EAAE,CAAC,CAAC,EACzC,IAAMI,EAAe,MAAMC,GAAM,CAAC,GAAGA,EAAK,eAAe,MAAM,GAAGA,EAAK,eAAe,OAAO,GAAGA,EAAK,eAAe,OAAO,GAAGA,EAAK,eAAe,SAAS,EAAG,GAAG,CACjK,IAAMC,EAAS,MAAM,MAAMjC,EAAI,IAAI,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,mBAAmB,OAAO,kBAAkB,EAAE,KAAK,KAAK,UAAUgC,CAAI,CAAC,CAAC,EAClJ,GAAGC,EAAS,GACZ5B,EAAW,EAAI,EAAEH,EAAW,EAAK,MACjC,OAAAG,EAAW,EAAK,EAAEH,EAAW,EAAK,EAAQ,IAAI,MAAM,UAAU+B,GAAU,CAAG,OAAOC,EAAN,CAAa,MAAA7B,EAAW,EAAK,EAAEH,EAAW,EAAK,EAAQ,IAAI,MAAM,gCAAgCgC,EAAM,SAAS,CAAE,MAAO7B,EAAW,EAAK,EAAEH,EAAW,EAAK,EAAGe,EAAS,EAAE,EAAEC,EAAmB,GAAGS,EAAoB,CAAE,EAC7RQ,EAAc,IAAI,CAAC,IAAMC,EAAW,SAAS,eAAe,OAAO,EAA8B,MAAzB,CAACA,GAA2BA,EAAW,MAAM,SAAS,eAAe,GAAGA,EAAW,MAAM,SAAS,OAAO,GAAGA,EAAW,MAAM,SAAS,UAAU,EAAU,IAAOA,EAAW,kBAAkB,EAAE,EAAMf,EAAW,KAAKe,EAAW,KAAK,EAAwH,IAArHA,EAAW,kBAAkB,qCAAqC,EAAEA,EAAW,eAAe,EAAS,IAAmB,EAC3aC,EAAc,IAAI,CAAC,GAAG,CAACrC,EAAI,cAAe,MAAO,GAAM,IAAMsC,EAAW,SAAS,eAAe,OAAO,EAAE,OAAIA,GAAwBA,EAAW,kBAAkB,EAAE,EAAMhB,EAAW,KAAKgB,EAAW,KAAK,EAAkI,IAA/HA,EAAW,kBAAkB,+CAA+C,EAAEA,EAAW,eAAe,EAAS,KAA/L,EAAkN,EACjVC,EAAa,IAAI,CAAC,IAAMC,EAAU,SAAS,eAAe,MAAM,EAAE,OAAIA,GAAuBA,EAAU,kBAAkB,EAAE,EAAMA,EAAU,MAAM,KAAK,EAA0G,IAAvGA,EAAU,kBAAkB,yBAAyB,EAAEA,EAAU,eAAe,EAAS,KAA3J,EAA8K,EACrQC,EAAgB,IAAI,CAAC,IAAMC,EAAa,SAAS,eAAe,SAAS,EAAE,OAAIA,GAA0BA,EAAa,kBAAkB,EAAE,EAAMA,EAAa,MAAM,KAAK,EAAgH,IAA7GA,EAAa,kBAAkB,yBAAyB,EAAEA,EAAa,eAAe,EAAS,KAAvK,EAA0L,EACnSnB,EAAU,IAAI,CAAC,GACfoB,EAAiB,GAAG,CAAC,SAAS,cAAc,+DAA+D3C,EAAI,2BAA2B,EAAE,CAAC,IAAM4C,EAAgB,SAAS,cAAc,QAAQ,EAAEA,EAAgB,IAAI,mDAAmD5C,EAAI,0BAA0B4C,EAAgB,MAAM,GAAKA,EAAgB,MAAM,GAAK,SAAS,KAAK,YAAYA,CAAe,EAAG,EAAE,CAAC5C,EAAI,uBAAuB,CAAC,EAC1a,IAAM0B,EAAqB,SAAS,CACpC,IAAMmB,EAAaV,EAAc,EAAQW,EAAaT,EAAc,EAAQU,EAAYR,EAAa,EAAQS,EAAeP,EAAgB,EAAE,GAAG,EAAAI,GAAcC,GAAcC,GAAaC,GAAsB,OAAQ9C,EAAW,EAAI,EAAEG,EAAW,EAAK,EAAE,IAAM4C,EAAgB,CAAC,KAAKzC,EAAK,MAAME,EAAM,MAAME,EAAM,QAAQE,CAAO,EAAE,GAAG6B,EAAiB,EAAE,CAAC,IAAMlB,GAAEP,GAAoB,IAAIA,GAAoB,KAAKF,EAAME,EAAyBgC,GAAc,CAAC,GAAGD,EAAgB,uBAAuBxB,EAAC,EAAE,MAAMM,EAAemB,EAAa,OAClhB,MAAMnB,EAAekB,CAAe,CAAG,EACjCE,EAAgBC,GAAS,CAAC,IAAMC,EAAM,SAAS,eAAeD,CAAO,EAAKC,GAAOA,EAAM,kBAAkB,EAAE,CAAG,EAC9GC,EAAa,GAAG,CAAC,EAAE,eAAe,EAAKX,EAAiB,IAAM3B,GAAO,MAAMA,GAAO,IACxFQ,EAAO,WAAW,QAAQ,EAC1BE,EAAqB,CAAG,EAClBiB,EAAiB,IAAQ,EAAA3C,EAAI,yBAAyB,MAAMA,EAAI,yBAAyB,IACzFuD,EAAe,CAAC,QAAQ,OAAO,cAAc,QAAQ,EAAQC,EAAwB,CAAC,GAAGD,EAAe,cAAc,KAAK,EAAQE,EAAW,CAAC,QAAQ,GAAG5D,EAAU,QAAQ,cAAcA,EAAU,QAAQ,eAAe,gBAAgBA,EAAU,MAAM,OAAO,OAAO,MAAM,OAAO,aAAaC,EAAQ,KAAK,aAAaD,EAAU,OAAO,OAAO,KAAK,YAAYA,EAAU,kBAAkB,KAAK,WAAWA,EAAU,UAAU,OAAO,SAASA,EAAU,UAAU,KAAK,KAAK,MAAMA,EAAU,UAAU,MAAM,WAAWA,EAAU,UAAU,OAAO,QAAQ,GAAGA,EAAU,OAAO,eAAeA,EAAU,OAAO,aAAa,EAAQ6D,EAAiB;AAAA;AAAA,mBAE/mB7D,EAAU,SAAS;AAAA,iBACrBA,EAAU,SAAS;AAAA,aACvBA,EAAU,SAAS;AAAA,mBACbA,EAAU,SAAS;AAAA,KAOtC,OACa8D,EAAMC,EAAU,CAAC,SAAS,CAAcC,EAAK,QAAQ,CAAC,SAASH,CAAgB,CAAC,EAAeG,EAAK,QAAQ,CAAC,SAP9F;AAAA;AAAA;AAAA;AAAA;AAAA,CAOuH,CAAC,EAAeF,EAAM,OAAO,CAAC,IAAIxC,EAAQ,OAAO,OAAO,UAAU,eAAe,SAAS,GAAG,CAACmC,EAAa,CAAC,CAAE,EAAE,SAAS,CAAcO,EAAK,MAAM,CAAC,UAAU,wBAAwB,MAAMN,EAAe,SAAsBM,EAAK,QAAQ,CAChY,KAAK,OAAO,GAAG,OAAO,KAAK,OAAO,SAAS,GAAK,YAAY,OAAO,SAAS,GAAG,CAACV,EAAgB,MAAM,EAAE1C,EAAQ,EAAE,OAAO,KAAK,CAAE,EAAE,MAAMgD,CAAU,CAAC,CAAC,CAAC,EAAG5D,EAAU,gBAIrJ8D,EAAM,MAAM,CAAC,UAAU,wBAAwB,MAAMH,EAAwB,SAAS,CAAcK,EAAK,QAAQ,CAC9H,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,YAAY,QAAQ,SAAS,GAAK,SAAS,GAAG,CAAClD,EAAS,EAAE,OAAO,KAAK,EAAEwC,EAAgB,OAAO,CAAE,EAAE,MAAM,CAAC,GAAGM,EAAW,KAAK,CAAC,CAAC,CAAC,EAAeI,EAAK,QAAQ,CAAC,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAK,YAAY,QAAQ,SAAS,GAAG,CAACV,EAAgB,OAAO,EAAEtC,EAAS,EAAE,OAAO,KAAK,CAAE,EAAE,MAAM,CAAC,GAAG4C,EAAW,KAAK,EAAE,WAAW3D,EAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAJrX6D,EAAM,MAAM,CAAC,SAAS,CAAcE,EAAK,MAAM,CAAC,UAAU,wBAAwB,SAAsBA,EAAK,QAAQ,CAClI,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,YAAY,QAAQ,SAAS,GAAK,SAAS,GAAG,CAACV,EAAgB,OAAO,EAAExC,EAAS,EAAE,OAAO,KAAK,CAAE,EAAE,MAAM8C,CAAU,CAAC,CAAC,CAAC,EAAeI,EAAK,MAAM,CAAC,UAAU,wBAAwB,SAAsBA,EAAK,QAAQ,CAC3P,SAAS,GAAK,KAAK,QAAQ,GAAG,QAAQ,KAAK,QAAQ,YAAY,QAAQ,SAAS,GAAG,CAACV,EAAgB,OAAO,EAAEtC,EAAS,EAAE,OAAO,KAAK,CAAE,EAAE,MAAM4C,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEmPI,EAAK,MAAM,CAAC,UAAU,wBAAwB,MAAMN,EAAe,SAAsBM,EAAK,WAAW,CAC1f,GAAG,UAAU,KAAK,UAAU,SAAS,GAAK,YAAY,UAAU,SAAS,GAAG,CAACV,EAAgB,SAAS,EAAEpC,EAAW,EAAE,OAAO,KAAK,CAAE,EAAE,MAAM,CAAC,GAAG0C,EAAW,OAAO5D,EAAU,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,EAAegE,EAAK,SAAS,CAC9N,UAAUlB,EAAiB,EAAE,cAAc,GAAG,gBAAgBA,EAAiB,EAAE,qBAAqB,KAAK,eAAeA,EAAiB,EAAE3C,EAAI,wBAAwB,KAAK,aAAa,IAAIO,EAAa,EAAI,EAAE,aAAa,IAAIA,EAAa,EAAK,EAAE,KAAK,SAAS,QAAQ,GAAG,CAAIoC,EAAiB,IAAM3B,GAAO,MAAMA,GAAO,IAAUsC,EAAa,CAAC,EAAI,EAAE,SAASrD,GAASG,EAAQ,MAAM,CAAC,OAAO,SAAS,MAAM,QAAQ,MAAML,EAAO,OAAO,OAAO,GAAGA,EAAO,KAAK,UAAU,OAAOA,EAAO,KAAK,OAAO,KAAK,QAAQ,OAAO,aAAaA,EAAO,OAAO,OAAO,KAAK,UAAU,MAAM,gBAAgBO,EAAUP,EAAO,OAAO,MAAMK,EAAQL,EAAO,OAAO,QAAQA,EAAO,OAAO,MAAM,WAAWA,EAAO,KAAK,OAAO,SAASA,EAAO,KAAK,KAAK,KAAK,MAAMA,EAAO,KAAK,MAAM,WAAWA,EAAO,KAAK,OAAO,WAAW,6BAA6B,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,GAAGA,EAAO,OAAO,eAAeA,EAAO,OAAO,cAAc,OAAOO,EAAU,UAAU,EAAE,EAAE,SAASL,EACz8B4D,EAAK,MAAM,CAAC,MAAM,CAAC,OAAO,SAAS,OAAO,qCAAqC,UAAU,iBAAiB,aAAa,MAAM,MAAM,OAAO,OAAO,OAAO,UAAU,0BAA0B,UAAU,QAAQ,CAAC,CAAC,EAAEzD,EAClNyD,EAAK,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,oBAAoB,KAAK,OAAO,MAAM,6BAA6B,SAAsBA,EAAK,OAAO,CAAC,EAAE,0IAA0I,OAAO,QAAQ,YAAY,IAAI,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,EAAE9D,EAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAG,CACnZ+D,EAAoBnE,EAAqB,CACzC,UAAU,CAAC,KAAKoE,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,OAAO,EAAE,OAAO,CAAC,MAAM,SAAS,KAAKA,EAAY,OAAO,SAAS,CAAC,UAAU,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,SAAS,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,OAAO,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,OAAO,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAKA,EAAY,QAAQ,aAAa,EAAK,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,WAAW,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,EACxsC,OAAO,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,OAAO,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,SAAS,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,SAAS,EAAE,QAAQ,CAAC,KAAKA,EAAY,MAAM,aAAa,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,SAAS,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,OAAO,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAKA,EAAY,QAAQ,aAAa,EAAK,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,KAAK,YAAY,wCAAwC,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,SAAS,KAAKA,EAAY,OAAO,SAAS,CAAC,UAAU,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,EAAE,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAC5jC,QAAQ,CAAC,KAAKA,EAAY,OAAO,aAAa,GAAG,KAAK,IAAI,EAC1D,IAAI,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,IAAI,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,YAAY,iCAAiC,aAAa,6BAA6B,EAAE,cAAc,CAAC,KAAKA,EAAY,QAAQ,YAAY,oDAAoD,aAAa,EAAI,EAAE,wBAAwB,CAAC,KAAKA,EAAY,OAAO,YAAY,wDAAwD,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC",
  "names": ["FormSparkContactForm", "props", "textfield", "spacing", "button", "api", "loading", "setLoading", "ye", "success", "setSuccess", "isHovered", "setIsHovered", "name", "setName", "email", "setEmail", "phone", "setPhone", "message", "setMessage", "token", "setToken", "gRecaptchaResponse", "formRef", "pe", "emailRegex", "phoneRegex", "ue", "window", "t", "handleFormSubmission", "loadRecaptchaScript", "scriptUrl", "existingScript", "script", "submitFormData", "data", "response", "error", "validateEmail", "emailInput", "validatePhone", "phoneInput", "validateName", "nameInput", "validateMessage", "messageInput", "isUsingRecaptcha", "recaptchaScript", "isEmailValid", "isPhoneValid", "isNameValid", "isMessageValid", "currentFormData", "dataWithToken", "resetValidation", "inputId", "input", "handleSubmit", "formGroupStyle", "formGroupHalfWidthStyle", "inputStyle", "placeholderStyle", "u", "l", "p", "addPropertyControls", "ControlType"]
}
