PageSourceSearch

https://envocal.ai/assets/contact-CD2KFdY_.js

js envocal.ai collected 2026-10-05 14:17:58 UTC 6,113 bytes, 1 lines download raw bytes

1import{Qt as e,Xt as t,c as n,ct as r,dt as i,i as a,m as o,n as s,nt as c,vt as l}from"./primitives-Cz4tti3R.js";import{t as u}from"./check-BNTXlufy.js";import{E as d,_ as f,c as p,h as m,m as h,p as g}from"./index-CjULrFoM.js";var _=i(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),v=e(t(),1),y=l(),b=Object.defineProperty,x=v.forwardRef(((e,t)=>b(e,`name`,{value:t,configurable:!0}))(function(e,t){return(0,y.jsx)(d.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},`Label`));function S({className:e,type:t,...n}){return(0,y.jsx)(`input`,{type:t,"data-slot":`input`,className:r(`h-9 w-full min-w-0 rounded-3xl border border-transparent bg-input/50 px-3 py-1 text-base transition-[color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}function C({className:e,...t}){return(0,y.jsx)(x,{"data-slot":`label`,className:r(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function w({className:e,...t}){return(0,y.jsx)(`textarea`,{"data-slot":`textarea`,className:r(`flex field-sizing-content min-h-16 w-full resize-none rounded-2xl border border-transparent bg-input/50 px-3 py-3 text-base transition-[color,box-shadow,background-color] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}var T=p(`ai-voicemail-agent`).glow,E=`https://ergo.mimerai.com:8001/api/contact`,D=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);function O(){let[e,t]=v.useState(`idle`),[n,r]=v.useState(null),i=m(),a=v.useCallback(async()=>{let e=i.name.trim(),n=i.email.trim(),a=i.phone.trim(),o=i.message.trim();if(!e)return t(`error`),r(`Name is required.`),{ok:!1,error:`Name is required.`};if(!D(n))return t(`error`),r(`Please enter a valid email address.`),{ok:!1,error:`A valid email address is required.`};t(`submitting`),r(null);try{let r=await fetch(E,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e,email:n,message:a?`Phone: ${a}\n\n${o}`:o})});if(!r.ok)throw Error(String(r.status));return t(`done`),{ok:!0}}catch{t(`error`);let e=`Could not send. Please try again later.`;return r(e),{ok:!1,error:e}}},[i]);v.useEffect(()=>(g(a),()=>g(null)),[a]);function o(e){e.preventDefault(),a()}return e===`done`?(0,y.jsxs)(`div`,{className:`py-10 text-center`,children:[(0,y.jsx)(`div`,{className:`mx-auto flex size-11 items-center justify-center rounded-full`,style:{color:c,backgroundColor:`color-mix(in oklab, ${c}, transparent 85%)`},children:(0,y.jsx)(u,{className:`size-5`})}),(0,y.jsx)(`h2`,{className:`mt-6 text-2xl`,children:`Thanks — we’ll be in touch.`})]}):(0,y.jsxs)(`form`,{onSubmit:o,className:`rounded-3xl border border-card/60 bg-card/45 p-7 shadow-xl ring-1 ring-foreground/5 backdrop-blur-xl md:p-9`,children:[(0,y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,y.jsx)(C,{htmlFor:`name`,children:`Name`}),(0,y.jsx)(S,{id:`name`,name:`name`,autoComplete:`name`,required:!0,value:i.name,onChange:e=>h({name:e.target.value})})]}),(0,y.jsxs)(`div`,{className:`mt-5 grid gap-2`,children:[(0,y.jsx)(C,{htmlFor:`email`,children:`Email`}),(0,y.jsx)(S,{id:`email`,name:`email`,type:`email`,autoComplete:`email`,required:!0,value:i.email,onChange:e=>h({email:e.target.value})})]}),(0,y.jsxs)(`div`,{className:`mt-5 grid gap-2`,children:[(0,y.jsxs)(C,{htmlFor:`phone`,children:[`Phone number`,` `,(0,y.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`(optional)`})]}),(0,y.jsx)(S,{id:`phone`,name:`phone`,type:`tel`,autoComplete:`tel`,value:i.phone,onChange:e=>h({phone:e.target.value})})]}),(0,y.jsxs)(`div`,{className:`mt-5 grid gap-2`,children:[(0,y.jsxs)(C,{htmlFor:`message`,children:[`Message`,` `,(0,y.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`(optional)`})]}),(0,y.jsx)(w,{id:`message`,name:`message`,rows:8,className:`field-sizing-fixed resize-y`,value:i.message,onChange:e=>h({message:e.target.value})})]}),n?(0,y.jsx)(`p`,{role:`alert`,className:`mt-5 text-sm text-destructive`,children:n}):null,(0,y.jsxs)(f,{type:`submit`,size:`lg`,className:`mt-7 w-full`,disabled:e===`
1submitting`,children:[e===`submitting`?(0,y.jsx)(_,{className:`animate-spin`}):null,`Send message`]}),(0,y.jsx)(`p`,{className:`mt-4 text-center text-xs text-muted-foreground`,children:`Your information is used to respond to your request.`})]})}function k(){return(0,y.jsxs)(`section`,{className:`relative -mt-16 overflow-x-clip pt-32 pb-16 md:pt-40 md:pb-24`,children:[(0,y.jsx)(o,{color:T.color,strength:T.strength,from:`top`}),(0,y.jsx)(s,{className:`relative`,children:(0,y.jsxs)(`div`,{className:`grid gap-12 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.1fr)] lg:gap-20`,children:[(0,y.jsxs)(n,{children:[(0,y.jsx)(a,{children:`Book a demo`}),(0,y.jsx)(`h1`,{className:`mt-6 text-[clamp(2.25rem,5vw,3.5rem)]`,children:`See what Envocal can do for your business.`}),(0,y.jsx)(`p`,{className:`mt-6 text-lg leading-relaxed text-muted-foreground`,children:`Tell us what you want to build and we will show you how Envocal can fit your use case, telephony environment or customer offering.`})]}),(0,y.jsx)(n,{delay:.1,children:(0,y.jsx)(O,{})})]})})]})}export{k as component};

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.