{"version":3,"file":"SubmitButtonCustom.DTL7KG8K.mjs","names":["useState","o","t","useState","newValue","_Fragment"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/MVzz2HKOSVPXKxZqPZdW/TqcitBC3zIme9QoXbJuf/SharedFormCode.js","https:/framer.com/m/SharedFormCode-HQOZ.js@TqcitBC3zIme9QoXbJuf","https:/framerusercontent.com/modules/JrbckJBnqD5u5BGTKfbq/BEHqeOoLIqzQA6BPppTX/SubmitButtonCustom.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 e}from\"react/jsx-runtime\";import{ControlType as t}from\"framer\";import{createStore as o}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useFormStore=o({});export function FormIcon(t){var o;let{icon:i,style:r}=t;return i?[/*#__PURE__*/e(\"div\",{className:\"form-icon\",style:{width:i.size,height:i.size,opacity:i.opacity,color:i.color||t.fontColor,backgroundImage:\"image\"==i.type&&`url(${null===(o=i.image)||void 0===o?void 0:o.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",pointerEvents:\"none\",...r},dangerouslySetInnerHTML:\"svg\"==i.type?{__html:i.svg.replace(/width=\"(\\d+)\"/,`width=\"${i.size}\"`).replace(/height=\"(\\d+)\"/,`width=\"${i.size}\"`)}:void 0}),(null==i?void 0:i.type)==\"svg\"&&/*#__PURE__*/e(\"style\",{children:\".form-icon svg { display: block; }\"})]:null;}export const iconPropertyControls={type:t.Object,optional:!0,controls:{position:{type:t.Enum,defaultValue:\"left\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:!0},gap:{type:t.Number,defaultValue:12,min:0,step:1},type:{type:t.Enum,defaultValue:\"svg\",options:[\"svg\",\"image\"],optionTitles:[\"SVG\",\"Image\"],displaySegmentedControl:!0},svg:{type:t.String,placeholder:\"<svg></svg>\",displayTextArea:!0,title:\"SVG\",hidden:e=>\"svg\"!=e.type},image:{type:t.ResponsiveImage,hidden:e=>\"image\"!=e.type},color:{type:t.Color,optional:!0,hidden:e=>\"svg\"!=e.type},size:{type:t.Number,defaultValue:24,min:1,step:1},opacity:{type:t.Number,defaultValue:1,min:0,max:1,step:.01}}};\nexport const __FramerMetadata__ = {\"exports\":{\"FormIcon\":{\"type\":\"reactComponent\",\"name\":\"FormIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconPropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SharedFormCode.map","/*\n * SharedFormCode\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/MVzz2HKOSVPXKxZqPZdW/TqcitBC3zIme9QoXbJuf/SharedFormCode.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState}from\"react\";import{FormIcon,iconPropertyControls,useFormStore}from\"https://framer.com/m/SharedFormCode-HQOZ.js@TqcitBC3zIme9QoXbJuf\";import{motion}from\"framer-motion\";export default function SubmitButton(props){var _props_font;const{clickAction,submitUrl,sendToSecondWH,submitUrl2,redirectOnSuccess,scrollOptions,icon,border,success,failure,file,downloadFileName,downloadFile,source,sendingText,passInfo,sendExtraData,extraDataOne,extraDataTwo}=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[formSubmitted,setFormSubmitted]=useState(false);const[sending,setSending]=useState(false);const timestamp=new Date().getDate()// Get current timestamp\n;// Reset/clear form\nfunction resetFormState(){setFormState(prev=>{const newFormState={};for(const fieldName in prev){if(fieldName===\"First Name\"&&passInfo){newFormState[\"Name\"]={...prev[fieldName],value:prev[fieldName].value};}else if(fieldName===\"Email\"&&passInfo){newFormState[fieldName]={...prev[fieldName],value:prev[fieldName].value};}else{newFormState[fieldName]={...prev[fieldName],value:prev[fieldName].defaultValue};}}return newFormState;});}useEffect(()=>{console.log(\"Form State Updated\",formState);},[formState]);useEffect(()=>{setFormState({});},[]);useEffect(()=>{if(formSubmitted&&downloadFile){fetch(file).then(re=>re.blob()).then(blob=>{const url=window.URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=url;link.download=downloadFileName+\".pdf\"||getFileNameFromUrl(file)+\".pdf\"||\"craate_document.pdf\";// Append the link to the document body\ndocument.body.appendChild(link);// Trigger a click event on the link\nlink.click();// Remove the link from the document body\ndocument.body.removeChild(link);window.URL.revokeObjectURL(url);}).catch(error=>{console.error(\"Error downloading the file: \",error);});// Reset the formSubmitted state\nsetFormSubmitted(false);console.log(formSubmitted);}},[formSubmitted]);async function onSubmitClick(){const invalidFields=[];const formData={};const newKey=\"Source\";const newValue=source;formData[newKey]=newValue;if(sendExtraData){const newKey2=\"Selection\";const newKey3=\"Total Cost\";const newValue2=extraDataTwo;const newValue3=extraDataOne;formData[newKey2]=newValue2;formData[newKey3]=newValue3;}// Find invalid fields\nfor(const fieldName in formState){const field=formState[fieldName];formData[fieldName]=field.value;if(field.required&&field.visible&&!field.isValid(field.value)){invalidFields.push(fieldName);}}if(invalidFields.length==0){if(clickAction==\"submitForm\"){setSending(true);setFormSubmitted(true);try{const response=await fetch(submitUrl,{method:\"POST\",mode:submitUrl.includes(\"submit-form.com\")// Fix issues with Formspark\n?\"cors\":\"no-cors\",body:JSON.stringify(formData),headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"}});if(sendToSecondWH){const formData2={};if(formData[\"First Name\"]){formData2[\"Name\"]=formData[\"First Name\"];}else if(formData[\"Full Name\"]){formData2[\"Name\"]=formData[\"Full Name\"];}formData2[\"Email\"]=formData[\"Email\"];formData2[\"Source\"]=formData[\"Source\"];const response=await fetch(submitUrl2,{method:\"POST\",mode:submitUrl.includes(\"submit-form.com\")// Fix issues with Formspark\n?\"cors\":\"no-cors\",body:JSON.stringify(formData2),headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"}});}setFormSubmitted(false);if(response.ok||response.type==\"opaque\"){if(redirectOnSuccess&&!window.location.origin.endsWith(\"framercanvas.com\")){window.location.href=redirectOnSuccess// Redirect to new URL\n;}else{resetFormState();setSending(false);success===null||success===void 0?void 0:success();}}else{failure===null||failure===void 0?void 0:failure();}}catch(error){console.error(\"Error submitting form: \",error);failure===null||failure===void 0?void 0:failure();}}else{// Validate form without submitting to URL\nsetSending(false);success===null||success===void 0?void 0:success();}}else{console.log(\"Not all required form fields are filled:\",invalidFields);if(scrollOptions){// Scroll to first invalid field\nlet closestRef=null;let closestDistance=Number.POSITIVE_INFINITY;for(const fieldName in formState){const ref=formState[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});}}failure===null||failure===void 0?void 0:failure();}}return /*#__PURE__*/_jsx(_Fragment,{children:sending?/*#__PURE__*/_jsxs(motion.div,{style:{position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",height:\"100%\",color:props.backgroundColor,cursor:\"none\",...props.font},initial:{opacity:0},animate:{opacity:1},children:[sendingText,\" . . .\"]}):/*#__PURE__*/_jsxs(\"button\",{type:\"submit\",onClick:onSubmitClick,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\",color:props.fontColor,border:\"none\",outline:\"none\",cursor:\"pointer\",userSelect:props.textSelect?\"auto\":\"none\",borderRadius:borderRadius,padding:props.paddingIsMixed?`${props.paddingTop}px ${props.paddingRight}px ${props.paddingBottom}px ${props.paddingLeft}px`:`${props.padding}px`,backgroundColor:props.backgroundColor,accentColor:props.accentColor,...props.font,...props.style},children:[/*#__PURE__*/_jsx(FormIcon,{icon:icon,style:{}}),props.text,border&&/*#__PURE__*/_jsx(\"div\",{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:border.color,borderRadius:borderRadius,pointerEvents:\"none\"}})]})});}SubmitButton.displayName=\"Submit Button\";function getFileNameFromUrl(url){const decodedUrl=decodeURIComponent(url);const parts=decodedUrl.split(\"/\");return parts[parts.length-1];}addPropertyControls(SubmitButton,{formHolder:{type:ControlType.ScrollSectionRef},clickAction:{type:ControlType.Enum,defaultValue:\"submitForm\",options:[\"submitForm\",\"validateForm\"],optionTitles:[\"Submit Form\",\"Validate Form\"]},source:{title:\"Source\",type:ControlType.String,placeholder:\"Craate\",hidden:props=>props.clickAction!=\"submitForm\"},sendingText:{type:ControlType.String,defaultValue:\"Sending\",hidden:props=>props.clickAction!=\"submitForm\"},submitUrl:{title:\"Submit URL\",type:ControlType.String,defaultValue:\"\",hidden:props=>props.clickAction!=\"submitForm\"},sendToSecondWH:{title:\"Send To Second URL Webhook\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.clickAction!=\"submitForm\"},submitUrl2:{title:\"Second Submit URL\",type:ControlType.String,defaultValue:\"\",hidden:props=>!props.sendToSecondWH},redirectOnSuccess:{type:ControlType.Link,hidden:props=>props.clickAction!=\"submitForm\"},backgroundColor:{type:ControlType.Color,defaultValue:\"#0075FF\",title:\"Background\"},fontColor:{type:ControlType.Color,defaultValue:\"#FFF\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontWeight:700,fontSize:18,lineHeight:1}},text:{type:ControlType.String,defaultValue:\"Submit\"},scrollToInvalidField:{type:ControlType.Object,defaultValue:{offset:-24},optional:true,controls:{offset:{type:ControlType.Number,defaultValue:-24,step:1}}},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\"]}}},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},success:{type:ControlType.EventHandler},failure:{type:ControlType.EventHandler},downloadFile:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.clickAction!=\"submitForm\"},passInfo:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.clickAction!=\"submitForm\"},file:{title:\"File\",type:ControlType.File,allowedFileTypes:[],placeholder:\"example.pdf\",optional:true,hidden:props=>props.clickAction!=\"submitForm\"},downloadFileName:{title:\"Download File Name\",type:ControlType.String,optional:true,hidden:props=>props.clickAction!=\"submitForm\"},sendExtraData:{title:\"Send Extra Data\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.clickAction!=\"submitForm\"},extraDataOne:{title:\"Extra Data One\",type:ControlType.String,placeholder:\"Craate\",hidden:props=>!props.sendExtraData},extraDataTwo:{title:\"Extra Data Two\",type:ControlType.String,placeholder:\"Craate\",hidden:props=>!props.sendExtraData}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SubmitButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SubmitButtonCustom.map"],"mappings":"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"}