{"version":3,"file":"Usernamevalidation.ClWeCol6.mjs","names":[],"sources":["https:/framerusercontent.com/modules/t1qTjelDADyvegidb35U/vi8vg61UXQjSS83LJp30/Usernamevalidation.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{forwardRef}from\"react\";const useStore=createStore({username:\"\",touched:false,validating:false,error:\"\"});const WEBHOOK_URL=\"https://hook.eu2.make.com/gemmvmuy4vgec6d8lneqaointgd80r38\";let lastAbort=null;let lastRequestId=0;const EMAIL_RE=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/;const FREE_EMAIL_DOMAINS=new Set([\"gmail.com\",\"googlemail.com\",\"yahoo.com\",\"outlook.com\",\"hotmail.com\",\"icloud.com\",\"me.com\",\"mac.com\",\"proton.me\",\"protonmail.com\",\"mail.com\",\"aol.com\",\"yandex.com\",\"yandex.ru\",\"ukr.net\"].map(d=>d.toLowerCase()));function getEmailDomain(email){return email.split(\"@\")[1]?.toLowerCase()||\"\";}function localValidateEmail(value){if(!value)return\"Email is required\";if(!EMAIL_RE.test(value))return\"Only email is allowed\";const domain=getEmailDomain(value);if(FREE_EMAIL_DOMAINS.has(domain)){return\"Please use a work email (no Gmail, Yahoo, etc.)\";}return\"\";}/** ✅ Convert webhook \"available\" into a real boolean */function normalizeAvailable(v){if(typeof v===\"boolean\")return v;if(typeof v===\"string\"){const s=v.trim().toLowerCase();if(s===\"true\")return true;if(s===\"false\")return false;// Sometimes Make returns \"1\"/\"0\"\nif(s===\"1\")return true;if(s===\"0\")return false;return null;}if(typeof v===\"number\"){if(v===1)return true;if(v===0)return false;return v>0;}return null;}async function checkUsernameViaHook(email,signal){const url=new URL(WEBHOOK_URL);url.searchParams.set(\"username\",email);const res=await fetch(url.toString(),{method:\"GET\",headers:{accept:\"application/json\"},signal});// If Make returns text/plain JSON, this still works\nconst json=await res.json().catch(()=>({}));return json;}export function withUsernameValidationInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();const handleAnyChange=arg=>{const next=typeof arg===\"string\"?arg:arg?.target?.value??\"\";setStore({username:next,error:store.touched?\"\":store.error});props?.onValueChange?.(next);props?.onChange?.(arg);};const handleBlur=async e=>{props?.onBlur?.(e);const value=String(e?.target?.value??store.username).trim();setStore({touched:true});lastAbort?.abort();lastAbort=new AbortController;const requestId=++lastRequestId;const localError=localValidateEmail(value);if(localError){setStore({validating:false,error:localError});return;}setStore({validating:true,error:\"\"});try{const result=await checkUsernameViaHook(value,lastAbort.signal);if(requestId!==lastRequestId)return;const available=normalizeAvailable(result?.available);if(available===true){setStore({validating:false,error:\"\"});return;}if(available===false){setStore({validating:false,error:result?.message||\"This email is already taken\"});return;}// Unknown shape: be safe\nsetStore({validating:false,error:result?.message||\"Unexpected response. Please try again.\"});}catch(err){if(err?.name===\"AbortError\")return;if(requestId!==lastRequestId)return;setStore({validating:false,error:\"Could not validate email. Please try again.\"});}};const isValid=store.error===\"\";return /*#__PURE__*/_jsx(Component,{ref:ref,...props,value:store.username,onValueChange:handleAnyChange,onChange:handleAnyChange,onBlur:handleBlur,style:{...props?.style,borderColor:isValid?props?.style?.borderColor:\"#EF4444\"}});});}export function withUsernameValidationError(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:store.error,style:{...props?.style,color:\"#EF4444\",display:store.error?\"block\":\"none\"}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withUsernameValidationError\":{\"type\":\"reactHoc\",\"name\":\"withUsernameValidationError\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withUsernameValidationInput\":{\"type\":\"reactHoc\",\"name\":\"withUsernameValidationInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Usernamevalidation.map"],"mappings":"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"}