1import{p,a as g}from"./freeTools.0Cn1wnVq.js";document.addEventListener("astro:page-load",function(){const e=document.getElementById("email-finder-widget");if(!e)return;const m=e.querySelector("#ef-name"),u=e.querySelector("#ef-website"),i=e.querySelector("#ef-submit"),s=e.querySelector("#ef-result"),l=e.querySelector("#ef-cta");function r(t,n,o){if(s.className=[`mt-4 rounded-lg px-4 py-3 font-medium ${e.hasAttribute("data-large")?"text-base":"text-sm"}`,t?"bg-success-bg-light text-success-text border border-success-border":"bg-error-bg text-error-text border border-error-border"].join(" "),s.textContent="",o){const a=document.createElement("span");a.className="font-normal opacity-75",a.textContent=o,s.append(n,document.createElement("br"),a)}else s.textContent=n}function f(){s.className="hidden",s.textContent="",l.classList.add("hidden"),l.classList.remove("animate-expand-in")}function c(t){t?i.innerHTML='<span class="loader-spinner"></span> Searchingâ¦':i.textContent="Find Email",i.disabled=t,i.classList.toggle("opacity-60",t),i.classList.toggle("cursor-not-allowed",t)}e.addEventListener("submit",async t=>{t.preventDefault(),f();const n=p(m.value);if("error"in n){r(!1,n.error);return}const o=g(u.value);if("error"in o){r(!1,o.error);return}c(!0);try{const a=await fetch("/api/email-finder",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({first_name:n.firstName,last_name:n.lastName,company_domain:o.domain})});if(a.ok){const d=await a.json();r(!0,d.email,`Validity: ${d.validity}`)}else a.status===404?r(!1,"No email found for this person and domain."):r(!1,"Something went wrong. Please try again.");l.classList.remove("hidden"),l.classList.add("animate-expand-in")}catch{r(!1,"Something went wrong. Please try again.")}finally{c(!1)}})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.