{"version":3,"file":"SubmitButton.AIv83YLE.mjs","names":["useState","useState","useRef"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/MVzz2HKOSVPXKxZqPZdW/YpgjMrjs07OJc6jTFbm7/SharedFormCode.js","https:/framerusercontent.com/modules/MzEVLk1keIMeijYoJIKe/i0tcdkic4f5pFk0eGNnQ/SubmitButton.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useFormStore=createStore({});export const SUPABASE_KEY=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1ocndkdnNpdHJ6Y3pybmV1YXhnIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDkxNjgyNzgsImV4cCI6MjAyNDc0NDI3OH0.4Pyysu1vMhnd1k1hbOSZ2lcx7hr1iH6MgX7fyTScYmU\";export function FormIcon(props){var _icon_image;const{icon,style}=props;if(!icon){return null;}return[/*#__PURE__*/_jsx(\"div\",{className:\"form-icon\",style:{width:icon.size,height:icon.size,opacity:icon.opacity,color:icon.color||props.fontColor,backgroundImage:icon.type==\"image\"&&`url(${(_icon_image=icon.image)===null||_icon_image===void 0?void 0:_icon_image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",pointerEvents:\"none\",...style},dangerouslySetInnerHTML:icon.type==\"svg\"?{__html:icon.svg.replace(/width=\"(\\d+)\"/,`width=\"${icon.size}\"`).replace(/height=\"(\\d+)\"/,`width=\"${icon.size}\"`)}:undefined}),(icon===null||icon===void 0?void 0:icon.type)==\"svg\"&&/*#__PURE__*/_jsx(\"style\",{children:`.form-icon svg { display: block; }`})];}export const iconPropertyControls={type:ControlType.Object,optional:true,controls:{position:{type:ControlType.Enum,defaultValue:\"left\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true},gap:{type:ControlType.Number,defaultValue:12,min:0,step:1},type:{type:ControlType.Enum,defaultValue:\"svg\",options:[\"svg\",\"image\"],optionTitles:[\"SVG\",\"Image\"],displaySegmentedControl:true},svg:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"SVG\",hidden:props=>props.type!=\"svg\"},image:{type:ControlType.ResponsiveImage,hidden:props=>props.type!=\"image\"},color:{type:ControlType.Color,optional:true,hidden:props=>props.type!=\"svg\"},size:{type:ControlType.Number,defaultValue:24,min:1,step:1},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}}};export const shadowPropertyControls={type:ControlType.Object,optional:true,controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.25)\"},x:{type:ControlType.Number,defaultValue:0,displayStepper:true},y:{type:ControlType.Number,defaultValue:2,displayStepper:true},blur:{type:ControlType.Number,defaultValue:4,min:0,displayStepper:true},spread:{type:ControlType.Number,defaultValue:0,displayStepper:true}}};class FramerFormsSDK{fetchPresignedURL(file){var _file_name;return fetch(`https://api.framerforms.com/s3/signed-url`,{method:\"POST\",body:JSON.stringify({file_name:(_file_name=file.name)===null||_file_name===void 0?void 0:_file_name.replace(/\\s+/g,\"-\")}),headers:{\"Content-Type\":\"application/json\"}}).then(async response=>{const responseBody=await response.json();if(response.status>200){throw new Error(responseBody.errorMessage);}return responseBody;});}postToPresignedURL(file,presignedUrl){return new Promise((resolve,reject)=>{fetch(presignedUrl,{method:\"PUT\",body:file}).then(()=>resolve({fileLocation:removeURLParameters(presignedUrl)})).catch(reject);});}uploadFile(file){return new Promise((resolve,reject)=>{this.fetchPresignedURL(file).then(({presignedUrl})=>this.postToPresignedURL(file,presignedUrl)).then(resolve).catch(reject);});}}const framerFormsSDK=new FramerFormsSDK;export{framerFormsSDK};function removeURLParameters(urlString){const url=new URL(urlString);url.search=\"\";return url.toString();}\nexport const __FramerMetadata__ = {\"exports\":{\"iconPropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowPropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SUPABASE_KEY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormIcon\":{\"type\":\"reactComponent\",\"name\":\"FormIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"framerFormsSDK\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SharedFormCode.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Link}from\"framer\";import{useEffect,useState,useRef}from\"react\";import{motion}from\"framer-motion\";import{FormIcon,iconPropertyControls,useFormStore,SUPABASE_KEY}from\"https://framerusercontent.com/modules/MVzz2HKOSVPXKxZqPZdW/YpgjMrjs07OJc6jTFbm7/SharedFormCode.js\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 500\n */export default function SubmitButton(props){var _props_hoverCustomization,_props_hoverCustomization1,_props_hoverCustomization2,_props_pressCustomization,_props_pressCustomization1,_props_pressCustomization2,_props_font;const{formId,clickAction,submitPlatform,submitUrl,responseInfo,redirectOnSuccess,scrollOptions,icon,border,success,failure,apiConfig}=props;const borderRadius=props.radiusIsMixed?`${props.radiusTopLeft}px ${props.radiusTopRight}px ${props.radiusBottomRight}px ${props.radiusBottomLeft}px`:`${props.radius}px`;const[formState,setFormState]=useFormStore();const[submitted,setSubmitted]=useState(false);const redirectLinkRef=useRef(null);// Reset/clear form\nfunction resetFormState(){setFormState(prev=>{const newForm={};for(const fieldName in prev[formId]){newForm[fieldName]={...prev[formId][fieldName],value:prev[formId][fieldName].defaultValue};}return{[formId]:newForm};});}useEffect(()=>{setFormState({});return()=>{setFormState(prev=>{const{[formId]:_,...newState}=prev;return newState;});};},[]);async function onSubmitClick(){const invalidFields=[];if(submitted){return;}// Find invalid fields\nconst form=formState[formId];for(const fieldName in form){const field=form[fieldName];if(field.visible&&!field.isValid(field.value)){invalidFields.push(fieldName);}}if(invalidFields.length==0){if(clickAction==\"submitForm\"){// Process final field values\nconst formData={};for(const fieldName in form){const field=form[fieldName];const name=processFieldName(fieldName,submitPlatform);if(field.processValue){formData[name]=await field.processValue(field.value);}else{formData[name]=field.value;}}let url=\"\";let fetchMode=\"no-cors\";let contentType=\"application/json\";let headers={};switch(submitPlatform){case\"url\":var _apiConfig_apiKey;url=submitUrl.replace(\"submit-form.com\",\"api.formspark.io\");if(url.includes(\"loops.so/api\")){contentType=\"application/x-www-form-urlencoded\";}// Fix CORS issues with Formspark and Make.com\nif(url.includes(\"submit-form.com\")||url.includes(\"api.formspark.io\")||url.includes(\".make.com\")){fetchMode=\"cors\";}if(apiConfig===null||apiConfig===void 0?void 0:(_apiConfig_apiKey=apiConfig.apiKey)===null||_apiConfig_apiKey===void 0?void 0:_apiConfig_apiKey.length){headers.Authorization=`Bearer ${apiConfig.apiKey}`;}break;case\"zapier\":url=props.zapierWebhookUrl;break;case\"make\":url=props.makeWebhookUrl;fetchMode=\"cors\";break;case\"formspark\":url=`https://api.formspark.io/${props.formsparkFormId}`;fetchMode=\"cors\";break;case\"formspree\":url=props.formspreeEndpoint;break;case\"loops\":var _props_loopsUserGroup;url=props.loopsUrl;contentType=\"application/x-www-form-urlencoded\";fetchMode=\"cors\";if((_props_loopsUserGroup=props.loopsUserGroup)===null||_props_loopsUserGroup===void 0?void 0:_props_loopsUserGroup.length){formData.userGroup=props.loopsUserGroup;}// Email address\nfor(const fieldName in form){const field=form[fieldName];if(field.type==\"email\"){delete formData[field.name];formData.email=field.value;break;}}break;case\"mailchimp\":const[domain,parameters]=parseMailchimpUrl(props.mailchimpUrl);url=`https://${domain}/subscribe/post`;contentType=\"application/x-www-form-urlencoded;charset=UTF-8\";if(parameters){for(const key in parameters){formData[key]=parameters[key];}}// Find email, phone, and birthday fields\nlet emailFound=false;let phoneFound=false;let birthdayFound=false;for(const fieldName in form){const field=form[fieldName];if(!emailFound&&field.type==\"email\"){delete formData[field.name];formData.EMAIL=field.value;emailFound=true;}if(!phoneFound&&field.type==\"phone\"){delete formData[field.name];formData.PHONE=field.value;phoneFound=true;}if(!birthdayFound&&field.type==\"date\"&&field.name==\"birthday\"){formData[\"BIRTHDAY[month]\"]=field.value.getMonth()+1;formData[\"BIRTHDAY[day]\"]=field.value.getDate();delete formData[field.name];birthdayFound=true;}}break;case\"mailerLite\":url=props.mailerLiteUrl;contentType=\"application/x-www-form-urlencoded\";// Email address\nfor(const fieldName in form){const field=form[fieldName];if(field.type==\"email\"){delete formData[field.name];formData[\"fields[email]\"]=field.value;break;}}break;case\"hubSpot\":url=`https://api.hsforms.com/submissions/v3/integration/submit/${props.hubSpotPortalId}/${props.hubSpotFormId}`;fetchMode=\"cors\";break;case\"klaviyo\":url=\"https://manage.kmail-lists.com/subscriptions/external/subscribe\";contentType=\"application/x-www-form-urlencoded\";formData.g=props.klaviyoListId// g is the list ID field\n;// Email address\nfor(const fieldName in form){const field=form[fieldName];if(field.type==\"email\"){delete formData[field.name];formData[\"$email\"]=field.value;break;}}break;}// Add URL to form response\nif(responseInfo.url){formData[responseInfo.urlName]=window.location.href;}// Add UTM parameters\nif(responseInfo.utmParams){const queryParams=new URLSearchParams(window.location.search);queryParams.forEach((value,key)=>{// Check if the key starts with 'utm_' (indicating it's a UTM parameter)\nif(key.startsWith(\"utm_\")){formData[key]=value;}});}let body=\"\";// if (submitPlatform == \"hubSpot\") {\n//     const hsBody = {\n//         context: {\n//             pageUri: window.location.href,\n//             pageName: document.title,\n//         },\n//         fields: Object.keys(form).map((fieldName) => {\n//             const field = form[fieldName]\n//             return {\n//                 objectTypeId: \"0-1\",\n//                 name: fieldName,\n//                 value: field.value,\n//             }\n//         }),\n//     }\n//     // Add HutSpot tracking cookie.\n//     // Requires the HubSpot tracking script to be installed on the page.\n//     const hutk = getCookieValue(\"hubspotutk\")\n//     if (hutk?.length) {\n//         hsBody.context.hutk = hutk\n//     }\n//     let communicationsText = \"\"\n//     let processingText = \"\"\n//     for (const fieldName in form) {\n//         if (fieldName == \"communications\") {\n//             communicationsText =\n//                 form[fieldName].ref.current?.textContent\n//         } else if (fieldName == \"processing\") {\n//             processingText =\n//                 form[fieldName].ref.current?.textContent\n//         }\n//     }\n//     switch (props.hubSpotConsentType) {\n//         case \"communications\":\n//         case \"communicationsAndProcessing\":\n//             hsBody.legalConsentOptions = {\n//                 consent: {\n//                     consentToProcess: true,\n//                     text: processingText,\n//                     communications: [\n//                         {\n//                             value: false,\n//                             subscriptionTypeId:\n//                                 props.hubSpotSubscriptionTypeId,\n//                             text: communicationsText,\n//                         },\n//                     ],\n//                 },\n//             }\n//             break\n//         case \"legitimateInterest\":\n//             hsBody.legalConsentOptions = {\n//                 legitimateInterest: {\n//                     value: true, // Finish this //\n//                     subscriptionTypeId:\n//                         props.hubSpotSubscriptionTypeId,\n//                     legalBasis: props.hubSpotLegalBasis,\n//                     text: \"\",\n//                 },\n//             }\n//             break\n//     }\n//     for (const fieldName in form) {\n//         const field = form[fieldName]\n//         if (\n//             field.type == \"consent\" ||\n//             field.type == \"checkbox\"\n//         ) {\n//             hsBody.legalConsentOptions = {\n//                 consent: {\n//                     consentToProcess: true,\n//                     text: field.ref.current?.textContent,\n//                     communications: [\n//                         {\n//                             value: true,\n//                             subscriptionTypeId:\n//                                 props.hubSpotSubscriptionTypeId,\n//                         },\n//                     ],\n//                 },\n//             }\n//             delete formData[field.name]\n//             break\n//         }\n//     }\n//     body = JSON.stringify(hsBody)\n// } else {\nif(contentType==\"application/json\"){body=JSON.stringify(formData);}else if(contentType.startsWith(\"application/x-www-form-urlencoded\")){body=new URLSearchParams(formData).toString();}// }\nsetSubmitted(true);try{const response=await fetch(url,{method:\"POST\",mode:fetchMode,body,headers:{\"Content-Type\":contentType,Accept:\"application/json\",...headers}});if(response.ok||response.type==\"opaque\"){if((redirectOnSuccess===null||redirectOnSuccess===void 0?void 0:redirectOnSuccess.length)&&redirectLinkRef.current){redirectLinkRef.current.click();}try{fetch(\"https://mhrwdvsitrzczrneuaxg.supabase.co/rest/v1/framerforms_websites\",{method:\"POST\",headers:{apikey:SUPABASE_KEY,Authorization:`Bearer ${SUPABASE_KEY}`,\"Content-Type\":\"application/json\",Prefer:\"return=minimal\"},body:JSON.stringify({url:window.location.href})});}catch(error){console.error(\"Error:\",error);}resetFormState();setSubmitted(false);success===null||success===void 0?void 0:success();}else{setSubmitted(false);failure===null||failure===void 0?void 0:failure();}}catch(error){console.error(\"Error submitting form: \",error);setSubmitted(false);failure===null||failure===void 0?void 0:failure();}}else{// Validate form without submitting to URL\nsetSubmitted(false);success===null||success===void 0?void 0:success();}}else{console.log(\"Not all required form fields are filled:\",invalidFields.join(\", \"));if(scrollOptions){// Scroll to first invalid field\nlet closestRef=null;let closestDistance=Number.POSITIVE_INFINITY;for(const fieldName in form){const ref=form[fieldName].ref;if(invalidFields.includes(fieldName)&&ref.current){const rect=ref.current.getBoundingClientRect();const distance=rect.top+window.pageYOffset;if(distance>=0&&distance<closestDistance){closestRef=ref;closestDistance=distance;}}}if(closestRef){window.scrollTo({behavior:\"smooth\",top:closestRef.current.getBoundingClientRect().top-document.body.getBoundingClientRect().top+scrollOptions.offset});}}setSubmitted(false);failure===null||failure===void 0?void 0:failure();}}return /*#__PURE__*/_jsxs(motion.button,{type:\"submit\",onClick:onSubmitClick,whileHover:{backgroundColor:(_props_hoverCustomization=props.hoverCustomization)===null||_props_hoverCustomization===void 0?void 0:_props_hoverCustomization.fill,color:(_props_hoverCustomization1=props.hoverCustomization)===null||_props_hoverCustomization1===void 0?void 0:_props_hoverCustomization1.fontColor,\"--border-color\":(_props_hoverCustomization2=props.hoverCustomization)===null||_props_hoverCustomization2===void 0?void 0:_props_hoverCustomization2.borderColor},whileTap:{backgroundColor:(_props_pressCustomization=props.pressCustomization)===null||_props_pressCustomization===void 0?void 0:_props_pressCustomization.fill,color:(_props_pressCustomization1=props.pressCustomization)===null||_props_pressCustomization1===void 0?void 0:_props_pressCustomization1.fontColor,\"--border-color\":(_props_pressCustomization2=props.pressCustomization)===null||_props_pressCustomization2===void 0?void 0:_props_pressCustomization2.borderColor},animate:{borderRadius:borderRadius,padding:props.paddingIsMixed?`${props.paddingTop}px ${props.paddingRight}px ${props.paddingBottom}px ${props.paddingLeft}px`:`${props.padding}px`,backgroundColor:props.backgroundColor,boxShadow:props.shadows,color:props.fontColor,\"--border-color\":border===null||border===void 0?void 0:border.color},style:{position:\"relative\",display:\"flex\",flexDirection:(icon===null||icon===void 0?void 0:icon.position)==\"right\"?\"row-reverse\":\"row\",gap:icon===null||icon===void 0?void 0:icon.gap,alignItems:\"center\",justifyContent:((_props_font=props.font)===null||_props_font===void 0?void 0:_props_font.textAlign)||\"center\",border:\"none\",outline:\"none\",cursor:\"pointer\",userSelect:props.textSelect?\"auto\":\"none\",...props.font,...props.style},initial:false,transition:props.transition,children:[/*#__PURE__*/_jsx(FormIcon,{icon:icon,style:{}}),props.text,border&&/*#__PURE__*/_jsx(motion.div,{animate:{borderRadius:borderRadius},style:{position:\"absolute\",inset:0,borderWidth:border.widthIsMixed?`${border.widthTop}px ${border.widthRight}px ${border.widthBottom}px ${border.widthLeft}px`:`${border.width}px`,borderStyle:border.style,borderColor:\"var(--border-color)\",pointerEvents:\"none\"},initial:false,transition:props.transition}),redirectOnSuccess&&/*#__PURE__*/_jsx(Link,{ref:redirectLinkRef,href:redirectOnSuccess,openInNewTab:props.newTab,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{})})]});}SubmitButton.displayName=\"Submit Button\";addPropertyControls(SubmitButton,{formId:{type:ControlType.Number,defaultValue:0,step:1,min:0,displayStepper:true,title:\"Form ID\"},clickAction:{type:ControlType.Enum,defaultValue:\"submitForm\",options:[\"submitForm\",\"validateForm\"],optionTitles:[\"Submit Form\",\"Validate Form\"]},///////////////////////////////////////////////////////////////////////\nsubmitPlatform:{type:ControlType.Enum,defaultValue:\"url\",options:[\"url\",// \"airtable\",\n\"formspark\",\"formspree\",// \"hevoData\",\n// \"hubSpot\",\n// \"klaviyo\",\n\"loops\",\"mailchimp\",\"mailerLite\",\"make\",// \"n8n\",\n\"zapier\"],optionTitles:[\"Custom URL\",// \"Airtable\",\n\"Formspark\",\"Formspree\",// \"Hevo Data\",\n// \"HubSpot\",\n// \"Klaviyo\",\n\"Loops\",\"Mailchimp\",\"MailerLite\",\"Make.com\",// \"n8n\",\n\"Zapier\"],title:\"Submit To\",hidden:notSubmitForm},submitUrl:{title:\"URL\",type:ControlType.String,defaultValue:\"\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"url\"},zapierWebhookUrl:{title:\"Webhook URL\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://hooks.zapier.com/hooks/catch/...\",description:\"Webhook URL from the Webhooks by Zapier action\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"zapier\"},makeWebhookUrl:{title:\"Webhook URL\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://hook.us1.make.com/...\",description:\"Webhook URL from the custom webhook bubble\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"make\"},formsparkFormId:{title:\"Formspark Form ID\",type:ControlType.String,defaultValue:\"\",description:\"Form ID from Formspark\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"formspark\"},formspreeEndpoint:{title:\"Formspree Endpoint\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://formspree.io/f/...\",description:\"Form endpoint URL from Formspree\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"formspree\"},loopsUrl:{title:\"Loops URL\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://app.loops.so/api/newsletter-form/...\",description:\"Form endpoint URL from Loops\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"loops\"},loopsUserGroup:{title:\"User Group\",type:ControlType.String,defaultValue:\"\",placeholder:\"Loops User Group\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"loops\"},mailchimpUrl:{title:\"Mailchimp URL\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://***.us*.list-manage.com/subscribe/post?u=...\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"mailchimp\"},mailerLiteUrl:{title:\"MailerLite URL\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://assets.mailerlite.com/jsonp/.../forms/.../subscribe\",hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"mailerLite\"},// hubSpotPortalId: {\n//     type: ControlType.String,\n//     defaultValue: \"\",\n//     title: \"Portal ID\",\n//     placeholder: \"HubSpot Portal ID\",\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"hubSpot\",\n// },\n// hubSpotFormId: {\n//     type: ControlType.String,\n//     defaultValue: \"\",\n//     title: \"Form ID\",\n//     placeholder: \"HubSpot Form ID\",\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"hubSpot\",\n// },\n// hubSpotSubscriptionTypeId: {\n//     type: ControlType.Number,\n//     title: \"Subscription Type ID\",\n//     displayStepper: true,\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"hubSpot\",\n// },\n// hubSpotConsentType: {\n//     type: ControlType.Enum,\n//     defaultValue: \"communications\",\n//     options: [\n//         \"communications\",\n//         \"communicationsAndProcessing\",\n//         \"legitimateInterest\",\n//     ],\n//     optionTitles: [\n//         \"Consent checkbox for communications; form submit as consent to process\",\n//         \"Consent checkboxes for communications and processing\",\n//         \"Legitimate interest\",\n//     ],\n//     title: \"Consent Type\",\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"hubSpot\",\n// },\n// hubSpotLegalBasis: {\n//     type: ControlType.Enum,\n//     defaultValue: \"customer\",\n//     options: [\"CUSTOMER\", \"LEAD\"],\n//     optionTitles: [\"Customer\", \"Lead\"],\n//     displaySegmentedControl: true,\n//     title: \"Legal Basis\",\n//     hidden: (props) =>\n//         notSubmitForm(props) ||\n//         props.submitPlatform != \"hubSpot\" ||\n//         props.hubSpotConsentType != \"legitimateInterest\",\n// },\n// klaviyoListId: {\n//     title: \"List ID\",\n//     type: ControlType.String,\n//     defaultValue: \"\",\n//     description: \"List ID from Klaviyo\",\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"klaviyo\",\n// },\n// advancedSubmitConfig: {\n//     type: ControlType.Object,\n//     optional: true,\n//     title: \"Advanced\",\n//     buttonTitle: \"Options\",\n//     controls: {\n//         contentType: {\n//             type: ControlType.Enum,\n//             defaultValue: \"application/json\",\n//             options: [\n//                 \"application/json\",\n//                 \"application/x-www-form-urlencoded\",\n//             ],\n//             title: \"Content-Type\",\n//         },\n//         fetchMode: {\n//             type: ControlType.Enum,\n//             defaultValue: \"no-cors\",\n//             options: [\"cors\", \"no-cors\"],\n//             displaySegmentedControl: true,\n//         },\n//     },\n//     hidden: (props) =>\n//         notSubmitForm(props) || props.submitPlatform != \"url\",\n// },\napiConfig:{type:ControlType.Object,optional:true,title:\"API Config\",buttonTitle:\"API Key\",controls:{apiKey:{type:ControlType.String,title:\"API Key\"}},hidden:props=>notSubmitForm(props)||props.submitPlatform!=\"url\"},///////////////////////////////////////////////////////////////////////\nresponseInfo:{type:ControlType.Object,buttonTitle:\"Options\",controls:{utmParams:{type:ControlType.Boolean,defaultValue:false,description:\"Include UTM parameters in the form response.\",title:\"UTM Params\"},url:{type:ControlType.Boolean,defaultValue:false,description:\"Include the page URL in the form response.\",title:\"URL\"},urlName:{type:ControlType.String,defaultValue:\"url\",description:\"Form response field name.\",title:\"URL Name\",hidden:props=>!props.url}},hidden:props=>notSubmitForm(props)||props.submitPlatform==\"hubSpot\"},redirectOnSuccess:{type:ControlType.Link,hidden:notSubmitForm},newTab:{type:ControlType.Boolean,defaultValue:false,hidden:notSubmitForm},scrollToInvalidField:{type:ControlType.Object,defaultValue:{offset:-24},optional:true,description:\" \",controls:{offset:{type:ControlType.Number,defaultValue:-24,step:1}},hidden:notSubmitForm},backgroundColor:{type:ControlType.Color,defaultValue:\"#0075FF\",title:\"Fill\"},fontColor:{type:ControlType.Color,defaultValue:\"#FFF\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontWeight:700,fontSize:16,lineHeight:1}},text:{type:ControlType.String,defaultValue:\"Submit\"},border:{type:ControlType.Object,optional:true,controls:{color:{type:ControlType.Color,defaultValue:\"#222\"},width:{type:ControlType.FusedNumber,defaultValue:1,toggleKey:\"widthIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"widthTop\",\"widthRight\",\"widthBottom\",\"widthLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:1},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}},shadows:{type:ControlType.BoxShadow},icon:iconPropertyControls,padding:{type:ControlType.FusedNumber,defaultValue:16,toggleKey:\"paddingIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},radius:{type:ControlType.FusedNumber,defaultValue:8,toggleKey:\"radiusIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0},textSelect:{type:ControlType.Boolean,defaultValue:false},hoverCustomization:{type:ControlType.Object,optional:true,buttonTitle:\"Colors\",title:\"Hover\",icon:\"effect\",controls:{fill:{type:ControlType.Color,optional:true},fontColor:{type:ControlType.Color,optional:true},borderColor:{type:ControlType.Color,optional:true}}},pressCustomization:{type:ControlType.Object,optional:true,buttonTitle:\"Colors\",title:\"Press\",icon:\"effect\",controls:{fill:{type:ControlType.Color,optional:true},fontColor:{type:ControlType.Color,optional:true},borderColor:{type:ControlType.Color,optional:true}}},transition:{type:ControlType.Transition},success:{type:ControlType.EventHandler},failure:{type:ControlType.EventHandler}});function notSubmitForm(props){return props.clickAction!=\"submitForm\";}const parseMailchimpUrl=url=>{const matchResult=url.replace(/&amp;/g,\"&\").match(/^https?:\\/\\/([^\\/]+)[^\\?]+\\??(.+)$/);// Check if there was no match\nif(!matchResult){return[null,null];}// Extract domain and parameters from the match result\nconst[,domain,parameters]=matchResult;// Convert parameters to an object if they exist, otherwise null\nconst parametersObject=parameters?Object.fromEntries(new URLSearchParams(parameters)):null;return[domain,parametersObject];};const MAILCHIMP_REPLACE={firstName:\"FNAME\",lastName:\"LNAME\",addressLine1:\"ADDRESS[addr1]\",addressLine2:\"ADDRESS[addr2]\",addressCity:\"ADDRESS[city]\",addressState:\"ADDRESS[state]\",addressZip:\"ADDRESS[zip]\",addressCountry:\"ADDRESS[country]\"};const KLAVIYO_FIELDS=[\"email\",\"phone_number\",\"first_name\",\"last_name\",\"title\",\"organization\",\"city\",\"region\",\"country\",\"zip\",\"consent\"];function processFieldName(name,submitPlatform){switch(submitPlatform){case\"mailchimp\":return MAILCHIMP_REPLACE[name]||name;case\"mailerLite\":return`fields[${name}]`;case\"klaviyo\":return KLAVIYO_FIELDS.includes(name)?`$${name}`:name;default:return name;}}function getCookieValue(cookieName){const name=cookieName+\"=\";const decodedCookie=decodeURIComponent(document.cookie);const ca=decodedCookie.split(\";\");for(let i=0;i<ca.length;i++){let c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1);}if(c.indexOf(name)===0){return c.substring(name.length,c.length);}}return\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SubmitButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"500\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SubmitButton.map"],"mappings":"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"}