PageSourceSearch

https://portal.commoninterest.com/assets/profile-settings-DGCDuhGs.js

js commoninterest.com collected 2026-09-24 13:28:33 UTC 54,673 bytes, 1 lines download raw bytes

1import{r as C,j as e,dL as Fe,cb as Te,dM as ke,q as he,dN as Le,F as Y,ae as Oe,dO as Re,dP as He,u as O,W as B,I as E,bv as _e,bx as Be,aW as te,M as ae,aP as se,n as Z,S as Q,cw as ge,B as re,dQ as Ue,bi as Ce,cf as Se,bg as ze,o as me,p as ue,ct as We,cu as Ke,cv as Ge,cZ as Ye,c_ as fe}from"./elements-DVh2jUIM.js";import{M as Ze}from"./ModernPortalPage-C8UaH3aE.js";import{A as xe}from"./authorization-CE7gncHO.js";import{u as ee}from"./useModalActions-raurWri4.js";import{j as H,k as W,aW as Qe,ba as Xe,p as Je}from"./index-DeQvL4I7.js";import{u as J,C as y,a as ea}from"./index.esm-BsOhZrKM.js";import{C as L}from"./contactFieldMaxLengths-DkDsle-Q.js";import{u as X}from"./useMutation-CfDMVIpo.js";import{E as aa}from"./ExpandableCustomContent-CsA-R1j0.js";import{u as ra}from"./useCustomContent-BqBLnYCa.js";import{u as na}from"./useIsMobile-Davbtvz5.js";import{u as sa}from"./useIsNonHomeownerBoardMember-BFprLkBV.js";import"./useAuthorization-D7B2eQha.js";import"./grids-DXrfAsUA.js";import"./startOfDay-AazlW55I.js";import"./CustomContent-BZeFKqiW.js";import"./index-DWdRGcKw.js";const Pe=["AL","AK","AZ","AR","CA","CO","CT","DE","DC","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"];function qe({id:r,value:l,onChange:s,onKeyDown:c,disabled:o}){const[t,f]=C.useState(Pe),b=a=>{f(Pe.filter(j=>j.toLowerCase().includes(a.toLowerCase())))},d=a=>{s(a??"")};return e.jsx(Fe,{value:l??"",onChange:d,disabled:o,children:e.jsxs("div",{id:r,className:"relative w-full lg:w-1/2 text-base-fg",children:[e.jsxs("div",{children:[e.jsx(Te,{className:"block mb-1 text-sm font-medium text-base-header",children:"State"}),e.jsx(ke,{id:`${r}__input`,placeholder:"Choose...",displayValue:a=>a,onChange:a=>b(a.target.value),onKeyDown:c,autoComplete:"off",className:he("relative w-full cursor-default rounded-md border border-input-border bg-input-bg py-2 pl-3 pr-10","text-left text-input-fg shadow-sm focus:border-input-active focus:outline-none focus:ring-1","focus:ring-input-active sm:text-sm")}),e.jsx(Le,{className:"absolute inset-y-4 right-0 flex flex-col justify-center h-full items-center pr-2",children:e.jsx(Y,{icon:Oe})})]}),e.jsx(Re,{"data-qa":`${r}__options-container`,style:l?{bottom:"65%",top:"auto"}:{},className:"absolute z-10 mt-1 bottom-6 max-h-60 w-full overflow-auto rounded-md bg-input-bg text-input-fg py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",children:t.map(a=>e.jsx(He,{value:a,"data-qa":`${r}__option`,className:"relative cursor-default text-cmp-heading select-none py-2 pl-10 pr-4 data-[focus]:bg-primary-bg data-[focus]:bg-opacity-25",children:a},a))})]})})}const ta=C.forwardRef((r,l)=>{const{t:s}=O(),c=H(u=>{var p;return(p=u.user)==null?void 0:p.relId}),{handleSubmit:o,control:t,formState:{errors:f,isValid:b,isDirty:d},watch:a}=J({mode:"onChange",defaultValues:{address1:"",address2:"",city:"",state:"",postalCode:"",label:"",province:"",country:"",isInternational:!1,isMailing:!1,type:"homeownerAddress"}});C.useEffect(()=>{r.onValid(b)},[b]),C.useEffect(()=>{r.onDirty(d)},[d]);const m=o(async u=>{if(!c)throw new Error("No homeowner ID found");r.createAddress(u,c)}),v=u=>{m(u).catch(console.error)};C.useImperativeHandle(l,()=>({submit:m}));const g=a("isInternational");return e.jsxs("form",{onSubmit:v,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"isMailing",control:t,defaultValue:!1,render:({field:u})=>e.jsx(B,{...u,id:"mailing-address",className:"flex-row-reverse justify-between",value:u.value,onChange:()=>u.onChange(!u.value),label:s("profile.mailingAddress").toString()})}),e.jsx(y,{name:"isInternational",control:t,defaultValue:!1,render:({field:u})=>e.jsx(B,{...u,id:"international-address",className:"flex-row-reverse justify-between",value:u.value,onChange:()=>u.onChange(!u.value),label:s("profile.internationalAddress").toString()})}),e.jsx(y,{name:"label",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.label").toString(),error:(h=(p=f.label)==null?void 0:p.message)==null?void 0:h.toString(),qaAttribute:"new-contact-label",maxLength:L.label})},rules:{required:s("profile.labelRequired").toString()}}),e.jsx(y,{name:"address1",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.streetAddress").toString(),error:(h=(p=f.streetAddress)==null?void 0:p.message)==null?void 0:h.toString(),qaAttribute:"new-street-address",maxLength:L.address1})},rules:{required:s("profile.streetAddress").toString()}}),e.jsx(y,{name:"address2",control:t,defaultValue:"",render:({field:u})=>e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.secondaryAddress").toString(),qaAttribute:"new-secondary-address",maxLength:L.address2})}),e.jsx(y,{name:"city",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.city").toString(),error:(h=(p=f.city)==null?void 0:p.message)==null?void 0:h.toString(),qaAttribute:"new-city",maxLength:L.city})},rules:{required:s("profile.cityRequired").toString()}}),!g&&e.jsxs("div",{className:"flex w-full gap-6",children:[e.jsx(y,{name:"state",control:t,defaultValue:"",render:({field:u})=>
1e.jsx(qe,{...u,id:"new-state",onChange:p=>u.onChange(p),value:u.value??""}),rules:{required:s("profile.stateRequired").toString()}}),e.jsx(y,{name:"postalCode",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.zipcode").toString(),error:(h=(p=f.zipcode)==null?void 0:p.message)==null?void 0:h.toString(),className:"grow",qaAttribute:"new-zip-code",maxLength:L.postalCode})},rules:{required:s("profile.zipcodeRequired").toString()}})]}),g&&e.jsxs(e.Fragment,{children:[e.jsx(y,{name:"province",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.provinceAndPostalCode").toString(),error:(h=(p=f.provinceAndPostalCode)==null?void 0:p.message)==null?void 0:h.toString(),className:"grow",qaAttribute:"new-province-and-postal-code",maxLength:L.province})},rules:{required:s("profile.provinceAndPostalCodeRequired").toString()}}),e.jsx(y,{name:"country",control:t,defaultValue:"",render:({field:u})=>{var p,h;return e.jsx(E,{...u,errorSpacing:!1,type:"text",label:s("profile.country").toString(),error:(h=(p=f.country)==null?void 0:p.message)==null?void 0:h.toString(),className:"grow",qaAttribute:"new-country",maxLength:L.country})}})]})]})}),la=C.forwardRef((r,l)=>{const{t:s}=O(),c=H(v=>{var g;return(g=v.user)==null?void 0:g.relId}),{handleSubmit:o,control:t,formState:{errors:f,isValid:b,isDirty:d}}=J({mode:"onChange",defaultValues:{email:"",label:"",isPrimary:!1}});C.useEffect(()=>{r.onValid(b)},[b]),C.useEffect(()=>{r.onDirty(d)},[d]);const j=o(async v=>{if(!v.email||!v.label)throw new Error("Improper form data");if(!c)throw new Error("No homeowner ID found");r.createContact(v,c)}),m=v=>{j(v).catch(console.error)};return C.useImperativeHandle(l,()=>({submit:j})),e.jsxs("form",{onSubmit:m,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"email",control:t,defaultValue:"",render:({field:v})=>{var g,u;return e.jsx(E,{...v,errorSpacing:!1,type:"text",label:s("auth.login.email").toString(),error:(u=(g=f.email)==null?void 0:g.message)==null?void 0:u.toString(),qaAttribute:"new-contact-email",maxLength:L.email})},rules:{required:s("auth.login.emailRequired").toString(),pattern:{value:/^([\w.!#$%&'*+\-/=?^`{|}~]+@([\w\-.]+\.)+[\w-]{2,15}([,;]\s{0,}){0,1})+$/,message:s("auth.login.invalidEmail").toString()}}}),e.jsx(y,{name:"label",control:t,defaultValue:"",render:({field:v})=>{var g,u;return e.jsx(E,{...v,errorSpacing:!1,type:"text",label:s("profile.label").toString(),error:(u=(g=f.label)==null?void 0:g.message)==null?void 0:u.toString(),qaAttribute:"new-email-label",maxLength:L.label})},rules:{required:s("profile.labelRequired").toString()}}),e.jsx(y,{name:"isPrimary",control:t,defaultValue:!1,render:({field:v})=>e.jsx(B,{...v,id:"make-primary-email",className:"flex-row-reverse justify-between",value:v.value,onChange:()=>v.onChange(!v.value),label:s("profile.makePrimary").toString()})})]})}),oa=C.forwardRef((r,l)=>{const{t:s}=O(),c=H(p=>{var h;return(h=p.user)==null?void 0:h.relId}),{onValid:o,createContact:t,onDirty:f}=r,{handleSubmit:b,control:d,formState:{errors:a,isValid:j,isDirty:m}}=J({mode:"onChange",defaultValues:{phone:"",label:"",isPrimary:!1}});C.useEffect(()=>{o(j)},[j,o]),C.useEffect(()=>{f(m)},[m,f]);const g=b(async p=>{if(!p.phone||!p.label)throw new Error("Inproper form data");if(!c)throw new Error("No homeowner ID found");t(p,c)}),u=p=>{g(p).catch(console.error)};return C.useImperativeHandle(l,()=>({submit:g})),e.jsxs("form",{onSubmit:u,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"phone",control:d,rules:{required:s("profile.phoneRequired").toString(),pattern:{value:_e,message:s("profile.invalidPhone").toString()}},render:({field:p})=>{var V,q;const h=M=>Be(M),A=M=>{const R=h(M.target.value);p.onChange(R)};return e.jsx(E,{...p,onChange:A,value:p.value,errorSpacing:!1,type:"tel",label:s("profile.phoneNumber").toString(),error:(q=(V=a.phone)==null?void 0:V.message)==null?void 0:q.toString(),qaAttribute:"new-phone-label",maxLength:14})}}),e.jsx(y,{name:"label",control:d,defaultValue:"",render:({field:p})=>{var h,A;return e.jsx(E,{...p,errorSpacing:!1,type:"text",label:s("profile.label").toString(),error:(A=(h=a.label)==null?void 0:h.message)==null?void 0:A.toString(),qaAttribute:"new-phone-label",maxLength:L.label})},rules:{required:s("profile.labelRequired").toString()}}),e.jsx(y,{name:"isPrimary",control:d,defaultValue:!1,render:({field:p})=>e.jsx(B,{...p,id:"make-primary-email",className:"flex-row-reverse justify-between",value:p.value,onChange:()=>p.onChange(!p.value),label:s("profile.makePrimary").toString()})})]})});function le({isDirty:r,onClose:l,reset:s}){const[c,o]=C.useState(!1);return{showUnsavedChanges:c,handleClose:()=>{r&&c?(o(!1),s(),l()):r&&!c?o(!0):(l(),s())},handleDiscardChanges:()=>{o(!1),s(),l()},handleContinueEditing:()=>{o(!1)}}}function oe(){const{t:r}=O();return e.jsxs("div",{className:"flex flex-col gap-4","data-qa":"unsaved-changes-view",children:[e.jsx("h1",{className:"text-lg font-semibold",children:r("profile.unsavedChanges")}
1),e.jsx("p",{className:"text-base-fg",children:r("profile.unsavedChangesMessage")})]})}function Ie({mailingAddress:r}){const[l,s]=C.useState(!1);return{isMailingAddressChanging:l,setIsMailingAddressChanging:s,checkIfMailingAddressChanges:o=>{const t=r.find(f=>f.isMailing);return(t==null?void 0:t.address1)!==o.address1||(t==null?void 0:t.address2)!==o.address2||(t==null?void 0:t.city)!==o.city||(t==null?void 0:t.state)!==o.state||(t==null?void 0:t.postalCode)!==o.postalCode||(t==null?void 0:t.country)!==o.country||(t==null?void 0:t.province)!==o.province||(t==null?void 0:t.isInternational)!==o.isInternational||(t==null?void 0:t.label)!==o.label||(t==null?void 0:t.type)!==o.type}}}function Ae({address:r}){const{t:l}=O();return e.jsxs("div",{className:"flex flex-col gap-4 text-base-fg",role:"alert","aria-live":"polite",children:[e.jsx("h2",{children:l("profile.changePrimaryAddress")}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("p",{className:"font-medium","aria-label":"Address label",children:r.label}),e.jsx("address",{className:"not-italic",children:te({address1:r.address1,address2:r.address2,city:r.city,stateProvince:r.state??"",postalCode:r.postalCode??""},"full")})]}),e.jsx("p",{children:l("profile.proceedWithChange")})]})}const pe=[{display:"Email",value:"email"},{display:"Address",value:"address"},{display:"Phone Number",value:"phone"}];function ia({view:r,isModalOpen:l,closeModal:s,refetch:c,mailingAddress:o}){const[t,f]=C.useState("email"),b=C.useRef(null),[d,a]=C.useState(!1),[j,m]=C.useState(!1),[v,g]=C.useState(!1),[u,p]=C.useState(null),{t:h}=O(),{showUnsavedChanges:A,handleClose:V,handleContinueEditing:q}=le({isDirty:v,onClose:s,reset:()=>""}),{isMailingAddressChanging:M,setIsMailingAddressChanging:R,checkIfMailingAddressChanges:w}=Ie({mailingAddress:o}),[S,D]=C.useState(!1);C.useEffect(()=>{S&&!v&&(V(),D(!1))},[S,v,V]);const _=()=>{g(!1),D(!0),Z({message:h("profile.success",{type:t}),title:"Success",type:"success"}),R(!1),a(!1),c()},z=()=>{a(!1)},{mutate:I}=X({mutationFn:({data:$,homeownerId:U})=>(a(!0),W.createContact(U,$)),onSuccess:()=>{_()},onError:()=>a(!1)}),P=($,U)=>{I({data:$,homeownerId:U})},{mutate:T}=X({mutationFn:({data:$,homeownerId:U})=>(a(!0),W.createAddress(U,$)),onSuccess:_,onError:z}),x=($,U)=>{if($.isMailing&&!M&&w($)){p({...$,isInternational:$.isInternational??!1}),R(!0);return}T({data:$,homeownerId:U})},N=()=>{b.current&&j&&b.current.submit()},F=()=>{switch(t){case"address":return e.jsx(ta,{ref:b,onValid:m,createAddress:x,onDirty:g});case"email":return e.jsx(la,{ref:b,onValid:m,createContact:P,onDirty:g});case"phone":return e.jsx(oa,{ref:b,onValid:m,onDirty:g,createContact:P})}},ie=()=>d?e.jsx(Q,{color:"white",className:"h-8 w-8"}):h(M?"profile.confirmChange":A?"profile.stayOnPage":r==="add"?"profile.add":"profile.update"),ce=()=>(A?q():N(),Promise.resolve());return e.jsxs(ae,{title:h(r==="add"?"profile.newContact":"profile.editContact"),open:l,onClose:()=>{R(!1),V()},"data-qa":"create-contact-modal",actions:[{text:ie(),onClick:ce,variant:"primary",disabled:!A&&(d||!j),"data-qa":A?"create-contact-stay-button":"create-contact-submit-button"},{text:h(A?"profile.leaveAndDiscard":"profile.cancel"),onClick:()=>(R(!1),V(),Promise.resolve()),variant:"primaryOutline","data-qa":A?"create-contact-discard-button":"create-contact-cancel-button"}],children:[A&&e.jsx(oe,{}),M&&u&&e.jsx(Ae,{address:u}),e.jsxs("div",{className:he(A||M?"hidden":""),children:[e.jsx(se,{qaListAttribute:"create-contact-type-selector",options:pe,label:h("profile.contactType"),deriveKey:$=>$.value??"",displaySelected:()=>{var $;return(($=pe.find(U=>U.value===t))==null?void 0:$.display)??""},displayOption:$=>$.display,value:pe.find($=>$.value===t),onChange:$=>f($.value),className:"w-full mb-7",buttonClassName:"bg-base-fill h-10 "}),F()]})]})}function be({contact:r,address:l,isOpen:s,closeModal:c,refetch:o}){const{t}=O(),f=H(m=>{var v;return(v=m.user)==null?void 0:v.relId}),{mutate:b,isPending:d}=X({mutationFn:()=>f?l?W.deleteAddress(f,l.id):r?W.deleteContact(f,r.id):Promise.reject(new Error("Error deleting contact")):Promise.reject(new Error("Homeowner not found")),onSuccess:()=>{Z({type:"success",message:t("profile.deleteSuccess",{type:a()})}),c(),o()}}),a=()=>r!=null&&r.email?"Email":r!=null&&r.phone?"Phone":l!=null&&l.address1?"Address":"",j=()=>
1{if(r!=null&&r.email)return r.email;if(r!=null&&r.phone)return r.phone;if(l&&(l!=null&&l.address1))return te({address1:l.address1??"",address2:l.address2??"",city:l.city??"",stateProvince:l.state??l.province??"",postalCode:l.postalCode??l.country??""},"full")};return e.jsx(ae,{open:s,onClose:c,title:t("profile.deleteContact"),actions:[{text:d?e.jsx(Q,{color:"white",className:"h-8 w-8"}):t("profile.delete"),onClick:()=>(b(),Promise.resolve()),variant:"danger",disabled:d},{text:t("profile.cancel"),onClick:()=>(c(),Promise.resolve()),variant:"primaryOutline"}],children:e.jsxs("div",{children:[e.jsx("p",{children:t("profile.areYouSure")}),e.jsxs("dl",{className:"flex flex-col gap-2 pt-2 w-full",children:[e.jsxs("div",{className:"flex w-full",children:[e.jsx("dt",{className:"font-semibold w-16",children:t("profile.type")}),e.jsx("dd",{className:"w-full","data-qa":"delete-contact-modal-type",children:a()})]}),e.jsxs("div",{className:"flex w-full",children:[e.jsx("dt",{className:"font-semibold w-16",children:t("profile.label")}),e.jsx("dd",{className:"w-full","data-qa":"delete-contact-modal-label",children:(r==null?void 0:r.label)??(l==null?void 0:l.label)??""})]}),e.jsxs("div",{className:"flex w-full",children:[e.jsx("dt",{className:"font-semibold w-16",children:t("profile.details")}),e.jsx("dd",{className:"w-full text-nowrap","data-qa":"delete-contact-modal-details",children:j()})]})]})]})})}function ca({address:r,mailingAddress:l,refetch:s}){const{closeModal:c,isModalOpen:o,openModal:t}=ee(),{isModalOpen:f,openModal:b,closeModal:d}=ee(),a=r.type==="property",{isMailingAddressChanging:j,setIsMailingAddressChanging:m,checkIfMailingAddressChanges:v}=Ie({mailingAddress:l}),{t:g}=O(),u=H(x=>{var N;return(N=x.user)==null?void 0:N.relId}),{handleSubmit:p,control:h,reset:A,getValues:V,formState:{errors:q,isValid:M,isDirty:R}}=J({mode:"onChange",defaultValues:{address1:r.address1??"",address2:r.address2??"",city:r.city??"",state:r.state??"",postalCode:r.postalCode??"",label:r.label??"",isInternational:r.isInternational??!1,isMailing:r.isMailing??!1,type:r.type??"homeownerAddress",province:r.province??"",country:r.country??""}}),{mutate:w,isPending:S}=X({mutationFn:({data:x})=>{if(!u)throw new Error("homeownerId is required but is missing");return W.updateAddress(u,r.id,{address1:x.address1??r.address1,address2:x.address2??r.address2,city:x.city??r.city,state:x.state??r.state,postalCode:x.postalCode??r.postalCode,label:x.label??r.label,isInternational:x.isInternational??r.isInternational,isMailing:x.isMailing??r.isMailing,province:x.province??r.province,country:x.country??r.country,type:r.type??x.type})},onSuccess:(x,{data:N})=>{Z({message:g("profile.updateSuccess",{type:"Address"}),title:"Success",type:"success"}),m(!1),c(),A({...N,label:N.label??void 0,state:N.state??void 0,address2:N.address2??void 0}),s()}}),D=p(x=>{if(!u)throw new Error("Homeowner ID not found");if(r.isMailing&&!j||v(x)&&x.isMailing&&!j){m(!0);return}w({data:x})}),{showUnsavedChanges:_,handleClose:z,handleContinueEditing:I}=le({isDirty:R,onClose:c,reset:A}),P=ea({control:h,name:"isInternational"}),T=()=>S?e.jsx(Q,{color:"white",className:"h-8 w-8"}):g(_?"profile.stayOnPage":j?"profile.confirmChange":"profile.saveContactInfo");return e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:t,"aria-label":g("profile.editAddressAriaLabel"),children:e.jsx(Y,{icon:ge})}),e.jsxs(ae,{title:g("profile.editContact"),open:o,onClose:z,actions:[{text:T(),onClick:()=>(_?I():D(),Promise.resolve()),variant:"primary",disabled:!M||!R||S},{text:g(_?"profile.leaveAndDiscard":"profile.cancel"),onClick:()=>(m(!1),z(),Promise.resolve()),variant:"primaryOutline"}],children:[a&&e.jsx("p",{className:"font-semibold text-base-header bg-primary-bg/10 p-2 rounded-md border border-primary-border mb-4",children:g("profile.propertyAddressDisclaimer")}),_?e.jsx(oe,{}):j?e.jsx(Ae,{address:V()}):e.jsxs(e.Fragment,{children:[e.jsxs("form",{onSubmit:D,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"isMailing",control:h,defaultValue:!1,disabled:r.isMailing,render:({field:x})=>e.jsx(B,{...x,id:"mailing-address",className:"flex-row-reverse justify-between",value:x.value,onChange:()=>x.onChange(!x.value),label:g("profile.mailingAddress").toString()})}),e.jsx(y,{name:"isInternational",control:h,defaultValue:!1,disabled:a,render:({field:x})=>e.jsx(B,{...x,id:"international-address",className:"flex-row-reverse justify-between",value:x.value,onChange:()=>x.onChange(!x.value),label:g("profile.internationalAddress").toString()})}),e.jsx(y,{name:"label",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.label").toString(),error:(F=(N=q.label)==null?void 0:N.message)==null?void 0:F.toString(),qaAttribute:"new-contact-label",maxLength:L.label})},rules:{required:g("profile.labelRequired").toString()}}),e.jsx(y,{name:"address1",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.streetAddress").toString(),error:(F=(N=q.streetAddress)==null?void 0:N.message)==null?void 0:F.toString(),qaAttribute:"new-street-address",maxLength:L.address1})},rules:{required:g("profile.streetAddress").toString()}}),e.jsx(y,{name:"address2",control:h,defaultValue:"",disabled:a,render:({field:x})=>e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.secondaryAddress").toString(),qaAttribute:"new-secondary-address",maxLength:L.address2})}),e.jsx(y,{name:"city",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.city").toString(),error:(F=(N=q.city)==null?void 0:N.message)==null?void 0:F.toString(),qaAttribute:"new-city",maxLength:L.city})},rules:{required:g("profile.cityRequired").toString()}}),!P&&e.jsxs("div",{className:"flex w-full gap-6",children:[e.jsx(y,{name:"state",control:h,defaultValue:"",disabled:a,render:({field:x})=>
1e.jsx(qe,{...x,id:"new-state",onChange:N=>x.onChange(N),value:x.value??"",disabled:a}),rules:{required:g("profile.stateRequired").toString()}}),e.jsx(y,{name:"postalCode",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.zipcode").toString(),error:(F=(N=q.zipcode)==null?void 0:N.message)==null?void 0:F.toString(),className:"grow",qaAttribute:"new-zip-code",maxLength:L.postalCode})},rules:{required:g("profile.zipcodeRequired").toString()}})]}),P&&e.jsxs(e.Fragment,{children:[e.jsx(y,{name:"province",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.provinceAndPostalCode").toString(),error:(F=(N=q.provinceAndPostalCode)==null?void 0:N.message)==null?void 0:F.toString(),className:"grow",qaAttribute:"new-province-and-postal-code",maxLength:L.province})},rules:{required:g("profile.provinceAndPostalCodeRequired").toString()}}),e.jsx(y,{name:"country",control:h,defaultValue:"",disabled:a,render:({field:x})=>{var N,F;return e.jsx(E,{...x,errorSpacing:!1,type:"text",label:g("profile.country").toString(),error:(F=(N=q.country)==null?void 0:N.message)==null?void 0:F.toString(),className:"grow",qaAttribute:"new-country",maxLength:L.country})}})]})]}),!a&&!r.isMailing&&e.jsx(re,{variant:"dangerOutline",className:"w-full mt-4",onClick:()=>{m(!1),c(),b(),A()},children:g("profile.delete")})]})]}),!a&&!r.isMailing&&e.jsx(be,{address:r,isOpen:f,closeModal:d,refetch:s})]})}function da({contact:r,refetch:l}){const{closeModal:s,isModalOpen:c,openModal:o}=ee(),{isModalOpen:t,openModal:f,closeModal:b}=ee(),{t:d}=O(),a=H(w=>{var S;return(S=w.user)==null?void 0:S.relId}),{handleSubmit:j,control:m,reset:v,formState:{errors:g,isValid:u,isDirty:p}}=J({mode:"onChange",defaultValues:{email:r.email??"",label:r.label??"",isPrimary:r.isPrimary??!1}}),{mutate:h,isPending:A}=X({mutationFn:({data:w})=>{if(!a)throw new Error("homeownerId is required but is missing");return W.updateContact(a,r.id,w)},onSuccess:(w,{data:S}
1)=>{Z({message:d("profile.updateSuccess",{type:"Email"}),title:"Success",type:"success"}),s(),v(S),l()},onError:()=>console.log("error")}),V=j(w=>{if(!a)throw new Error("Homeowner ID not found");h({data:w})}),{showUnsavedChanges:q,handleClose:M,handleContinueEditing:R}=le({isDirty:p,onClose:s,reset:v});return e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:o,"aria-label":d("profile.editEmailAriaLabel"),children:e.jsx(Y,{icon:ge})}),e.jsx(ae,{title:d("profile.editContact"),open:c,onClose:M,actions:[{text:A?e.jsx(Q,{color:"white",className:"h-8 w-8"}):d(q?"profile.stayOnPage":"profile.saveContactInfo"),onClick:()=>(q?R():V(),Promise.resolve()),variant:"primary",disabled:!u||!p||A},{text:d(q?"profile.leaveAndDiscard":"profile.cancel"),onClick:()=>(M(),Promise.resolve()),variant:"primaryOutline"}],children:q?e.jsx(oe,{}):e.jsxs(e.Fragment,{children:[e.jsxs("form",{onSubmit:V,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"email",control:m,render:({field:w})=>{var S,D;return e.jsx(E,{...w,errorSpacing:!1,type:"text",label:d("auth.login.email").toString(),error:(D=(S=g.email)==null?void 0:S.message)==null?void 0:D.toString(),qaAttribute:"new-contact-email",maxLength:L.email})},rules:{required:d("auth.login.emailRequired").toString(),pattern:{value:/^([\w.!#$%&'*+\-/=?^`{|}~]+@([\w\-.]+\.)+[\w-]{2,15}([,;]\s{0,}){0,1})+$/,message:d("auth.login.invalidEmail").toString()}}}),e.jsx(y,{name:"label",control:m,render:({field:w})=>{var S,D;return e.jsx(E,{...w,errorSpacing:!1,type:"text",label:d("profile.label").toString(),error:(D=(S=g.label)==null?void 0:S.message)==null?void 0:D.toString(),qaAttribute:"new-email-label",maxLength:L.label})},rules:{required:d("profile.labelRequired").toString()}}),e.jsx(y,{name:"isPrimary",control:m,render:({field:w})=>e.jsx(B,{...w,id:"make-primary-email",className:"flex-row-reverse justify-between",value:w.value,onChange:()=>w.onChange(!w.value),label:d("profile.makePrimary").toString()})})]}),e.jsx(re,{variant:"dangerOutline",className:"w-full mt-4",onClick:()=>{s(),f(),v()},children:d("profile.delete")})]})}),e.jsx(be,{contact:r,isOpen:t,closeModal:b,refetch:l})]})}function ma({contact:r,refetch:l}){const{closeModal:s,isModalOpen:c,openModal:o}=ee(),{isModalOpen:t,openModal:f,closeModal:b}=ee(),{t:d}=O(),a=H(w=>{var S;return(S=w.user)==null?void 0:S.relId}),{handleSubmit:j,control:m,reset:v,formState:{errors:g,isValid:u,isDirty:p}}=J({mode:"onChange",defaultValues:{phone:r.phone??"",label:r.label??"",isPrimary:r.isPrimary??!1}}),{mutate:h,isPending:A}=X({mutationFn:({data:w})=>{if(!a)throw new Error("homeownerId is required but is missing");return W.updateContact(a,r.id,w)},onSuccess:(w,{data:S}
1)=>{Z({message:d("profile.updateSuccess",{type:"Phone"}),title:"Success",type:"success"}),s(),v(S),l()},onError:()=>console.log("error")}),V=j(w=>{if(!a)throw new Error("Homeowner ID not found");h({data:w})}),{showUnsavedChanges:q,handleClose:M,handleContinueEditing:R}=le({isDirty:p,onClose:s,reset:v});return e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:o,"aria-label":d("profile.editPhoneAriaLabel"),children:e.jsx(Y,{icon:ge})}),e.jsx(ae,{title:d("profile.editContact"),open:c,onClose:M,actions:[{text:A?e.jsx(Q,{color:"white",className:"h-8 w-8"}):d(q?"profile.stayOnPage":"profile.saveContactInfo"),onClick:()=>(q?R():V(),Promise.resolve()),variant:"primary",disabled:!u||!p||A},{text:d(q?"profile.leaveAndDiscard":"profile.cancel"),onClick:()=>(M(),Promise.resolve()),variant:"primaryOutline"}],children:q?e.jsx(oe,{}):e.jsxs(e.Fragment,{children:[e.jsxs("form",{onSubmit:V,className:"flex flex-col gap-7",children:[e.jsx(y,{name:"phone",control:m,rules:{required:d("profile.phoneRequired").toString(),pattern:{value:/^\(\d{3}\) \d{3}-\d{4}$/,message:d("profile.invalidPhone").toString()}},render:({field:w})=>{var _,z;const S=I=>{const P=I.replace(/\D/g,"");return P.length<=3?P:P.length<=6?`(${P.slice(0,3)}) ${P.slice(3)}`:`(${P.slice(0,3)}) ${P.slice(3,6)}-${P.slice(6,10)}`},D=I=>{const P=S(I.target.value);w.onChange(P)};return e.jsx(E,{...w,onChange:D,value:w.value,errorSpacing:!1,type:"tel",label:d("profile.phoneNumber").toString(),error:(z=(_=g.phone)==null?void 0:_.message)==null?void 0:z.toString(),qaAttribute:"new-phone-label",maxLength:14})}}),e.jsx(y,{name:"label",control:m,render:({field:w})=>{var S,D;return e.jsx(E,{...w,errorSpacing:!1,type:"text",label:d("profile.label").toString(),error:(D=(S=g.label)==null?void 0:S.message)==null?void 0:D.toString(),qaAttribute:"new-phone-label",maxLength:L.label})},rules:{required:d("profile.labelRequired").toString()}}),e.jsx(y,{name:"isPrimary",control:m,render:({field:w})=>e.jsx(B,{...w,id:"make-primary-phone",className:"flex-row-reverse justify-between",value:w.value,onChange:()=>w.onChange(!w.value),label:d("profile.makePrimary").toString()})})]}),e.jsx(re,{variant:"dangerOutline",className:"w-full mt-4",onClick:()=>{s(),f(),v()},children:d("profile.delete")})]})}),e.jsx(be,{contact:r,isOpen:t,closeModal:b,refetch:l})]})}function Ee({contacts:r,refetch:l,isLoading:s}){const{t:c}=O();return s?e.jsx("div",{className:"flex justify-center items-center h-full",children:e.jsx(Q,{})}):e.jsxs(xe,{controller:"Homeowner_v2",action:"ContactInfo",children:[e.jsx(ua,{refetch:l,contacts:r}),r&&(r.addresses.length||r.contacts.length)>0?e.jsx(fa,{contacts:r,refetch:l}):e.jsx("div",{children:c("profile.noContactsFound")})]})}const ua=({refetch:r,contacts:l})=>{const{t:s}=O(),{closeModal:c,isModalOpen:o,openModal:t}=ee(),f=H(d=>d.user),b=(f==null?void 0:f.userName)??(f==null?void 0:f.email);return e.jsxs("div",{className:"mt-8 flex mobile:flex-row flex-col gap-4 justify-between mobile:items-center",children:[e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("div",{className:"rounded-full bg-base-fg/75 w-10 h-10 flex justify-center items-center",children:e.jsx(Y,{icon:Ue,className:"text-white text-2xl"})}),e.jsx("h1",{"data-qa":"profile-name",className:"text-lg font-semibold",children:b})]}),e.jsx(re,{onClick:t,"data-qa":"add-contact-button",children:s("profile.addContactInfo")}),e.jsx(ia,{view:"add",isModalOpen:o,closeModal:c,refetch:r,mailingAddress:l.addresses.filter(d=>d.isMailing)})]})},fa=({contacts:r,refetch:l})=>{const{t:s}=O(),{primaryEmailContacts:c,primaryPhoneContacts:o,secondaryEmailContacts:t,secondaryPhoneContacts:f}=C.useMemo(()=>({primaryEmailContacts:r.contacts.filter(({isPrimary:a,email:j})=>a&&j),primaryPhoneContacts:r.contacts.filter(({isPrimary:a,phone:j})=>a&&j),secondaryEmailContacts:r.contacts.filter(({isPrimary:a,email:j})=>!a&&j),secondaryPhoneContacts:r.contacts.filter(({isPrimary:a,phone:j})=>!a&&j)}),[r]),{mailingAddresses:b,propertyAddresses:d}=C.useMemo(()=>{let a=!0;const j=[],m=[];for(const v of r.addresses)v.isMailing&&a?(j.push(v),a=!1):m.push(v);return{mailingAddresses:j,propertyAddresses:m}},[r.addresses]);return e.jsxs("div",{className:"flex flex-col gap-4 mt-8",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.primaryContactInfo")}),e.jsxs("div",{className:"w-full flex flex-nowrap tablet:flex-row items-center tablet:items-start gap-12 flex-col justify-between rounded-md border-2 border-base-border p-4",children:[e.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.mailingAddress")}),e.jsx("div",{className:"flex flex-col gap-4","data-qa":"primary-address-container",children:b.length>0?b.map(a=>e.jsx(Ne,{contact:a,refetch:l,mailingAddresses:b},a.id)):e.jsx("p",{children:s("profile.noPrimaryAddresses")})})]}),e.jsx("div",{className:"flex flex-col gap-4 w-full",children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.phone")}),o.length>0?o.map(a=>e.jsx(ne,{contact:a,refetch:l},a.id)):e.jsx("p",{"data-qa":"primary-phone-contacts-empty",children:s("profile.noPrimaryPhoneContacts")}
1)]})}),e.jsx("div",{className:"flex flex-col gap-4 w-full",children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.email")}),c.length>0?c.map(a=>e.jsx(ne,{contact:a,refetch:l},a.id)):e.jsx("p",{children:s("profile.noPrimaryEmailContacts")})]})})]})]}),e.jsxs("div",{className:"mt-6 border-t-2 border-base-border pt-6 flex flex-col gap-4",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.otherContactInfo")}),e.jsxs("div",{className:"w-full flex flex-nowrap tablet:flex-row items-center tablet:items-start gap-12 flex-col justify-between rounded-md border-2 border-base-border p-4",children:[e.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.address")}),d.length>0?d.map(a=>e.jsx(Ne,{contact:a,refetch:l,mailingAddresses:b},a.id)):e.jsx("p",{"data-qa":"secondary-addresses-empty",children:s("profile.noSecondaryAddresses")})]}),e.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.phone")}),f.length>0?f.map(a=>e.jsx(ne,{contact:a,refetch:l},a.id)):e.jsx("p",{"data-qa":"secondary-phone-contacts-empty",children:s("profile.noSecondaryPhoneContacts")})]}),e.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[e.jsx("h1",{className:"text-lg font-semibold",children:s("profile.email")}),t.length>0?t.map(a=>e.jsx(ne,{contact:a,refetch:l},a.id)):e.jsx("p",{"data-qa":"secondary-email-contacts-empty",children:s("profile.noSecondaryEmailContacts")})]})]})]})]})},ne=({contact:r,refetch:l})=>{const{t:s}=O(),{id:c,email:o,label:t,phone:f}=r;return e.jsxs("div",{className:"w-full max-w-80 flex justify-between","data-qa":`${o?"email":"phone"}-card-${c}`,children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold w-60 text-wrap break-words","data-qa":`${o?"email":"phone"}-label-${c}`,children:t||s(o?"profile.email":"profile.phone")}),e.jsx("p",{className:"w-60 break-words","data-qa":`${o?"email":"phone"}-value-${c}`,children:o??f})]}),o?e.jsx(da,{contact:r,refetch:l}):e.jsx(ma,{contact:r,refetch:l})]},c)},Ne=({contact:r,refetch:l,mailingAddresses:s})=>{const{t:c}=O(),{id:o,type:t,label:f,mailingNameOverride:b,address1:d,address2:a,city:j,state:m,province:v,postalCode:g,country:u}=r;return e.jsxs("div",{className:"w-full max-w-80 flex justify-between","data-qa":`address-card-${o}`,children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold w-60 break-words","data-qa":`address-label-${o}`,children:t==="property"?c("profile.propertyAddress",{label:f??""}):f??""}),e.jsx("p",{className:"w-52 text-wrap break-words","data-qa":`mailing-name-override-value-${o}`,children:b}),e.jsx("p",{className:"w-52 text-wrap break-words","data-qa":`address-value-${o}`,children:te({address1:d??"",address2:a??"",city:j??"",stateProvince:m??v??"",postalCode:g??u??""},"full")})]}),e.jsx(ca,{address:r,mailingAddress:s,refetch:l})]},o)};function Me({contacts:r,refreshContacts:l}){var we,ye,ve;const{t:s}=O(),c=H(n=>n.user),[o,t]=C.useState(!1),[f,b]=C.useState(null),d=ra("ContactInfo","Homeowner_v2","electronicDisclosure"),a=H(n=>n.preferences),j=H(n=>n.setPreferences),m=H(n=>n.configuration),v=m==null?void 0:m.casb392Enabled,g=H(n=>n.setPendo),u=c!=null&&c.firstName&&(c!=null&&c.lastName)?`${c.firstName} ${c.lastName}`:c==null?void 0:c.login,p=H(n=>{var i;return(i=n.user)==null?void 0:i.relId}),h=(we=r.contacts.slice().reverse().find(n=>n.label==="cell"))==null?void 0:we.phone,A=C.useMemo(()=>r.contacts.filter(n=>n.email).map(n=>({value:n.email||"",label:n.email||"",id:n.id})),[r.contacts]),V=C.useMemo(()=>r.addresses.map(n=>({value:n.id,label:`${n.type==="property"?"Property":"Homeowner"}: ${te({address1:n.address1??"",address2:n.address2??"",city:n.city??"",stateProvince:n.state??n.province??"",postalCode:n.postalCode??""},"full")}`,id:n.id,type:n.type})),[r.addresses]),q=C.useMemo(()=>{if(a!=null&&a.email)return A.find(n=>n.value===a.email)},[a==null?void 0:a.email,A]),M=C.useMemo(()=>{if(!(!(a!=null&&a.mailingAddressId)||!(a!=null&&a.mailRelTypeId)))return V.find(n=>n.id===a.mailingAddressId&&n.type===a.mailRelTypeId)},[a==null?void 0:a.mailingAddressId,a==null?void 0:a.mailRelTypeId,V]),{handleSubmit:R,control:w,watch:S,formState:{errors:D,isValid:_,isDirty:z},reset:I}=J({defaultValues:{generalCommunicationPreference:(ye=m==null?void 0:m.availableGeneralCommunicationPreferences)!=null&&ye.find(n=>n===(a==null?void 0:a.generalCommunicationPreference))?{value:a==null?void 0:a.generalCommunicationPreference,display:s(`profile.communicationPreferencesOptions.${a==null?void 0:a.generalCommunicationPreference}`)}:void 0,billingCommunicationPreference:(ve=m==null?void 0:m.availableBilling
1CommunicationPreferences)!=null&&ve.find(n=>n===(a==null?void 0:a.billingCommunicationPreference))?{value:a==null?void 0:a.billingCommunicationPreference,display:s(`profile.communicationPreferencesOptions.${a==null?void 0:a.billingCommunicationPreference}`)}:void 0,receivePayBillingText:(a==null?void 0:a.receivePayBillingText)??void 0,billingTextPhone:h??void 0,homeownerShowName:!(a!=null&&a.hideNameInDirectory),homeownerShowPhone:!(a!=null&&a.hidePhoneInDirectory),homeownerShowEmail:!(a!=null&&a.hideEmailInDirectory),homeownerShowAddress:!(a!=null&&a.hidePropertyInDirectory),sendPayConfirmationEmail:(a==null?void 0:a.sendPayConfirmationEmail)??void 0,casbEmailPreference:q==null?void 0:q.value,casbAddressPreference:M==null?void 0:M.value,electronicSignature:""},mode:"onChange"}),P=C.useCallback(()=>{var k,K;const n=(k=S("generalCommunicationPreference"))==null?void 0:k.value,i=(K=S("billingCommunicationPreference"))==null?void 0:K.value;return n==="email"||n==="paperAndEmail"||i==="email"||i==="paperAndEmail"},[S]),T=C.useCallback(()=>{var k,K;const n=(k=S("generalCommunicationPreference"))==null?void 0:k.value,i=(K=S("billingCommunicationPreference"))==null?void 0:K.value;return n==="paper"||n==="paperAndEmail"||i==="paper"||i==="paperAndEmail"},[S]),{mutate:x,isPending:N}=X({mutationFn:n=>{var i;if(!p)throw new Error("No homeowner ID found");return W.updatePreferences(p,{generalCommunicationPreference:n.generalCommunicationPreference.value,billingCommunicationPreference:n.billingCommunicationPreference.value,receivePayBillingText:n.receivePayBillingText,hideNameInDirectory:!n.homeownerShowName,hideEmailInDirectory:!n.homeownerShowEmail,hidePhoneInDirectory:!n.homeownerShowPhone,hidePropertyInDirectory:!n.homeownerShowAddress,sendPayConfirmationEmail:n.sendPayConfirmationEmail,email:n.casbEmailPreference||null,homeownerAddressId:n.casbAddressPreference||null,mailRelTypeId:n.casbAddressPreference&&((i=V.find(k=>k.value===n.casbAddressPreference))==null?void 0:i.type)||"homeownerAddress",electronicSignature:n.electronicSignature})},onSuccess:async n=>{Z({message:s("profile.preferencesUpdated"),type:"success"}),j(n),g()}}),{mutate:F}=X({mutationFn:({data:n,homeownerId:i})=>W.createContact(i,n),onSuccess:()=>{Z({message:s("profile.success",{type:"phone"}),type:"success"}),l()},onError:()=>{Z({message:s("profile.contactCreationFailed"),type:"error"})}});C.useEffect(()=>{var n,i;a&&I({generalCommunicationPreference:(n=m==null?void 0:m.availableGeneralCommunicationPreferences)!=null&&n.find(k=>k===a.generalCommunicationPreference)?{value:a.generalCommunicationPreference,display:s(`profile.communicationPreferencesOptions.${a.generalCommunicationPreference}`)}:void 0,billingCommunicationPreference:(i=m==null?void 0:m.availableBilling
1CommunicationPreferences)!=null&&i.find(k=>k===a.billingCommunicationPreference)?{value:a.billingCommunicationPreference,display:s(`profile.communicationPreferencesOptions.${a.billingCommunicationPreference}`)}:void 0,receivePayBillingText:a.receivePayBillingText??void 0,billingTextPhone:h??void 0,homeownerShowName:!a.hideNameInDirectory,homeownerShowPhone:!a.hidePhoneInDirectory,homeownerShowEmail:!a.hideEmailInDirectory,homeownerShowAddress:!a.hidePropertyInDirectory,sendPayConfirmationEmail:a.sendPayConfirmationEmail??void 0,casbEmailPreference:q==null?void 0:q.value,casbAddressPreference:M==null?void 0:M.value,electronicSignature:""})},[a,r,m,s,q,M,h,I]);const ie=n=>{if(n.generalCommunicationPreference.value==="email"||n.generalCommunicationPreference.value==="paperAndEmail"||n.billingCommunicationPreference.value==="email"||n.billingCommunicationPreference.value==="paperAndEmail")b(n),t(!0);else if(x(n),n.receivePayBillingText&&n.billingTextPhone&&n.billingTextPhone!==h){const k={phone:n.billingTextPhone??"",label:"cell",isPrimary:!1};F({data:k,homeownerId:p??0})}},ce=async()=>{if(f){const n=S("electronicSignature"),i={...f,electronicSignature:n},k=[x(i)];if(f.receivePayBillingText&&f.billingTextPhone&&f.billingTextPhone!==h){const K={phone:f.billingTextPhone??"",label:"cell",isPrimary:!1};k.push(F({data:K,homeownerId:p??0}))}await Promise.all(k),t(!1),b(null)}},$=()=>{const n=S("electronicSignature");return n&&n.trim().length>0},U=()=>{t(!1),b(null)},Ve=R(ie),$e=n=>{Ve(n).catch(console.error)};return a?e.jsxs(e.Fragment,{children:[o&&e.jsxs(ae,{title:s("profile.electronicCommunication"),open:o,onClose:U,actions:[{text:s("profile.submit"),onClick:ce,variant:"primary",disabled:!$(),"data-qa":"update-preferences-form-email-confirmation-submit-button"},{text:s("profile.cancel"),onClick:async()=>U(),variant:"primaryOutline","data-qa":"update-preferences-form-email-confirmation-cancel-button"}],children:[d?e.jsx(aa,{content:d}):e.jsx("p",{children:s("profile.emailPreferenceDisclaimer")}),e.jsx("div",{className:"mt-4",children:e.jsx(y,{name:"electronicSignature",control:w,"data-qa":"update-preferences-form-electronic-signature",rules:{required:s("profile.eSignatureRequired").toString()},render:({field:n})=>{var i,k;return e.jsx(E,{...n,type:"text",label:s("profile.eSignature"),placeholder:s("profile.eSignaturePlaceholder"),error:(k=(i=D.electronicSignature)==null?void 0:i.message)==null?void 0:k.toString(),qaAttribute:"electronic-signature-input","data-qa":"update-preferences-form-electronic-signature-input"})}})})]}),e.jsxs("form",{onSubmit:$e,className:"mt-8 flex flex-col gap-10","data-qa":"update-preferences-form",children:[e.jsx("p",{className:"text-base-header bg-primary-bg/10 p-2 rounded-md",children:u&&e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"font-semibold",children:[s("profile.viewingSettingsFor"),":"]})," ",e.jsx("span",{"data-qa":"update-preferences-form-name-value",children:u})]})}),e.jsx("div",{className:"flex justify-between items-center",children:e.jsx("p",{children:s("profile.communications")})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx("p",{className:"font-bold text-base-header",children:s("profile.communicationPreferences")}),e.jsx(Ce,{"data-qa":"update-preferences-form-tooltip",children:s("main.profile.communicationPreferences.selectPreferencesHeader.tooltip")})]}),e.jsxs("div",{className:"border-b-2 border-base-border py-5 flex lg:flex-row flex-col justify-between lg:items-center items-start",children:[e.jsx("p",{children:s("profile.generalCommunicationPreferences")}),e.jsx(y,{name:"generalCommunicationPreference",control:w,"data-qa":"update-preferences-form-general-communication-preference",rules:{validate:n=>!n||!n.value?"Please select a general communication preference":!0},render:({field:n})=>e.jsxs("div",{children:[e.jsx(Se,{...n,label:s("profile.generalCommunicationPreferences"),qaAttribute:"general-communications-preferences",direction:"horizontal",options:(m==null?void 0:m.availableGeneralCommunicationPreferences.map(i=>({display:s(`profile.communicationPreferencesOptions.${i}`),value:i})))??[],deriveId:i=>(i==null?void 0:i.value)??"",deriveLabel:i=>(i==null?void 0:i.display)??"",value:n.value,onChange:i=>n.onChange(i)}),D.generalCommunicationPreference&&e.jsx("p",{className:"text-base-error text-sm mt-1",children:D.generalCommunicationPreference.message})]})})]}),e.jsxs("div",{className:"border-b-2 border-base-border py-5 flex lg:flex-row flex-col justify-between lg:items-center items-start",children:[e.jsx("p",{children:s("profile.billingCommunicationPreferences")}),e.jsx(y,{name:"billingCommunicationPreference",control:w,"data-qa":"update-preferences-form-billing-communication-preference",render:({field:n})=>e.jsx(Se,{...n,label:s("profile.billingCommunicationPreferences"),qaAttribute:"billing-communications-preferences",direction:"horizontal",options:(m==null?void 0:m.availableBilling
1CommunicationPreferences.map(i=>({display:s(`profile.communicationPreferencesOptions.${i}`),value:i})))??[],deriveId:i=>(i==null?void 0:i.value)??"",deriveLabel:i=>(i==null?void 0:i.display)??"",value:n.value,onChange:i=>n.onChange(i)})})]}),v&&(P()||T())&&e.jsx("div",{className:"border-b-2 border-base-border py-5",children:e.jsxs("div",{className:"flex flex-col gap-4",children:[P()&&e.jsx("div",{className:"flex-1",children:e.jsx(y,{name:"casbEmailPreference",control:w,"data-qa":"update-preferences-form-casb-email-preference",render:({field:n})=>e.jsx(se,{...n,label:s("profile.preferredEmail"),options:A,value:A.find(i=>i.value===n.value),onChange:i=>n.onChange(i.value),placeholder:s("profile.selectEmail"),deriveKey:i=>i.id.toString(),displayOption:i=>i.label,displaySelected:i=>i.label})})}),T()&&e.jsx("div",{className:"flex-1",children:e.jsx(y,{name:"casbAddressPreference",control:w,"data-qa":"update-preferences-form-casb-address-preference",render:({field:n})=>e.jsx(se,{...n,label:s("profile.preferredAddress"),options:V,value:V.find(i=>i.value===n.value),onChange:i=>n.onChange(i.value),placeholder:s("profile.selectAddress"),deriveKey:i=>i.id.toString(),displayOption:i=>i.label,displaySelected:i=>i.label})})})]})}),(m==null?void 0:m.emailReceiptAvailable)&&e.jsx("div",{className:"border-b-2 border-base-border py-5",children:e.jsx(y,{name:"sendPayConfirmationEmail",control:w,"data-qa":"update-preferences-form-send-pay-confirmation-email",render:({field:n})=>e.jsx(B,{...n,id:"save-payment-method",className:"flex-row-reverse justify-between",value:n.value,tooltip:s("main.profile.communicationPreferences.sendPaymentConfirmEmailLineItem.tooltip"),onChange:()=>n.onChange(!n.value),label:`${s("profile.sendPaymentEmail").toString()}`})})}),e.jsx("div",{className:"flex flex-col gap-5 py-5",children:(m==null?void 0:m.billingTextNotificationsAvailable)&&e.jsxs(e.Fragment,{children:[e.jsx(y,{name:"receivePayBillingText","data-qa":"update-preferences-form-receive-pay-billing-text",control:w,render:({field:n})=>e.jsx(B,{...n,id:"payment-reminder-texts",className:"flex-row-reverse justify-between",value:n.value,onChange:()=>{n.onChange(!n.value)},label:`${s("profile.getPaymentTexts").toString()}`})}),S("receivePayBillingText")&&e.jsx(y,{"data-qa":"update-preferences-form-billing-text-phone-input",name:"billingTextPhone",control:w,rules:{required:s("profile.labelRequired").toString(),pattern:{value:/^\(\d{3}\) \d{3}-\d{4}$/,message:s("profile.invalidPhone").toString()}},render:({field:n})=>{var K,je;const i=de=>{const G=de.replace(/\D/g,"");return G.length<=3?G:G.length<=6?`(${G.slice(0,3)}) ${G.slice(3)}`:`(${G.slice(0,3)}) ${G.slice(3,6)}-${G.slice(6,10)}`},k=de=>{const G=i(de.target.value);n.onChange(G)};return e.jsx(E,{...n,onChange:k,value:n.value,errorSpacing:!1,type:"tel",label:s("profile.phoneNumber").toString(),error:(je=(K=D.billingTextPhone)==null?void 0:K.message)==null?void 0:je.toString(),qaAttribute:"new-phone-label",maxLength:14,"data-qa":"update-preferences-form-phone-input"})}}),e.jsx("p",{className:"lg:w-2/3 text-[12px]","data-qa":"update-preferences-form-text-disclaimer",children:s("profile.textDisclaimer")})]})})]}),e.jsx("div",{className:"lg:grid flex flex-col grid-cols-2 lg:gap-[10vw] gap-5 ",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx("p",{className:"font-bold text-base-header",children:s("profile.homeownerPreferences")}),e.jsx(Ce,{"data-qa":"update-preferences-form-tooltip",children:s("main.profile.contactInformation.directoryPreferences.tooltip")})]}),e.jsxs("div",{children:[e.jsx(y,{name:"homeownerShowName",control:w,"data-qa":"update-preferences-form-homeowner-show-name",render:({field:n})=>e.jsx(B,{...n,id:"homeowner-show-name",className:"flex-row-reverse justify-between my-5",value:n.value,onChange:()=>n.onChange(!n.value),label:`${s("profile.showName").toString()}`})}),e.jsx(y,{name:"homeownerShowPhone",control:w,"data-qa":"update-preferences-form-homeowner-show-phone",render:({field:n})=>e.jsx(B,{...n,id:"homeowner-show-phone",className:"flex-row-reverse justify-between my-5",value:n.value,onChange:()=>n.onChange(!n.value),label:`${s("profile.showPhone").toString()}`})}),e.jsx(y,{name:"homeownerShowEmail",control:w,"data-qa":"update-preferences-form-homeowner-show-email",render:({field:n})=>e.jsx(B,{...n,id:"homeowner-show-email",className:"flex-row-reverse justify-between my-5",value:n.value,onChange:()=>n.onChange(!n.value),label:`${s("profile.showEmail").toString()}`})}),e.jsx(y,{name:"homeownerShowAddress",control:w,"data-qa":"update-preferences-form-homeowner-show-address",render:({field:n})=>e.jsx(B,{...n,id:"homeowner-show-address",className:"flex-row-reverse justify-between my-5",value:n.value,onChange:()=>n.onChange(!n.value),label:`${s("profile.showMailing").toString()}`})})]})]})}),e.jsx(re,{type:"submit",className:"mb-5 self-start","data-qa":"update-preferences-form-submit-button",disabled:!z||N||!_,children:N?e.jsx(Q,{color:"white",className:"h-8 w-8"}):s("profile.update")})]})]}):e.jsx("div",{className:"flex justify-center items-center h-full",children:e.jsx(Q,{})})}function De(){const{t:r}=O(),l=H(I=>I.user),[s,c]=C.useState(!1),[o,t]=C.useState(!1),[f,b]=C.useState(!1),[d,a]=C.useState(null),j=()=>{c(!s)},m=()=>{t(!o)},v=()=>{b(!f)},{handleSubmit:g,control:u,formState:{errors:p,isValid:h},reset:A,watch:V}=J(),q=V("newPassword"),M=V("confirmPassword"),{mutate:R,isPending:w}=X({mutationFn:I=>W.updateLogin(I,{suppressToast:!0}),onSuccess:()=>{a(null),Z({message:"Login updated successfully",type:"success"}),A()},onError:I=>{var T;a(null);const P=(T=I.response)==null?void 0:T.data;a((P==null?void 0:P.detail)||(P==null?void 0:P.message)||"Failed to update login")}}),S=I=>{a(null),R(I)},D=()=>{a(null)},_=g(S),z=I=>{_(I).catch(console.error)};return e.jsxs("form",{onSubmit:z,className:"mt-8","data-qa":"update-login-form",children:[d&&e.jsxs("div",{className:"mb-6 p-4 bg-error/10 rounded-lg flex items-center gap-3 max-w-[500px]",children:[e.jsx(Y,{icon:ze,className:"text-error text-lg flex-shrink-0"}),e.jsx("span",{className:"text-error text-sm font-medium","data-qa":"update-login-form__error-message",children:d})]}),e.jsx(y,{name:"emailAddress",control:u,defaultValue:(l==null?void 0:l.login)??"",render:({field:I})=>{var P,T;return e.jsx(E,{...I,errorSpacing:!1,type:"text",label:r("auth.login.loginEmail").toString(),className:"lg:mb-[2vw] mb-7 lg:w-1/2",error:(T=(P=p.email)==null?void 0:P.message)==null?void 0:T.toString(),qaAttribute:"email",disabled:!0,"data-qa":"update-login-form-email-input"})},rules:{required:`${r("auth.login.emailRequired")}`,pattern:{value:/^[^@ ]+@[^@ ]+\.[^@ .]{2,}$/,message:`${r("auth.login.invalidEmail")}`}}}),e.jsx(y,{name:"currentPassword",control:u,defaultValue:"",render:({field:I})=>{var P,T;return e.jsx(E,{...I,errorSpacing:!1,type:s?"text":"password",label:r("auth.login.currentPassword").toString(),className:"lg:mb-[2vw] mb-7 lg:w-1/2",error:(T=(P=p.currentPassword)==null?void 0:P.message)==null?void 0:T.toString(),qaAttribute:"password","data-qa":"update-login-form-current-password-input",onChange:x=>{I.onChange(x),D()},endIcon:e.jsx(Y,{icon:s?me:ue,className:"text-base-header opacity-70",onClick:j})})},rules:{required:`${r("auth.login.passRequired")}`}}),e.jsx(y,{name:"newPassword",control:u,defaultValue:"",render:({field:I})=>{var P,T;return e.jsx(E,{...I,errorSpacing:!1,type:o?"text":"password",label:r("auth.login.newPassword").toString(),className:"lg:mb-[2vw] mb-7 lg:w-1/2",error:(T=(P=p.newPassword)==null?void 0:P.message)==null?void 0:T.toString(),qaAttribute:"password","data-qa":"update-login-form-new-password-input",onChange:x=>{I.onChange(x),D()},endIcon:e.jsx(Y,{icon:o?me:ue,className:"text-base-header opacity-70",onClick:m})})},rules:{required:`${r("auth.login.inputRequired")}`}}),e.jsx(y,{name:"confirmPassword",control:u,defaultValue:"",render:({field:I})=>{var P,T;return e.jsx(E,{...I,errorSpacing:!1,type:f?"text":"password",label:r("auth.login.confirmNewPassword").toString(),className:"lg:mb-[2vw] mb-7 lg:w-1/2",error:(T=(P=p.confirmNewPassword)==null?void 0:P.message)==null?void 0:T.toString(),qaAttribute:"password","data-qa":"update-login-form-confirm-password-input",onChange:x=>{I.onChange(x),D()},endIcon:e.jsx(Y,{icon:f?me:ue,className:"text-base-header opacity-70",onClick:v})})},rules:{required:`${r("auth.login.inputRequired")}`}}),e.jsx(re,{type:"submit",className:"mb-5 self-start","data-qa":"update-login-form-submit-button",disabled:!h||w||q!==M,children:w?e.jsx(Q,{color:"white",className:"h-8 w-8"}):r("profile.saveChanges")}
1)]})}const Fa={title:"Profile Settings",showPropertySelector:!0,customContentId:["ContactInfo","Homeowner_v2"],showAi:!0};function Ta(){return sa()?e.jsx(Qe,{to:"/dashboard",replace:!0}):Xe?e.jsx(ha,{}):e.jsx(pa,{})}function pa(){return e.jsx(xe,{controller:"Homeowner_v2",action:"ContactInfo",children:e.jsx(Ze,{controller:"Homeowner_v2",action:"ContactInfo"})})}function ha(){const r=na(),l=H(f=>{var b;return(b=f.user)==null?void 0:b.relId}),{data:s,isLoading:c,refetch:o}=Je({queryKey:["contacts",l],queryFn:()=>{if(l)return W.getContacts(l)},enabled:!!l}),t=()=>s?r?e.jsx(ga,{contacts:s,refetch:o,isContactsLoading:c}):e.jsx(xa,{contacts:s,refetch:o,isContactsLoading:c}):null;return e.jsx(xe,{controller:"Homeowner_v2",action:"ContactInfo",children:e.jsx("div",{className:"px-horizontal-layout-sm h-full py-8 bg-base-fill rounded-xl tablet:px-horizontal-layout","data-qa":"profile-settings-container",children:t()})})}const ga=({contacts:r,refetch:l,isContactsLoading:s})=>{const{t:c}=O(),[o,t]=C.useState("contactInfo"),f=[{label:c("profile.contactInfo"),value:"contactInfo"},{label:c("profile.loginInfo"),value:"loginInfo"},{label:c("profile.preferences"),value:"preferences"}];return e.jsxs("div",{className:"flex flex-col",children:[e.jsx(se,{label:"",options:f,onChange:b=>t(b.value),deriveKey:b=>b.value,displayOption:b=>b.label,displaySelected:()=>{var b;return((b=f.find(d=>d.value===o))==null?void 0:b.label)??""},value:f.find(b=>b.value===o),"data-qa":"mobile-tab-selector"}),o==="contactInfo"&&e.jsx(Ee,{contacts:r,refetch:l,isLoading:s}),o==="loginInfo"&&e.jsx(De,{}),o==="preferences"&&e.jsx(Me,{contacts:r,refreshContacts:l})]})},xa=({contacts:r,refetch:l,isContactsLoading:s})=>{const{t:c}=O();return e.jsx("div",{className:"flex flex-col gap-4",children:e.jsxs(We,{children:[e.jsxs(Ke,{className:"flex w-full flex-row","data-qa":"profile-tabs",children:[["contactInfo","loginInfo","preferences"].map(o=>e.jsx(Ge,{as:"button","data-qa":`tab-${o}`,className:({selected:t})=>he("py-2 px-4 self-stretch text-left font-bold leading-5 text-input-fg underline-offset-4","focus:outline-none","border-b-2 hover:border-base-link",t&&"border-base-link text-base-link"),children:c(`profile.${o}`)},`panel-${o}`)),e.jsx("div",{"aria-hidden":"true",className:"flex-1 border-b-2"})]}),e.jsxs(Ye,{children:[e.jsx(fe,{tabIndex:-1,"data-qa":"contact-info-tab",children:e.jsx(Ee,{contacts:r,refetch:l,isLoading:s})}),e.jsx(fe,{tabIndex:-1,"data-qa":"login-info-tab",children:e.jsx(De,{})}),e.jsx(fe,{tabIndex:-1,"data-qa":"preferences-tab",children:e.jsx(Me,{contacts:r,refreshContacts:l})})]})]})})};export{Ta as Component,Fa as handle};

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.