1import{u as Y,_ as H}from"./CXy6ZhFG.js";import{O as K,i as X,b as ee,Q as ae,ar as le,au as te,U as $,f as A,j as I,w as s,k as l,x as se,l as b,V as r,B as c,q as u,t as f,af as p,h as t,s as j,ax as oe,I as de,n,Y as C,r as q,J as ne,z as ie,a3 as re,L as S,M,a4 as ue}from"./Be4KCvjK.js";import{u as me}from"./C6pajsdf.js";import{u as ce}from"./VEWkk-On.js";(function(){try{var m=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},w=new m.Error().stack;w&&(m._sentryDebugIds=m._sentryDebugIds||{},m._sentryDebugIds[w]="ed87c275-5f60-4d9f-825b-da11c4f9cb7d",m._sentryDebugIdIdentifier="sentry-dbid-ed87c275-5f60-4d9f-825b-da11c4f9cb7d")}catch{}})();const fe={__name:"AccountAddContactDialog",props:{modelValue:Boolean,editMode:{type:Boolean,default:!1},editContactData:{type:Object,default:null},addressOnly:{type:Boolean,default:!1},forDomains:{type:Boolean,default:!1}},emits:["update:modelValue","contact-added","contact-updated"],async setup(m,{emit:w}){let N,F;const i=m,E=w,v=me(),k=X("showSnackbar"),{$apiFetch:B}=ee(),L=ae(),G=le(),{scrollFirstErrorIntoView:W}=ce(),P=S(null),x=S(!1),Z=M(()=>G?.settings?.client_form_settings||{optional_fields:[]}),R=d=>{const e=Z.value.optional_fields||[];return Array.isArray(e)&&e.includes(d)},y=d=>!R(d),V=(d,e=v.required)=>R(d)?[]:[e],h=()=>({firstName:"",lastName:"",companyName:"",email:"",phone:"",taxId:"",address1:"",address2:"",city:"",state:"",zipCode:"",country:null,emailPreferences:{general:!1,invoice:!1,support:!1,product:!1,domain:!1,affiliate:!1}}),a=S(h()),{countriesResponse:U}=([N,F]=te(()=>Y()),N=await N,F(),N),J=M(()=>U.value?.result==="success"&&U.value?.data?Object.entries(U.value.data).map(([d,e])=>({title:e,value:d})):[]),D=M({get:()=>i.modelValue,set:d=>E("update:modelValue",d)}),O=()=>{D.value=!1,z()},z=()=>{a.value=h(),P.value?.resetValidation()},Q=async()=>{const{valid:d}=await P.value.validate();if(!d){await W(P);return}x.value=!0;try{const e={firstname:v.normalizePersonName(a.value.firstName),lastname:v.normalizePersonName(a.value.lastName),companyname:a.value.companyName,email:a.value.email,phonenumber:a.value.phone,tax_id:a.value.taxId,address1:a.value.address1,address2:a.value.address2,city:a.value.city,state:a.value.state,postcode:a.value.zipCode,country:a.value.country,email_preferences:{general:a.value.emailPreferences.general,invoice:a.value.emailPreferences.invoice,support:a.value.emailPreferences.support,product:a.value.emailPreferences.product,domain:a.value.emailPreferences.domain,affiliate:a.value.emailPreferences.affiliate}};let g;if(i.editMode&&i.editContactData?.id?g=await B(`/api/user/contacts/${i.editContactData.id}`,{method:"PUT",body:e}):g=await B("/api/user/contacts/create",{method:"POST",body:e}),g.result==="success"){ue("contacts-list");const _=i.editMode?"Contact updated successfully":"Contact added successfully";k?.(_,"success"),i.editMode?E("contact-updated"):E("contact-added",g.data),O()}else throw new Error(g.message||`Failed to ${i.editMode?"update":"add"} contact`)}catch(e){console.error(`Error ${i.editMode?"updating":"adding"} contact:`,e),k?.(e?.data?.statusMessage||e.message||`Failed to ${i.editMode?"update":"add"} contact`,"error")}finally{x.value=!1}},T=()=>{if(i.editMode&&i.editContactData){const d=i.editContactData;a.value={firstName:d.first_name||"",lastName:d.last_name||"",companyName:d.company_name||"",email:d.email||"",phone:d.phone_number||"",taxId:d.tax_id||"",address1:d.address?.address1||"",address2:d.address?.address2||"",city:d.address?.city||"",state:d.address?.state||"",zipCode:d.address?.postcode||"",country:d.address?.country||"",emailPreferences:{general:d.email_preferences?.general||!1,invoice:d.email_preferences?.invoice||!1,support:d.email_preferences?.support||!1,product:d.email_preferences?.product||!1,domain:d.email_preferences?.domain||!1,affiliate:d.email_preferences?.affiliate||!1}}}};return $(()=>i.modelValue,d=>{d&&i.editMode?T():d&&i.addressOnly?a.value.email=L.clientData?.email||"":d||setTimeout(()=>{z()},300)}),$(()=>i.editContactData,()=>{i.modelValue&&i.editMode&&T()},{deep:!0}),(d,e)=>{const g=H,_=re;return A(),I(_,{"max-width":"650",modelValue:t(D),"onUpdate:modelValue":e[18]||(e[18]=o=>ie(D)?D.value=o:null),title:m.editMode?"Edit Contact":"Add Contact",loading:t(x),"show-close":!1},{footer:s(()=>[l(q,{color:"primaryButtons",variant:"flat",loading:t(x),disabled:t(x),onClick:Q,"min-width":"120"},{default:s(()=>[u(f(m.editMode?"Update Contact":"Save Changes"),1)]),_:1},8,["loading","disabled"]),l(ne),l(q,{color:"secondaryButtons",variant:"outlined","min-width":"80",onClick:O,disabled:t(x)},{default:s(()=>[...e[29]||(e[29]=[u(" Cancel ",-1)])]),_:1},8,["disabled"])]),default:s(()=>[l(se,{ref_key:"contactForm",ref:P},{default:s(()=>[l(b,null,{default:s(()=>[l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("firstname")?"First Name *":"First Name"),1)]),_:1}),l(p,{modelValue:t(a).firstName,"onUpdate:modelValue":e[0]||(e[0]=o=>t(a).firstName=o),placeholder:"Enter first name",rules:V("firstname",t(v).nameValid),density:"comfortable"},null,8,["modelValue","rules"])]),_:1}),l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("lastname")?"Last Name *":"Last Name"),1)]),_:1}),l(p,{modelValue:t(a).lastName,"onUpdate:modelValue":e[1]||(e[1]=o=>t(a).lastName=o),placeholder:"Enter last name",rules:V("lastname",t(v).nameValid),density:"comfortable"},null,8,["modelValue","rules"])]),_:1})]),_:1}),!m.addressOnly||m.forDomains?(A(),I(b,{key:0},{default:s(()=>[l(r,{cols:"12"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("email")?"Email Address *":"Email Address"),1)]),_:1}),l(p,{modelValue:t(a).email,"onUpdate:modelValue":e[2]||(e[2]=o=>t(a).email=o),placeholder:"Enter email address",rules:V("email",t(v).emailValid),type:"email",density:"comfortable"},null,8,["modelValue","rules"])]),_:1})]),_:1})):j("",!0),l(b,null,{default:s(()=>[l(r,{cols:"12"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("phonenumber")?"Phone Number *":"Phone Number"),1)]),_:1}),l(g,{modelValue:t(a).phone,"onUpdate:modelValue":e[3]||(e[3]=o=>t(a).phone=o),rules:V("phonenumber",t(v).phoneValid),hint:"Enter your country dial code first... e.g. +27"},null,8,["modelValue","rules"])]),_:1})]),_:1}),l(b,null,{default:s(()=>[l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("address1")?"Address 1 *":"Address 1"),1)]),_:1}),l(p,{modelValue:t(a).address1,"onUpdate:modelValue":e[4]||(e[4]=o=>t(a).address1=o),placeholder:"Enter street address",rules:V("address1"),density:"comfortable"},null,8,["modelValue","rules"])]),_:1}),l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[...e[19]||(e[19]=[u("Address 2",-1)])]),_:1}),l(p,{modelValue:t(a).address2,"onUpdate:modelValue":e[5]||(e[5]=o=>t(a).address2=o),placeholder:"Apartment, suite, etc.",density:"comfortable"},null,8,["modelValue"])]),_:1})]),_:1}),l(b,null,{default:s(()=>[l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("city")?"City *":"City"),1)]),_:1}),l(p,{modelValue:t(a).city,"onUpdate:modelValue":e[6]||(e[6]=o=>t(a).city=o),placeholder:"Enter city",rules:V("city"),density:"comfortable"},null,8,["modelValue","rules"])]),_:1}),l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("state")?"State/Region *":"State/Region"),1)]),_:1}
1),l(p,{modelValue:t(a).state,"onUpdate:modelValue":e[7]||(e[7]=o=>t(a).state=o),placeholder:"Enter state or region",rules:V("state"),density:"comfortable"},null,8,["modelValue","rules"])]),_:1})]),_:1}),l(b,null,{default:s(()=>[l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("postcode")?"Zip Code *":"Zip Code"),1)]),_:1}),l(p,{modelValue:t(a).zipCode,"onUpdate:modelValue":e[8]||(e[8]=o=>t(a).zipCode=o),placeholder:"Enter zip code",rules:V("postcode"),density:"comfortable"},null,8,["modelValue","rules"])]),_:1}),l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[u(f(y("country")?"Country *":"Country"),1)]),_:1}),l(oe,{modelValue:t(a).country,"onUpdate:modelValue":e[9]||(e[9]=o=>t(a).country=o),items:t(J),"item-title":"title","item-value":"value",placeholder:"Select country",rules:V("country"),density:"comfortable"},null,8,["modelValue","items","rules"])]),_:1})]),_:1}),l(b,null,{default:s(()=>[l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[...e[20]||(e[20]=[u("Company Name",-1)])]),_:1}),l(p,{modelValue:t(a).companyName,"onUpdate:modelValue":e[10]||(e[10]=o=>t(a).companyName=o),placeholder:"Enter company name",density:"comfortable"},null,8,["modelValue"])]),_:1}),l(r,{cols:"12",md:"6"},{default:s(()=>[l(c,null,{default:s(()=>[...e[21]||(e[21]=[u("Tax ID",-1)])]),_:1}),l(p,{modelValue:t(a).taxId,"onUpdate:modelValue":e[11]||(e[11]=o=>t(a).taxId=o),placeholder:"Enter tax ID",density:"comfortable"},null,8,["modelValue"])]),_:1})]),_:1}),!m.addressOnly&&!m.forDomains?(A(),I(b,{key:1,class:"mt-4"},{default:s(()=>[l(r,{cols:"12"},{default:s(()=>[l(de)]),_:1}),l(r,{cols:"12"},{default:s(()=>[e[28]||(e[28]=n("h3",{class:"text-h6 font-weight-medium text-medium-emphasis mb-4"},"Email Preferences",-1)),l(C,{modelValue:t(a).emailPreferences.general,"onUpdate:modelValue":e[12]||(e[12]=o=>t(a).emailPreferences.general=o),density:"compact","hide-details":"",class:"mb-2"},{label:s(()=>[...e[22]||(e[22]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"General Emails"),n("span",{class:"text-caption text-medium-emphasis"},"General Announcements & Password Reminders")],-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t(a).emailPreferences.invoice,"onUpdate:modelValue":e[13]||(e[13]=o=>t(a).emailPreferences.invoice=o),density:"compact","hide-details":"",class:"mb-2"},{label:s(()=>[...e[23]||(e[23]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"Invoice Emails"),n("span",{class:"text-caption text-medium-emphasis"},"Invoices & Billing Reminders")],-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t(a).emailPreferences.support,"onUpdate:modelValue":e[14]||(e[14]=o=>t(a).emailPreferences.support=o),density:"compact","hide-details":"",class:"mb-2"},{label:s(()=>[...e[24]||(e[24]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"Support Emails"),n("span",{class:"text-caption text-medium-emphasis"},"Receive a copy of all support ticket communications created by the parent account holder")],-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t(a).emailPreferences.product,"onUpdate:modelValue":e[15]||(e[15]=o=>t(a).emailPreferences.product=o),density:"compact","hide-details":"",class:"mb-2"},{label:s(()=>[...e[25]||(e[25]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"Product Emails"),n("span",{class:"text-caption text-medium-emphasis"},"Order Details, Welcome Emails, etc...")],-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t(a).emailPreferences.domain,"onUpdate:modelValue":e[16]||(e[16]=o=>t(a).emailPreferences.domain=o),density:"compact","hide-details":"",class:"mb-2"},{label:s(()=>[...e[26]||(e[26]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"Domain Emails"),n("span",{class:"text-caption text-medium-emphasis"},"Renewal Notices, Registration Confirmations, etc...")],-1)])]),_:1},8,["modelValue"]),l(C,{modelValue:t(a).emailPreferences.affiliate,"onUpdate:modelValue":e[17]||(e[17]=o=>
1t(a).emailPreferences.affiliate=o),density:"compact","hide-details":""},{label:s(()=>[...e[27]||(e[27]=[n("div",{class:"d-flex flex-column pl-1"},[n("span",{class:"text-subtitle-2 font-weight-regular"},"Affiliate Emails"),n("span",{class:"text-caption text-medium-emphasis"},"Receive Affiliate Notifications")],-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})):j("",!0)]),_:1},512)]),_:1},8,["modelValue","title","loading"])}}},ve=K(fe,[["__scopeId","data-v-11e3af71"]]);export{ve 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.