import{p as w,q as y,d as x,s as S,o as b,f as d,g as t,v as f,x as P,a as c,y as B,t as v,e as u,z as _,h as C,i as j,l as T,A as N,B as V,_ as A,w as E,b as F,c as M}from"./DfmWwPvQ.js";import{C as I}from"./FY20FmnE.js";import{_ as O}from"./Bfth-Qn6.js";import{a as D,b as R,u as q,h as L}from"./ILfUvIaL.js";import"./B0ij_u6v.js";import"./BIr6OvyQ.js";const m="border transition-[background-color,color,border-color,box-shadow] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--cc-focus-ring)] focus-visible:ring-offset-0",h={solid:{base:`${m} !text-[color:var(--cc-button-primary-fg)] !bg-[color:var(--cc-button-primary-bg)] !border-transparent hover:!bg-[color:var(--cc-button-primary-hover-bg)] active:!bg-[color:var(--cc-button-primary-hover-bg)] disabled:!bg-[color:var(--cc-button-primary-bg)] aria-disabled:!bg-[color:var(--cc-button-primary-bg)]`},soft:{base:`${m} !text-[color:var(--cc-button-secondary-fg)] !bg-[color:var(--cc-button-secondary-bg)] !border-[color:var(--cc-border-subtle)] hover:!bg-[color:var(--cc-button-secondary-hover-bg)] active:!bg-[color:var(--cc-button-secondary-hover-bg)] disabled:!bg-[color:var(--cc-button-secondary-bg)] aria-disabled:!bg-[color:var(--cc-button-secondary-bg)]`},highlight:{base:`${m} !text-[color:var(--cc-button-secondary-fg)] !bg-[color:var(--cc-button-secondary-bg)] !border-[color:var(--cc-border-subtle)] hover:!bg-[color:var(--cc-button-secondary-hover-bg)] active:!bg-[color:var(--cc-button-secondary-hover-bg)] disabled:!bg-[color:var(--cc-button-secondary-bg)] aria-disabled:!bg-[color:var(--cc-button-secondary-bg)]`},outline:{base:`${m} !text-[color:var(--cc-button-secondary-fg)] !bg-transparent !border-[color:var(--cc-button-outline-border)] hover:!bg-[color:var(--cc-button-ghost-hover-bg)] active:!bg-[color:var(--cc-button-ghost-hover-bg)]`},subtle:{base:`${m} !text-[color:var(--cc-button-secondary-fg)] !bg-[color:var(--cc-button-secondary-bg)] !border-[color:var(--cc-button-outline-border)] hover:!bg-[color:var(--cc-button-secondary-hover-bg)] active:!bg-[color:var(--cc-button-secondary-hover-bg)]`},ghost:{base:`${m} !text-[color:var(--cc-button-secondary-fg)] !bg-transparent !border-transparent hover:!bg-[color:var(--cc-button-ghost-hover-bg)] active:!bg-[color:var(--cc-button-ghost-hover-bg)]`},link:{base:`${m} !text-[color:var(--cc-button-link-fg)] !bg-transparent !border-transparent hover:!text-[color:var(--cc-button-link-hover-fg)] active:!text-[color:var(--cc-button-link-hover-fg)]`}},H=()=>({getButtonUi:(r="solid")=>h[r]??h.solid}),z=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,U=w("contactForm",()=>{const a=y({category:"",subject:"",name:"",email:"",message:""}),r=y({category:"",subject:"",name:"",email:"",message:""}),l=()=>{r.category="",r.subject="",r.name="",r.email="",r.message=""},e=()=>{a.category="",a.subject="",a.name="",a.email="",a.message="",l()},g=(s,p)=>{a[s]=p},n=()=>(l(),a.category||(r.category="Choose a category."),a.subject.trim()||(r.subject="Add a subject."),a.name.trim()||(r.name="Enter your name."),z.test(a.email.trim())||(r.email="Enter a valid email address."),a.message.trim().length<12&&(r.message="add a little more context."),!Object.values(r).some(Boolean)),o=()=>{const s=encodeURIComponent(`[CaptureContext] ${a.category} — ${a.subject.trim()}`),p=encodeURIComponent(`Category: ${a.category} Subject: ${a.subject} Name: ${a.name} Email: ${a.email} ${a.message}`);return`mailto:${I}?subject=${s}&body=${p}`};return{form:a,errors:r,setField:g,validate:n,buildMailtoUrl:o,submit:()=>n()?{valid:!0,mailtoUrl:o(),toastPayload:{title:"Opening email fallback",description:"This form is frontend-only for now, so the message will continue in your mail app.",color:"info",icon:"i-lucide-mail-check"}}:{valid:!1,mailtoUrl:null,toastPayload:null},reset:e}}),G={class:"cc-contact-shell"},W={class:"cc-contact-form__group"},Y={key:0,class:"cc-contact-form__error"},J={class:"cc-contact-form__row"},K={class:"cc-contact-form__group"},Q={key:0,class:"cc-contact-form__error"},X={class:"cc-contact-form__group"},Z={key:0,class:"cc-contact-form__error"},oo={class:"cc-contact-form__row"},to={class:"cc-contact-form__group"},eo={key:0,class:"cc-contact-form__error"},co={class:"cc-contact-form__group"},ao={key:0,class:"cc-contact-form__error"},ro={class:"cc-contact-form__footer"},so={class:"cc-actions"},no=x({__name:"ContactForm",setup(a){const r=S(),{getButtonUi:l}=H(),e=U(),g=()=>{const n=e.submit();!n.valid||!n.mailtoUrl||!n.toastPayload||(r.add(n.toastPayload),window.location.href=n.mailtoUrl)};return(n,o)=>{const i=N;return b(),d("section",G,[o[14]||(o[14]=t("div",{class:"cc-contact-shell__lead"},[t("p",{class:"cc-eyebrow"}," Contact "),t("h2",{class:"cc-heading-md"}," Send a message "),t("p",{class:"cc-body-md"}," Use the same communication surface the rest of the site already implies: direct, lightweight, and clear about the mail fallback. ")],-1)),t("form",{class:"cc-contact-form",onSubmit:V(g,["prevent"])},[t("div",W,[o[6]||(o[6]=t("label",{class:"cc-contact-form__label",for:"contact-category"},"Category",-1)),f(t("select",{id:"contact-category","onUpdate:modelValue":o[0]||(o[0]=s=>c(e).form.category=s),class:"cc-form-select"},[...o[5]||(o[5]=[B('',5)])],512),[[P,c(e).form.category]]),c(e).errors.category?(b(),d("p",Y,v(c(e).errors.category),1)):u("",!0)]),t("div",J,[t("div",K,[o[7]||(o[7]=t("label",{class:"cc-contact-form__label",for:"contact-subject"},"Subject",-1)),f(t("input",{id:"contact-subject","onUpdate:modelValue":o[1]||(o[1]=s=>c(e).form.subject=s),class:"cc-form-field",type:"text",autocomplete:"off",placeholder:"What do you want to discuss?"},null,512),[[_,c(e).form.subject]]),c(e).errors.subject?(b(),d("p",Q,v(c(e).errors.subject),1)):u("",!0)]),t("div",X,[o[8]||(o[8]=t("label",{class:"cc-contact-form__label",for:"contact-name"},"Name",-1)),f(t("input",{id:"contact-name","onUpdate:modelValue":o[2]||(o[2]=s=>c(e).form.name=s),class:"cc-form-field",type:"text",autocomplete:"name",placeholder:"Your name"},null,512),[[_,c(e).form.name]]),c(e).errors.name?(b(),d("p",Z,v(c(e).errors.name),1)):u("",!0)])]),t("div",oo,[t("div",to,[o[9]||(o[9]=t("label",{class:"cc-contact-form__label",for:"contact-email"},"Email",-1)),f(t("input",{id:"contact-email","onUpdate:modelValue":o[3]||(o[3]=s=>c(e).form.email=s),class:"cc-form-field",type:"email",autocomplete:"email",placeholder:"name@example.com"},null,512),[[_,c(e).form.email]]),c(e).errors.email?(b(),d("p",eo,v(c(e).errors.email),1)):u("",!0)]),o[10]||(o[10]=t("div",{class:"cc-contact-form__group"},[t("label",{class:"cc-contact-form__label",for:"contact-category-summary"},"Focus"),t("div",{id:"contact-category-summary",class:"cc-contact-form__summary"}," Messages open your mail app with the entered subject and full context prefilled. ")],-1))]),t("div",co,[o[11]||(o[11]=t("label",{class:"cc-contact-form__label",for:"contact-message"},"Message",-1)),f(t("textarea",{id:"contact-message","onUpdate:modelValue":o[4]||(o[4]=s=>c(e).form.message=s),class:"cc-form-textarea",placeholder:"Share the context, timeline, or specific question."},null,512),[[_,c(e).form.message]]),c(e).errors.message?(b(),d("p",ao,v(c(e).errors.message),1)):u("",!0)]),t("div",ro,[o[13]||(o[13]=t("div",{class:"cc-contact-form__footer-copy"},[t("p",{class:"cc-body-sm"}," Nothing is submitted to a backend yet. Validation happens locally, then the conversation continues in your mail client. ")],-1)),t("div",so,[C(i,{type:"submit",color:"neutral",ui:c(l)("solid")},{default:j(()=>[...o[12]||(o[12]=[T(" Send with mail fallback ",-1)])]),_:1},8,["ui"])])])],32)])}}}),lo=Object.assign(A(no,[["__scopeId","data-v-b85f9cfe"]]),{__name:"DomainContactForm"}),vo=x({__name:"contact",async setup(a){let r,l;const e=U(),{data:g,status:n,error:o}=([r,l]=E(()=>q("PublicContactPage")),r=await r,l(),r),i=D({value:M(()=>L(g.value?.contactPage,"/contact","Contact")),status:n,error:o});return e.reset(),R(()=>i.value?.seo),(s,p)=>{const $=lo,k=O;return c(i)?(b(),F(k,{key:0,hero:c(i).hero,sections:c(i).sections,"body-shell":"content"},{body:j(()=>[C($)]),_:1},8,["hero","sections"])):u("",!0)}}});export{vo as default};