1import{_ as W}from"./B6x3R7Wg.js";import{_ as D}from"./rdaSZmD_.js";import{_ as K}from"./CZmn9pK2.js";import{_ as J}from"./B-DgmWu8.js";import{S as G,D as Q,E as Y,e as M,z as I,m as L,G as j,g as R,H as z,I as Z,J as X,K as B,L as ee,M as O,q as te,N as re,o as q,O as se,p as H,Q as oe,A as ne,c as E,j as U,a as b,k as g,d as P,b as x,w as h,h as ae,_ as ie,f as le,i as ue}from"./DbfHA8MV.js";import{u as ce,a as de}from"./ZT20fSEW.js";import{t as me,a as F}from"./CA-w5sA9.js";import{_ as pe}from"./2cGHM1Sx.js";import{_ as fe}from"./D5trcJRU.js";import{u as ge}from"./DzYWTBSO.js";import{u as A}from"./M6IrOpCE.js";import{o as ye,b as $,s as C}from"./CAIa7X-A.js";import"./DLIKFUPq.js";import"./JmDm_dP0.js";import"./BB34iRxL.js";import"./BskQ2YPd.js";import"./FPOGnH2N.js";import"./DvO3trJ3.js";import"./ZlfaKzO8.js";import"./DDCDXqUw.js";import"./BAMDYEQl.js";import"./CpOpcM8j.js";import"./BRtod-ZM.js";function xe(s={}){const l=[];let m=-1;const t=(o=!1)=>({get(e,c,p){if(!o){const f=Reflect.get(e,c,p);if(typeof f<"u")return f;m++,l[m]=[]}return l[m].push({type:"get",key:c}),new Proxy(()=>{},t(!0))},apply(e,c,p){l[m].push({type:"apply",key:"",args:p})}});return{proxy:new Proxy(s||{},t()),stack:l}}function be(s){const l={get(m,t,o){const e=Reflect.get(m,t,o);return typeof e=="object"?new Proxy(e,l):e},apply(m,t,o){Reflect.apply(m,t,o)}};return new Proxy(s,l)}function _e(s,l){l.forEach(m=>{let t=s,o=s;m.forEach(({type:e,key:c,args:p})=>{e==="get"?(o=t,t=t[c]):e==="apply"&&(t=t.call(o,...p))})})}function ve(s){return s.key||s.src||(typeof s.innerHTML=="string"?s.innerHTML:"")}const he=["preconnect","dns-prefetch"];function we(s,l,m){var y,w,V;const t=typeof l=="string"?{src:l}:l,o=m||{},e=ve(t),c=(y=s._scripts)==null?void 0:y[e];if(c)return c.setupTriggerHandler(o.trigger),c;(w=o.beforeInit)==null||w.call(o);const p=a=>{n.status=a,s.hooks.callHook("script:updated",N)};G.forEach(a=>{const d=a,i=typeof t[d]=="function"?t[d].bind(o.eventContext):null;t[d]=u=>{p(a==="onload"?"loaded":a==="onerror"?"error":"loading"),i==null||i(u)}});const f={loaded:[],error:[]},r=new Set,_=(a,d,i)=>{if(!s.ssr){if(i!=null&&i.key){const u=`${i==null?void 0:i.key}:${i.key}`;if(r.has(u))return;r.add(u)}if(f[a]){const u=f[a].push(d);return()=>{var S;return(S=f[a])==null?void 0:S.splice(u-1,1)}}return d(n.instance),()=>{}}},v=new Promise(a=>{if(s.ssr)return;const d=u=>requestAnimationFrame(()=>a(u)),i=s.hooks.hook("script:updated",({script:u})=>{const S=u.status;if(u.id===e&&(S==="loaded"||S==="error")){if(S==="loaded")if(typeof o.use=="function"){const k=o.use();k&&d(k)}else d({});else S==="error"&&a(!1);i()}})}),n={_loadPromise:v,instance:!s.ssr&&((V=o==null?void 0:o.use)==null?void 0:V.call(o))||null,proxy:null,id:e,status:"awaitingLoad",remove(){var a,d,i;return(a=n._triggerAbortController)==null||a.abort(),n._triggerPromises=[],(d=n._warmupEl)==null||d.dispose(),n.entry?(n.entry.dispose(),n.entry=void 0,p("removed"),(i=s._scripts)==null||delete i[e],!0):!1},warmup(a){const{src:d}=t,i=!d.startsWith("/")||d.startsWith("//"),u=a&&he.includes(a);let S=d;if(!a||u&&!i)return;if(u){const T=new URL(d);S=`${T.protocol}//${T.host}`}const k={href:S,rel:a,crossorigin:typeof t.crossorigin<"u"?t.crossorigin:i?"anonymous":void 0,referrerpolicy:typeof t.referrerpolicy<"u"?t.referrerpolicy:i?"no-referrer":void 0,fetchpriority:typeof t.fetchpriority<"u"?t.fetchpriority:"low",integrity:t.integrity,as:a==="preload"?"script":void 0};return n._warmupEl=s.push({link:[k]},{head:s,tagPriority:"high"}),n._warmupEl},load(a){var d;if((d=n._triggerAbortController)==null||d.abort(),n._triggerPromises=[],!n.entry){p("loading");const i={defer:!0,fetchpriority:"low"};t.src&&(t.src.startsWith("http")||t.src.startsWith("//"))&&(i.crossorigin="anonymous",i.referrerpolicy="no-referrer"),n.entry=s.push({script:[{...i,...t}]},o)}return a&&_("loaded",a),v},onLoaded(a,d){return _("loaded",a,d)},onError(a,d){return _("error",a,d)},setupTriggerHandler(a){if(n.status==="awaitingLoad")if((typeof a>"u"||a==="client")&&!s.ssr||a==="server")n.load();else if(a instanceof Promise){if(s.ssr)return;n._triggerAbortController||(n._triggerAbortController=new AbortController,n._triggerAbortPromise=new Promise(i=>{n._triggerAbortController.signal.addEventListener("abort",()=>{n._triggerAbortController=null,i()})})),n._triggerPromises=n._triggerPromises||[];
1const d=n._triggerPromises.push(Promise.race([a.then(i=>typeof i>"u"||i?n.load:void 0),n._triggerAbortPromise]).catch(()=>{}).then(i=>{i==null||i()}).finally(()=>{var i;(i=n._triggerPromises)==null||i.splice(d,1)}))}else typeof a=="function"&&a(n.load)},_cbs:f};v.then(a=>{var d,i;a!==!1?(n.instance=a,(d=f.loaded)==null||d.forEach(u=>u(a)),f.loaded=null):((i=f.error)==null||i.forEach(u=>u()),f.error=null)});const N={script:n};if(n.setupTriggerHandler(o.trigger),o.use){const{proxy:a,stack:d}=xe(s.ssr?{}:o.use()||{});n.proxy=a,n.onLoaded(i=>{_e(i,d),n.proxy=be(i)})}return!o.warmupStrategy&&(typeof o.trigger>"u"||o.trigger==="client")&&(o.warmupStrategy="preload"),o.warmupStrategy&&n.warmup(o.warmupStrategy),s._scripts=Object.assign(s._scripts||{},{[e]:n}),n}function Se(s,l){if(!l)return;const m=(t,o)=>{if(!s._cbs[t])return o(s.instance),()=>{};let e=s._cbs[t].push(o);const c=()=>{var p;e&&((p=s._cbs[t])==null||p.splice(e-1,1),e=null)};return j(c),c};s.onLoaded=t=>m("loaded",t),s.onError=t=>m("error",t),j(()=>{var t;(t=s._triggerAbortController)==null||t.abort()})}function Ve(s,l){const m=typeof s=="string"?{src:s}:s,t=l||{},o=(t==null?void 0:t.head)||Q();t.head=o;const e=Y();if(t.eventContext=e,e&&typeof t.trigger>"u")t.trigger=M;else if(I(t.trigger)){const p=t.trigger;let f;t.trigger=new Promise(r=>{f=L(p,_=>{_&&r(!0)},{immediate:!0}),j(()=>r(!1),!0)}).then(r=>(f==null||f(),r))}o._scriptStatusWatcher=o._scriptStatusWatcher||o.hooks.hook("script:updated",({script:p})=>{p._statusRef.value=p.status});const c=we(o,m,t);return c._statusRef=c._statusRef||R(c.status),Se(c,e),new Proxy(c,{get(p,f,r){return Reflect.get(p,f==="status"?"_statusRef":f,r)}})}function Ne(){return O().public["nuxt-scripts"]}function Pe(s){return s.key||s.src||(typeof s.innerHTML=="string"?s.innerHTML:"")}function Ce(s,l){var c,p;s=typeof s=="string"?{src:s}:s,l=z(l,(c=Ne())==null?void 0:c.defaultScriptOptions);const m=String(Pe(s)),t=Z();if(l.head=l.head||X(),!l.head)throw new Error("useScript() has been called without Nuxt context.");t.$scripts=t.$scripts||B({}),(p=t.$scripts)!=null&&p[m],(l.trigger==="onNuxtReady"||l.trigger==="client")&&(l.warmupStrategy||(l.warmupStrategy="preload"),l.trigger==="onNuxtReady"&&(l.trigger=ee));const o=Ve(s,l),e=o.remove;return o.remove=()=>(t.$scripts[m]=void 0,e()),t.$scripts[m]=o,o}Object.freeze(Object.assign(()=>{},{__mock__:!0}));function $e(s){return(O().public.scripts||{})[s]}function Re(s,l,m){const t=$e(s),o=Object.assign(m||{},typeof t=="object"?t:{}),e=l(o),c=z(o.scriptInput,e.scriptInput,{key:s}),p=Object.assign((o==null?void 0:o.scriptOptions)||{},e.scriptOptions||{}),f=p.beforeInit;return p.beforeInit=()=>{var r;f==null||f(),(r=e.clientInit)==null||r.call(e)},Ce(c,p)}function ke(s){return Re("cloudflareTurnstile",()=>({scriptInput:{src:"https://challenges.cloudflare.com/turnstile/v0/api.js"},scriptOptions:{use:()=>window.turnstile}}),s)}function qe(s){let l;return new Promise(m=>{l=de(s,t=>{for(const o of t)o.isIntersecting&&m(!0)},{rootMargin:"30px 0px 0px 0px",threshold:0}),F(()=>m(!1))}).finally(()=>{l.stop()})}function Ee(s){const{el:l,trigger:m}=s,t=(Array.isArray(s.trigger)?s.trigger:[s.trigger]).filter(Boolean);if(!m||t.includes("immediate")||t.includes("onNuxtReady"))return"onNuxtReady";if(t.some(c=>["visibility","visible"].includes(c)))return l?qe(l):new Promise(()=>{});const o={},e=new Promise(c=>{const p=typeof l<"u"?l:document.body,f=ce(p,t,()=>{f(),c(!0)},{once:!0,passive:!0});me(()=>{L(p,r=>{r&&t.forEach(_=>{r.dataset[`script_${_}`]&&(f(),c(!0))})},{immediate:!0})}),F(()=>c(!1))});return Object.assign(e,{ssrAttrs:o})}const je={__name:"NuxtTurnstile",props:{modelValue:{type:String,required:!1},trigger:{type:[String,Array,Boolean],required:!1},element:{type:String,required:!1,default:"div"},siteKey:{type:String,required:!1},options:{type:Object,required:!1,default:()=>({})},resetInterval:{type:Number,required:!1,default:1e3*250}},emits:["update:modelValue"],setup(s,{expose:l,emit:m}){const t=s,o=m,e=O().public.turnstile,c=R(),p=R(!1);let f,r;const{onLoaded:_}=ke({scriptOptions:{trigger:Ee({trigger:t.trigger,el:c})}});
1let v,n;const N=()=>{f&&v(f)},y=()=>{p.value=!0,clearInterval(r),f&&n(f)};return M(()=>{_(async({render:w,reset:V,remove:a})=>{v=V,n=a,f=await w(c.value,{sitekey:t.siteKey||e.siteKey,callback:d=>o("update:modelValue",d),...t.options}),r=setInterval(N,t.resetInterval),p.value&&y()})}),te(y),l({reset:N}),(w,V)=>(q(),re(se(s.element),{ref_key:"el",ref:c},null,512))}},Oe=H("/img/city-boston.jpeg"),Te=H("/img/city-denver.webp"),Ue={class:"flex flex-col max-w-7xl mx-auto p-4 md:p-0"},Ae={key:0,class:"mt-20 md:mt-28"},Me={id:"contact-form",class:"lg:w-1/2 border border-neutral-200 shadow-[0px_4px_6px_0px_rgba(0,_0,_0,_0.1)] p-8 rounded-2xl mx-auto mt-12 flex flex-col mb-20"},Ie={class:"flex flex-col md:flex-row gap-8"},Le={class:"flex flex-col text-sm text-neutral-400 gap-2 mt-16 mx-auto"},ze={key:1,class:"mx-auto mt-20 md:mt-28 mb-20"},Be={class:"grid lg:grid-cols-4 md:grid-cols-2 gap-8 my-20 md:p-4"},He={class:"flex flex-col justify-center items-center text-center p-8 rounded-xl border border-neutral-200 shadow-[0px_4px_6px_0px_rgba(0,_0,_0,_0.1)]"},Fe={class:"flex flex-col justify-center items-center text-center p-8 rounded-xl border border-neutral-200 shadow-[0px_4px_6px_0px_rgba(0,_0,_0,_0.1)]"},ft=oe({__name:"contact",setup(s){const l=ge(),m=R(),t=R(!1),o=ye({firstName:C().min(2,"Must be at least 2 characters"),lastName:C().min(2,"Must be at least 2 characters"),email:C().email("Invalid email"),phone:C().min(10,"Must be ast least 10 characters").optional(),company:C().min(8),message:C().min(8,"Must be at least 8 characters"),hiring:$(),partnering:$(),rfp:$(),quote:$(),ceo:$()}),e=B({email:void 0,message:void 0,firstName:void 0,lastName:void 0,phone:void 0,company:void 0,hiring:!1,rfp:!1,partnering:!1,quote:!1,ceo:!1}),c=ne();async function p(f){if((await A("/api/validateTurnstile",{method:"POST",body:JSON.stringify(m.value)},"$aGOIvTYbJN")).data.value.success)try{const{data:_,error:v,status:n}=await l.from("contact_us_form").insert([{first_name:e.firstName,last_name:e.lastName,email:e.email,message:e.message,phone:e.phone,company:e.company,reason_hiring:e.hiring,reason_quote:e.quote,reason_partner:e.partnering,reason_rfp:e.rfp,reason_ceo:e.ceo}]);if(n&&n==201){const N=await A("/api/send/new-hubspot-contact",{method:"POST",body:e},"$05UZhTCeCL");console.log(N);const y={...e},w=[y.hiring&&"Hiring Revby",y.partnering&&"Partnering with us",y.rfp&&"Submitting an RFP",y.quote&&"Requesting a quote",y.ceo&&"Connecting with our CEO"].filter(Boolean).join(", ")||"â",V=`New website contact 2 3 Name: ${y.firstName??""} ${y.lastName??""} 4 Email: ${y.email??""} 5 Phone: ${y.phone??""} 6 Company: ${y.company??""} 7 Reasons: ${w} 8 9 Message: 10 ${y.message??""}`,a=` 11 <h2>New website contact</h2> 12 <p><strong>Name:</strong> ${y.firstName??""} ${y.lastName??""}</p> 13 <p><strong>Email:</strong> ${y.email??""}</p> 14 <p><strong>Phone:</strong> ${y.phone??""}</p> 15 <p><strong>Company:</strong> ${y.company??""}</p> 16 <p><strong>Reasons:</strong> ${w}</p> 17 <p><strong>Message:</strong></p> 18 <p>${(y.message??"").replace(/\n/g,"<br>")}</p> 19 `,d={personalizations:[{to:[{email:"[email protected]",name:"Brian Bishop"},{email:"[email protected]",name:"Emilio Diaz"},{email:"[email protected]",name:"Michael"}]}],from:{email:"[email protected]",name:"Revby"},subject:"New contact from Revby website",content:[{type:"text/plain",value:V},{type:"text/html",value:a}]},i=await $fetch("/api/sendgrid",{method:"POST",body:d});c.add({title:"Success",description:"Thank you for contacting us.",color:"success",duration:5e3}),e.email=void 0,e.message=void 0,e.firstName=void 0,e.lastName=void 0,e.phone=void 0,e.company=void 0,e.hiring=!1,e.rfp=!1,e.partnering=!1,e.quote=!1,e.ceo=!1}v&&(console.log(v),c.add({title:"Uh oh",description:v.message,color:"error"}))}catch(_){console.error(_),c.add({title:"Uh oh",description:"Sorry, something went wrong",color:"error"})}else t.value=!0}return(f,r)=>{const _=W,v=D,n=K,N=J,y=je,w=ae,V=ie,a=pe,d=fe,i=ue;return q(),E("div",Ue,[g(t)?U("",!0):(q(),E("div",Ae,[r[17]||(r[17]=b("h3",{class:"text-5xl font-bold text-neutral-950 text-center"},[b("span",{class:"text-gradient"},"Message"),P(" us ")],-1)),b("div",Me,[x(a,{schema:g(o),state:g(e),onSubmit:p},{default:h(()=>[b("div",Ie,[x(v,{label:"First name",name:"firstName",class:"w-full",required:""},{default:h(()=>[x(_,{modelValue:g(e).firstName,"onUpdate:modelValue":r[0]||(r[0]=u=>g(e).firstName=u),size:"xl",placeholder:"e.g. Aiyana",class:"w-full"},null,8,["modelValue"])]),_:1}),x(v,{label:"Last name",name:"lastName",class:"w-full",required:""},{default:h(()=>[x(_,{modelValue:g(e).lastName,"onUpdate:modelValue":r[1]||(r[1]=u=>g(e).lastName=u),size:"xl",placeholder:"e.g Miller",class:"w-full"},null,8,["modelValue"])]),_:1}
19)]),x(v,{label:"Email",name:"email",class:"mt-4",required:""},{default:h(()=>[x(_,{modelValue:g(e).email,"onUpdate:modelValue":r[2]||(r[2]=u=>g(e).email=u),size:"xl",placeholder:"e.g. [email protected]",class:"w-full"},null,8,["modelValue"])]),_:1}),x(v,{label:"Phone",name:"phone",class:"mt-4",help:"We will not use your phone number for marketing or sell your data to 3rd parties"},{default:h(()=>[x(_,{size:"xl",placeholder:"e.g. (808) 555-1234",class:"w-full",modelValue:g(e).phone,"onUpdate:modelValue":r[3]||(r[3]=u=>g(e).phone=u)},null,8,["modelValue"])]),_:1}),x(v,{label:"Company / Organization",name:"company",class:"mt-8",required:""},{default:h(()=>[x(_,{size:"xl",class:"w-full",modelValue:g(e).company,"onUpdate:modelValue":r[4]||(r[4]=u=>g(e).company=u)},null,8,["modelValue"])]),_:1}),x(v,{label:"Enquiring about:",class:"mt-8"},{default:h(()=>[x(n,{modelValue:g(e).hiring,"onUpdate:modelValue":r[5]||(r[5]=u=>g(e).hiring=u),size:"xl",label:"Hiring Revby",class:"mt-2"},null,8,["modelValue"]),x(n,{modelValue:g(e).partnering,"onUpdate:modelValue":r[6]||(r[6]=u=>g(e).partnering=u),size:"xl",label:"Partnering with us",class:"mt-2"},null,8,["modelValue"]),x(n,{modelValue:g(e).rfp,"onUpdate:modelValue":r[7]||(r[7]=u=>g(e).rfp=u),size:"xl",label:"Submitting a Request for Proposal (RFP)",class:"mt-2"},null,8,["modelValue"]),x(n,{modelValue:g(e).quote,"onUpdate:modelValue":r[8]||(r[8]=u=>g(e).quote=u),size:"xl",label:"Requesting a quote",class:"mt-2"},null,8,["modelValue"]),x(n,{modelValue:g(e).ceo,"onUpdate:modelValue":r[9]||(r[9]=u=>g(e).ceo=u),size:"xl",label:"Connecting with our CEO",class:"mt-2"},null,8,["modelValue"])]),_:1}),x(v,{label:"Message",name:"message",class:"my-8",required:""},{default:h(()=>[x(N,{modelValue:g(e).message,"onUpdate:modelValue":r[10]||(r[10]=u=>g(e).message=u),rows:5,size:"xl",placeholder:"Type your message here",class:"w-full"},null,8,["modelValue"])]),_:1}),x(y,{modelValue:g(m),"onUpdate:modelValue":r[11]||(r[11]=u=>I(m)?m.value=u:null)},null,8,["modelValue"]),x(w,{type:"submit",class:"rounded-full px-8 py-2 font-bold mt-8 text-xl justify-center"},{default:h(()=>[...r[12]||(r[12]=[P("Submit ",-1)])]),_:1}),b("div",Le,[b("p",null,[r[14]||(r[14]=P("By providing a telephone number and submitting this form you are consenting to be contacted by SMS text message and agreeing to our ",-1)),x(V,{to:"/privacy-policy"},{default:h(()=>[...r[13]||(r[13]=[P("Privacy Policy",-1)])]),_:1}),r[15]||(r[15]=P(". Message frequency may vary. Message and data rates may apply. ",-1))]),r[16]||(r[16]=b("p",null,"We will not use your number in any marketing campaigns or sell your personal data to any third parties.",-1))])]),_:1},8,["schema","state"])])])),g(t)?(q(),E("div",ze,[x(d,{class:"max-w-lg"},{default:h(()=>[...r[18]||(r[18]=[b("h2",{class:"text-4xl text-neutral-950 font-bold"}," Sorry, messaging disabled ",-1),b("p",{class:"text-lg mt-8"}," Apologies, but our bot detection has flagged your activity as suspicious. Please reach out to us via another of our communication channels below. ",-1)])]),_:1})])):U("",!0),r[24]||(r[24]=b("h3",{class:"text-5xl font-bold text-neutral-950 text-center"},[P(" Other ways to "),b("span",{class:"text-gradient"},"contact us")],-1)),b("div",Be,[b("div",He,[x(i,{name:"solar:phone-linear",size:"90",class:"text-brand"}),r[19]||(r[19]=b("h3",{class:"text-2xl font-bold mt-8"},"+1 (617) 553-4343",-1)),r[20]||(r[20]=b("p",{class:"text-xl mt-4"},"Call us",-1))]),b("div",Fe,[x(i,{name:"formkit:email",size:"90",class:"text-brand"}),r[21]||(r[21]=b("a",{href:"mailto:[email protected]?subject=A%20web%20Enquiry%20About%20Revby",class:"text-brand hover:text-faded-jade-300"},[b("h3",{class:"text-2xl font-bold mt-8"},"[email protected]")],-1)),r[22]||(r[22]=b("p",{class:"text-xl mt-4"},"Email us",-1))]),r[23]||(r[23]=le('<div class="flex flex-col items-center text-center rounded-xl border border-neutral-200 shadow-[0px_4px_6px_0px_rgba(0,_0,_0,_0.1)]"><img src="'+Oe+'" class="rounded-t-xl object-cover w-full h-40"><div class="px-8 pb-8"><h3 class="text-2xl font-bold mt-8"> 1 Lincoln St <br>Suite 2900<br>Boston, MA 02111 </h3><p class="text-xl mt-4">Head office</p></div></div><div class="flex flex-col items-center text-center rounded-xl border border-neutral-200 shadow-[0px_4px_6px_0px_rgba(0,_0,_0,_0.1)]"><img src="'+Te+'" class="rounded-t-xl object-cover object-top w-full h-40"><div class="px-8 pb-8"><h3 class="text-2xl font-bold mt-8"> 1001 Bannock St <br>Suite 38<br>Denver, CO 80204 </h3><p class="text-xl mt-4">Western office</p></div></div>',2))])])}}});
19export{ft as default};
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.