{"version":3,"file":"MailchimpSignup.BXt8PFJs.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/cWDfGzpugqBUarVw7urT/8itYnowPIiTFmJYjyNfR/MailchimpSignup.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function MailchimpSignup({apiUrl=\"https://your-domain.vercel.app/api/mailchimp/subscribe\",source=\"Website Sign Up Form Footer\",emailPlaceholder=\"name@email.com\",firstNamePlaceholder=\"First name\",lastNamePlaceholder=\"Last name\",buttonText=\"Sign up\",consentText=\"I agree to receive Oyster Heaven's newsletter, with my data used only for direct contact and never shared with third parties.\"}){const[email,setEmail]=useState(\"\");const[firstName,setFirstName]=useState(\"\");const[lastName,setLastName]=useState(\"\");const[agreed,setAgreed]=useState(false);const[status,setStatus]=useState(\"idle\");const[errors,setErrors]=useState({});const clearError=field=>{setErrors(prev=>({...prev,[field]:false}));if(status===\"error\")setStatus(\"idle\");};const submit=async()=>{const newErrors={firstName:!firstName.trim(),email:!email||!email.includes(\"@\"),consent:!agreed};if(newErrors.firstName||newErrors.email||newErrors.consent){setErrors(newErrors);setStatus(\"error\");return;}setErrors({});setStatus(\"loading\");try{const res=await fetch(apiUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email,firstName:firstName.trim(),lastName:lastName.trim()||undefined,source})});const data=await res.json();if(data.success){setStatus(\"success\");setTimeout(()=>{setEmail(\"\");setFirstName(\"\");setLastName(\"\");setAgreed(false);setStatus(\"idle\");},1500);}else{setStatus(\"error\");setErrors({email:true});}}catch{setStatus(\"error\");setErrors({email:true});}};const handleKeyDown=e=>{if(e.key===\"Enter\")submit();};const errorBorder=\"2px solid #eb5757\";const normalBorder=\"2px solid transparent\";return /*#__PURE__*/_jsxs(\"div\",{className:\"oh-signup\",style:styles.wrapper,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .oh-signup input::placeholder {\n                    color: #828E97;\n                }\n                @media (max-width: 768px) {\n                    .oh-signup .name-row {\n                        flex-direction: column !important;\n                        gap: 8px !important;\n                    }\n                    .oh-signup .name-input {\n                        width: 100% !important;\n                        flex: none !important;\n                    }\n                    .oh-signup .email-row {\n                        flex-direction: column !important;\n                        gap: 8px !important;\n                        padding: 8px !important;\n                    }\n                    .oh-signup .email-input {\n                        width: 100% !important;\n                        padding: 12px !important;\n                    }\n                    .oh-signup .signup-button {\n                        width: 100% !important;\n                        margin: 0 !important;\n                    }\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{className:\"name-row\",style:styles.nameRow,children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:firstName,onChange:e=>{setFirstName(e.target.value);clearError(\"firstName\");},onKeyDown:handleKeyDown,placeholder:firstNamePlaceholder,disabled:status===\"loading\"||status===\"success\",className:\"name-input\",style:{...styles.nameInput,border:errors.firstName?errorBorder:normalBorder,opacity:status===\"loading\"?.6:1}}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:lastName,onChange:e=>{setLastName(e.target.value);},onKeyDown:handleKeyDown,placeholder:lastNamePlaceholder,disabled:status===\"loading\"||status===\"success\",className:\"name-input\",style:{...styles.nameInput,border:normalBorder,opacity:status===\"loading\"?.6:1}})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"email-row\",style:{...styles.row,border:errors.email?errorBorder:normalBorder},children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",value:email,onChange:e=>{setEmail(e.target.value);clearError(\"email\");},onKeyDown:handleKeyDown,placeholder:emailPlaceholder,disabled:status===\"loading\"||status===\"success\",className:\"email-input\",style:{...styles.input,opacity:status===\"loading\"?.6:1}}),/*#__PURE__*/_jsx(\"button\",{onClick:submit,disabled:status===\"loading\"||status===\"success\",className:\"signup-button\",style:{...styles.button,opacity:status===\"loading\"?.7:1,cursor:status===\"loading\"||status===\"success\"?\"not-allowed\":\"pointer\"},children:status===\"loading\"?\"...\":status===\"success\"?\"✓\":buttonText})]}),/*#__PURE__*/_jsxs(\"label\",{style:{...styles.checkboxLabel,color:errors.consent?\"#eb5757\":undefined},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:agreed,onChange:e=>{setAgreed(e.target.checked);clearError(\"consent\");},disabled:status===\"loading\"||status===\"success\",style:{...styles.checkbox,outline:errors.consent?\"2px solid #eb5757\":\"none\",outlineOffset:-1}}),/*#__PURE__*/_jsx(\"span\",{style:styles.consentText,children:consentText})]})]});}const styles={wrapper:{display:\"flex\",flexDirection:\"column\",gap:8,width:\"100%\",fontFamily:\"'Geist', sans-serif\"},nameRow:{display:\"flex\",gap:8,width:\"100%\"},nameInput:{flex:1,minWidth:0,backgroundColor:\"#ffffff\",borderRadius:8,outline:\"none\",fontSize:14,color:\"#153347\",padding:\"12px 12px\",fontFamily:\"inherit\",boxSizing:\"border-box\"},row:{display:\"flex\",alignItems:\"center\",backgroundColor:\"#ffffff\",borderRadius:8,padding:4,gap:4,width:\"100%\",boxSizing:\"border-box\"},input:{flex:1,border:\"none\",background:\"transparent\",outline:\"none\",fontSize:14,color:\"#153347\",padding:\"8px 12px\",fontFamily:\"inherit\"},button:{backgroundColor:\"#DC7956\",color:\"#fff\",border:\"none\",borderRadius:6,padding:\"9px 20px\",fontSize:14,fontWeight:600,fontFamily:\"inherit\",whiteSpace:\"nowrap\",transition:\"background 0.2s\"},checkboxLabel:{display:\"flex\",alignItems:\"flex-start\",gap:8,cursor:\"pointer\",paddingLeft:4},checkbox:{marginTop:2,accentColor:\"#DC7956\",cursor:\"pointer\",flexShrink:0},consentText:{fontSize:12,color:\"#DEDFE0\",lineHeight:\"1.4\"}};addPropertyControls(MailchimpSignup,{apiUrl:{type:ControlType.String,title:\"API URL\",defaultValue:\"https://your-domain.vercel.app/api/mailchimp/subscribe\"},source:{type:ControlType.String,title:\"Source\",defaultValue:\"Website Sign Up Form Footer\"},emailPlaceholder:{type:ControlType.String,title:\"Email Placeholder\",defaultValue:\"name@email.com\"},firstNamePlaceholder:{type:ControlType.String,title:\"First Name Placeholder\",defaultValue:\"First name\"},lastNamePlaceholder:{type:ControlType.String,title:\"Last Name Placeholder\",defaultValue:\"Last name\"},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Sign up\"},consentText:{type:ControlType.String,title:\"Consent Text\",defaultValue:\"I agree to receive Oyster Heaven's newsletter, with my data used only for direct contact and never shared with third parties.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MailchimpSignup\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MailchimpSignup.map"],"mappings":"kLAAyI,SAAwB,EAAgB,CAAC,SAAO,yDAAyD,SAAO,8BAA8B,mBAAiB,iBAAiB,uBAAqB,aAAa,sBAAoB,YAAY,aAAW,UAAU,cAAY,iIAAiI,CAAC,GAAK,CAAC,EAAM,GAAUA,EAAS,GAAG,CAAM,CAAC,EAAU,GAAcA,EAAS,GAAG,CAAM,CAAC,EAAS,GAAaA,EAAS,GAAG,CAAM,CAAC,EAAO,GAAWA,EAAS,GAAM,CAAM,CAAC,EAAO,GAAWA,EAAS,OAAO,CAAM,CAAC,EAAO,GAAWA,EAAS,EAAE,CAAC,CAAO,EAAW,GAAO,CAAC,EAAU,IAAO,CAAC,GAAG,GAAM,GAAO,GAAM,EAAE,CAAI,IAAS,SAAQ,EAAU,OAAO,EAAS,EAAO,SAAS,CAAC,IAAM,EAAU,CAAC,UAAU,CAAC,EAAU,MAAM,CAAC,MAAM,CAAC,GAAO,CAAC,EAAM,SAAS,IAAI,CAAC,QAAQ,CAAC,EAAO,CAAC,GAAG,EAAU,WAAW,EAAU,OAAO,EAAU,QAAQ,CAAC,EAAU,EAAU,CAAC,EAAU,QAAQ,CAAC,OAAQ,EAAU,EAAE,CAAC,CAAC,EAAU,UAAU,CAAC,GAAG,EAAyM,MAA9L,MAAM,MAAM,EAAO,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,QAAM,UAAU,EAAU,MAAM,CAAC,SAAS,EAAS,MAAM,EAAE,IAAA,GAAU,SAAO,CAAC,CAAC,CAAC,EAAsB,MAAM,EAAS,SAAS,EAAU,UAAU,CAAC,eAAe,CAAC,EAAS,GAAG,CAAC,EAAa,GAAG,CAAC,EAAY,GAAG,CAAC,EAAU,GAAM,CAAC,EAAU,OAAO,EAAG,KAAK,GAAO,EAAU,QAAQ,CAAC,EAAU,CAAC,MAAM,GAAK,CAAC,OAAQ,CAAC,EAAU,QAAQ,CAAC,EAAU,CAAC,MAAM,GAAK,CAAC,GAAU,EAAc,GAAG,CAAI,EAAE,MAAM,SAAQ,GAAQ,EAAS,EAAY,oBAA0B,EAAa,wBAAwB,OAAoB,EAAM,MAAM,CAAC,UAAU,YAAY,MAAM,EAAO,QAAQ,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Bp0D,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,WAAW,MAAM,EAAO,QAAQ,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,OAAO,MAAM,EAAU,SAAS,GAAG,CAAC,EAAa,EAAE,OAAO,MAAM,CAAC,EAAW,YAAY,EAAG,UAAU,EAAc,YAAY,EAAqB,SAAS,IAAS,WAAW,IAAS,UAAU,UAAU,aAAa,MAAM,CAAC,GAAG,EAAO,UAAU,OAAO,EAAO,UAAU,EAAY,EAAa,QAAQ,IAAS,UAAU,GAAG,EAAE,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,KAAK,OAAO,MAAM,EAAS,SAAS,GAAG,CAAC,EAAY,EAAE,OAAO,MAAM,EAAG,UAAU,EAAc,YAAY,EAAoB,SAAS,IAAS,WAAW,IAAS,UAAU,UAAU,aAAa,MAAM,CAAC,GAAG,EAAO,UAAU,OAAO,EAAa,QAAQ,IAAS,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,GAAG,EAAO,IAAI,OAAO,EAAO,MAAM,EAAY,EAAa,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,QAAQ,MAAM,EAAM,SAAS,GAAG,CAAC,EAAS,EAAE,OAAO,MAAM,CAAC,EAAW,QAAQ,EAAG,UAAU,EAAc,YAAY,EAAiB,SAAS,IAAS,WAAW,IAAS,UAAU,UAAU,cAAc,MAAM,CAAC,GAAG,EAAO,MAAM,QAAQ,IAAS,UAAU,GAAG,EAAE,CAAC,CAAC,CAAc,EAAK,SAAS,CAAC,QAAQ,EAAO,SAAS,IAAS,WAAW,IAAS,UAAU,UAAU,gBAAgB,MAAM,CAAC,GAAG,EAAO,OAAO,QAAQ,IAAS,UAAU,GAAG,EAAE,OAAO,IAAS,WAAW,IAAS,UAAU,cAAc,UAAU,CAAC,SAAS,IAAS,UAAU,MAAM,IAAS,UAAU,IAAI,EAAW,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAO,cAAc,MAAM,EAAO,QAAQ,UAAU,IAAA,GAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,WAAW,QAAQ,EAAO,SAAS,GAAG,CAAC,EAAU,EAAE,OAAO,QAAQ,CAAC,EAAW,UAAU,EAAG,SAAS,IAAS,WAAW,IAAS,UAAU,MAAM,CAAC,GAAG,EAAO,SAAS,QAAQ,EAAO,QAAQ,oBAAoB,OAAO,cAAc,GAAG,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,EAAO,YAAY,SAAS,EAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBA3B92D,IAA4B,IAAoD,CA2BsyD,EAAO,CAAC,QAAQ,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,MAAM,OAAO,WAAW,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,OAAO,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,UAAU,aAAa,EAAE,QAAQ,OAAO,SAAS,GAAG,MAAM,UAAU,QAAQ,YAAY,WAAW,UAAU,UAAU,aAAa,CAAC,IAAI,CAAC,QAAQ,OAAO,WAAW,SAAS,gBAAgB,UAAU,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,UAAU,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,OAAO,WAAW,cAAc,QAAQ,OAAO,SAAS,GAAG,MAAM,UAAU,QAAQ,WAAW,WAAW,UAAU,CAAC,OAAO,CAAC,gBAAgB,UAAU,MAAM,OAAO,OAAO,OAAO,aAAa,EAAE,QAAQ,WAAW,SAAS,GAAG,WAAW,IAAI,WAAW,UAAU,WAAW,SAAS,WAAW,kBAAkB,CAAC,cAAc,CAAC,QAAQ,OAAO,WAAW,aAAa,IAAI,EAAE,OAAO,UAAU,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,UAAU,OAAO,UAAU,WAAW,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,UAAU,WAAW,MAAM,CAAC,CAAC,EAAoB,EAAgB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,yDAAyD,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,8BAA8B,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,oBAAoB,aAAa,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAY,OAAO,MAAM,yBAAyB,aAAa,aAAa,CAAC,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,wBAAwB,aAAa,YAAY,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,gIAAgI,CAAC,CAAC"}