{"version":3,"file":"Auth.CKB-eLhQ.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/oylpHdwqHAjMOzEBKZJ7/tINor8v9mLIdsVZwzAb6/Auth.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,forwardRef,useState}from\"react\";import{useAuthStore,useLoginFormStore,usePreviewAuthStore,useSignupFormStore,useVerifyEmailFormStore,showToast,isFramerPreview,API_BASE}from\"https://framer.com/m/GlobalStore-5Rjw.js\";// Fix browser autofill background on dark theme\nif(typeof document!==\"undefined\"){const id=\"__autofill-fix\";if(!document.getElementById(id)){const style=document.createElement(\"style\");style.id=id;style.textContent=`\n            input:-webkit-autofill,\n            input:-webkit-autofill:hover,\n            input:-webkit-autofill:focus,\n            input:-webkit-autofill:active {\n                transition: background-color 9999s ease-in-out 0s !important;\n                -webkit-text-fill-color: inherit !important;\n                caret-color: inherit !important;\n            }\n        `;document.head.appendChild(style);}}/*\n * AUTH OVERRIDES\n * ===============\n *\n * SIGNUP FORM:\n *   signupFirstNameInput → First name input\n *   signupLastNameInput  → Last name input\n *   signupEmailInput     → Email input\n *   signupPasswordInput  → Password input\n *   signupSubmitButton   → Submit button\n *\n * LOGIN FORM:\n *   loginEmailInput      → Email input\n *   loginPasswordInput   → Password input\n *   loginSubmitButton    → Submit button\n *\n * VERIFY EMAIL FORM:\n *   verifyOtpInput       → OTP input component (custom 6-digit input)\n *   verifySubmitButton   → Verify button (also syncs with Salesforce)\n *   verifyResendButton   → Resend OTP button\n *   displayVerificationEmail → Shows email being verified\n *\n * USER INFO:\n *   displayUserName      → Shows user's full name\n *   displayUserFirstName → Shows user's first name\n *   displayUserLastName  → Shows user's last name\n *   displayUserEmail     → Shows user's email\n *   displayUserAvatar    → Shows user's profile image (apply to Image or Frame component)\n *   displayUserMilitaryRole   → Shows user's military role (joins multiple with \" / \")\n *   displayUserMilitaryBranch → Shows user's military branch (joins multiple with \" / \")\n *   displayUserCity      → Shows user's city\n *   signOutButton        → Signs user out\n *\n * VISIBILITY:\n *   showWhileLoading     → Shows during auth check\n *   showWhenLoggedIn     → Shows when authenticated\n *   showWhenLoggedOut    → Shows when NOT authenticated\n *   showWhenEmailNotVerified → Shows when logged in but email not verified\n *   showWhenEmailVerified → Shows when logged in AND email verified\n *   showWhenExistingContact → Shows when user existed in Salesforce before signup\n *   showWhenNewContact   → Shows when user is new (not in Salesforce before signup)\n *   showWhenStaff         → Shows only when user is staff (member.staff === true)\n *\n * PAGE GUARDS:\n *   redirectIfLoggedIn   → Use on /login, /register. Redirects logged-in users forward.\n *   redirectIfVerified   → Use on /verify-email. Requires session, redirects if verified.\n *   redirectIfOnboarded  → Use on /onboarding. Requires verified email, redirects if onboarded.\n *   requireAuth          → Use on /dashboard, etc. Full auth required.\n *\n * PREVIEW TOGGLE:\n *   authPreviewToggle    → Apply to a component with an \"isLoggedIn\" boolean prop.\n *                          When true, sets preview state to \"Logged In\".\n *                          When false, sets preview state to \"Logged Out\".\n *                          Only active in Framer preview mode.\n *\n * NOTE: Onboarding form overrides have been moved to Onboarding.tsx\n */const API_URL=API_BASE;// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n/**\n * Converts a string to Title Case, replacing underscores with spaces.\n * Example: \"active_duty\" -> \"Active Duty\"\n */function toTitleCase(str){return str.replace(/_/g,\" \")// Replace underscores with spaces\n.replace(/\\b\\w/g,char=>char.toUpperCase())// Capitalize first letter of each word\n;}/**\n * Formats a value that may be a string, JSON string, or array into a display string.\n * - Arrays are joined with \" / \" separator.\n * - Underscores are replaced with spaces.\n * - Each value is converted to Title Case.\n * Handles: actual arrays, JSON-stringified arrays, and plain strings.\n */function formatArrayValue(value){if(!value)return\"\";// If it's already an array, format and join it\nif(Array.isArray(value)){return value.filter(Boolean).map(toTitleCase).join(\" / \");}// If it's a string, check if it's a JSON array\nif(typeof value===\"string\"){// Check if it looks like a JSON array\nconst trimmed=value.trim();if(trimmed.startsWith(\"[\")&&trimmed.endsWith(\"]\")){try{const parsed=JSON.parse(trimmed);if(Array.isArray(parsed)){return parsed.filter(Boolean).map(toTitleCase).join(\" / \");}}catch{// Not valid JSON, fall through to plain string handling\n}}// Plain string, apply title case\nreturn toTitleCase(value);}return toTitleCase(String(value));}// ============================================================================\n// AUTH API FUNCTIONS\n// ============================================================================\nasync function refreshAuth(setStore){if(isFramerPreview()){setStore({user:null,member:null,loading:false,initialized:true,isExistingContact:false,pendingVerificationEmail:null,salesforceLookupComplete:false,salesforceId:null});return null;}try{const res=await fetch(`${API_URL}/api/me`,{credentials:\"include\"});if(res.ok){const data=await res.json();if(data.authenticated&&data.user){setStore(prev=>({user:data.user,member:data.member||null,loading:false,initialized:true,isExistingContact:prev.isExistingContact,pendingVerificationEmail:prev.pendingVerificationEmail,salesforceLookupComplete:prev.salesforceLookupComplete,salesforceId:data.member?.salesforce_id||prev.salesforceId}));return{user:data.user,member:data.member};}else{setStore(prev=>({user:null,member:null,loading:false,initialized:true,isExistingContact:false,pendingVerificationEmail:prev.pendingVerificationEmail,salesforceLookupComplete:false,salesforceId:null}));return null;}}else{setStore(prev=>({user:null,member:null,loading:false,initialized:true,isExistingContact:false,pendingVerificationEmail:prev.pendingVerificationEmail,salesforceLookupComplete:false,salesforceId:null}));return null;}}catch{setStore(prev=>({user:null,member:null,loading:false,initialized:true,isExistingContact:false,pendingVerificationEmail:prev.pendingVerificationEmail,salesforceLookupComplete:false,salesforceId:null}));return null;}}function getNextStep(user,member){if(!user)return\"/login\";if(!user.emailVerified)return\"/verify-email\";// If member exists but has no SF Contact linked, send to contact resolution\nif(member&&!member.salesforce_id)return\"/contact-resolution\";if(!member?.onboarding_completed)return\"/onboarding\";return\"/dashboard\";}/**\n * Background lookup to check if Salesforce Contact exists for this email.\n * Called while user waits for OTP verification code.\n * Does NOT create anything - just checks existence.\n */async function lookupSalesforceContact(setStore){try{console.log(\"[Auth] Starting Salesforce lookup...\");const res=await fetch(`${API_URL}/api/salesforce/lookup-by-email`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\"});if(res.ok){const data=await res.json();console.log(\"[Auth] Salesforce lookup result:\",data);// Update auth store with lookup results\nsetStore(prev=>({...prev,salesforceLookupComplete:true,salesforceId:data.salesforceId||null,isExistingContact:data.exists&&data.source===\"salesforce\"}));return{exists:data.exists||false,salesforceId:data.salesforceId||null,isExistingContact:data.exists&&data.source===\"salesforce\"};}else{console.error(\"[Auth] Salesforce lookup failed:\",await res.text());setStore(prev=>({...prev,salesforceLookupComplete:true}));return{exists:false,salesforceId:null,isExistingContact:false};}}catch(error){console.error(\"[Auth] Salesforce lookup error:\",error);setStore(prev=>({...prev,salesforceLookupComplete:true}));return{exists:false,salesforceId:null,isExistingContact:false};}}/**\n * Complete registration after email verification.\n * Creates member record and checks for existing SF Contacts by email.\n * Returns resolution status so frontend knows where to redirect:\n * - 'resolved': SF Contact already linked → go to /onboarding\n * - 'needs_resolution': needs phone search / contact matching → go to /contact-resolution\n */async function completeRegistration(setStore){try{console.log(\"[Auth] Completing registration with Salesforce...\");// Check for registration source (e.g., /join page for print media)\nlet registrationSource;try{registrationSource=localStorage.getItem(\"registration_source\")||undefined;}catch{}const res=await fetch(`${API_URL}/api/salesforce/complete-registration`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify(registrationSource?{registration_source:registrationSource}:{})});// Clean up after sending\nif(registrationSource){try{localStorage.removeItem(\"registration_source\");}catch{}}if(res.ok){const data=await res.json();console.log(\"[Auth] Registration complete:\",data);const resolution=data.resolution||{};const isResolved=resolution.status===\"resolved\";// Update auth store with registration results\nsetStore(prev=>({...prev,isExistingContact:isResolved,salesforceId:resolution.salesforceId||null}));return{success:true,isExistingContact:isResolved,salesforceId:resolution.salesforceId||null,resolution};}else{console.error(\"[Auth] Registration failed:\",await res.text());return{success:false,isExistingContact:false,salesforceId:null};}}catch(error){console.error(\"[Auth] Registration error:\",error);return{success:false,isExistingContact:false,salesforceId:null};}}/**\n * Sync with Salesforce - fire and forget version (DEPRECATED - use completeRegistration instead)\n * Uses keepalive to ensure request completes even after page navigation\n */function syncWithSalesforceBackground(){fetch(`${API_URL}/api/salesforce/sync`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",keepalive:true}).then(res=>{if(!res.ok){console.error(\"Background Salesforce sync failed\");}else{console.log(\"Background Salesforce sync initiated\");}}).catch(error=>{console.error(\"Background Salesforce sync error:\",error);});}/**\n * Sync with Salesforce - blocking version (DEPRECATED - use completeRegistration instead)\n */async function syncWithSalesforce(){try{const res=await fetch(`${API_URL}/api/salesforce/sync`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\"});if(res.ok){const data=await res.json();return{success:true,isExistingContact:data.isExistingContact||false};}else{console.error(\"Salesforce sync failed:\",await res.text());return{success:false,isExistingContact:false};}}catch(error){console.error(\"Salesforce sync error:\",error);return{success:false,isExistingContact:false};}}async function signIn(email,password,setStore){const res=await fetch(`${API_URL}/api/auth/sign-in/email`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify({email,password})});const data=await res.json();const hasError=!res.ok||data.error||data.code||data.message?.toLowerCase().includes(\"error\");if(!hasError){await refreshAuth(setStore);}return{...data,_httpStatus:res.status,_ok:res.ok};}async function signUp(email,password,firstName,lastName,setStore){const fullName=`${firstName} ${lastName}`.trim();const res=await fetch(`${API_URL}/api/auth/sign-up/email`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify({email,password,name:fullName,firstName,lastName})});const data=await res.json();const hasError=!res.ok||data.error||data.code||data.message?.toLowerCase().includes(\"error\");if(!hasError&&data.user){await refreshAuth(setStore);}return{...data,_httpStatus:res.status,_ok:res.ok};}async function sendVerificationOtp(email){const res=await fetch(`${API_URL}/api/auth/email-otp/send-verification-otp`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify({email,type:\"email-verification\"})});const data=await res.json();return{...data,_httpStatus:res.status,_ok:res.ok};}async function verifyEmailOtp(email,otp,setStore){const res=await fetch(`${API_URL}/api/auth/email-otp/verify-email`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify({email,otp})});const data=await res.json();if(res.ok&&!data.error){await refreshAuth(setStore);}return{...data,_httpStatus:res.status,_ok:res.ok};}async function signOut(setStore){const res=await fetch(`${API_URL}/api/auth/sign-out`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},credentials:\"include\",body:JSON.stringify({})});setStore({user:null,member:null,loading:false,initialized:true,isExistingContact:false,pendingVerificationEmail:null,salesforceLookupComplete:false,salesforceId:null});return res.json();}// ============================================================================\n// PREVIEW AUTH TOGGLE (for Framer canvas design)\n// ============================================================================\nexport function authPreviewToggle(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[,setPreviewStore]=usePreviewAuthStore();const isLoggedIn=props.isLoggedIn??props.authPreview??props.loggedIn??false;useEffect(()=>{if(!isFramerPreview())return;const newState=isLoggedIn?\"loggedIn\":\"loggedOut\";setPreviewStore({state:newState});window.dispatchEvent(new Event(\"authPreviewChange\"));},[isLoggedIn]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}// ============================================================================\n// LOGIN FORM OVERRIDES\n// ============================================================================\nexport function loginEmailInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useLoginFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.email,onChange:e=>setForm(prev=>({...prev,email:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,email:value})),type:\"email\",placeholder:props.placeholder||\"Email\",disabled:form.loading});});}export function loginPasswordInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useLoginFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.password,onChange:e=>setForm(prev=>({...prev,password:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,password:value})),type:\"password\",placeholder:props.placeholder||\"Password\",disabled:form.loading});});}export function loginSubmitButton(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useLoginFormStore();const[,setAuthStore]=useAuthStore();const handleClick=async()=>{if(form.loading)return;if(!form.email||!form.password){showToast(\"Missing Fields\",\"Please fill in all fields\",\"error\");return;}setForm(prev=>({...prev,loading:true}));try{const result=await signIn(form.email,form.password,setAuthStore);if(!result._ok||result.error||result.code){const errorMessage=result.error?.message||result.message||result.error?.code||result.code||\"Invalid email or password\";showToast(\"Sign In Failed\",errorMessage,\"error\");setForm(prev=>({...prev,loading:false}));}else{setForm({email:\"\",password:\"\",loading:false});const authResult=await refreshAuth(setAuthStore);const nextStep=getNextStep(authResult?.user,authResult?.member);window.location.href=nextStep;}}catch(err){showToast(\"Connection Error\",\"Network error. Please try again.\",\"error\");setForm(prev=>({...prev,loading:false}));}};const handleTap=e=>{e?.preventDefault?.();handleClick();};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:handleTap,onTap:handleTap,disabled:form.loading,variant:form.loading?\"Loading\":props.variant,\"data-loading\":form.loading});});}// ============================================================================\n// SIGNUP FORM OVERRIDES\n// ============================================================================\nexport function signupFirstNameInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useSignupFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.firstName,onChange:e=>setForm(prev=>({...prev,firstName:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,firstName:value})),type:\"text\",placeholder:props.placeholder||\"First Name\",disabled:form.loading});});}export function signupLastNameInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useSignupFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.lastName,onChange:e=>setForm(prev=>({...prev,lastName:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,lastName:value})),type:\"text\",placeholder:props.placeholder||\"Last Name\",disabled:form.loading});});}export function signupEmailInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useSignupFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.email,onChange:e=>setForm(prev=>({...prev,email:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,email:value})),type:\"email\",placeholder:props.placeholder||\"Email\",disabled:form.loading});});}export function signupPasswordInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useSignupFormStore();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.password,onChange:e=>setForm(prev=>({...prev,password:e.target?.value||e})),onValueChange:value=>setForm(prev=>({...prev,password:value})),type:\"password\",placeholder:props.placeholder||\"Password\",disabled:form.loading});});}export function signupSubmitButton(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useSignupFormStore();const[,setAuthStore]=useAuthStore();const handleClick=async()=>{if(form.loading)return;if(!form.firstName||!form.lastName||!form.email||!form.password){showToast(\"Missing Fields\",\"Please fill in all fields\",\"error\");return;}if(form.password.length<8){showToast(\"Password Too Short\",\"Password must be at least 8 characters\",\"error\");return;}setForm(prev=>({...prev,loading:true}));try{const result=await signUp(form.email,form.password,form.firstName,form.lastName,setAuthStore);const hasError=!result._ok||result.error||result.code||!result.user;if(hasError){let errorMessage=\"Sign up failed\";let errorTitle=\"Sign Up Failed\";if(result.error?.message){errorMessage=result.error.message;}else if(result.message){errorMessage=result.message;}else if(result.error?.code){errorMessage=result.error.code;}else if(result.code){errorMessage=result.code;}const errorLower=errorMessage.toLowerCase();if(result.code===\"USER_ALREADY_EXISTS\"||result.error?.code===\"USER_ALREADY_EXISTS\"||errorLower.includes(\"already exists\")||errorLower.includes(\"already registered\")||errorLower.includes(\"email is already\")||errorLower.includes(\"user with this email\")){errorMessage=\"An account with this email already exists\";errorTitle=\"Account Exists\";}showToast(errorTitle,errorMessage,\"error\");setForm(prev=>({...prev,loading:false}));}else{const emailToVerify=form.email;setAuthStore(prev=>({...prev,pendingVerificationEmail:emailToVerify}));setForm({firstName:\"\",lastName:\"\",email:\"\",password:\"\",loading:false});// Track registration source for /join page (print media QR codes)\nif(window.location.pathname===\"/join\"){try{localStorage.setItem(\"registration_source\",\"print_join\");}catch{}}window.location.href=\"/verify-email\";}}catch(err){showToast(\"Connection Error\",\"Network error. Please try again.\",\"error\");setForm(prev=>({...prev,loading:false}));}};const handleTap=e=>{e?.preventDefault?.();handleClick();};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:handleTap,onTap:handleTap,disabled:form.loading,variant:form.loading?\"Loading\":props.variant,\"data-loading\":form.loading});});}// ============================================================================\n// VERIFY EMAIL FORM OVERRIDES\n// ============================================================================\nexport function verifyOtpInput(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useVerifyEmailFormStore();const handleChange=valueOrEvent=>{let value;if(typeof valueOrEvent===\"string\"){value=valueOrEvent;}else if(valueOrEvent?.target?.value!==undefined){value=valueOrEvent.target.value;}else{value=String(valueOrEvent||\"\");}const cleanValue=value.replace(/\\D/g,\"\").slice(0,6);// Use functional update to avoid stale closure issues\nsetForm(prev=>({...prev,otp:cleanValue}));};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,value:form.otp,onChange:handleChange,disabled:form.loading});});}export function verifySubmitButton(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useVerifyEmailFormStore();const[authStore,setAuthStore]=useAuthStore();useEffect(()=>{if(isFramerPreview())return;const initVerification=async()=>{const result=await refreshAuth(setAuthStore);if(result?.user?.email){// Start background Salesforce lookup while user waits for OTP\n// This pre-checks if the email exists in Salesforce\nlookupSalesforceContact(setAuthStore);if(!form.otpSent){try{const otpResult=await sendVerificationOtp(result.user.email);if(otpResult._ok&&!otpResult.error){setForm(prev=>({...prev,otpSent:true,resendCooldown:60}));showToast(\"Code Sent\",`Verification code sent to ${result.user.email}`,\"success\");}}catch(err){console.error(\"Failed to send initial OTP:\",err);}}}};initVerification();},[]);const handleClick=async()=>{if(form.loading)return;const email=authStore.user?.email;if(!email){showToast(\"Session Required\",\"Please sign in to verify your email\",\"info\");window.location.href=\"/login\";return;}if(!form.otp||form.otp.length!==6){showToast(\"Invalid Code\",\"Please enter the 6-digit code\",\"error\");return;}setForm(prev=>({...prev,loading:true}));try{const result=await verifyEmailOtp(email,form.otp,setAuthStore);const isSuccess=result._ok&&!result.error&&(result.status===true||result.user||!result.code);if(isSuccess){// Complete registration - this creates member record and checks for SF Contacts\n// This is a BLOCKING call so we ensure the member record exists\n// before redirecting\nshowToast(\"Email Verified\",\"Setting up your profile...\",\"info\");const registrationResult=await completeRegistration(setAuthStore);if(registrationResult.success){console.log(\"[Auth] Registration complete, resolution:\",registrationResult.resolution?.status,\"salesforce_id:\",registrationResult.salesforceId);}else{console.warn(\"[Auth] Registration had issues, but continuing to onboarding\");}setAuthStore(prev=>({...prev,pendingVerificationEmail:null,isExistingContact:registrationResult.isExistingContact,salesforceId:registrationResult.salesforceId}));// Persist existing contact flag for onboarding welcome message\nif(registrationResult.isExistingContact){try{localStorage.setItem(\"m43_existing_contact\",\"true\");}catch{}}setForm({otp:\"\",loading:false,resendCooldown:0,otpSent:false});// Redirect based on contact resolution status\nif(registrationResult.success&&registrationResult.resolution?.status===\"needs_resolution\"){window.location.href=\"/contact-resolution\";}else{window.location.href=\"/onboarding\";}}else{let errorMessage=\"Invalid or expired code\";if(result.error?.message){errorMessage=result.error.message;}else if(result.message){errorMessage=result.message;}else if(result.code){errorMessage=result.code;}showToast(\"Verification Failed\",errorMessage,\"error\");setForm(prev=>({...prev,loading:false}));}}catch(err){showToast(\"Connection Error\",\"Network error. Please try again.\",\"error\");setForm(prev=>({...prev,loading:false}));}};const handleTap=e=>{e?.preventDefault?.();handleClick();};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:handleTap,onTap:handleTap,disabled:form.loading||form.otp.length!==6,variant:form.loading?\"Loading\":props.variant,\"data-loading\":form.loading});});}export function verifyResendButton(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useVerifyEmailFormStore();const[authStore,setAuthStore]=useAuthStore();useEffect(()=>{if(!authStore.initialized&&!isFramerPreview()){refreshAuth(setAuthStore);}},[]);useEffect(()=>{if(form.resendCooldown>0){const timer=setTimeout(()=>{setForm(prev=>({...prev,resendCooldown:prev.resendCooldown-1}));},1e3);return()=>clearTimeout(timer);}},[form.resendCooldown]);const handleClick=async()=>{if(form.resendCooldown>0)return;const email=authStore.user?.email;if(!email){showToast(\"Session Required\",\"Please sign in to verify your email\",\"info\");window.location.href=\"/login\";return;}try{const result=await sendVerificationOtp(email);if(result._ok&&!result.error){showToast(\"Code Sent\",`New code sent to ${email}`,\"success\");setForm(prev=>({...prev,resendCooldown:60,otpSent:true}));}else{showToast(\"Failed to Send\",\"Please try again later\",\"error\");}}catch(err){showToast(\"Connection Error\",\"Network error. Please try again.\",\"error\");}};const handleTap=e=>{e?.preventDefault?.();handleClick();};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:handleTap,onTap:handleTap,disabled:form.resendCooldown>0,text:form.resendCooldown>0?`Resend in ${form.resendCooldown}s`:props.text});});}export function displayVerificationEmail(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[authStore,setAuthStore]=useAuthStore();useEffect(()=>{if(!authStore.initialized&&!isFramerPreview()){refreshAuth(setAuthStore);}},[]);const email=authStore.user?.email||\"your email\";return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:email});});}// ============================================================================\n// USER DISPLAY & SIGN OUT\n// ============================================================================\nexport function displayUserName(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"John Doe\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:store.user?.name||\"\"});});}export function displayUserFirstName(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"John\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}const firstName=store.member?.first_name||store.user?.firstName||store.user?.name?.split(\" \")[0]||\"\";return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:firstName});});}export function displayUserLastName(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"Doe\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}const lastName=store.member?.last_name||store.user?.lastName||store.user?.name?.split(\" \").slice(1).join(\" \")||\"\";return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:lastName});});}export function displayUserEmail(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"john@example.com\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:store.user?.email||\"\"});});}export function displayUserAvatar(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);// Avatar override via CustomEvent from MemberSettings (cross-module reactivity)\n// undefined = no override, null = photo removed, string = new photo URL\nconst[avatarOverride,setAvatarOverride]=useState(undefined);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);// Listen for avatar changes from MemberSettings\nconst avatarHandler=e=>{const detail=e.detail;setAvatarOverride(detail?.url??null);};window.addEventListener(\"avatarChanged\",avatarHandler);return()=>{window.removeEventListener(\"authPreviewChange\",handler);window.removeEventListener(\"avatarChanged\",avatarHandler);};},[]);// Default placeholder avatar\nconst placeholderAvatar=\"https://api.dicebear.com/7.x/initials/svg?seed=JD&backgroundColor=F02F4E\";// Get avatar URL based on auth state\nlet finalAvatar=placeholderAvatar;if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){finalAvatar=placeholderAvatar;}}else{const avatarUrl=avatarOverride!==undefined?avatarOverride:store.user?.image||store.member?.avatar||store.member?.avatar_url||store.member?.profile_photo_url||null;const userName=store.member?.first_name&&store.member?.last_name?`${store.member.first_name} ${store.member.last_name}`:store.user?.name;const fallbackAvatar=userName?`https://api.dicebear.com/7.x/initials/svg?seed=${encodeURIComponent(userName)}&backgroundColor=F02F4E`:placeholderAvatar;finalAvatar=avatarUrl||fallbackAvatar;}const existingStyle=props.style||{};const imageStyle={...existingStyle,backgroundImage:`url(${finalAvatar})`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\"};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:imageStyle,src:finalAvatar,image:finalAvatar,background:finalAvatar,backgroundImage:finalAvatar});});}export function displayUserMilitaryRole(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"Veteran / Spouse\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}const militaryRoleRaw=store.member?.military_role||store.member?.military?.military_role||null;const militaryRole=formatArrayValue(militaryRoleRaw);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:militaryRole});});}export function displayUserMilitaryBranch(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"Army / Navy\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}const militaryBranchRaw=store.member?.military_branch||store.member?.military?.military_branch||null;const militaryBranch=formatArrayValue(militaryBranchRaw);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:militaryBranch});});}export function displayUserCity(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"Boise\"});}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:\"\"});}const city=store.member?.city||\"\";return /*#__PURE__*/_jsx(Component,{...props,ref:ref,text:city});});}export function signOutButton(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[,setStore]=useAuthStore();const handleSignOut=async e=>{e?.preventDefault?.();e?.stopPropagation?.();await signOut(setStore);window.location.href=\"/login\";};return /*#__PURE__*/_jsx(Component,{...props,ref:ref,onClick:handleSignOut,onTap:handleSignOut});});}// ============================================================================\n// AUTH STATE OVERRIDES (visibility)\n// ============================================================================\nexport function showWhileLoading(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}},[]);if(isFramerPreview())return null;if(!store.loading)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenLoggedIn(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}return null;}if(store.loading||!store.user)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenLoggedOut(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){if(previewStore.state===\"loggedOut\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}return null;}if(store.loading||store.user)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenEmailNotVerified(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){if(previewStore.state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}return null;}if(store.loading||!store.user||store.user.emailVerified)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenEmailVerified(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){if(previewStore.state===\"verified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}return null;}if(store.loading||!store.user||!store.user.emailVerified)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenExistingContact(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}},[]);if(isFramerPreview())return null;if(store.loading||!store.isExistingContact)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenNewContact(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);if(isFramerPreview()){const state=previewStore.state;if(state===\"loggedIn\"||state===\"verified\"||state===\"unverified\"){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}return null;}if(store.loading||store.isExistingContact)return null;return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}// ============================================================================\n// PAGE GUARDS\n// ============================================================================\nexport function redirectIfLoggedIn(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(isFramerPreview()){setStore(prev=>({...prev,loading:false,initialized:true}));return;}refreshAuth(setStore).then(result=>{if(result?.user){const nextStep=getNextStep(result.user,result.member);window.location.href=nextStep;}});},[]);if(isFramerPreview()){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}if(store.loading||store.user){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function redirectIfVerified(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(isFramerPreview()){setStore(prev=>({...prev,loading:false,initialized:true}));return;}refreshAuth(setStore).then(result=>{if(!result?.user){window.location.href=\"/login\";}else if(result.user.emailVerified){const nextStep=getNextStep(result.user,result.member);window.location.href=nextStep;}});},[]);if(isFramerPreview()){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}if(store.loading||!store.user||store.user?.emailVerified){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function redirectIfOnboarded(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(isFramerPreview()){setStore(prev=>({...prev,loading:false,initialized:true}));return;}refreshAuth(setStore).then(result=>{if(!result?.user){window.location.href=\"/login\";}else if(!result.user.emailVerified){window.location.href=\"/verify-email\";}else if(result.member&&!result.member.salesforce_id){window.location.href=\"/contact-resolution\";}else if(result.member?.onboarding_completed){window.location.href=\"/dashboard\";}});},[]);if(isFramerPreview()){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}if(store.loading||!store.user||!store.user?.emailVerified||store.member?.onboarding_completed){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function showWhenStaff(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();const[previewStore]=usePreviewAuthStore();const[,forceUpdate]=useState(0);useEffect(()=>{if(!store.initialized&&!isFramerPreview()){refreshAuth(setStore);}const handler=()=>forceUpdate(n=>n+1);window.addEventListener(\"authPreviewChange\",handler);return()=>window.removeEventListener(\"authPreviewChange\",handler);},[]);// In Framer preview, hide staff-only elements by default\nif(isFramerPreview()){return null;}// Hide while loading, if not logged in, or if not staff\nif(store.loading||!store.user||!store.member?.staff){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function requireAuth(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(isFramerPreview()){setStore(prev=>({...prev,loading:false,initialized:true}));return;}refreshAuth(setStore).then(result=>{if(!result?.user){window.location.href=\"/login\";}else if(!result.user.emailVerified){window.location.href=\"/verify-email\";}else if(result.member&&!result.member.salesforce_id){window.location.href=\"/contact-resolution\";}else if(!result.member?.onboarding_completed){window.location.href=\"/onboarding\";}});},[]);if(isFramerPreview()){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}if(store.loading||!store.user||!store.user.emailVerified||!store.member?.onboarding_completed){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}export function requireStaff(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useAuthStore();useEffect(()=>{if(isFramerPreview()){setStore(prev=>({...prev,loading:false,initialized:true}));return;}refreshAuth(setStore).then(result=>{if(!result?.user){window.location.href=\"/login\";}else if(!result.member?.staff){window.location.href=\"/\";}});},[]);if(isFramerPreview()){return /*#__PURE__*/_jsx(Component,{...props,ref:ref});}if(store.loading||!store.user||!store.member?.staff){return null;}return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}\nexport const __FramerMetadata__ = {\"exports\":{\"requireAuth\":{\"type\":\"reactHoc\",\"name\":\"requireAuth\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserName\":{\"type\":\"reactHoc\",\"name\":\"displayUserName\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"redirectIfOnboarded\":{\"type\":\"reactHoc\",\"name\":\"redirectIfOnboarded\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserLastName\":{\"type\":\"reactHoc\",\"name\":\"displayUserLastName\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenExistingContact\":{\"type\":\"reactHoc\",\"name\":\"showWhenExistingContact\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenEmailVerified\":{\"type\":\"reactHoc\",\"name\":\"showWhenEmailVerified\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenNewContact\":{\"type\":\"reactHoc\",\"name\":\"showWhenNewContact\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"verifyResendButton\":{\"type\":\"reactHoc\",\"name\":\"verifyResendButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserFirstName\":{\"type\":\"reactHoc\",\"name\":\"displayUserFirstName\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserEmail\":{\"type\":\"reactHoc\",\"name\":\"displayUserEmail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signupPasswordInput\":{\"type\":\"reactHoc\",\"name\":\"signupPasswordInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signOutButton\":{\"type\":\"reactHoc\",\"name\":\"signOutButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signupFirstNameInput\":{\"type\":\"reactHoc\",\"name\":\"signupFirstNameInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserMilitaryBranch\":{\"type\":\"reactHoc\",\"name\":\"displayUserMilitaryBranch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"authPreviewToggle\":{\"type\":\"reactHoc\",\"name\":\"authPreviewToggle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"verifySubmitButton\":{\"type\":\"reactHoc\",\"name\":\"verifySubmitButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"redirectIfVerified\":{\"type\":\"reactHoc\",\"name\":\"redirectIfVerified\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayVerificationEmail\":{\"type\":\"reactHoc\",\"name\":\"displayVerificationEmail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"showWhenLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenEmailNotVerified\":{\"type\":\"reactHoc\",\"name\":\"showWhenEmailNotVerified\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenStaff\":{\"type\":\"reactHoc\",\"name\":\"showWhenStaff\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signupSubmitButton\":{\"type\":\"reactHoc\",\"name\":\"signupSubmitButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserAvatar\":{\"type\":\"reactHoc\",\"name\":\"displayUserAvatar\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loginPasswordInput\":{\"type\":\"reactHoc\",\"name\":\"loginPasswordInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserMilitaryRole\":{\"type\":\"reactHoc\",\"name\":\"displayUserMilitaryRole\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenLoggedOut\":{\"type\":\"reactHoc\",\"name\":\"showWhenLoggedOut\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loginSubmitButton\":{\"type\":\"reactHoc\",\"name\":\"loginSubmitButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loginEmailInput\":{\"type\":\"reactHoc\",\"name\":\"loginEmailInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signupLastNameInput\":{\"type\":\"reactHoc\",\"name\":\"signupLastNameInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"displayUserCity\":{\"type\":\"reactHoc\",\"name\":\"displayUserCity\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireStaff\":{\"type\":\"reactHoc\",\"name\":\"requireStaff\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"verifyOtpInput\":{\"type\":\"reactHoc\",\"name\":\"verifyOtpInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"signupEmailInput\":{\"type\":\"reactHoc\",\"name\":\"signupEmailInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhileLoading\":{\"type\":\"reactHoc\",\"name\":\"showWhileLoading\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"redirectIfLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"redirectIfLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Auth.map"],"mappings":"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"}