{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/7J9IxHDSBGxTSHDmNUdI/dHtralxTq4yLlog1kCOW/LoopsFormAcademy.js", "ssg:https://framerusercontent.com/modules/4LsqK4fJYk3W3OD4o7aq/V4FsPswD2R0CKoAXlrsm/kNkYxHW2g.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState}from\"react\";const INIT=\"INIT\";const SUBMITTING=\"SUBMITTING\";const ERROR=\"ERROR\";const SUCCESS=\"SUCCESS\";const formStates=[INIT,SUBMITTING,ERROR,SUCCESS];const initialFormState={email:\"\"};const inputStyles={flex:\"1 0 0%\",height:\"48px\",border:\"medium\",outline:\"currentcolor\",padding:\"16px\",color:\"rgb(107, 114, 128)\",fontFamily:'Inter, \"Inter Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",borderRadius:\"8px\",fontWeight:\"400\",letterSpacing:\"0em\",lineHeight:\"1.5em\",textAlign:\"left\",width:\"100%\"};export default function LoopsForm(){const[state,setState]=useState({email:\"\"});const[formState,setFormState]=useState(INIT);const[errorMessage,setErrorMessage]=useState(\"\");const resetForm=()=>{setState(initialFormState);setFormState(INIT);setErrorMessage(\"\");};const returnToFormEdit=()=>{setFormState(INIT);setErrorMessage(\"\");};/**\n     * Rate limit the number of submissions allowed\n     * @returns {boolean} true if the form has been successfully submitted in the past minute\n     */const hasRecentSubmission=()=>{const time=new Date;const timestamp=time.valueOf();const previousTimestamp=localStorage.getItem(\"loops-form-timestamp\");// Indicate if the last sign up was less than a minute ago\nif(previousTimestamp&&Number(previousTimestamp)+60*1e3>timestamp){setFormState(ERROR);setErrorMessage(\"Too many submits, please try again in a little while\");return true;}localStorage.setItem(\"loops-form-timestamp\",timestamp.toString());return false;};const handleSubmit=event=>{// Prevent the default form submission\nevent.preventDefault();// boundary conditions for submission\nif(formState!==INIT)return;if(!isValidEmail(state.email)){setFormState(ERROR);setErrorMessage(\"Please enter a valid email\");return;}if(hasRecentSubmission())return;setFormState(SUBMITTING);// build body\nconst formBody=`userGroup=${encodeURIComponent(\"Landing - Academy\")}&email=${encodeURIComponent(state.email)}`;fetch(`https://app.loops.so/api/newsletter-form/clmdomh4x00bgle0osjdbwmjl`,{method:\"POST\",body:formBody,headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"}}).then(res=>[res.ok,res.json(),res]).then(([ok,dataPromise,res])=>{if(ok){resetForm();setFormState(SUCCESS);}else{dataPromise.then(data=>{const link=document.getElementById(\"formLink\");if(link){link.style.opacity=\"0\";link.style.visibility=\"hidden\";}setFormState(ERROR);setErrorMessage(data.message||res.statusText);localStorage.setItem(\"loops-form-timestamp\",\"\");});}}).catch(error=>{setFormState(ERROR);// check for cloudflare error\nif(error.message===\"Failed to fetch\"){setErrorMessage(\"Too many signups, please try again in a little while\");}else if(error.message){setErrorMessage(error.message);}localStorage.setItem(\"loops-form-timestamp\",\"\");});};switch(formState){case SUCCESS:return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",gap:\"10px\"},children:/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:\"Inter, Inter Placeholder, sans-serif\",fontStyle:\"normal\",fontWeight:400,color:\"rgb(156, 163, 175)\",fontSize:\"calc(var(--framer-font-size, 16px) * var(--framer-font-size-scale, 1))\",letterSpacing:\"0\",textTransform:\"none\",textDecorationLine:\"\",lineHeight:\"1.2em\",textAlign:\"start\"},children:\"Thanks! We'll be in touch!\"})});case ERROR:return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",gap:\"10px\"},children:[/*#__PURE__*/_jsx(SignUpFormError,{}),/*#__PURE__*/_jsx(BackButton,{})]});default:return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`.input-l::placeholder {color:#6B7280}`}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",gap:\"10px\"},children:[/*#__PURE__*/_jsx(\"input\",{className:\"input-l\",type:\"text\",name:\"email\",placeholder:\"your@email.com\",value:state.email,onChange:e=>setState(pr=>({...pr,email:e.target.value})),required:true,style:{...inputStyles}}),/*#__PURE__*/_jsx(SignUpFormButton,{})]})]});}function SignUpFormError(){return /*#__PURE__*/_jsx(\"div\",{style:{alignItems:\"center\",justifyContent:\"center\",width:\"100%\"},children:/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:\"Inter, Inter Placeholder, sans-serif\",fontStyle:\"normal\",fontWeight:400,color:\"#DA2E21\",fontSize:\"calc(var(--framer-font-size, 16px) * var(--framer-font-size-scale, 1))\",letterSpacing:\"var(--framer-letter-spacing, 0)\",textTransform:\"none\",textDecorationLine:\"\",lineHeight:\"1.2em\",textAlign:\"start\"},children:errorMessage||\"Oops! Something went wrong, please try again\"})});}function BackButton(){return /*#__PURE__*/_jsx(\"button\",{style:{height:\"48px\",position:\"relative\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",color:\"var(--token-33c8dbd0-eb94-4e90-8099-e7a3fee4ad2f, rgb(255, 255, 255))\",border:\"medium\",outline:\"currentcolor\",cursor:\"pointer\",borderRadius:\"8px\",padding:\"15px\",backgroundColor:\"rgb(139, 92, 246)\",fontFamily:'\"Be Vietnam Pro\", \"Be Vietnam Pro Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.02em\",lineHeight:\"1em\",textAlign:\"center\",width:\"100%\"},onClick:returnToFormEdit,children:\"\u2190 Back\"});}function SignUpFormButton({props}){return /*#__PURE__*/_jsx(\"button\",{type:\"submit\",style:{height:\"48px\",position:\"relative\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",color:\"var(--token-33c8dbd0-eb94-4e90-8099-e7a3fee4ad2f, rgb(255, 255, 255))\",border:\"medium\",outline:\"currentcolor\",cursor:\"pointer\",borderRadius:\"8px\",padding:\"15px\",backgroundColor:\"rgb(139, 92, 246)\",fontFamily:'\"Be Vietnam Pro\", \"Be Vietnam Pro Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"-0.02em\",lineHeight:\"1em\",textAlign:\"center\"},children:formState===SUBMITTING?\"Please wait...\":\"Subscribe\"});}}function isValidEmail(email){return/.+@.+/.test(email);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoopsForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LoopsFormAcademy.map", "import{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Inter-600\",\"GF;Inter-900\"]);export const fonts=[{family:\"Inter\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZ1rib2Bg-4.woff2\",weight:\"600\"},{family:\"Inter\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuBWYMZ1rib2Bg-4.woff2\",weight:\"900\"}];export const css=['.framer-kkv4t .framer-styles-preset-1uzyeah:not(.rich-text-wrapper), .framer-kkv4t .framer-styles-preset-1uzyeah.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: -0.5px; --framer-line-height: 120%; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #030712; --framer-text-decoration: none; --framer-text-transform: none; }','@media (max-width: 1399px) and (min-width: 810px) { .framer-kkv4t .framer-styles-preset-1uzyeah:not(.rich-text-wrapper), .framer-kkv4t .framer-styles-preset-1uzyeah.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-size: 22px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: -0.5px; --framer-line-height: 120%; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #030712; --framer-text-decoration: none; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-kkv4t .framer-styles-preset-1uzyeah:not(.rich-text-wrapper), .framer-kkv4t .framer-styles-preset-1uzyeah.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: -0.5px; --framer-line-height: 120%; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #030712; --framer-text-decoration: none; --framer-text-transform: none; } }'];export const className=\"framer-kkv4t\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["INIT", "SUBMITTING", "ERROR", "SUCCESS", "initialFormState", "inputStyles", "LoopsForm", "state", "setState", "ye", "formState", "setFormState", "INIT", "errorMessage", "setErrorMessage", "resetForm", "returnToFormEdit", "hasRecentSubmission", "timestamp", "previousTimestamp", "ERROR", "handleSubmit", "event", "isValidEmail", "SUBMITTING", "formBody", "res", "ok", "dataPromise", "SUCCESS", "data", "link", "error", "p", "u", "SignUpFormError", "BackButton", "l", "e", "pr", "SignUpFormButton", "props", "email", "fontStore", "fonts", "css", "className"]
}
