@trii/components 2.0.55 → 2.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -13,5 +13,5 @@ Check the top-level render call using <`+k+">.")}return b}}function Bt(l,b){{if(
13
13
  <%s {...props} />
14
14
  React keys must be passed directly to JSX without using spread:
15
15
  let props = %s;
16
- <%s key={someKey} {...props} />`,ft,$e,Wa,$e),Pt[$e+ft]=!0}}return l===s?La(ce):Pa(ce),ce}}function _a(l,b,k){return Lt(l,b,k,!0)}function Oa(l,b,k){return Lt(l,b,k,!1)}var Ra=Oa,za=_a;Ge.Fragment=s,Ge.jsx=Ra,Ge.jsxs=za})()),Ge}process.env.NODE_ENV==="production"?xt.exports=yn():xt.exports=hn();var t=xt.exports;mn(t);const fn=r.styled(r.Box)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),Yt=r.styled(r.IconButton)({padding:4}),gn=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),xn=r.styled(r.Avatar)({width:60,height:60,marginBottom:8}),bn=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),vn=r.styled(r.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),jn=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:o=!1,onError:i,onClose:c,isBusiness:d=!1})=>{const p=u.useCallback(f=>j=>{try{if(j.preventDefault(),j.stopPropagation(),!f)throw new Error("Navigation URL is required");j.ctrlKey||j.metaKey||j.button===1?window.open(f,"_blank","noopener,noreferrer"):s(f)}catch(v){i?.(v instanceof Error?v:new Error("Navigation failed"))}},[s,i]),m=p(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),x=p("/a/conversations/conversations"),y=a||"Unknown Contact",h=`Avatar for ${y}`;return t.jsxs(gn,{children:[t.jsxs(fn,{children:[t.jsx(Yt,{color:"info",size:"small",onClick:f=>{m(f),c()},onMouseDown:f=>{f.button===1&&(m(f),c())},disabled:!n,"aria-label":"View contact details",children:t.jsx(qa,{fontSize:"small"})}),t.jsx(Yt,{color:"info",size:"small",onClick:f=>{x(f),c()},onMouseDown:f=>{f.button===1&&(x(f),c())},"aria-label":"Go to conversations",children:t.jsx(Ya,{fontSize:"small"})})]}),o?t.jsx(vn,{children:t.jsx(r.CircularProgress,{size:24})}):t.jsx(xn,{src:e,alt:h,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(bn,{variant:"h6",title:y,children:y})]})},wn=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Cn=r.styled(r.Box)({width:"100%",borderBottom:"1px solid lightgray"}),In=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Sn=r.styled(r.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Tn=r.styled(r.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),En=r.styled(r.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),An=r.styled(r.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Dn=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const o=i=>t.jsx(In,{children:t.jsxs(Tn,{children:[t.jsx(Sn,{children:e}),t.jsxs(En,{children:[t.jsx(r.Tooltip,{title:i.address,arrow:!0,placement:"top",children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"semi-bold",fontSize:14,color:"text.primary",sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",cursor:"default"},children:i.address})}),i.profileName&&t.jsx(r.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:i.profileName})]}),i.note&&t.jsx(An,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(wn,{children:[s&&t.jsx(Cn,{children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},Un=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),kn=r.styled(r.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),$n=r.styled(r.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Nn=r.styled(r.Typography)({fontSize:14}),Fn=r.styled(we.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Bn=({properties:e,title:a})=>{const n=o=>o.replace(/-/g," "),s=(o,i)=>{if(!o||Array.isArray(o)&&o.length===0)return"";if(Array.isArray(o))return o.map(c=>s(c,i)).join(", ");if(typeof o=="string"){const c=Ne(o,Ne.ISO_8601).isValid(),d=p=>Ne(o).format(p);switch(i){case G.ContactField_type.TIME:return c?d("HH:mm"):o;case G.ContactField_type.DATE:return c?d("DD/MM/YYYY"):o;case G.ContactField_type.TIMERANGE:case G.ContactField_type.DATERANGE:if(c)return i===G.ContactField_type.TIMERANGE?d("HH:mm"):d("DD/MM/YYYY");const p=o.split(" ");if(p.length===2){const[m,x]=p,y=i===G.ContactField_type.TIMERANGE?Ne(m).format("HH:mm"):Ne(m).format("DD/MM/YYYY"),h=i===G.ContactField_type.TIMERANGE?Ne(x).format("HH:mm"):Ne(x).format("DD/MM/YYYY");return`${y} - ${h}`}return o;default:return o}}return o};return t.jsxs(Un,{children:[t.jsx(kn,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value.length>0&&t.jsxs($n,{children:[t.jsx(Fn,{}),t.jsxs(Nn,{children:[n(o.nameKey),":"," ",s(o.value,o.type)]})]},i))]})},Mn=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Pn=r.styled(r.Box)({marginBottom:16}),Ln=r.styled(r.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),_n=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Mn,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Pn,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Ln,{label:n.name,color:"primary",size:"small"},n.id))})]});function Kt(e){return e?.isBusiness===!0?!1:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&typeof e.firstName=="string"&&typeof e.lastName=="string"&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&"origin"in e&&typeof e.isSpam=="boolean"&&(!e.businessId||typeof e.businessId=="string")}const On=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Rn=({contactData:e,title:a})=>!e||!Kt(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(On,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(r.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Gt(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}const zn=({name:e,memberId:a,navigate:n})=>{const s=`/a/conversations/conversations&conversationId=${a}`,o=i=>{i.preventDefault(),i.stopPropagation(),i.ctrlKey||i.metaKey||i.button===1?window.open(s,"_blank","noopener,noreferrer"):n(s)};return t.jsx(r.Typography,{variant:"body2",color:"text.secondary",role:"link",tabIndex:0,sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:o,onMouseDown:i=>{i.button===1&&o(i)},onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&o(i)},children:e})},Wn=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Vn=({contactData:e,title:a,navigate:n})=>!e||!Gt(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Wn,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(zn,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var qn="Labels",Yn="Phone",Kn="Business",Gn="Business Members",Hn="Properties",Jn="View",Xn="Tags",Qn={add:"Add",note:"Note",number:"Number",email:"Email",phones:"Phones",close:"Close",back:"Back",createNew:"Create new",delete:"Delete",cancel:"Cancel",save:"Save",noOptions:"No options",noValue:"No value",birthdate:"Birthdate",country:"Country",searchLocation:"Search location"},Zn={searchAddress:"Search address",enterLocation:"Enter a location",city:"City",state:"State",postalCode:"Postal code",country:"Country",saveMainAddress:"Save main address",saveSecondaryAddress:"Save secondary address",loadingGoogleMaps:"Loading Google Maps...",googleMapsUnavailable:"Google Maps unavailable",googleMapsNotLoaded:"Google Maps not loaded",selectedPlaceNoLocation:"Selected place has no location data"},es={upload:"Upload photo",delete:"Delete photo"},ts={from:"From",to:"To"},as={contactDetails:{contactOwner:"Contact Owner",business:"Business",createdBy:"Created By",modifiedBy:"Modified By",street:"Street",city:"City",state:"State",postcode:"Postcode",country:"Country",addressInformation:"Address Information",primaryAddress:"Primary Address",secondaryAddress:"Secondary Address",contactInformation:"Contact Information",phones:"Phones",contactInfo:{emptySelection:"No selection"}},businessDetails:{businessOwner:"Business Owner"}},ns={labels:qn,phone:Yn,business:Kn,businessMembers:Gn,properties:Hn,view:Jn,tags:Xn,global:Qn,searchLocationModal:Zn,avatar:es,contactEdit:ts,conversations:as},ss="Etiquetas",rs="Tel\xE9fono",is="Empresa",os="Miembros de la empresa",ls="Propiedades",cs="Ver",ds="Etiquetas",us={add:"Agregar",note:"Nota",number:"N\xFAmero",email:"Correo Electr\xF3nico",close:"Cerrar",phones:"Tel\xE9fonos",delete:"Eliminar",cancel:"Cancelar",createNew:"Crear nuevo",back:"Atr\xE1s",save:"Guardar",noOptions:"Sin opciones",noValue:"Sin valor",birthdate:"Fecha de nacimiento",country:"Pa\xEDs",searchLocation:"Buscar ubicaci\xF3n"},ps={searchAddress:"Buscar direcci\xF3n",enterLocation:"Ingres\xE1 una ubicaci\xF3n",city:"Ciudad",state:"Estado",postalCode:"C\xF3digo postal",country:"Pa\xEDs",saveMainAddress:"Guardar como direcci\xF3n principal",saveSecondaryAddress:"Guardar como direcci\xF3n secundaria",loadingGoogleMaps:"Cargando Google Maps...",googleMapsUnavailable:"Google Maps no disponible",googleMapsNotLoaded:"Google Maps no est\xE1 cargado",selectedPlaceNoLocation:"La ubicaci\xF3n seleccionada no tiene coordenadas"},ms={upload:"Subir foto",delete:"Eliminar foto"},ys={from:"Desde",to:"Hasta"},hs={contactDetails:{contactOwner:"Propietario del contacto",business:"Empresa",createdBy:"Creado por",modifiedBy:"Modificado por",street:"Calle",city:"Ciudad",state:"Estado",postcode:"C\xF3digo postal",country:"Pa\xEDs",addressInformation:"Informaci\xF3n de direcci\xF3n",primaryAddress:"Direcci\xF3n principal",secondaryAddress:"Direcci\xF3n secundaria",contactInformation:"Informaci\xF3n de contacto",phones:"Tel\xE9fonos",contactInfo:{emptySelection:"Sin selecci\xF3n"}},businessDetails:{businessOwner:"Propietario de la empresa"}},fs={labels:ss,phone:rs,business:is,businessMembers:os,properties:ls,view:cs,tags:ds,global:us,searchLocationModal:ps,avatar:ms,contactEdit:ys,conversations:hs};const gs={en:{translation:ns},es:{translation:fs}},at=Ka.createInstance();at.use(We.initReactI18next).init({resources:gs,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const xs=r.styled(r.Box)(({theme:e})=>({backgroundColor:e.palette.background.panel,boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.1)",borderRadius:"8px",width:300,maxHeight:"calc(100vh - 500px)",overflowY:"auto",transition:"opacity 0.3s ease, transform 0.3s ease",padding:"8px",zIndex:1300,"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{background:"#E0E0E0",borderRadius:10},"&::-webkit-scrollbar-thumb":{background:"#9E9E9E",borderRadius:10,transition:"background 0.3s"},"&::-webkit-scrollbar-thumb:hover":{background:"#616161"}})),bs=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:o,navigate:i,language:c="en"})=>{const{t:d,i18n:p}=We.useTranslation();u.useEffect(()=>{c&&p.changeLanguage(c)},[c,p]);const m=d,x=Gt(s),y=Kt(s),h=[{icon:t.jsx(we.PhoneEnabled,{fontSize:"small"}),title:m("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(we.Email,{fontSize:"small"}),title:m("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(we.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(we.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(we.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(we.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return u.useEffect(()=>{const f=j=>{j.key==="Escape"&&n()};return e&&window.addEventListener("keydown",f),()=>{window.removeEventListener("keydown",f)}},[e,n]),t.jsx(r.Popper,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(r.ClickAwayListener,{onClickAway:n,children:t.jsx(xs,{children:t.jsxs(r.CardContent,{children:[t.jsx(jn,{navigate:i,contactId:s?.id,imgUrl:o,name:s?.name,onClose:n,isBusiness:x}),t.jsx(_n,{contactData:s,title:m("labels")}),y&&t.jsx(Rn,{contactData:s,title:m("business")}),x&&t.jsx(Vn,{contactData:s,title:m("businessMembers"),navigate:i}),h.map((f,j)=>t.jsx(Dn,{icon:f.icon,title:f.title,contactList:f.contactList,showTitle:f.showTitle},j)),t.jsx(Bn,{properties:s?.properties,title:m("properties")})]})})})})},Ht=e=>t.jsx(We.I18nextProvider,{i18n:at,children:t.jsx(bs,{...e})}),Jt=e=>e,Xt=u.createContext(Jt),vs=({t:e,children:a})=>t.jsx(Xt.Provider,{value:e,children:a}),re=()=>{const e=u.useContext(Xt);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Jt)},js=({tags:e,onEditTags:a})=>{const n=re(),[s,o]=u.useState(null),i=u.useMemo(()=>e??[],[e]),c=i.slice(0,4),d=Math.max(i.length-c.length,0),p=y=>{o(y.currentTarget)},m=()=>{o(null)},x=!!s;return t.jsxs(r.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(r.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[c.map(y=>t.jsx(r.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id)),d>0?t.jsx(r.Chip,{label:`+${d}`,size:"small",variant:"outlined",onClick:p,sx:{borderRadius:999}}):null]}),t.jsx(r.IconButton,{className:"tags-action",size:"small","aria-label":i.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:"background.paper",opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:i.length?t.jsx(tt,{fontSize:"small"}):t.jsx(Ha,{fontSize:"small"})})]}),t.jsx(r.Popover,{open:x,anchorEl:s,onClose:m,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(r.Box,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(r.Typography,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:i.map(y=>t.jsx(r.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id))})]})})]})},Qt=u.createContext(null),ws=Qt.Provider,Ue=()=>u.useContext(Qt),Cs=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Is=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Ss=r.styled(r.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Ts=r.styled(r.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Es=({displayName:e,contactType:a,firstName:n,lastName:s,name:o,entityId:i,onEntityUpdated:c})=>{const d=Ue(),[p,m]=u.useState(!1),[x,y]=u.useState(!1),[h,f]=u.useState({firstName:n||"",lastName:s||"",name:o||""});u.useEffect(()=>{f({firstName:n||"",lastName:s||"",name:o||""})},[n,s,o]);const j=async()=>{if(!(!d||!i||!a||a==="unknown")){y(!0);try{let g={};a==="contact"?g={firstName:h.firstName,lastName:h.lastName}:a==="business"&&(g={name:h.name});const $=await d.updateEntity({entityType:a,entityId:i,body:g});$&&c&&c($),m(!1)}catch(g){console.error("Failed to update name",g)}finally{y(!1)}}},v=a==="contact"||a==="business";return p?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(r.TextField,{value:h.firstName,onChange:g=>f({...h,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:h.lastName,onChange:g=>f({...h,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:h.name,onChange:g=>f({...h,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:j,disabled:x,color:"primary",children:x?t.jsx(r.CircularProgress,{size:24}):t.jsx(we.Save,{})})]}):t.jsx(Is,{children:t.jsxs(Ss,{children:[t.jsx(Cs,{variant:"h6",title:e,children:e}),v&&t.jsx(Ts,{size:"small",onClick:()=>m(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(we.Edit,{fontSize:"small"})})]})})},As=({src:e,alt:a,onError:n,onUpload:s,onDelete:o,isUploading:i,isDeleting:c})=>{const d=re();return t.jsxs(r.Box,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(r.Avatar,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(r.Box,{className:"avatar-actions",sx:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",gap:.5,bgcolor:"rgba(0, 0, 0, 0.35)",opacity:0,pointerEvents:"none",transition:"opacity 0.2s ease-in-out"},children:[t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.upload"),onClick:s,disabled:!!i,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Ja,{fontSize:"small"})}),t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.delete"),onClick:o,disabled:!!c,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(_t,{fontSize:"small"})})]})]})},Ds=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Us=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:c,photoInputRef:d,isUploadingPhoto:p,onDeletePhoto:m,isDeletingPhoto:x,contactType:y,firstName:h,lastName:f,name:j,entityId:v,onEntityUpdated:g})=>{const $=`Avatar for ${a}`;return t.jsxs(Ds,{children:[t.jsx("input",{ref:d,type:"file",accept:"image/*",onChange:c,style:{display:"none"}}),t.jsx(As,{src:e,alt:$,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:p,onDelete:m,isDeleting:x}),t.jsx(Es,{displayName:a,contactType:y,firstName:h,lastName:f,name:j,entityId:v,onEntityUpdated:g}),t.jsx(js,{tags:s,onEditTags:o})]})},bt=20,ks=e=>{const{popperContainer:a,...n}=e;return t.jsx(Xa,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},$s=({value:e,options:a,onChange:n,onBack:s,onSave:o,isSaving:i,onCreateNew:c,isCreatingNew:d,popperContainer:p})=>{const m=re(),[x,y]=u.useState(""),[h,f]=u.useState(bt),j=u.useDeferredValue(x),v=u.useMemo(()=>a??[],[a]),g=u.useMemo(()=>{const A=String(j??"").trim().toLowerCase();return A?v.filter(B=>String(B?.name??"").toLowerCase().includes(A)):v},[v,j]),$=u.useMemo(()=>g.slice(0,h),[g,h]),E=u.useMemo(()=>{const A=new Map;for(const B of e??[])B?.id&&A.set(String(B.id),B);for(const B of $??[])B?.id&&(A.has(String(B.id))||A.set(String(B.id),B));return Array.from(A.values())},[e,$]),N=(A,B)=>{y(B??""),f(bt)},w=A=>{const B=A;B.scrollTop+B.clientHeight>=B.scrollHeight-24&&f(U=>U+bt)},z=()=>{const A=String(x??"").trim(),B=!A||i||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("global.noOptions"),t.jsx(Pe.LoadingButton,{onClick:()=>c(A),loading:d,disabled:B,variant:"contained",size:"small",sx:{marginTop:1.3},children:m("global.createNew")})]})};return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(r.IconButton,{size:"small",onClick:s,"aria-label":m("global.back"),disabled:i,children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:m("tags")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Pe.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Fe,{}),onClick:o,loading:i,disabled:i,children:m("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(A,B)=>n(B),options:E,filterOptions:A=>A,inputValue:x,onInputChange:N,getOptionLabel:A=>A?.name??"",isOptionEqualToValue:(A,B)=>String(A?.id)===String(B?.id),PopperComponent:A=>t.jsx(ks,{...A,popperContainer:p}),renderOption:(A,B)=>{const{key:U,...T}=A;return u.createElement("li",{...T,key:B?.id?String(B.id):String(U??B?.name??"")},B.name??"")},renderTags:(A,B)=>A.map((U,T)=>{const L=B({index:T}),{key:_,...P}=L;return t.jsx(r.Chip,{label:U.name??"",...P},U?.id?String(U.id):String(_??U?.name??T))}),size:"small",renderInput:A=>t.jsx(r.TextField,{...A,size:"small"}),ListboxProps:{onScroll:w,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(z,{}),sx:{width:"100%"}})]})};var Ns=Object.defineProperty,Fs=(e,a,n)=>a in e?Ns(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Zt=(e,a,n)=>Fs(e,typeof a!="symbol"?a+"":a,n);class ea extends Error{constructor(a,n,s){super(a),Zt(this,"status"),Zt(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function ve({url:e,method:a="GET",headers:n,body:s,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:o}),c=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${i.status}`;throw new ea(d,i.status,c)}return c}async function Bs({url:e,method:a="POST",headers:n,formData:s,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:s,signal:o}),c=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${i.status}`;throw new ea(d,i.status,c)}return c}function pe(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function xe(e,a){const n=encodeURIComponent(a);return{CONTACTS:pe(e,`/contacts/${n}`),MEDIA:pe(e,`/media/${n}`),SETTINGS:pe(e,`/settings/${n}`)}}async function Ms({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.CONTACTS,"/labels");return ve({url:o,signal:n})}async function ta({baseUrl:e,spaceId:a,name:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/labels");return ve({url:i,method:"POST",body:{name:n},signal:s})}async function Ps({baseUrl:e,spaceId:a,contactId:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ve({url:i,signal:s})}async function Ls({baseUrl:e,spaceId:a,forType:n,signal:s}){const o=xe(e,a),i=`${pe(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ve({url:i,signal:s})}async function Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:o,signal:i}){const c=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,d=xe(e,a),p=pe(d.CONTACTS,c);return ve({url:p,method:"PUT",body:o,signal:i})}async function _s({baseUrl:e,spaceId:a,pagination:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/Search");return ve({url:i,method:"POST",body:n,signal:s})}async function Os({baseUrl:e,spaceId:a,business:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/business");return ve({url:i,method:"POST",body:n,signal:s})}async function nt({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses");return ve({url:i,method:"DELETE",body:n,signal:s})}async function Rs({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses/check");return ve({url:i,method:"POST",body:n,signal:s})}async function zs({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses/set");return ve({url:i,method:"POST",body:n,signal:s})}async function Ws({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return ve({url:i,method:"PUT",body:n,signal:s})}async function aa({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.SETTINGS,"/user");return ve({url:o,signal:n})}async function Vs({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.SETTINGS,"/users");return ve({url:o,signal:n})}async function qs({baseUrl:e,spaceId:a,signal:n,userId:s}){const o=xe(e,a),i=pe(o.SETTINGS,`/usersInfor/${s}`);return ve({url:i,signal:n})}async function na({baseUrl:e,spaceId:a,contactId:n,file:s,signal:o}){const i=xe(e,a),c=new FormData;c.append("file",s,s.name);const d=pe(i.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Bs({url:d,formData:c,signal:o})}const sa=(e,a)=>({fetchLabels:({signal:n}={})=>Ms({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>ta({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>Ps({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>_s({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>Os({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>Ls({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:o,signal:i})=>Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:o,signal:i}),deleteAddress:({data:n,signal:s})=>nt({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>nt({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>Rs({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>zs({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>Ws({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>aa({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Vs({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>qs({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:o})=>na({baseUrl:e,spaceId:a,contactId:n,file:s,signal:o})}),ra=()=>!!window?.google?.maps?.places?.Autocomplete,Ys=(e=1e4)=>new Promise(a=>{if(ra()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(ra()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),Ks=()=>{const[e,a]=u.useState(!1),[n,s]=u.useState(!0),[o,i]=u.useState(null);return u.useEffect(()=>{(async()=>{try{const c=await Ys(1e4);a(c),c||i("Google Maps API failed to load")}catch{i("Error loading Google Maps API"),a(!1)}finally{s(!1)}})()},[]),{isLoaded:e,isLoading:n,error:o}},Gs=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=re(),o=u.useRef(null),i=u.useRef(null),c=u.useRef(e),d=u.useRef(a),{isLoaded:p,isLoading:m,error:x}=Ks(),y=u.useMemo(()=>m?s("searchLocationModal.loadingGoogleMaps"):x?s("searchLocationModal.googleMapsUnavailable"):p?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[p,m,x,n,s]);return u.useEffect(()=>{c.current=e},[e]),u.useEffect(()=>{d.current=a},[a]),u.useEffect(()=>{if(!p||!o.current||i.current)return;const h=window?.google;if(!h?.maps?.places?.Autocomplete){d.current?.(s("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let f=null;const j=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const $=g;$.style.zIndex="20000",$.style.position="fixed"})};f=new MutationObserver(g=>{for(const $ of g)for(const E of Array.from($.addedNodes)){if(E.nodeType!==Node.ELEMENT_NODE)continue;const N=E;N.classList?.contains("pac-container")&&(N.style.zIndex="20000",N.style.position="fixed")}}),f.observe(document.body,{childList:!0,subtree:!0}),j(),window.setTimeout(j,100),i.current=new h.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=i.current.addListener?.("place_changed",()=>{const g=i.current?.getPlace?.();if(!g?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let $="",E="",N="",w="",z="",A="";const B=g.address_components??[];for(const _ of B){const P=_?.types??[];if(P.includes("locality")||P.includes("administrative_area_level_2")){$=_.long_name;continue}if(P.includes("administrative_area_level_1")){E=_.long_name;continue}if(P.includes("country")){N=_.long_name;continue}if(P.includes("postal_code")){w=_.long_name;continue}if(P.includes("route")){z=_.long_name;continue}P.includes("street_number")&&(A=_.long_name)}const U=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,T=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,L={location:{lat:U,lng:T},address:g.formatted_address??"",city:$,state:E,country:N,postalCode:w,streetName:z,streetNumber:A,shortAddress:[z,A].filter(Boolean).join(" ")};c.current(L)});return()=>{f&&f.disconnect(),v?.remove&&v.remove(),i.current=null}},[p,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:y,disabled:m||!p||!!x,error:!!x})},Hs={street:"",city:"",state:"",zipcode:"",country:""},Js=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:o,onEntityUpdated:i})=>{const c=re(),[d,p]=u.useState(Hs),[m,x]=u.useState(""),[y,h]=u.useState(""),[f,j]=u.useState(!1),[v,g]=u.useState(!1),$=u.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),E=U=>{x(U.address??"");const T=String(U.shortAddress??"").trim()||[U.streetName,U.streetNumber].filter(Boolean).join(" ").trim();p({street:T,city:U.city??"",state:U.state??"",zipcode:U.postalCode??"",country:U.country??""}),h("")},N=U=>{h(String(U??""))},w=U=>T=>{const L=T.target.value;p(_=>({..._,[U]:L}))},z=async()=>{if(!f&&!(!e||!a)&&s){j(!0);try{const U=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address1:{street:String(d.street??""),city:String(d.city??""),state:String(d.state??""),zipcode:String(d.zipcode??""),country:String(d.country??"")}}});i?.(U),o()}finally{j(!1)}}},A=async()=>{if(!v&&!(!e||!a)&&s){g(!0);try{const U=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address2:{street:String(d.street??""),city:String(d.city??""),state:String(d.state??""),zipcode:String(d.zipcode??""),country:String(d.country??"")}}});i?.(U),o()}finally{g(!1)}}},B=!$||f||v;return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(r.IconButton,{size:"small",onClick:o,"aria-label":c("global.back"),children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"h6",children:c("searchLocationModal.searchAddress")})]}),t.jsxs(r.Stack,{spacing:3,children:[t.jsxs(r.Box,{sx:{position:"relative",zIndex:1400},children:[t.jsx(Gs,{onPlaceSelected:E,onError:N,placeholder:c("searchLocationModal.enterLocation")}),y?t.jsx(r.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:y}):null]}),t.jsx(r.TextField,{label:c("conversations.contactDetails.street"),value:d.street,onChange:w("street"),fullWidth:!0,size:"medium"}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:c("searchLocationModal.city"),value:d.city,onChange:w("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.state"),value:d.state,onChange:w("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:c("searchLocationModal.postalCode"),value:d.zipcode,onChange:w("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.country"),value:d.country,onChange:w("country"),fullWidth:!0,size:"medium"})]}),m?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:m}):null,t.jsxs(r.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(Pe.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(Fe,{}),onClick:z,loading:f,disabled:B,children:c("searchLocationModal.saveMainAddress")}),t.jsx(Pe.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(Fe,{}),onClick:A,loading:v,disabled:B,children:c("searchLocationModal.saveSecondaryAddress")})]})]})]})};function vt(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}function ia(e){return e?.isBusiness===!0?!1:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&typeof e.firstName=="string"&&typeof e.lastName=="string"&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&"origin"in e&&typeof e.isSpam=="boolean"&&(!e.businessId||typeof e.businessId=="string")}function Xs({open:e,baseUrl:a,spaceId:n,contactId:s}){const o=u.useRef(null),i=u.useMemo(()=>!a||!n?null:sa(a,n),[a,n]),[c,d]=u.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),p=u.useMemo(()=>!!(e&&i&&s),[e,i,s]);u.useEffect(()=>{e||(o.current?.abort(),d({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const m=u.useMemo(()=>!!(e&&i),[e,i]);u.useEffect(()=>{if(!m||!i)return;const h=new AbortController;return d(f=>({...f,labelsLoading:!0,labelsError:null})),i.fetchLabels({signal:h.signal}).then(f=>{d(j=>({...j,labels:f,labelsLoading:!1,labelsError:null}))}).catch(f=>{h.signal.aborted||d(j=>({...j,labelsLoading:!1,labelsError:f}))}),()=>{h.abort()}},[i,m]),u.useEffect(()=>{if(!p||!i)return;o.current?.abort();const h=new AbortController;return o.current=h,d(f=>({...f,isLoading:!0,error:null,contactData:null})),i.fetchContact({contactId:s,signal:h.signal}).then(f=>{d(j=>({...j,isLoading:!1,error:null,contactData:f}))}).catch(f=>{h.signal.aborted||d(j=>({...j,isLoading:!1,error:f}))}),()=>{h.abort()}},[i,p,s]);const x=u.useMemo(()=>!!(e&&i),[e,i]);u.useEffect(()=>{if(!x||!i)return;const h=new AbortController;return d(f=>({...f,userLoading:!0,userError:null})),i.fetchUserTrii({signal:h.signal}).then(f=>{d(j=>({...j,userLoading:!1,userError:null,userTrii:f}))}).catch(f=>{h.signal.aborted||d(j=>({...j,userLoading:!1,userError:f}))}),()=>{h.abort()}},[i,x]);const y=u.useMemo(()=>{const h=c.contactData,f=vt(h),j=ia(h);let v="unknown";f&&(v="business"),j&&(v="contact");let g="Unknown Contact";f?g=h.name:j&&(g=`${h.firstName} ${h.lastName}`.trim());const $=h?.tags??[];return{isBusiness:f,isContact:j,contactType:v,displayName:g,tags:$,labels:c.labels,contactFields:c.contactFields,userTrii:c.userTrii,userLoading:c.userLoading,userError:c.userError}},[c.contactData,c.labels,c.contactFields,c.userTrii,c.userLoading,c.userError]);return u.useEffect(()=>{if(!e||!i)return;const h=c.contactData,f=vt(h),j=ia(h),v=f?"business":j?"contact":null;if(!v)return;const g=new AbortController;return d($=>({...$,contactFieldsLoading:!0,contactFieldsError:null})),i.fetchContactFields({forType:v,signal:g.signal}).then($=>{d(E=>({...E,contactFields:$,contactFieldsLoading:!1,contactFieldsError:null}))}).catch($=>{g.signal.aborted||d(E=>({...E,contactFieldsLoading:!1,contactFieldsError:$}))}),()=>{g.abort()}},[i,e,c.contactData]),{state:c,selectors:y,actions:{setContactData:h=>d(f=>({...f,contactData:h??null})),clearError:()=>d(h=>({...h,error:null}))}}}const He=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:o,onEntityUpdated:i})=>{const[c,d]=u.useState(o??""),[p,m]=u.useState(null),[x,y]=u.useState(!1),[h,f]=u.useState(!1),j=u.useRef(null),v=u.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function g(T){return T.split("?sv=")[0]}function $(T){return T.split("&cacheId=")[0]}function E(T){let L=g(T);return!L||(L=$(L),!L)?"":L}const N=async()=>{if(!e||!a)return null;const T=await aa({baseUrl:e,spaceId:a});return m(T),T},w=async T=>{const L=(p??await N())?.storageAzureSAS,_=L?.expireAt,P=_?new Date(_):null;let V=L?.sas??"";if((!V||P&&P<new Date)&&(V=(await N())?.storageAzureSAS?.sas??""),!V)return T;const S=`${Date.now()}`;return`${T}${V}&cacheId=${S}`},z=async T=>{if(!T){d("");return}const L=g(T);if(!L)return;const _=await w(L);d(_)},A=async T=>{const L=T.target.files?.[0];if(L&&v){j.current&&(j.current.value=""),y(!0);try{const _=await na({baseUrl:e,spaceId:a,contactId:s,file:L}),P=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:_}});i?.(P),await z(_)}finally{y(!1)}}},B=()=>{j.current?.click()},U=async()=>{if(v&&!h){f(!0);try{await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),i?.({imageUrl:""}),d("")}finally{f(!1)}}};return u.useEffect(()=>{if(!o){d("");return}z(o)},[o]),{inputAtributes:{onChange:A,ref:j,type:"file",accept:"image/*"},action:{uploadImage:B,deleteImage:U},imageUrl:c,removeParams:E,isUploading:x,isDeleting:h}},ie=(e,a)=>{const[n,s]=u.useState(a||""),[o,i]=u.useState(!1),[c,d]=u.useState("");return u.useEffect(()=>(s(a||""),()=>{s(a||"")}),[a]),{actions:{onError:p=>{i(!0),d(p)},onSuccess:()=>{i(!1),d("")},resetValue:()=>{s(a||"")},changeValue:p=>{s(p)}},attributes:{error:o,helperText:c,type:e,value:n,onChange:p=>{s(p.target.value)}}}},oa=(e="")=>{const[a,n]=u.useState(e),s=c=>{n(c.target.value)},o=c=>{n(c)},i=()=>{n(e??"")};return u.useEffect(()=>{n(e)},[e]),{actions:{resetValue:i,changeValue:o},attributes:{value:a,onChange:s}}};let st;const Qs=new Uint8Array(16);function Zs(){if(!st&&(st=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!st))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return st(Qs)}const ye=[];for(let e=0;e<256;++e)ye.push((e+256).toString(16).slice(1));function er(e,a=0){return ye[e[a+0]]+ye[e[a+1]]+ye[e[a+2]]+ye[e[a+3]]+"-"+ye[e[a+4]]+ye[e[a+5]]+"-"+ye[e[a+6]]+ye[e[a+7]]+"-"+ye[e[a+8]]+ye[e[a+9]]+"-"+ye[e[a+10]]+ye[e[a+11]]+ye[e[a+12]]+ye[e[a+13]]+ye[e[a+14]]+ye[e[a+15]]}const tr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var la={randomUUID:tr};function ar(e,a,n){if(la.randomUUID&&!a&&!e)return la.randomUUID();e=e||{};const s=e.random||(e.rng||Zs)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,a){n=n||0;for(let o=0;o<16;++o)a[n+o]=s[o];return a}return er(s)}function nr(e){return{id:ar(),address:"",note:"",channelType:e,isSaved:!1}}var rt={createNewAddress:nr};const sr=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},rr=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var _e={getEditedField:sr,getAddressesWithUpdatedValues:rr};const ca=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[o,i]=u.useState(!1),[c,d]=u.useState(()=>a),[p,m]=u.useState(a?.ims_facebook||[]),[x,y]=u.useState(a?.ims_mercadolibre||[]),[h,f]=u.useState(a?.ims_webchat||[]),[j,v]=u.useState(a?.ims_instagram||[]),[g,$]=u.useState(a?.ims_whatsapp||[]),[E,N]=u.useState(a?.emails||[]),[w,z]=u.useState(a?.phones||[]),[A,B]=u.useState(a?.ims_rcs||[]),U=()=>{const I=rt.createNewAddress(Le.ChannelType.PHONE),C=[...w,I];z(C)},T=()=>{const I=rt.createNewAddress(Le.ChannelType.EMAIL),C=[...E,I];N(C)},L=()=>{const I=rt.createNewAddress(Le.ChannelType.WHATSAPP),C=[...g,I];$(C)},_=()=>{const I=rt.createNewAddress(Le.ChannelType.RCS),C=[...A,I];B(C)},P=I=>{const C=[...g,I];$(C),d(M=>({...M??{},ims_whatsapp:C}))},V=(I,C)=>{if(C){if(C.channelType===3){const M=E.map(D=>D.id===I?C:D);N(M),d(D=>({...D??{},emails:M}))}if(C.channelType===5){const M=w.map(D=>D.id===I?C:D);z(M),d(D=>({...D??{},phones:M}))}if(C.channelType===13){const M=g.map(D=>D.id===I?C:D);$(M),d(D=>({...D??{},ims_whatsapp:M}))}if(C.channelType===21){const M=A.map(D=>D.id===I?C:D);B(M),d(D=>({...D??{},ims_rcs:M}))}if(C.channelType===41){const M=x.map(D=>D.id===I?C:D);y(M),d(D=>({...D??{},ims_mercadolibre:M}))}}},S=async(I,C,M)=>{const D=I.target.value;if(M===3){const O=_e.getAddressesWithUpdatedValues(D,C,E);N(O)}else if(M===5){const O=_e.getAddressesWithUpdatedValues(D,C,w);z(O)}else if(M===13){const O=_e.getAddressesWithUpdatedValues(D,C,g);$(O)}else if(M===21){const O=_e.getAddressesWithUpdatedValues(D,C,A);B(O)}else if(M===41){const O=_e.getAddressesWithUpdatedValues(D,C,x);y(O)}},H=(I,C,M)=>{if(M===14){const D=p.map(O=>O.id===C?{...O,note:I.target.value}:O);m(D)}if(M===20){const D=h.map(O=>O.id===C?{...O,note:I.target.value}:O);f(D)}if(M===16){const D=j.map(O=>O.id===C?{...O,note:I.target.value}:O);v(D)}if(M===3){const D=E.map(O=>O.id===C?{...O,note:I.target.value}:O);N(D)}if(M===5){const D=w.map(O=>O.id===C?{...O,note:I.target.value}:O);z(D)}if(M===13){const D=g.map(O=>O.id===C?{...O,note:I.target.value}:O);$(D)}if(M===21){const D=A.map(O=>O.id===C?{...O,note:I.target.value}:O);B(D)}if(M===41){const D=x.map(O=>O.id===C?{...O,note:I.target.value}:O);y(D)}},K=async(I,C)=>{if(e&&(C===3||C===5||C===13||C===14||C===20||C===16||C===21||C===41)){i(I);const M={contactId:e,contactAddressId:I,type:C};switch(n?await n(s(M)):await s(M),i(!1),C){case 3:const D=E.filter(Y=>Y.id!==I);N(D),d(Y=>({...Y??{},emails:D}));break;case 5:const O=w.filter(Y=>Y.id!==I);z(O),d(Y=>({...Y??{},phones:O}));break;case 13:const W=g.filter(Y=>Y.id!==I);$(W),d(Y=>({...Y??{},ims_whatsapp:W}));break;case 21:const J=A.filter(Y=>Y.id!==I);B(J),d(Y=>({...Y??{},ims_rcs:J}));break;case 41:const se=x.filter(Y=>Y.id!==I);y(se),d(Y=>({...Y??{},ims_mercadolibre:se}));break;case 14:const me=p.filter(Y=>Y.id!==I);m(me),d(Y=>({...Y??{},ims_facebook:me}));break;case 20:const he=h.filter(Y=>Y.id!==I);f(he),d(Y=>({...Y??{},ims_webchat:he}));break;case 16:const fe=j.filter(Y=>Y.id!==I);v(fe),d(Y=>({...Y??{},ims_instagram:fe}));break}}};function F(){m(c?.ims_facebook||[]),y(c?.ims_mercadolibre||[]),f(c?.ims_webchat||[]),v(c?.ims_instagram||[]),$(c?.ims_whatsapp||[]),B(c?.ims_rcs||[]),N(c?.emails||[]),z(c?.phones||[])}return u.useEffect(()=>{d(a),a?.emails&&a?.phones&&(N(a.emails),z(a.phones)),$(a?.ims_whatsapp||[]),B(a?.ims_rcs||[]),m(a?.ims_facebook||[]),f(a?.ims_webchat||[]),v(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:A,imsMercadolibre:x,imsFacebooks:p,imsWebchats:h,imsInstagrams:j,emails:E,phoneNumbers:w},action:{handleAddressFieldChange:S,handleNoteFieldChange:H,handleDeleteAddress:K,addPhone:U,addEmail:T,addWhatsapp:L,addRCS:_,replaceAddress:V,addWhatsappVerified:P,resetToInitialContactInformation:F},state:{isDeletingAddress:o}}},da=({initialState:e=[]}={})=>{const[a,n]=u.useState(e);return{attributes:{value:a,onChange:(s,o)=>{const i=o.some(c=>!a.some(d=>c.id===d.id));(a.filter(c=>!o.some(d=>d.id===c.id)).length>0||i)&&n(o)}},actions:{addValue:s=>{n(o=>o.concat(s))},setValue:s=>{n(s)}}}},ir=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const o=u.useMemo(()=>async ae=>{!n||!s||await nt({baseUrl:n,spaceId:s,data:ae})},[n,s]),i=async ae=>ae,[c,d]=u.useState([]),p=ie("text",e?.name||""),m=He({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),x=oa(e?.owner),y=da({initialState:e?.tags??[]}),[h,f]=u.useState([]),{field:{imsFacebooks:j,imsMercadolibre:v,imsWebchats:g,imsInstagrams:$,imsWhatsapp:E,emails:N,phoneNumbers:w,imsRCS:z},action:{addPhone:A,addEmail:B,addWhatsapp:U,addRCS:T,addWhatsappVerified:L,replaceAddress:_,handleAddressFieldChange:P,handleNoteFieldChange:V,handleDeleteAddress:S,resetToInitialContactInformation:H},state:{isDeletingAddress:K}}=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),F=ie("text",e?.address1?.street||""),I=ie("text",e?.address2?.street||""),C=ie("text",e?.address1?.city||""),M=ie("text",e?.address2?.city||""),D=ie("text",e?.address1?.state||""),O=ie("text",e?.address2?.state||""),W=ie("text",e?.address1?.zipcode||""),J=ie("text",e?.address2?.zipcode||""),se=ie("text",e?.address1?.country||""),me=ie("text",e?.address2?.country||""),he=(ae,de,oe)=>de!==oe&&!(de===null&&oe==="")?{[ae]:oe}:{},fe=()=>{if(!e)return null;const ae={street:F.attributes.value,city:C.attributes.value,state:D.attributes.value,zipcode:W.attributes.value,country:se.attributes.value},de={street:I.attributes.value,city:M.attributes.value,state:O.attributes.value,zipcode:J.attributes.value,country:me.attributes.value};return{id:e.id,...he("owner",e.owner,x.attributes.value),...he("name",e.name,p.attributes.value),imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,tags:y.attributes.value,properties:c,members:h,phoneNumbers:w,emails:N,address1:ae,address2:de}};function Y(ae){if(!e)return;const de=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(R=>R.nameKey===ae)??e.properties.find(R=>de(R.nameKey)===de(ae));if(!oe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ae}`);return}const De=c.map(R=>R.nameKey===ae?{...R,value:oe.value}:R);d(De)}const Se=()=>e?a.map(ae=>{const de=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(R=>R.nameKey===ae.nameKey)??e.properties.find(R=>de(R.nameKey)===de(ae.nameKey));if(oe)return{...oe,nameKey:ae.nameKey,type:oe.type??ae.type,value:oe.value};const De=c.find(R=>R.nameKey===ae.nameKey);return{nameKey:ae.nameKey,type:ae.type,value:De?De.value:""}}):[];return u.useEffect(()=>{e&&a&&d(Se())},[e,a]),u.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:p,imsWhatsapp:E,imsRCS:z,contactImage:m,contactPropietary:x,imsMercadolibre:v,imsFacebooks:j,imsWebchats:g,imsInstagrams:$,emails:N,phoneNumbers:w,homeAddress:F,secondaryHomeAddress:I,city:C,secondaryCity:M,state:D,secondaryState:O,postalCode:W,secondaryPostalCode:J,country:se,secondaryCountry:me,customProperties:c,labelMultipleSelect:y},action:{setCustomProperties:d,addWhatsapp:U,addRCS:T,getEditedBusiness:fe,handleAddressFieldChange:P,handleNoteFieldChange:V,handleDeleteAddress:S,addPhone:A,addEmail:B,replaceAddress:_,addWhatsappVerified:L,resetToInitialContactInformation:H,resetCustomProperty:Y},state:{isDeletingAddress:K},selectedContacts:h,setSelectedContacts:f}},or=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const o=u.useMemo(()=>async R=>{!n||!s||await nt({baseUrl:n,spaceId:s,data:R})},[n,s]),i=async R=>R,{getEditedField:c}=_e,[d,p]=u.useState([]),m=ie("text",e?.firstName||""),x=ie("text",e?.lastName||""),y=He({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[h,f]=u.useState(e?.birthDate?Z(e.birthDate):null),j=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:v,imsMercadolibre:g,imsWebchats:$,imsInstagrams:E,imsWhatsapp:N,emails:w,phoneNumbers:z,imsRCS:A},action:{addPhone:B,addEmail:U,addWhatsapp:T,addRCS:L,addWhatsappVerified:_,replaceAddress:P,handleAddressFieldChange:V,handleNoteFieldChange:S,handleDeleteAddress:H,resetToInitialContactInformation:K},state:{isDeletingAddress:F}}=j,I=da({initialState:e?.tags}),C=oa(e?.owner),M=ie("text",e?.address1?.street),D=ie("text",e?.address2?.street),O=ie("text",e?.address1?.city),W=ie("text",e?.address2?.city),J=ie("text",e?.address1?.state),se=ie("text",e?.address2?.state),me=ie("text",e?.address1?.zipcode),he=ie("text",e?.address2?.zipcode),fe=ie("text",e?.address1?.country),Y=ie("text",e?.address2?.country),Se=()=>{if(!e)return null;const R=e,je=I.attributes.value.map(te=>({id:te.id,name:te.name})),Ce=z.map(te=>{const{id:dt,...Re}=te;return Re}),Ee=w.map(te=>{const{id:dt,...Re}=te;return Re});return{id:R.id,owner:C.attributes.value,firstName:m.attributes.value,lastName:x.attributes.value,address1:{...c("street",R.address1?.street,M.attributes.value),...c("city",R.address1?.street,O.attributes.value),...c("state",R.address1?.street,J.attributes.value),...c("zipcode",R.address1?.street,me.attributes.value),...c("country",R.address1?.street,fe.attributes.value)},address2:{...c("street",R.address2?.street,D.attributes.value),...c("city",R.address2?.street,W.attributes.value),...c("state",R.address2?.street,se.attributes.value),...c("zipcode",R.address2?.street,he.attributes.value),...c("country",R.address2?.street,Y.attributes.value)},emails:Ee,phones:Ce,tags:je,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:d,birthDate:h?.toDate()}};function ae(){e&&(!e.businessId||e.businessName)}function de(){f(e?.birthDate?Z(e.birthDate):null)}function oe(R){if(!e)return;const je=te=>te.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(te=>te.nameKey===R)??e.properties.find(te=>je(te.nameKey)===je(R));if(!Ce){console.error(`No se encontr\xF3 una propiedad con nameKey: ${R}`);return}const Ee=d.map(te=>te.nameKey===R?{...te,value:Ce.value}:te);p(Ee)}const De=()=>e?a.map(R=>{const je=te=>te.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(te=>te.nameKey===R.nameKey)??e.properties.find(te=>je(te.nameKey)===je(R.nameKey));if(Ce)return{...Ce,nameKey:R.nameKey,type:Ce.type??R.type,value:Ce.value};const Ee=d.find(te=>te.nameKey===R.nameKey);return{nameKey:R.nameKey,type:R.type,value:Ee?Ee.value:""}}):[];return u.useEffect(()=>{e&&a&&p(De())},[e,a]),u.useEffect(()=>{e?.tags&&I.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:h,imsWhatsapp:N,imsRCS:A,contactFirstname:m,contactLastname:x,contactImage:y,contactPropietary:C,imsMercadolibre:g,imsFacebooks:v,imsWebchats:$,imsInstagrams:E,emails:w,phoneNumbers:z,homeAddress:M,secondaryHomeAddress:D,city:O,secondaryCity:W,state:J,secondaryState:se,postalCode:me,secondaryPostalCode:he,country:fe,secondaryCountry:Y,customProperties:d,labelMultipleSelect:I},action:{setBirthDate:f,setCustomProperties:p,getEditedContact:Se,handleAddressFieldChange:V,handleNoteFieldChange:S,handleDeleteAddress:H,addPhone:B,addEmail:U,addWhatsapp:T,addRCS:L,replaceAddress:P,addWhatsappVerified:_,resetToInitialContactInformation:K,resetSelectedBusiness:ae,resetBirthDate:de,resetCustomProperty:oe},state:{isDeletingAddress:F}}},jt=u.createContext(null),lr=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:o})=>{const i=or({contact:a,customContactFields:n,baseUrl:s,spaceId:o});return t.jsx(jt.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},cr=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:o})=>{const i=ir({business:a,customContactFields:n,baseUrl:s,spaceId:o});return t.jsx(jt.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},dr=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(lr,{contact:n,customContactFields:s,baseUrl:o,spaceId:i,children:e}):t.jsx(cr,{business:n,customContactFields:s,baseUrl:o,spaceId:i,children:e}),Ae=()=>{const e=u.useContext(jt);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Oe=({userId:e,users:a,currentUser:n})=>{if(!e)return null;if(n?.uid&&n.uid===e)return n.display_name||n.email||null;const s=a.find(o=>o?.id===e);return s?.name?.trim()||s?.email||null},it=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const o=re();return t.jsxs(r.Box,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(r.Typography,{variant:"subtitle1",children:e}),n&&t.jsx(r.Button,{startIcon:t.jsx(Qa,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:o("global.searchLocation")})]}),t.jsx(r.Divider,{sx:{my:1.5}}),a]})},ua=({children:e,...a})=>t.jsx(r.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),ur=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ot.DatePicker,{value:e,onChange:o=>a(o),slotProps:{textField:{size:"small"}},format:s})})})},pr={view:"main",setView:()=>{}},pa=u.createContext(null),mr=pa.Provider,yr=()=>u.useContext(pa)||(console.warn("[useEditContactView] using noop, context value is missing"),pr),ma=()=>{},ya=u.createContext(ma),hr=({navigate:e,children:a})=>t.jsx(ya.Provider,{value:e,children:a}),fr=()=>u.useContext(ya)||(console.warn("[useNavigateContext] using noop, context value is falsy"),ma);function gr({value:e,displayValue:a,businessId:n}){const s=Ue(),o=fr(),[i,c]=u.useState(null),d=He({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[p,m]=u.useState(null),[x,y]=u.useState(!1);return t.jsxs(r.Box,{display:"flex",alignItems:"center",children:[t.jsx(r.Typography,{onClick:async h=>{const f=h.currentTarget;if(y(!0),!s){console.error("API is null");return}const j=await s.fetchContact({contactId:n});if(j&&vt(j)&&c(j),y(!1),!f){console.error("Target element is null");return}m(f)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:h=>h.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),i&&t.jsx(Ht,{contactData:i,open:!!p,anchorEl:p,onClose:()=>m(null),navigate:o,avatarImgUrl:d.imageUrl}),x&&t.jsx(r.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(r.CircularProgress,{size:20})})]})}const xr=e=>"email"in e,wt=e=>e.entityType==="contact"&&e.inputType==="birthday",br=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),ha=r.styled(r.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ke=e=>{const{title:a,value:n,isNotEditable:s,displayValue:o,baseUrl:i,spaceId:c,minWidth:d,onEntityUpdated:p}=e,m=re(),{setView:x}=yr(),y=e.inputType??"text",[h,f]=u.useState(!1),[j,v]=u.useState(!1),g=u.useRef(null),[$,E]=u.useState(!1),[N,w]=u.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);u.useEffect(()=>{const S=g.current;if(!S)return;const H=()=>{const K=S.scrollWidth>S.clientWidth;E(F=>F===K?F:K)};if(H(),typeof ResizeObserver<"u"){let K=0;const F=new ResizeObserver(()=>{if(typeof window>"u"){H();return}K&&window.cancelAnimationFrame(K),K=window.requestAnimationFrame(()=>{H()})});return F.observe(S),()=>{typeof window<"u"&&K&&window.cancelAnimationFrame(K),F.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",H),()=>{window.removeEventListener("resize",H)}},[a]),u.useEffect(()=>{e.entityType==="business"?w(n):w(typeof n=="string"?n:void 0)},[n,e.entityType]);const z=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){x("businessSelect");return}f(S=>!S)},A=S=>{w(S.target.value)},B=S=>{const H=S.target.value;w(H)},U=()=>{wt(e)&&e.contact.action.resetBirthDate(),f(!1)},T=async()=>{if(!e.constructUpdateObject){f(!1);return}if(e.entityType==="business"&&N===void 0){f(!1);return}v(!0);try{if(!i||!c)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let S=N===void 0?null:N;if(wt(e)){const I=Z(e.contact.field.birthDate);I.isValid()&&(S=I.toISOString())}const H=e.constructUpdateObject(S),K=e.entityId??H?.id;if(!K)throw new Error("Missing contactId for updateEntity");const F=await Te({baseUrl:i,spaceId:c,entityType:"contact",entityId:K,body:H});p?.(F)}else{const S=e.constructUpdateObject(N),H=e.entityId??S?.id;if(!H)throw new Error("Missing businessId for updateEntity");const K=await Te({baseUrl:i,spaceId:c,entityType:"business",entityId:H,body:S});p?.(K)}}finally{v(!1),f(!1)}},L=typeof N=="string"?N:"",_=N instanceof Date?N.toISOString():typeof N=="string"?N:"",P=d??(e.entityType==="contact"?"45%":"200px"),V=e.options??[];return t.jsxs(r.Box,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:S=>S.palette.mode==="dark"?"1e1e1e":S.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:P,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",children:[$?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:S=>S.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(r.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:S=>S.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:h?t.jsxs(t.Fragment,{children:[t.jsx(ha,{size:"small",onClick:T,children:j?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(ha,{size:"small",onClick:U,children:t.jsx(Rt,{})})]}):t.jsx(br,{className:"edit-icon",size:"small",onClick:z,children:t.jsx(tt,{})})]}),t.jsx(r.Box,{width:h?"100%":"50%",position:"relative",children:h&&y==="text"?t.jsx(r.TextField,{value:_,onChange:A,variant:"standard",size:"small",sx:{width:"100%"}}):h&&(y==="select"||y==="selectMembers")?t.jsxs(r.Select,{value:L,onChange:B,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:m("conversations.contactDetails.contactInfo.emptySelection")}):null,V.map((S,H)=>t.jsx(r.MenuItem,{value:S.id,children:e.entityType==="contact"?S.name?.trim()||(xr(S)?S.email:"")||"Sin nombre":S.name?.trim()||S.email||"Sin nombre"},H))]}):h&&wt(e)?t.jsx(ur,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!h&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(gr,{value:String(n??""),displayValue:String(o??""),businessId:e.businessId}):t.jsx(r.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:S=>S.palette.text.primary,children:o||typeof n=="string"&&n||"-"})})]})},Je=e=>{const{title:a,value:n,isNotEditable:s,options:o=[],displayValue:i,constructUpdateObject:c,businessId:d,baseUrl:p,spaceId:m,contactId:x,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(ke,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:"birthday",options:o,displayValue:i,constructUpdateObject:c,contact:e.contact,businessId:d,baseUrl:p,spaceId:m,dateFormat:e.dateFormat,onEntityUpdated:y});const h=e.inputType??"text";return t.jsx(ke,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:h,options:o,displayValue:i,constructUpdateObject:c,businessId:d,baseUrl:p,spaceId:m,onEntityUpdated:y})},vr=({nameKey:e,value:a,onChange:n,type:s})=>{const o=p=>{s===G.ContactField_type.NUMBER_ACCOUNTING||s===G.ContactField_type.NUMBER_DECIMAL||s===G.ContactField_type.NUMBER_CURRENCY||s===G.ContactField_type.CURRENCY?c(p):s===G.ContactField_type.NUMBER_INTEGER?d(p):(s===G.ContactField_type.LONGTEXT||s===G.ContactField_type.TEXT||s===G.ContactField_type.ADDRESS)&&i(p)},i=p=>{n(e,p.target.value)},c=p=>{const m=p.target.value.replace(/[^0-9.]/g,"");n(e,m)},d=p=>{const m=p.target.value;/^\d*$/.test(m)&&n(e,m)};return t.jsx(r.TextField,{size:"small",variant:"standard",value:a,onChange:o,inputProps:{pattern:"[0-9]*"},multiline:s===G.ContactField_type.LONGTEXT,rows:s===G.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},jr=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ot.DatePicker,{value:e?Z(e):null,onChange:o=>a(o),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},wr=({handleChange:e,value:a,options:n})=>{const s=re();return t.jsx(r.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(r.Select,{value:a,onChange:o=>e(o.target.value),size:"small",variant:"standard",children:[t.jsx(r.MenuItem,{value:"",children:s("global.noValue")}),n.map((o,i)=>t.jsx(r.MenuItem,{value:o,children:o},i))]})})},Cr=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Za.TimePicker,{value:e?Z(e):null,onChange:o=>a(o),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ir=({value:e,handleChange:a,userTimeFormat:n})=>{const s=re(),o=[Z().set("hour",0).set("minute",0),Z().set("hour",0).set("minute",0)],i=n==="24"?"HH:mm":"hh:mm";return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zt.MultiInputTimeRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:c=>a(c),format:i})})})},Sr=({value:e,handleChange:a,userDateFormat:n})=>{const s=re(),o=[Z(),Z()],i=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zt.MultiInputDateRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:c=>a(c),format:i})})})},Tr=r.styled(r.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),fa=r.styled(r.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Er=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),ga=r.styled(r.Typography)(({theme:e})=>({fontWeight:600,fontSize:"0.875rem",alignSelf:"center",color:e.palette.text.primary,letterSpacing:-.5,padding:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0})),Ar=r.styled(r.Typography)(({theme:e})=>({fontWeight:400,fontSize:"0.875rem",padding:"2.5px 14px 8.5px 0px",color:e.palette.text.primary,wordWrap:"break-word",maxHeight:"80px",overflow:"auto",whiteSpace:"break-spaces"})),xa=({property:e,entity:a,entityType:n,entityId:s,customContactFields:o,userTrii:i,baseUrl:c,spaceId:d,onEntityUpdated:p})=>{const{customProperties:m}=a.field,{setCustomProperties:x}=a.action,[y,h]=u.useState(!1),[f,j]=u.useState(!1),v=u.useRef(null),[g,$]=u.useState(!1),E=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),N=i?.regCon_timeFormat||"24",w=F=>F===G.ContactField_type.NUMBER_INTEGER||F===G.ContactField_type.NUMBER_DECIMAL||F===G.ContactField_type.NUMBER_CURRENCY||F===G.ContactField_type.NUMBER_ACCOUNTING||F===G.ContactField_type.CURRENCY,z=(F,I)=>F.toLowerCase()==="dni"?!0:w(I),A=(F,I,C)=>{if(C===""||C===null||C===void 0)return null;if(z(F,I)){const M=Number(C);return Number.isNaN(M)?C:M}return C},B=()=>h(F=>!F),U=()=>{h(!1),a.action.resetCustomProperty(e.nameKey)},T=async()=>{if(!c||!d||!s)return;j(!0);const F=m.find(W=>W.nameKey===e.nameKey)||e,{nameKey:I,value:C}=F,M=o.find(W=>W.nameKey===I)?.type??F.type;let D;if(M===G.ContactField_type.TIME){const W=Z(C);W.isValid()?D=W.format(N==="24"?"HH:mm":"hh:mm"):D=C}else if(M===G.ContactField_type.DATE){const W=Z(C);W.isValid()?D=W.toISOString():D=C}else D=A(I,M,C);const O={properties:[{nameKey:I,type:M,value:D}]};try{const W=await Te({baseUrl:c,spaceId:d,entityType:n,entityId:s,body:O}),J=m.map(se=>se.nameKey===I?{...se,type:M,value:D}:se);x(J),p?.(W)}finally{j(!1),h(!1)}},L=F=>o.find(I=>I.nameKey===F)?.name||F;u.useEffect(()=>{const F=v.current;if(!F)return;const I=()=>{const C=F.scrollWidth>F.clientWidth;$(M=>M===C?M:C)};if(I(),typeof ResizeObserver<"u"){let C=0;const M=new ResizeObserver(()=>{if(typeof window>"u"){I();return}C&&window.cancelAnimationFrame(C),C=window.requestAnimationFrame(()=>{I()})});return M.observe(F),()=>{typeof window<"u"&&C&&window.cancelAnimationFrame(C),M.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}},[o,e.nameKey]);const _=(F,I)=>{const C=e.type===G.ContactField_type.DATERANGE?Array.isArray(I)&&I[0]&&I[1]?`${Z(I[0]).toISOString()} - ${Z(I[1]).toISOString()}`:"":e.type===G.ContactField_type.DATE?Z(I).isValid()?Z(I).toISOString():"Invalid Date":e.type===G.ContactField_type.TIME?Z(I).isValid()?Z(I).toISOString():"Invalid Time":I,M=m.map(D=>D.nameKey===F?{...D,value:C}:D);x(M)},{type:P,nameKey:V,value:S}=e,H=F=>F==null?!1:typeof F=="string"?F.trim().length>0:!0,K=()=>P===G.ContactField_type.DATE?t.jsx(jr,{value:S?Z(S):null,handleChange:F=>_(V,F?.toDate()),dateFormat:E}):P===G.ContactField_type.TIME?t.jsx(Cr,{value:e?.valueDate?Z(e.valueDate):S?Z(S):null,handleChange:F=>_(V,F),userTimeFormat:N}):P===G.ContactField_type.DATERANGE?t.jsx(Sr,{value:S&&typeof S=="string"&&S.includes(" - ")?[Z(S.split(" - ")[0]),Z(S.split(" - ")[1])]:null,handleChange:F=>_(V,[F[0]?.toDate?.(),F[1]?.toDate?.()]),userDateFormat:E}):P===G.ContactField_type.TIMERANGE?t.jsx(Ir,{value:Array.isArray(S)&&S.length===2?[Z(S[0]),Z(S[1])]:null,handleChange:F=>_(V,[F[0]?.toDate?.(),F[1]?.toDate?.()]),userTimeFormat:N}):P===G.ContactField_type.OPTIONS?t.jsx(wr,{value:typeof S=="string"?S:"",handleChange:F=>_(V,F),options:o.find(F=>F.nameKey===V)?.typeOptions??[]}):t.jsx(vr,{type:P,nameKey:V,value:S,onChange:_});return t.jsxs(Er,{className:`fadein ${e.type===G.ContactField_type.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[g?t.jsx(r.Tooltip,{title:L(e.nameKey),arrow:!0,children:t.jsx(ga,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)})}):t.jsx(ga,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(fa,{size:"small",onClick:T,children:f?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(fa,{size:"small",onClick:U,children:t.jsx(Rt,{})})]}):t.jsx(Tr,{className:"edit-icon",size:"small",onClick:B,children:t.jsx(tt,{})})]}),t.jsx(r.Box,{width:y||e.type===G.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?K():t.jsx(Ar,{children:H(e?.value)?e.type===G.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const F=e.value.split(" - ");if(F.length===2){const[I,C]=F,M=Z(I),D=Z(C);return`${M.isValid()?M.format(E):"-"} - ${D.isValid()?D.format(E):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Z(e.value[0]).format(E)} - ${Z(e.value[1]).format(E)}`;return`${e.value}`})():e.type===G.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Z(e.value[0]).format(N==="24"?"HH:mm":"hh:mm")} - ${Z(e.value[1]).format(N==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===G.ContactField_type.TIME?(()=>{try{const F=e.valueDate||e.value;return`${Z(F).format(N==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===G.ContactField_type.DATE?(()=>{try{return`${Z(e.value).format(E)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Dr=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:o,spaceId:i,currentUser:c,onEntityUpdated:d}=e,p=re(),{entityType:m,editEntity:x}=Ae(),y=Ue();if(m!=="contact")return null;const[h,f]=u.useState([]),[j,v]=u.useState(null),[g,$]=u.useState(null),[E,N]=u.useState(null),w=x;u.useEffect(()=>{if(!y)return;const T=new AbortController;return y.fetchUsers({signal:T.signal}).then(L=>{T.signal.aborted||f(L??[])}).catch(()=>{T.signal.aborted||f([])}),()=>{T.abort()}},[y]),u.useEffect(()=>{const T=new AbortController,L=async _=>{if(!_||!y)return null;try{const P=await y.fetchUserTriiById({userId:_,signal:T.signal});return P?.display_name||P?.email||null}catch{return null}};return(async()=>{const _=Oe({userId:n.owner,users:h,currentUser:c})??(n.owner?await L(n.owner):null),P=Oe({userId:n.createdBy??void 0,users:h,currentUser:c})??(n.createdBy?await L(n.createdBy):null),V=Oe({userId:n.updatedBy??void 0,users:h,currentUser:c})??(n.updatedBy?await L(n.updatedBy):null);T.signal.aborted||(v(_),N(P),$(V))})(),()=>{T.abort()}},[y,n,h,c]);const z=(a||"YYYY/MM/DD").toUpperCase(),A=w.field.birthDate,B=A?.isValid()?A.format(z):null,U=T=>{const L=new Date;let _=L.getFullYear()-T.getFullYear();const P=L.getMonth()-T.getMonth();return(P<0||P===0&&L.getDate()<T.getDate())&&_--,_};return t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(Je,{title:p("conversations.contactDetails.contactOwner"),displayValue:j||"-",value:n.owner,inputType:"select",options:h,constructUpdateObject:T=>({owner:typeof T=="string"?T:""}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:d}),t.jsx(Je,{title:p("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:d}),t.jsx(Je,{title:p("conversations.contactDetails.createdBy"),value:E||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("global.birthdate"),inputType:"birthday",displayValue:A?`${B} (${U(A.toDate())})`:"-",value:A?A.toISOString():"",constructUpdateObject:T=>({birthDate:T}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:d}),w.field.customProperties.map(T=>t.jsx(xa,{property:T,entity:w,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},T.nameKey))]})})},Ct=({title:e,value:a,isNotEditable:n,inputType:s="text",options:o=[],displayValue:i,constructUpdateObject:c,baseUrl:d,spaceId:p,businessId:m,onEntityUpdated:x})=>t.jsx(ke,{entityType:"business",entityId:m,title:e,value:a,isNotEditable:n,inputType:s,options:o,displayValue:i,constructUpdateObject:c,baseUrl:d,spaceId:p,onEntityUpdated:x}),Ur=e=>{const a=re(),{entityData:n,customContactFields:s,baseUrl:o,spaceId:i,currentUser:c,onEntityUpdated:d}=e,{entityType:p,editEntity:m}=Ae(),x=Ue();if(p!=="business")return null;const[y,h]=u.useState([]),[f,j]=u.useState(null),[v,g]=u.useState(null),[$,E]=u.useState(null),N=m;return u.useEffect(()=>{if(!x)return;const w=new AbortController;return x.fetchUsers({signal:w.signal}).then(z=>{w.signal.aborted||h(z??[])}).catch(()=>{w.signal.aborted||h([])}),()=>{w.abort()}},[x]),u.useEffect(()=>{const w=new AbortController,z=async A=>{if(!A||!x)return null;try{const B=await x.fetchUserTriiById({userId:A,signal:w.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const A=Oe({userId:n.owner,users:y,currentUser:c})??(n.owner?await z(n.owner):null),B=Oe({userId:n.createdBy??void 0,users:y,currentUser:c})??(n.createdBy?await z(n.createdBy):null),U=Oe({userId:n.updatedBy??void 0,users:y,currentUser:c})??(n.updatedBy?await z(n.updatedBy):null);w.signal.aborted||(j(A),E(B),g(U))})(),()=>{w.abort()}},[x,n,y,c]),t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(Ct,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:f||"-",inputType:"select",options:y,constructUpdateObject:w=>({owner:typeof w=="string"?w:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:d}),t.jsx(Ct,{title:a("conversations.contactDetails.createdBy"),value:$||"-",isNotEditable:!0}),t.jsx(Ct,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),N.field.customProperties.map(w=>t.jsx(xa,{property:w,entity:N,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},w.nameKey))]})})},kr=e=>{const{entityType:a,entityData:n}=e;return u.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Dr,{...e,entityData:n,entityType:"contact"}):t.jsx(Ur,{...e,entityData:n,entityType:"business"})},$r=()=>{const[e,a]=u.useState(!1),[n,s]=u.useState("");return{isOpen:e,title:n,openModal:o=>{s(o),a(!0)},closeModal:()=>{a(!1),s("")}}},Nr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Fr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Br=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Mr=ue.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Pr=ue.styled(r.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),It=ue.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Lr=ue.styled(It)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),_r=ue.styled(It)(({})=>({fontSize:14,fontWeight:500})),Or=ue.styled(It)(({})=>({fontSize:14,fontWeight:500})),Rr=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=He({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Nr,{children:[t.jsx(Fr,{children:t.jsxs(Mr,{children:[t.jsx(r.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(_r,{children:e.address})}),t.jsx(r.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Or,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Lr,{children:e.note})})]})}),t.jsxs(Br,{children:[a!==""&&t.jsx(Pr,{src:n,alt:e.profileName,style:{cursor:"pointer"},children:e?.profileName?.charAt(0).toUpperCase()}),t.jsx(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(r.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(we.Star,{sx:{color:"#fcac34"}}):t.jsx(we.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},St=Wt.PhoneNumberUtil.getInstance(),zr=e=>{if(!e||!e.trim())return e;try{const a=St.parse(e,void 0);return St.isValidNumber(a)?St.format(a,Wt.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Wr=ue.styled(r.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Vr=ue.styled(en)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),qr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Yr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Kr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Gr=ue.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),ba=ue.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Hr=ue.styled(ba)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Jr=ue.styled(ba)(({})=>({fontSize:14,fontWeight:500})),Xr=({item:e})=>{const a=()=>{const s=e.address;if(!s)return;const o=new CustomEvent("call-contact-header",{detail:{phoneAddress:s}});window.dispatchEvent(o)},n=u.useMemo(()=>zr(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(qr,{children:[t.jsxs(Yr,{children:[t.jsx(Wr,{onClick:a,color:"primary",size:"small",children:t.jsx(Vr,{})}),t.jsxs(Gr,{children:[t.jsx(r.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Jr,{children:n})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Hr,{children:e.note})})]})]}),t.jsx(Kr,{children:t.jsx(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(r.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(we.Star,{sx:{color:"#fcac34"}}):t.jsx(we.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Qr=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",padding:e.spacing(1,0,2,0),width:"100%",gap:e.spacing(1),"&:hover .edit-icon":{opacity:1}})),Zr=r.styled(r.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),ei=r.styled(r.Box)(({})=>({display:"flex",alignItems:"center"})),ti=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),ai=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),ni=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:o})=>t.jsxs(Qr,{children:[t.jsxs(ei,{children:[t.jsx(Zr,{children:e}),t.jsx(ai,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(tt,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(ti,{children:a.map((i,c)=>n?t.jsx(Xr,{item:i},c):t.jsx(Rr,{item:i,owner:o},c))})]}),si=({title:e})=>t.jsx(r.Box,{children:t.jsx(r.Typography,{variant:"subtitle2",children:e})}),ri={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ot=({title:e,handleAdd:a})=>{const n=re();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(r.Box,{sx:ri.container,children:[t.jsx(r.Typography,{variant:"subtitle2",children:e}),t.jsx(r.Button,{onClick:a,size:"small",startIcon:t.jsx(tn,{}),variant:"text",color:"primary",children:n("global.add")})]})},ii={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Xe=({children:e})=>t.jsx(r.Box,{sx:ii.container,children:e}),va={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},oi=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:o})=>{const i=re(),[c,d]=u.useState(null),p=!!c,{channelType:m,address:x}=a,[y,h]=u.useState(!1),[f,j]=u.useState(null),[v,g]=u.useState(!1),$=U=>{d(U.currentTarget)},E=()=>{d(null)},N=()=>{g(!1)},w=()=>{e(),E()},z=async()=>{h(!0);try{if(!o)return;const U=await o(13);if(!U)return;j(U),g(!0)}catch(U){console.error("Error verifying WhatsApp account:",U)}finally{h(!1)}E()},A=async()=>{h(!0);try{if(!o)return;const U=await o(21);if(!U)return;j(U),g(!0)}catch(U){console.error("Error verifying RCS account:",U)}finally{h(!1)}E()},B=async()=>{await n(),g(!1)};return t.jsxs(r.Box,{children:[t.jsx(r.IconButton,{"aria-controls":p?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":p?"true":void 0,onClick:$,children:t.jsx(an,{})}),t.jsxs(r.Menu,{id:"basic-menu",anchorEl:c,open:p,onClose:E,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(r.MenuItem,{onClick:w,children:[t.jsx(r.ListItemIcon,{children:t.jsx(_t,{color:"error"})}),t.jsx(r.ListItemText,{children:i("global.delete")})]}),m===5&&t.jsxs(r.MenuItem,{onClick:z,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(nn,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),m===21&&t.jsxs(r.MenuItem,{onClick:A,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(sn,{})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:v,onClose:N,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(r.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:U=>U.palette.background.default},children:f?.success?t.jsxs(t.Fragment,{children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.wspAccountFound")," ",x]}),t.jsx(r.Typography,{id:"modal-modal-description",sx:{mt:2},children:i("optionsMenu.wantToLinkContact")}),t.jsxs(r.Box,{sx:{marginTop:"10px"},children:[t.jsx(r.Button,{onClick:B,color:"primary",children:i("optionsMenu.yesLink")}),t.jsx(r.Button,{onClick:N,color:"secondary",children:"No"})]})]}):t.jsxs(r.Box,{sx:{position:"relative"},children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.noWspAccountFound")," ",x]}),t.jsx(r.Button,{onClick:N,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Qe=e=>{const a=re(),n=Ue(),{editEntity:s,entityId:o}=Ae(),[i,c]=u.useState(!1),d=e.checked??!0,p=e.entityId??o,{note:m,channelType:x,id:y,address:h}=e.addressData,f=!e.addressData.hasOwnProperty("isSaved"),j=e.replaceAddress??s.action.replaceAddress,v=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),g=async w=>{if(!n||!p)return null;const z=await n.setContactAddress({data:{address:h,contactId:p,type:w}});return j(y,z),z},$=async()=>{if(!n||!p)return;const w=await n.updateContactAddress({data:{contactAddressId:y,contactId:p,note:m??""}});j(y,w)},E=async()=>{c(!0),f?(await $(),c(!1)):await g(x)&&c(!1)},N=async()=>{c(!0);const w=await g(13);w&&v&&v(w),w&&c(!1)};return t.jsxs(r.Box,{sx:{...va.container},children:[f&&t.jsx(r.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:w=>e.handleNoteFieldChange(w,y,x),value:m,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:va.noteTextField}),t.jsx(r.IconButton,{onClick:E,children:i?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{color:"primary"})}),t.jsx(oi,{onDelete:()=>e.handleDeleteAddress(y,x),addressData:e.addressData,handleLinkAccountSave:N,checked:d&&!i,onCheckContactAddress:async w=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:h,type:w}})}catch{return null}}})]})},li={container:{display:"flex",gap:"100px",alignItems:"center"}},Ze=({children:e})=>t.jsx(r.Box,{sx:li.container,children:e}),ci={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},et=({children:e})=>t.jsx(r.Box,{sx:{...ci.container},children:e}),di=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(ln,{size:20});case"available":return t.jsx(rn,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(on,{style:{height:27,width:27},color:"error"});default:return null}},ja=({status:e,text:a})=>t.jsxs(cn,{position:"end",children:[a?t.jsx(dn,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(di,{status:e})})]}),ui={code:{width:"60%",color:"gray"}},pi=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Xe,{children:t.jsxs(Ze,{children:[t.jsx(r.Typography,{sx:ui.code,variant:"body2",children:e.address}),t.jsx(Qe,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},mi=({IMSs:e,editEntity:a})=>t.jsx(et,{children:e?.map(n=>t.jsx(pi,{data:n,editEntity:a},n.id))}),lt=({editEntity:e,title:a,IMSs:n})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(si,{title:a}),t.jsx(mi,{IMSs:n,editEntity:e})]}),yi={addressField:{}},Tt=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:o,address:i}=e,c=re(),d=Ue(),[p,m]=u.useState("idle"),[x,y]=u.useState(i),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(i!==""&&i!==x){if(!d)return;m("loading"),y(i);const j={address:i,type:o};try{const v=await d.checkContactAddress({data:j}),{success:g,warnings:$}=v;n($),m(g?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(f)},[d,e,i,o,x,n]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:h,sx:yi.addressField,size:"small",label:o===Le.ChannelType.WHATSAPP||o===Le.ChannelType.RCS?c?c("global.number"):"Number":c?c("global.email"):"Email",value:i,onChange:f=>{a(f,s,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ja,{status:p})})}})})},hi={addressField:{}},fi=({data:e,onChange:a,setWarnings:n})=>{const s=Ue(),o=re(),{id:i,channelType:c,address:d}=e,[p,m]=u.useState("idle"),[x,y]=u.useState(d),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(d!==""&&d!==x){if(!s)return;m("loading"),y(d);const j={address:d,type:c};try{const{success:v,warnings:g}=await s.checkContactAddress({data:j});n(g),m(v?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(f)},[e]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:h,sx:hi.addressField,size:"small",label:o("global.number"),value:d,onChange:f=>{a(f,i,c)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ja,{status:p})})}})})},Et={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},gi=({text:e})=>t.jsx(r.Grid,{item:!0,children:t.jsx(r.Box,{sx:Et.secondaryContainer,children:t.jsx(pn,{icon:t.jsx(un,{sx:Et.icon}),sx:Et.chip,label:e,color:"error",variant:"outlined"})})}),ct=({warnings:e})=>{const a=re();return t.jsx(r.Box,{children:t.jsx(r.Grid,{container:!0,children:e?.map((n,s)=>t.jsx(gi,{text:a(`contactAddressError.${n}`)},s))})})},xi={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},bi=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]),[d,p]=u.useState(!0);return u.useEffect(()=>{p(i.length===0&&(e.address??"")!=="")},[i,e.address]),t.jsx(Xe,{children:t.jsxs(Ze,{children:[t.jsxs(r.Box,{sx:{...xi.numberCountryContainer,flexDirection:"column"},children:[t.jsx(fi,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange}),i.length>0&&t.jsx(ct,{warnings:i})]}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:d})]})})},vi=({phoneNumbers:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(bi,{data:a},a.id))}),ji=({phoneNumbers:e,handleAdd:a})=>{const n=re();return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:n("global.phones")}),t.jsx(vi,{phoneNumbers:e})]})},wa={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},wi=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:wa.numberCountryContainer,children:t.jsx(r.Box,{sx:wa.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Ci=({emails:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(wi,{data:a},a.id))}),Ii=({emails:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"Emails"}),t.jsx(Ci,{emails:e})]}),Ca={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Si=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:Ca.numberCountryContainer,children:t.jsx(r.Box,{sx:Ca.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Ti=({whatsapps:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(Si,{data:a},a.id))}),Ei=({whatsapps:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"WhatsApp"}),t.jsx(Ti,{whatsapps:e})]}),Ia={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ai=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:Ia.numberCountryContainer,children:t.jsx(r.Box,{sx:Ia.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Di=({RCSs:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(Ai,{data:a},a.id))}),Ui=({RCSs:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"RCS"}),t.jsx(Di,{RCSs:e})]}),ki=ue.styled(r.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.paper,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),$i=({open:e,onClose:a,title:n})=>{const s=re(),{editEntity:o}=Ae(),{emails:i,phoneNumbers:c,imsWhatsapp:d,imsRCS:p}=o.field,{addEmail:m,addPhone:x,addWhatsapp:y,resetToInitialContactInformation:h,addRCS:f}=o.action;function j(){a(),h()}return t.jsx(r.Modal,{open:e,onClose:a,children:t.jsxs(ki,{children:[(()=>{switch(n){case"Phones":return t.jsx(ji,{handleAdd:x,phoneNumbers:c});case"Emails":return t.jsx(Ii,{handleAdd:m,emails:i});case"Whatsapp":return t.jsx(Ei,{handleAdd:y,whatsapps:d});case"RCS":return t.jsx(Ui,{handleAdd:f,RCSs:p});case"Facebook":return t.jsx(lt,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(lt,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(lt,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(lt,{title:"Mercado Libre",IMSs:o.field.imsMercadolibre,editEntity:o});default:return t.jsx(r.Typography,{children:"No information available for this section."})}})(),t.jsx(r.Box,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(r.Button,{variant:"contained",color:"primary",onClick:j,children:s("global.close")})})]})})},Ni=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:o}=$r(),{editEntity:i}=Ae(),c=re(),d=i.field.phoneNumbers,p=i.field.emails,m=i.field.imsFacebooks,x=i.field.imsWhatsapp,y=i.field.imsMercadolibre,h=i.field.imsWebchats,f=i.field.imsInstagrams,j=i.field.imsRCS,v=[{key:"phones",title:c("conversations.contactDetails.phones"),items:d,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:p,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:m,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:x,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:j,modalTitle:"RCS",visible:j.length>0},{key:"mercado-libre",title:"Mercado libre",items:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:h,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:f,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(it,{title:c("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(g=>g.visible).map(g=>t.jsx(ni,{handleEdit:()=>s(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx($i,{open:a,onClose:o,title:n})]})},Fi=({entityType:e,entityData:a,baseUrl:n,spaceId:s,onEntityUpdated:o,onDirectionSearchClick:i})=>{const c={baseUrl:n,spaceId:s,entityId:String(a.id),onEntityUpdated:o},d=re(),p=({addressNumber:m,title:x})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(r.Typography,{variant:"body2",children:x}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-3",children:[t.jsx("div",{className:"col-span-2",children:t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.street"),value:a[m]?.street??"",...c,constructUpdateObject:y=>({[m]:{street:y}}),minWidth:"100%"})}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.city"),value:a[m]?.city??"",...c,constructUpdateObject:y=>({[m]:{city:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.state"),value:a[m]?.state??"",...c,constructUpdateObject:y=>({[m]:{state:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[m]?.zipcode??"",...c,constructUpdateObject:y=>({[m]:{zipcode:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.country"),value:a[m]?.country??"",...c,constructUpdateObject:y=>({[m]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(it,{title:d("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:i,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(p,{addressNumber:"address1",title:d("conversations.contactDetails.primaryAddress")}),t.jsx(p,{addressNumber:"address2",title:d("conversations.contactDetails.secondaryAddress")})]})})},Bi=({entity:e,setEntity:a})=>u.useCallback(n=>{if(!n||typeof n!="object")return;const s=n;if("id"in s){a(n);return}if(!e)return;const o={...e,...s};a(o)},[e,a]),Mi=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:o,labels:i,selectedTags:c,onTagsUpdated:d})=>{const[p,m]=u.useState("main"),[x,y]=u.useState([]),[h,f]=u.useState(!1),[j,v]=u.useState(!1),[g,$]=u.useState([]),[E,N]=u.useState(!1),w=u.useMemo(()=>{const U=i??[],T=g??[],L=new Map;for(const _ of U)_?.id&&L.set(String(_.id),_);for(const _ of T)_?.id&&L.set(String(_.id),_);return Array.from(L.values())},[i,g]),z=u.useCallback(()=>{m("main"),y([]),f(!1),v(!1),$([]),N(!1)},[]);u.useEffect(()=>{e||z()},[e,z]),u.useEffect(()=>{if(p!=="tags"){f(!1);return}if(h||!w.length)return;const U=new Set(c.map(L=>String(L.id))),T=w.filter(L=>U.has(String(L?.id)));y(T),f(!0)},[p,h,w,c]);const A=u.useCallback(async U=>{if(E||!a||!n)return;const T=String(U??"").trim();if(!T)return;const L=T.toLowerCase(),_=w.find(P=>String(P?.name??"").trim().toLowerCase()===L);if(_?.id){y(P=>{const V=P??[];return V.some(S=>String(S?.id)===String(_.id))?V:[...V,_]});return}N(!0);try{const P=await ta({baseUrl:a,spaceId:n,name:T});$(V=>{const S=V??[];return!P?.id||S.some(H=>String(H?.id)===String(P.id))?S:[...S,P]}),y(V=>{const S=V??[];return!P?.id||S.some(H=>String(H?.id)===String(P.id))?S:[...S,P]})}finally{N(!1)}},[E,a,n,w]),B=u.useCallback(async()=>{if(j||!a||!n||!s||o!=="contact"&&o!=="business")return;const U=x.filter(T=>T?.id&&T?.name).map(T=>({id:String(T.id),name:String(T.name)}));v(!0);try{await Te({baseUrl:a,spaceId:n,entityType:o,entityId:String(s.id),body:{tags:U}}),d(U),m("main")}finally{v(!1)}},[j,a,n,s,o,x,d]);return{view:p,setView:m,draftLabels:x,setDraftLabels:y,labelsOptions:w,isSaving:j,isCreatingLabel:E,handleCreateLabel:A,handleSaveTags:B}},Pi=({onClose:e})=>u.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Li={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},_i=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:o,onEntityUpdated:i,currentUser:c})=>{const d=re(),p=Ue(),m=u.useRef(null),x=u.useRef(null),[y,h]=u.useState(()=>s?.businessName??""),[f,j]=u.useState(!1),[v,g]=u.useState(!1),[$,E]=u.useState(!1),[N,w]=u.useState([]),[z,A]=u.useState(s??null),[B,U]=u.useState(1),[T,L]=u.useState(!1),[_,P]=u.useState(!1),V=u.useMemo(()=>{const W=c?.display_name,J=c?.email;return String(W||J||"").trim()},[c]);u.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null),x.current?.abort()},[]),u.useEffect(()=>{A(s??null),h(s?.businessName??"")},[s]);const S=()=>{x.current?.abort(),x.current=null,m.current&&(clearTimeout(m.current),m.current=null),j(!1),P(!1),U(1),L(!1),w([])},H=W=>W.filter(J=>!!J?.id).map(J=>({businessId:String(J.id),businessName:String(J.name??"")})),K=async({query:W,page:J})=>{if(!p)return;x.current?.abort();const se=new AbortController;x.current=se,g(!0);try{const me={...Li,currentPage:J,filter:[{value:W,column:"name",condition:""}]},he=await p.fetchBusinessTableData({pagination:me,signal:se.signal});if(se.signal.aborted)return;const fe=H(he?.contactos??[]);j(!0);const Y=he?.paginacion?.total??0;w(Se=>{const ae=J===1?fe:(()=>{const de=new Map;for(const oe of Se)de.set(oe.businessId,oe);for(const oe of fe)de.set(oe.businessId,oe);return Array.from(de.values())})();return Y&&ae.length>=Y&&P(!0),ae})}finally{g(!1),E(!1),L(!1)}},F=W=>{S(),W&&(m.current&&(clearTimeout(m.current),m.current=null),E(!0),m.current=setTimeout(()=>{K({query:W,page:1})},800))},I=W=>{const J=W.target;if(!(J.scrollHeight-J.scrollTop-J.clientHeight<1)||_||v||!y)return;const se=B+1;L(!0),U(se),K({query:y,page:se})},C=async()=>{if(!p||!V)return;const W=String(y??"").trim();if(W){g(!0);try{const J={name:W,owner:V,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},se=await p.createBusiness({business:J}),me={businessId:String(se.id??""),businessName:String(se.name??W)};w([me]),A(me),j(!0)}finally{g(!1)}}},M=async()=>{if(!e||!a||!n)return;const W=z?.businessId??"",J=await Te({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});i?.(J),o()},D=f&&N.length===0&&y?t.jsxs(r.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),t.jsx(Pe.LoadingButton,{size:"small",variant:"contained",onClick:C,loading:v,disabled:v||!V,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),O=!n||!e||!a;return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(r.IconButton,{size:"small",onClick:o,"aria-label":d("global.back"),children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:d("conversations.contactDetails.business")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Pe.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Fe,{}),onClick:M,loading:!1,disabled:O,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[v||$||T?t.jsx(r.Box,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(r.LinearProgress,{sx:{borderRadius:1}})}):null,t.jsx(r.Autocomplete,{fullWidth:!0,disablePortal:!0,value:z,onChange:(W,J)=>{A(J)},inputValue:y,onInputChange:(W,J,se)=>{h(J),se==="input"&&F(J)},options:N,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,J)=>W.businessId===J.businessId,noOptionsText:D,renderInput:W=>t.jsx(r.TextField,{...W,size:"small",label:d("conversations.contactDetails.business"),placeholder:d("global.noValue"),InputProps:{...W.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||$?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:I}})]})]})},Oi=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:o,sx:i,language:c="en",navigate:d,googleMapsApiKey:p,onEntityUpdated:m})=>{const{t:x,i18n:y}=We.useTranslation(),h=u.useRef(null);u.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!p){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const K=document.createElement("script");return K.src=`https://maps.googleapis.com/maps/api/js?key=${p}&libraries=places`,K.async=!0,K.defer=!0,document.body.appendChild(K),()=>{}},[p]),u.useEffect(()=>{c&&y.changeLanguage(c)},[c,y]);const f=K=>x(K),j=u.useMemo(()=>!n||!s?null:sa(n,s),[n,s]),{state:v,selectors:g,actions:$}=Xs({open:e,baseUrl:n,spaceId:s,contactId:o}),E=Bi({entity:v.contactData,setEntity:K=>{$.setContactData(K??void 0),K&&m&&m(K)}}),{view:N,setView:w,draftLabels:z,setDraftLabels:A,labelsOptions:B,isSaving:U,isCreatingLabel:T,handleCreateLabel:L,handleSaveTags:_}=Mi({open:e,baseUrl:n,spaceId:s,contactData:v.contactData,contactType:g.contactType,labels:g.labels,selectedTags:g.tags,onTagsUpdated:K=>{if(!v.contactData)return;const F={...v.contactData,tags:K};$.setContactData(F),m&&m(F)}}),P=He({baseUrl:n,spaceId:s,entityType:g.contactType==="business"||g.contactType==="contact"?g.contactType:void 0,entityId:v.contactData?String(v.contactData.id):void 0,initialImageUrl:v.contactData?.imageUrl,onEntityUpdated:E}),V=Pi({onClose:a}),S={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},H=Array.isArray(i)?[S,...i]:i?[S,i]:S;return t.jsx(ws,{value:j,children:t.jsx(vs,{t:f,children:t.jsx(hr,{navigate:d,children:t.jsx(r.Modal,{open:e,onClose:V,closeAfterTransition:!0,slots:{backdrop:r.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(r.Fade,{in:e,timeout:200,children:t.jsxs(r.Box,{sx:H,ref:h,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:V,sx:{position:"absolute",right:5,top:5,color:K=>K.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ga,{sx:{fontSize:20}})}),v.isLoading&&!v.contactData?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(r.CircularProgress,{})}):v.error?t.jsx(r.Box,{sx:{mb:2},children:"Failed to load contact"}):v.contactData?t.jsx(mr,{value:{view:N,setView:w},children:t.jsx(dr,{entityType:g.contactType==="business"?"business":"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:N==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Us,{imgUrl:P.imageUrl,displayName:g.displayName,tags:g.tags,onEditTags:()=>{w("tags")},onUploadPhoto:P.action.uploadImage,onPhotoFileChange:P.inputAtributes.onChange,photoInputRef:P.inputAtributes.ref,isUploadingPhoto:P.isUploading,onDeletePhoto:P.action.deleteImage,isDeletingPhoto:P.isDeleting,contactType:g.contactType,entityId:v.contactData?.id,firstName:g.isContact?v.contactData.firstName:void 0,lastName:g.isContact?v.contactData.lastName:void 0,name:g.isBusiness?v.contactData.name:void 0,onEntityUpdated:E}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx(kr,{dateFormat:g.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:E,currentUser:g.userTrii}),t.jsx(Fi,{entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,baseUrl:n,spaceId:s,onEntityUpdated:E,onDirectionSearchClick:()=>w("searchLocation")}),t.jsx(Ni,{ownerData:v.contactData})]})]})}),t.jsx(r.Fade,{in:N==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Js,{baseUrl:n,spaceId:s,entityType:g.contactType==="business"?"business":"contact",entityId:String(v.contactData.id),onBack:()=>w("main"),onEntityUpdated:E})})}),t.jsx(r.Fade,{in:N==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx($s,{value:z,options:B,onChange:A,onBack:()=>w("main"),onSave:_,isSaving:U,onCreateNew:L,isCreatingNew:T,popperContainer:h.current})})}),t.jsx(r.Fade,{in:N==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(_i,{baseUrl:n,spaceId:s,contactId:String(v.contactData.id),initialBusiness:g.isContact&&v.contactData?.businessId?{businessId:String(v.contactData.businessId),businessName:String(v.contactData.businessName??"")}:null,onBack:()=>w("main"),onEntityUpdated:E,currentUser:g.userTrii})})})]})})}):null]})})})})})})},Ri=e=>t.jsx(We.I18nextProvider,{i18n:at,children:t.jsx(Oi,{...e})});exports.ContactInfoPopup=Ht,exports.EditContactModal=Ri,exports.i18n=at;
16
+ <%s key={someKey} {...props} />`,ft,$e,Wa,$e),Pt[$e+ft]=!0}}return l===s?La(ce):Pa(ce),ce}}function _a(l,b,k){return Lt(l,b,k,!0)}function Oa(l,b,k){return Lt(l,b,k,!1)}var Ra=Oa,za=_a;Ge.Fragment=s,Ge.jsx=Ra,Ge.jsxs=za})()),Ge}process.env.NODE_ENV==="production"?xt.exports=yn():xt.exports=hn();var t=xt.exports;mn(t);const fn=r.styled(r.Box)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),Yt=r.styled(r.IconButton)({padding:4}),gn=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),xn=r.styled(r.Avatar)({width:60,height:60,marginBottom:8}),bn=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),vn=r.styled(r.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),jn=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:o=!1,onError:i,onClose:c,isBusiness:d=!1})=>{const p=u.useCallback(f=>j=>{try{if(j.preventDefault(),j.stopPropagation(),!f)throw new Error("Navigation URL is required");j.ctrlKey||j.metaKey||j.button===1?window.open(f,"_blank","noopener,noreferrer"):s(f)}catch(v){i?.(v instanceof Error?v:new Error("Navigation failed"))}},[s,i]),m=p(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),x=p("/a/conversations/conversations"),y=a||"Unknown Contact",h=`Avatar for ${y}`;return t.jsxs(gn,{children:[t.jsxs(fn,{children:[t.jsx(Yt,{color:"info",size:"small",onClick:f=>{m(f),c()},onMouseDown:f=>{f.button===1&&(m(f),c())},disabled:!n,"aria-label":"View contact details",children:t.jsx(qa,{fontSize:"small"})}),t.jsx(Yt,{color:"info",size:"small",onClick:f=>{x(f),c()},onMouseDown:f=>{f.button===1&&(x(f),c())},"aria-label":"Go to conversations",children:t.jsx(Ya,{fontSize:"small"})})]}),o?t.jsx(vn,{children:t.jsx(r.CircularProgress,{size:24})}):t.jsx(xn,{src:e,alt:h,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(bn,{variant:"h6",title:y,children:y})]})},wn=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Cn=r.styled(r.Box)({width:"100%",borderBottom:"1px solid lightgray"}),In=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Sn=r.styled(r.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Tn=r.styled(r.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),En=r.styled(r.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),An=r.styled(r.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Dn=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const o=i=>t.jsx(In,{children:t.jsxs(Tn,{children:[t.jsx(Sn,{children:e}),t.jsxs(En,{children:[t.jsx(r.Tooltip,{title:i.address,arrow:!0,placement:"top",children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"semi-bold",fontSize:14,color:"text.primary",sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",cursor:"default"},children:i.address})}),i.profileName&&t.jsx(r.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:i.profileName})]}),i.note&&t.jsx(An,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(wn,{children:[s&&t.jsx(Cn,{children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},Un=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),kn=r.styled(r.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),$n=r.styled(r.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Nn=r.styled(r.Typography)({fontSize:14}),Fn=r.styled(we.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Bn=({properties:e,title:a})=>{const n=o=>o.replace(/-/g," "),s=(o,i)=>{if(!o||Array.isArray(o)&&o.length===0)return"";if(Array.isArray(o))return o.map(c=>s(c,i)).join(", ");if(typeof o=="string"){const c=Ne(o,Ne.ISO_8601).isValid(),d=p=>Ne(o).format(p);switch(i){case G.ContactField_type.TIME:return c?d("HH:mm"):o;case G.ContactField_type.DATE:return c?d("DD/MM/YYYY"):o;case G.ContactField_type.TIMERANGE:case G.ContactField_type.DATERANGE:if(c)return i===G.ContactField_type.TIMERANGE?d("HH:mm"):d("DD/MM/YYYY");const p=o.split(" ");if(p.length===2){const[m,x]=p,y=i===G.ContactField_type.TIMERANGE?Ne(m).format("HH:mm"):Ne(m).format("DD/MM/YYYY"),h=i===G.ContactField_type.TIMERANGE?Ne(x).format("HH:mm"):Ne(x).format("DD/MM/YYYY");return`${y} - ${h}`}return o;default:return o}}return o};return t.jsxs(Un,{children:[t.jsx(kn,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value.length>0&&t.jsxs($n,{children:[t.jsx(Fn,{}),t.jsxs(Nn,{children:[n(o.nameKey),":"," ",s(o.value,o.type)]})]},i))]})},Mn=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Pn=r.styled(r.Box)({marginBottom:16}),Ln=r.styled(r.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),_n=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Mn,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Pn,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Ln,{label:n.name,color:"primary",size:"small"},n.id))})]});function Kt(e){return e?.isBusiness===!0?!1:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&typeof e.firstName=="string"&&typeof e.lastName=="string"&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&"origin"in e&&typeof e.isSpam=="boolean"&&(!e.businessId||typeof e.businessId=="string")}const On=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Rn=({contactData:e,title:a})=>!e||!Kt(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(On,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(r.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Gt(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}const zn=({name:e,memberId:a,navigate:n})=>{const s=`/a/conversations/conversations?contactId=${a}`,o=i=>{i.preventDefault(),i.stopPropagation(),i.ctrlKey||i.metaKey||i.button===1?window.open(s,"_blank","noopener,noreferrer"):n(s)};return t.jsx(r.Typography,{variant:"body2",color:"text.secondary",role:"link",tabIndex:0,sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:o,onMouseDown:i=>{i.button===1&&o(i)},onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&o(i)},children:e})},Wn=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Vn=({contactData:e,title:a,navigate:n})=>!e||!Gt(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Wn,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(zn,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var qn="Labels",Yn="Phone",Kn="Business",Gn="Business Members",Hn="Properties",Jn="View",Xn="Tags",Qn={add:"Add",note:"Note",number:"Number",email:"Email",phones:"Phones",close:"Close",back:"Back",createNew:"Create new",delete:"Delete",cancel:"Cancel",save:"Save",noOptions:"No options",noValue:"No value",birthdate:"Birthdate",country:"Country",searchLocation:"Search location"},Zn={searchAddress:"Search address",enterLocation:"Enter a location",city:"City",state:"State",postalCode:"Postal code",country:"Country",saveMainAddress:"Save main address",saveSecondaryAddress:"Save secondary address",loadingGoogleMaps:"Loading Google Maps...",googleMapsUnavailable:"Google Maps unavailable",googleMapsNotLoaded:"Google Maps not loaded",selectedPlaceNoLocation:"Selected place has no location data"},es={upload:"Upload photo",delete:"Delete photo"},ts={from:"From",to:"To"},as={contactDetails:{contactOwner:"Contact Owner",business:"Business",createdBy:"Created By",modifiedBy:"Modified By",street:"Street",city:"City",state:"State",postcode:"Postcode",country:"Country",addressInformation:"Address Information",primaryAddress:"Primary Address",secondaryAddress:"Secondary Address",contactInformation:"Contact Information",phones:"Phones",contactInfo:{emptySelection:"No selection"}},businessDetails:{businessOwner:"Business Owner"}},ns={labels:qn,phone:Yn,business:Kn,businessMembers:Gn,properties:Hn,view:Jn,tags:Xn,global:Qn,searchLocationModal:Zn,avatar:es,contactEdit:ts,conversations:as},ss="Etiquetas",rs="Tel\xE9fono",is="Empresa",os="Miembros de la empresa",ls="Propiedades",cs="Ver",ds="Etiquetas",us={add:"Agregar",note:"Nota",number:"N\xFAmero",email:"Correo Electr\xF3nico",close:"Cerrar",phones:"Tel\xE9fonos",delete:"Eliminar",cancel:"Cancelar",createNew:"Crear nuevo",back:"Atr\xE1s",save:"Guardar",noOptions:"Sin opciones",noValue:"Sin valor",birthdate:"Fecha de nacimiento",country:"Pa\xEDs",searchLocation:"Buscar ubicaci\xF3n"},ps={searchAddress:"Buscar direcci\xF3n",enterLocation:"Ingres\xE1 una ubicaci\xF3n",city:"Ciudad",state:"Estado",postalCode:"C\xF3digo postal",country:"Pa\xEDs",saveMainAddress:"Guardar como direcci\xF3n principal",saveSecondaryAddress:"Guardar como direcci\xF3n secundaria",loadingGoogleMaps:"Cargando Google Maps...",googleMapsUnavailable:"Google Maps no disponible",googleMapsNotLoaded:"Google Maps no est\xE1 cargado",selectedPlaceNoLocation:"La ubicaci\xF3n seleccionada no tiene coordenadas"},ms={upload:"Subir foto",delete:"Eliminar foto"},ys={from:"Desde",to:"Hasta"},hs={contactDetails:{contactOwner:"Propietario del contacto",business:"Empresa",createdBy:"Creado por",modifiedBy:"Modificado por",street:"Calle",city:"Ciudad",state:"Estado",postcode:"C\xF3digo postal",country:"Pa\xEDs",addressInformation:"Informaci\xF3n de direcci\xF3n",primaryAddress:"Direcci\xF3n principal",secondaryAddress:"Direcci\xF3n secundaria",contactInformation:"Informaci\xF3n de contacto",phones:"Tel\xE9fonos",contactInfo:{emptySelection:"Sin selecci\xF3n"}},businessDetails:{businessOwner:"Propietario de la empresa"}},fs={labels:ss,phone:rs,business:is,businessMembers:os,properties:ls,view:cs,tags:ds,global:us,searchLocationModal:ps,avatar:ms,contactEdit:ys,conversations:hs};const gs={en:{translation:ns},es:{translation:fs}},at=Ka.createInstance();at.use(We.initReactI18next).init({resources:gs,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const xs=r.styled(r.Box)(({theme:e})=>({backgroundColor:e.palette.background.panel,boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.1)",borderRadius:"8px",width:300,maxHeight:"calc(100vh - 500px)",overflowY:"auto",transition:"opacity 0.3s ease, transform 0.3s ease",padding:"8px",zIndex:1300,"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{background:"#E0E0E0",borderRadius:10},"&::-webkit-scrollbar-thumb":{background:"#9E9E9E",borderRadius:10,transition:"background 0.3s"},"&::-webkit-scrollbar-thumb:hover":{background:"#616161"}})),bs=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:o,navigate:i,language:c="en"})=>{const{t:d,i18n:p}=We.useTranslation();u.useEffect(()=>{c&&p.changeLanguage(c)},[c,p]);const m=d,x=Gt(s),y=Kt(s),h=[{icon:t.jsx(we.PhoneEnabled,{fontSize:"small"}),title:m("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(we.Email,{fontSize:"small"}),title:m("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(we.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(we.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(we.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(we.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return u.useEffect(()=>{const f=j=>{j.key==="Escape"&&n()};return e&&window.addEventListener("keydown",f),()=>{window.removeEventListener("keydown",f)}},[e,n]),t.jsx(r.Popper,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(r.ClickAwayListener,{onClickAway:n,children:t.jsx(xs,{children:t.jsxs(r.CardContent,{children:[t.jsx(jn,{navigate:i,contactId:s?.id,imgUrl:o,name:s?.name,onClose:n,isBusiness:x}),t.jsx(_n,{contactData:s,title:m("labels")}),y&&t.jsx(Rn,{contactData:s,title:m("business")}),x&&t.jsx(Vn,{contactData:s,title:m("businessMembers"),navigate:i}),h.map((f,j)=>t.jsx(Dn,{icon:f.icon,title:f.title,contactList:f.contactList,showTitle:f.showTitle},j)),t.jsx(Bn,{properties:s?.properties,title:m("properties")})]})})})})},Ht=e=>t.jsx(We.I18nextProvider,{i18n:at,children:t.jsx(bs,{...e})}),Jt=e=>e,Xt=u.createContext(Jt),vs=({t:e,children:a})=>t.jsx(Xt.Provider,{value:e,children:a}),re=()=>{const e=u.useContext(Xt);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Jt)},js=({tags:e,onEditTags:a})=>{const n=re(),[s,o]=u.useState(null),i=u.useMemo(()=>e??[],[e]),c=i.slice(0,4),d=Math.max(i.length-c.length,0),p=y=>{o(y.currentTarget)},m=()=>{o(null)},x=!!s;return t.jsxs(r.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(r.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[c.map(y=>t.jsx(r.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id)),d>0?t.jsx(r.Chip,{label:`+${d}`,size:"small",variant:"outlined",onClick:p,sx:{borderRadius:999}}):null]}),t.jsx(r.IconButton,{className:"tags-action",size:"small","aria-label":i.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:"background.paper",opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:i.length?t.jsx(tt,{fontSize:"small"}):t.jsx(Ha,{fontSize:"small"})})]}),t.jsx(r.Popover,{open:x,anchorEl:s,onClose:m,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(r.Box,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(r.Typography,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:i.map(y=>t.jsx(r.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id))})]})})]})},Qt=u.createContext(null),ws=Qt.Provider,Ue=()=>u.useContext(Qt),Cs=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Is=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Ss=r.styled(r.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Ts=r.styled(r.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Es=({displayName:e,contactType:a,firstName:n,lastName:s,name:o,entityId:i,onEntityUpdated:c})=>{const d=Ue(),[p,m]=u.useState(!1),[x,y]=u.useState(!1),[h,f]=u.useState({firstName:n||"",lastName:s||"",name:o||""});u.useEffect(()=>{f({firstName:n||"",lastName:s||"",name:o||""})},[n,s,o]);const j=async()=>{if(!(!d||!i||!a||a==="unknown")){y(!0);try{let g={};a==="contact"?g={firstName:h.firstName,lastName:h.lastName}:a==="business"&&(g={name:h.name});const $=await d.updateEntity({entityType:a,entityId:i,body:g});$&&c&&c($),m(!1)}catch(g){console.error("Failed to update name",g)}finally{y(!1)}}},v=a==="contact"||a==="business";return p?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(r.TextField,{value:h.firstName,onChange:g=>f({...h,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:h.lastName,onChange:g=>f({...h,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:h.name,onChange:g=>f({...h,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:j,disabled:x,color:"primary",children:x?t.jsx(r.CircularProgress,{size:24}):t.jsx(we.Save,{})})]}):t.jsx(Is,{children:t.jsxs(Ss,{children:[t.jsx(Cs,{variant:"h6",title:e,children:e}),v&&t.jsx(Ts,{size:"small",onClick:()=>m(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(we.Edit,{fontSize:"small"})})]})})},As=({src:e,alt:a,onError:n,onUpload:s,onDelete:o,isUploading:i,isDeleting:c})=>{const d=re();return t.jsxs(r.Box,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(r.Avatar,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(r.Box,{className:"avatar-actions",sx:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",gap:.5,bgcolor:"rgba(0, 0, 0, 0.35)",opacity:0,pointerEvents:"none",transition:"opacity 0.2s ease-in-out"},children:[t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.upload"),onClick:s,disabled:!!i,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Ja,{fontSize:"small"})}),t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.delete"),onClick:o,disabled:!!c,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(_t,{fontSize:"small"})})]})]})},Ds=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Us=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:c,photoInputRef:d,isUploadingPhoto:p,onDeletePhoto:m,isDeletingPhoto:x,contactType:y,firstName:h,lastName:f,name:j,entityId:v,onEntityUpdated:g})=>{const $=`Avatar for ${a}`;return t.jsxs(Ds,{children:[t.jsx("input",{ref:d,type:"file",accept:"image/*",onChange:c,style:{display:"none"}}),t.jsx(As,{src:e,alt:$,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:p,onDelete:m,isDeleting:x}),t.jsx(Es,{displayName:a,contactType:y,firstName:h,lastName:f,name:j,entityId:v,onEntityUpdated:g}),t.jsx(js,{tags:s,onEditTags:o})]})},bt=20,ks=e=>{const{popperContainer:a,...n}=e;return t.jsx(Xa,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},$s=({value:e,options:a,onChange:n,onBack:s,onSave:o,isSaving:i,onCreateNew:c,isCreatingNew:d,popperContainer:p})=>{const m=re(),[x,y]=u.useState(""),[h,f]=u.useState(bt),j=u.useDeferredValue(x),v=u.useMemo(()=>a??[],[a]),g=u.useMemo(()=>{const A=String(j??"").trim().toLowerCase();return A?v.filter(B=>String(B?.name??"").toLowerCase().includes(A)):v},[v,j]),$=u.useMemo(()=>g.slice(0,h),[g,h]),E=u.useMemo(()=>{const A=new Map;for(const B of e??[])B?.id&&A.set(String(B.id),B);for(const B of $??[])B?.id&&(A.has(String(B.id))||A.set(String(B.id),B));return Array.from(A.values())},[e,$]),N=(A,B)=>{y(B??""),f(bt)},w=A=>{const B=A;B.scrollTop+B.clientHeight>=B.scrollHeight-24&&f(U=>U+bt)},z=()=>{const A=String(x??"").trim(),B=!A||i||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("global.noOptions"),t.jsx(Pe.LoadingButton,{onClick:()=>c(A),loading:d,disabled:B,variant:"contained",size:"small",sx:{marginTop:1.3},children:m("global.createNew")})]})};return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(r.IconButton,{size:"small",onClick:s,"aria-label":m("global.back"),disabled:i,children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:m("tags")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Pe.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Fe,{}),onClick:o,loading:i,disabled:i,children:m("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(A,B)=>n(B),options:E,filterOptions:A=>A,inputValue:x,onInputChange:N,getOptionLabel:A=>A?.name??"",isOptionEqualToValue:(A,B)=>String(A?.id)===String(B?.id),PopperComponent:A=>t.jsx(ks,{...A,popperContainer:p}),renderOption:(A,B)=>{const{key:U,...T}=A;return u.createElement("li",{...T,key:B?.id?String(B.id):String(U??B?.name??"")},B.name??"")},renderTags:(A,B)=>A.map((U,T)=>{const L=B({index:T}),{key:_,...P}=L;return t.jsx(r.Chip,{label:U.name??"",...P},U?.id?String(U.id):String(_??U?.name??T))}),size:"small",renderInput:A=>t.jsx(r.TextField,{...A,size:"small"}),ListboxProps:{onScroll:w,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(z,{}),sx:{width:"100%"}})]})};var Ns=Object.defineProperty,Fs=(e,a,n)=>a in e?Ns(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Zt=(e,a,n)=>Fs(e,typeof a!="symbol"?a+"":a,n);class ea extends Error{constructor(a,n,s){super(a),Zt(this,"status"),Zt(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function ve({url:e,method:a="GET",headers:n,body:s,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:o}),c=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${i.status}`;throw new ea(d,i.status,c)}return c}async function Bs({url:e,method:a="POST",headers:n,formData:s,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:s,signal:o}),c=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${i.status}`;throw new ea(d,i.status,c)}return c}function pe(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function xe(e,a){const n=encodeURIComponent(a);return{CONTACTS:pe(e,`/contacts/${n}`),MEDIA:pe(e,`/media/${n}`),SETTINGS:pe(e,`/settings/${n}`)}}async function Ms({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.CONTACTS,"/labels");return ve({url:o,signal:n})}async function ta({baseUrl:e,spaceId:a,name:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/labels");return ve({url:i,method:"POST",body:{name:n},signal:s})}async function Ps({baseUrl:e,spaceId:a,contactId:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ve({url:i,signal:s})}async function Ls({baseUrl:e,spaceId:a,forType:n,signal:s}){const o=xe(e,a),i=`${pe(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ve({url:i,signal:s})}async function Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:o,signal:i}){const c=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,d=xe(e,a),p=pe(d.CONTACTS,c);return ve({url:p,method:"PUT",body:o,signal:i})}async function _s({baseUrl:e,spaceId:a,pagination:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/Search");return ve({url:i,method:"POST",body:n,signal:s})}async function Os({baseUrl:e,spaceId:a,business:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/business");return ve({url:i,method:"POST",body:n,signal:s})}async function nt({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses");return ve({url:i,method:"DELETE",body:n,signal:s})}async function Rs({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses/check");return ve({url:i,method:"POST",body:n,signal:s})}async function zs({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,"/contactAddresses/set");return ve({url:i,method:"POST",body:n,signal:s})}async function Ws({baseUrl:e,spaceId:a,data:n,signal:s}){const o=xe(e,a),i=pe(o.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return ve({url:i,method:"PUT",body:n,signal:s})}async function aa({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.SETTINGS,"/user");return ve({url:o,signal:n})}async function Vs({baseUrl:e,spaceId:a,signal:n}){const s=xe(e,a),o=pe(s.SETTINGS,"/users");return ve({url:o,signal:n})}async function qs({baseUrl:e,spaceId:a,signal:n,userId:s}){const o=xe(e,a),i=pe(o.SETTINGS,`/usersInfor/${s}`);return ve({url:i,signal:n})}async function na({baseUrl:e,spaceId:a,contactId:n,file:s,signal:o}){const i=xe(e,a),c=new FormData;c.append("file",s,s.name);const d=pe(i.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Bs({url:d,formData:c,signal:o})}const sa=(e,a)=>({fetchLabels:({signal:n}={})=>Ms({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>ta({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>Ps({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>_s({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>Os({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>Ls({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:o,signal:i})=>Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:o,signal:i}),deleteAddress:({data:n,signal:s})=>nt({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>nt({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>Rs({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>zs({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>Ws({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>aa({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Vs({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>qs({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:o})=>na({baseUrl:e,spaceId:a,contactId:n,file:s,signal:o})}),ra=()=>!!window?.google?.maps?.places?.Autocomplete,Ys=(e=1e4)=>new Promise(a=>{if(ra()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(ra()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),Ks=()=>{const[e,a]=u.useState(!1),[n,s]=u.useState(!0),[o,i]=u.useState(null);return u.useEffect(()=>{(async()=>{try{const c=await Ys(1e4);a(c),c||i("Google Maps API failed to load")}catch{i("Error loading Google Maps API"),a(!1)}finally{s(!1)}})()},[]),{isLoaded:e,isLoading:n,error:o}},Gs=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=re(),o=u.useRef(null),i=u.useRef(null),c=u.useRef(e),d=u.useRef(a),{isLoaded:p,isLoading:m,error:x}=Ks(),y=u.useMemo(()=>m?s("searchLocationModal.loadingGoogleMaps"):x?s("searchLocationModal.googleMapsUnavailable"):p?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[p,m,x,n,s]);return u.useEffect(()=>{c.current=e},[e]),u.useEffect(()=>{d.current=a},[a]),u.useEffect(()=>{if(!p||!o.current||i.current)return;const h=window?.google;if(!h?.maps?.places?.Autocomplete){d.current?.(s("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let f=null;const j=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const $=g;$.style.zIndex="20000",$.style.position="fixed"})};f=new MutationObserver(g=>{for(const $ of g)for(const E of Array.from($.addedNodes)){if(E.nodeType!==Node.ELEMENT_NODE)continue;const N=E;N.classList?.contains("pac-container")&&(N.style.zIndex="20000",N.style.position="fixed")}}),f.observe(document.body,{childList:!0,subtree:!0}),j(),window.setTimeout(j,100),i.current=new h.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=i.current.addListener?.("place_changed",()=>{const g=i.current?.getPlace?.();if(!g?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let $="",E="",N="",w="",z="",A="";const B=g.address_components??[];for(const _ of B){const P=_?.types??[];if(P.includes("locality")||P.includes("administrative_area_level_2")){$=_.long_name;continue}if(P.includes("administrative_area_level_1")){E=_.long_name;continue}if(P.includes("country")){N=_.long_name;continue}if(P.includes("postal_code")){w=_.long_name;continue}if(P.includes("route")){z=_.long_name;continue}P.includes("street_number")&&(A=_.long_name)}const U=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,T=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,L={location:{lat:U,lng:T},address:g.formatted_address??"",city:$,state:E,country:N,postalCode:w,streetName:z,streetNumber:A,shortAddress:[z,A].filter(Boolean).join(" ")};c.current(L)});return()=>{f&&f.disconnect(),v?.remove&&v.remove(),i.current=null}},[p,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:y,disabled:m||!p||!!x,error:!!x})},Hs={street:"",city:"",state:"",zipcode:"",country:""},Js=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:o,onEntityUpdated:i})=>{const c=re(),[d,p]=u.useState(Hs),[m,x]=u.useState(""),[y,h]=u.useState(""),[f,j]=u.useState(!1),[v,g]=u.useState(!1),$=u.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),E=U=>{x(U.address??"");const T=String(U.shortAddress??"").trim()||[U.streetName,U.streetNumber].filter(Boolean).join(" ").trim();p({street:T,city:U.city??"",state:U.state??"",zipcode:U.postalCode??"",country:U.country??""}),h("")},N=U=>{h(String(U??""))},w=U=>T=>{const L=T.target.value;p(_=>({..._,[U]:L}))},z=async()=>{if(!f&&!(!e||!a)&&s){j(!0);try{const U=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address1:{street:String(d.street??""),city:String(d.city??""),state:String(d.state??""),zipcode:String(d.zipcode??""),country:String(d.country??"")}}});i?.(U),o()}finally{j(!1)}}},A=async()=>{if(!v&&!(!e||!a)&&s){g(!0);try{const U=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address2:{street:String(d.street??""),city:String(d.city??""),state:String(d.state??""),zipcode:String(d.zipcode??""),country:String(d.country??"")}}});i?.(U),o()}finally{g(!1)}}},B=!$||f||v;return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(r.IconButton,{size:"small",onClick:o,"aria-label":c("global.back"),children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"h6",children:c("searchLocationModal.searchAddress")})]}),t.jsxs(r.Stack,{spacing:3,children:[t.jsxs(r.Box,{sx:{position:"relative",zIndex:1400},children:[t.jsx(Gs,{onPlaceSelected:E,onError:N,placeholder:c("searchLocationModal.enterLocation")}),y?t.jsx(r.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:y}):null]}),t.jsx(r.TextField,{label:c("conversations.contactDetails.street"),value:d.street,onChange:w("street"),fullWidth:!0,size:"medium"}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:c("searchLocationModal.city"),value:d.city,onChange:w("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.state"),value:d.state,onChange:w("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:c("searchLocationModal.postalCode"),value:d.zipcode,onChange:w("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.country"),value:d.country,onChange:w("country"),fullWidth:!0,size:"medium"})]}),m?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:m}):null,t.jsxs(r.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(Pe.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(Fe,{}),onClick:z,loading:f,disabled:B,children:c("searchLocationModal.saveMainAddress")}),t.jsx(Pe.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(Fe,{}),onClick:A,loading:v,disabled:B,children:c("searchLocationModal.saveSecondaryAddress")})]})]})]})};function vt(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}function ia(e){return e?.isBusiness===!0?!1:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&typeof e.firstName=="string"&&typeof e.lastName=="string"&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&"origin"in e&&typeof e.isSpam=="boolean"&&(!e.businessId||typeof e.businessId=="string")}function Xs({open:e,baseUrl:a,spaceId:n,contactId:s}){const o=u.useRef(null),i=u.useMemo(()=>!a||!n?null:sa(a,n),[a,n]),[c,d]=u.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),p=u.useMemo(()=>!!(e&&i&&s),[e,i,s]);u.useEffect(()=>{e||(o.current?.abort(),d({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const m=u.useMemo(()=>!!(e&&i),[e,i]);u.useEffect(()=>{if(!m||!i)return;const h=new AbortController;return d(f=>({...f,labelsLoading:!0,labelsError:null})),i.fetchLabels({signal:h.signal}).then(f=>{d(j=>({...j,labels:f,labelsLoading:!1,labelsError:null}))}).catch(f=>{h.signal.aborted||d(j=>({...j,labelsLoading:!1,labelsError:f}))}),()=>{h.abort()}},[i,m]),u.useEffect(()=>{if(!p||!i)return;o.current?.abort();const h=new AbortController;return o.current=h,d(f=>({...f,isLoading:!0,error:null,contactData:null})),i.fetchContact({contactId:s,signal:h.signal}).then(f=>{d(j=>({...j,isLoading:!1,error:null,contactData:f}))}).catch(f=>{h.signal.aborted||d(j=>({...j,isLoading:!1,error:f}))}),()=>{h.abort()}},[i,p,s]);const x=u.useMemo(()=>!!(e&&i),[e,i]);u.useEffect(()=>{if(!x||!i)return;const h=new AbortController;return d(f=>({...f,userLoading:!0,userError:null})),i.fetchUserTrii({signal:h.signal}).then(f=>{d(j=>({...j,userLoading:!1,userError:null,userTrii:f}))}).catch(f=>{h.signal.aborted||d(j=>({...j,userLoading:!1,userError:f}))}),()=>{h.abort()}},[i,x]);const y=u.useMemo(()=>{const h=c.contactData,f=vt(h),j=ia(h);let v="unknown";f&&(v="business"),j&&(v="contact");let g="Unknown Contact";f?g=h.name:j&&(g=`${h.firstName} ${h.lastName}`.trim());const $=h?.tags??[];return{isBusiness:f,isContact:j,contactType:v,displayName:g,tags:$,labels:c.labels,contactFields:c.contactFields,userTrii:c.userTrii,userLoading:c.userLoading,userError:c.userError}},[c.contactData,c.labels,c.contactFields,c.userTrii,c.userLoading,c.userError]);return u.useEffect(()=>{if(!e||!i)return;const h=c.contactData,f=vt(h),j=ia(h),v=f?"business":j?"contact":null;if(!v)return;const g=new AbortController;return d($=>({...$,contactFieldsLoading:!0,contactFieldsError:null})),i.fetchContactFields({forType:v,signal:g.signal}).then($=>{d(E=>({...E,contactFields:$,contactFieldsLoading:!1,contactFieldsError:null}))}).catch($=>{g.signal.aborted||d(E=>({...E,contactFieldsLoading:!1,contactFieldsError:$}))}),()=>{g.abort()}},[i,e,c.contactData]),{state:c,selectors:y,actions:{setContactData:h=>d(f=>({...f,contactData:h??null})),clearError:()=>d(h=>({...h,error:null}))}}}const He=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:o,onEntityUpdated:i})=>{const[c,d]=u.useState(o??""),[p,m]=u.useState(null),[x,y]=u.useState(!1),[h,f]=u.useState(!1),j=u.useRef(null),v=u.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function g(T){return T.split("?sv=")[0]}function $(T){return T.split("&cacheId=")[0]}function E(T){let L=g(T);return!L||(L=$(L),!L)?"":L}const N=async()=>{if(!e||!a)return null;const T=await aa({baseUrl:e,spaceId:a});return m(T),T},w=async T=>{const L=(p??await N())?.storageAzureSAS,_=L?.expireAt,P=_?new Date(_):null;let V=L?.sas??"";if((!V||P&&P<new Date)&&(V=(await N())?.storageAzureSAS?.sas??""),!V)return T;const S=`${Date.now()}`;return`${T}${V}&cacheId=${S}`},z=async T=>{if(!T){d("");return}const L=g(T);if(!L)return;const _=await w(L);d(_)},A=async T=>{const L=T.target.files?.[0];if(L&&v){j.current&&(j.current.value=""),y(!0);try{const _=await na({baseUrl:e,spaceId:a,contactId:s,file:L}),P=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:_}});i?.(P),await z(_)}finally{y(!1)}}},B=()=>{j.current?.click()},U=async()=>{if(v&&!h){f(!0);try{await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),i?.({imageUrl:""}),d("")}finally{f(!1)}}};return u.useEffect(()=>{if(!o){d("");return}z(o)},[o]),{inputAtributes:{onChange:A,ref:j,type:"file",accept:"image/*"},action:{uploadImage:B,deleteImage:U},imageUrl:c,removeParams:E,isUploading:x,isDeleting:h}},ie=(e,a)=>{const[n,s]=u.useState(a||""),[o,i]=u.useState(!1),[c,d]=u.useState("");return u.useEffect(()=>(s(a||""),()=>{s(a||"")}),[a]),{actions:{onError:p=>{i(!0),d(p)},onSuccess:()=>{i(!1),d("")},resetValue:()=>{s(a||"")},changeValue:p=>{s(p)}},attributes:{error:o,helperText:c,type:e,value:n,onChange:p=>{s(p.target.value)}}}},oa=(e="")=>{const[a,n]=u.useState(e),s=c=>{n(c.target.value)},o=c=>{n(c)},i=()=>{n(e??"")};return u.useEffect(()=>{n(e)},[e]),{actions:{resetValue:i,changeValue:o},attributes:{value:a,onChange:s}}};let st;const Qs=new Uint8Array(16);function Zs(){if(!st&&(st=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!st))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return st(Qs)}const ye=[];for(let e=0;e<256;++e)ye.push((e+256).toString(16).slice(1));function er(e,a=0){return ye[e[a+0]]+ye[e[a+1]]+ye[e[a+2]]+ye[e[a+3]]+"-"+ye[e[a+4]]+ye[e[a+5]]+"-"+ye[e[a+6]]+ye[e[a+7]]+"-"+ye[e[a+8]]+ye[e[a+9]]+"-"+ye[e[a+10]]+ye[e[a+11]]+ye[e[a+12]]+ye[e[a+13]]+ye[e[a+14]]+ye[e[a+15]]}const tr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var la={randomUUID:tr};function ar(e,a,n){if(la.randomUUID&&!a&&!e)return la.randomUUID();e=e||{};const s=e.random||(e.rng||Zs)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,a){n=n||0;for(let o=0;o<16;++o)a[n+o]=s[o];return a}return er(s)}function nr(e){return{id:ar(),address:"",note:"",channelType:e,isSaved:!1}}var rt={createNewAddress:nr};const sr=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},rr=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var _e={getEditedField:sr,getAddressesWithUpdatedValues:rr};const ca=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[o,i]=u.useState(!1),[c,d]=u.useState(()=>a),[p,m]=u.useState(a?.ims_facebook||[]),[x,y]=u.useState(a?.ims_mercadolibre||[]),[h,f]=u.useState(a?.ims_webchat||[]),[j,v]=u.useState(a?.ims_instagram||[]),[g,$]=u.useState(a?.ims_whatsapp||[]),[E,N]=u.useState(a?.emails||[]),[w,z]=u.useState(a?.phones||[]),[A,B]=u.useState(a?.ims_rcs||[]),U=()=>{const I=rt.createNewAddress(Le.ChannelType.PHONE),C=[...w,I];z(C)},T=()=>{const I=rt.createNewAddress(Le.ChannelType.EMAIL),C=[...E,I];N(C)},L=()=>{const I=rt.createNewAddress(Le.ChannelType.WHATSAPP),C=[...g,I];$(C)},_=()=>{const I=rt.createNewAddress(Le.ChannelType.RCS),C=[...A,I];B(C)},P=I=>{const C=[...g,I];$(C),d(M=>({...M??{},ims_whatsapp:C}))},V=(I,C)=>{if(C){if(C.channelType===3){const M=E.map(D=>D.id===I?C:D);N(M),d(D=>({...D??{},emails:M}))}if(C.channelType===5){const M=w.map(D=>D.id===I?C:D);z(M),d(D=>({...D??{},phones:M}))}if(C.channelType===13){const M=g.map(D=>D.id===I?C:D);$(M),d(D=>({...D??{},ims_whatsapp:M}))}if(C.channelType===21){const M=A.map(D=>D.id===I?C:D);B(M),d(D=>({...D??{},ims_rcs:M}))}if(C.channelType===41){const M=x.map(D=>D.id===I?C:D);y(M),d(D=>({...D??{},ims_mercadolibre:M}))}}},S=async(I,C,M)=>{const D=I.target.value;if(M===3){const O=_e.getAddressesWithUpdatedValues(D,C,E);N(O)}else if(M===5){const O=_e.getAddressesWithUpdatedValues(D,C,w);z(O)}else if(M===13){const O=_e.getAddressesWithUpdatedValues(D,C,g);$(O)}else if(M===21){const O=_e.getAddressesWithUpdatedValues(D,C,A);B(O)}else if(M===41){const O=_e.getAddressesWithUpdatedValues(D,C,x);y(O)}},H=(I,C,M)=>{if(M===14){const D=p.map(O=>O.id===C?{...O,note:I.target.value}:O);m(D)}if(M===20){const D=h.map(O=>O.id===C?{...O,note:I.target.value}:O);f(D)}if(M===16){const D=j.map(O=>O.id===C?{...O,note:I.target.value}:O);v(D)}if(M===3){const D=E.map(O=>O.id===C?{...O,note:I.target.value}:O);N(D)}if(M===5){const D=w.map(O=>O.id===C?{...O,note:I.target.value}:O);z(D)}if(M===13){const D=g.map(O=>O.id===C?{...O,note:I.target.value}:O);$(D)}if(M===21){const D=A.map(O=>O.id===C?{...O,note:I.target.value}:O);B(D)}if(M===41){const D=x.map(O=>O.id===C?{...O,note:I.target.value}:O);y(D)}},K=async(I,C)=>{if(e&&(C===3||C===5||C===13||C===14||C===20||C===16||C===21||C===41)){i(I);const M={contactId:e,contactAddressId:I,type:C};switch(n?await n(s(M)):await s(M),i(!1),C){case 3:const D=E.filter(Y=>Y.id!==I);N(D),d(Y=>({...Y??{},emails:D}));break;case 5:const O=w.filter(Y=>Y.id!==I);z(O),d(Y=>({...Y??{},phones:O}));break;case 13:const W=g.filter(Y=>Y.id!==I);$(W),d(Y=>({...Y??{},ims_whatsapp:W}));break;case 21:const J=A.filter(Y=>Y.id!==I);B(J),d(Y=>({...Y??{},ims_rcs:J}));break;case 41:const se=x.filter(Y=>Y.id!==I);y(se),d(Y=>({...Y??{},ims_mercadolibre:se}));break;case 14:const me=p.filter(Y=>Y.id!==I);m(me),d(Y=>({...Y??{},ims_facebook:me}));break;case 20:const he=h.filter(Y=>Y.id!==I);f(he),d(Y=>({...Y??{},ims_webchat:he}));break;case 16:const fe=j.filter(Y=>Y.id!==I);v(fe),d(Y=>({...Y??{},ims_instagram:fe}));break}}};function F(){m(c?.ims_facebook||[]),y(c?.ims_mercadolibre||[]),f(c?.ims_webchat||[]),v(c?.ims_instagram||[]),$(c?.ims_whatsapp||[]),B(c?.ims_rcs||[]),N(c?.emails||[]),z(c?.phones||[])}return u.useEffect(()=>{d(a),a?.emails&&a?.phones&&(N(a.emails),z(a.phones)),$(a?.ims_whatsapp||[]),B(a?.ims_rcs||[]),m(a?.ims_facebook||[]),f(a?.ims_webchat||[]),v(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:A,imsMercadolibre:x,imsFacebooks:p,imsWebchats:h,imsInstagrams:j,emails:E,phoneNumbers:w},action:{handleAddressFieldChange:S,handleNoteFieldChange:H,handleDeleteAddress:K,addPhone:U,addEmail:T,addWhatsapp:L,addRCS:_,replaceAddress:V,addWhatsappVerified:P,resetToInitialContactInformation:F},state:{isDeletingAddress:o}}},da=({initialState:e=[]}={})=>{const[a,n]=u.useState(e);return{attributes:{value:a,onChange:(s,o)=>{const i=o.some(c=>!a.some(d=>c.id===d.id));(a.filter(c=>!o.some(d=>d.id===c.id)).length>0||i)&&n(o)}},actions:{addValue:s=>{n(o=>o.concat(s))},setValue:s=>{n(s)}}}},ir=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const o=u.useMemo(()=>async ae=>{!n||!s||await nt({baseUrl:n,spaceId:s,data:ae})},[n,s]),i=async ae=>ae,[c,d]=u.useState([]),p=ie("text",e?.name||""),m=He({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),x=oa(e?.owner),y=da({initialState:e?.tags??[]}),[h,f]=u.useState([]),{field:{imsFacebooks:j,imsMercadolibre:v,imsWebchats:g,imsInstagrams:$,imsWhatsapp:E,emails:N,phoneNumbers:w,imsRCS:z},action:{addPhone:A,addEmail:B,addWhatsapp:U,addRCS:T,addWhatsappVerified:L,replaceAddress:_,handleAddressFieldChange:P,handleNoteFieldChange:V,handleDeleteAddress:S,resetToInitialContactInformation:H},state:{isDeletingAddress:K}}=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),F=ie("text",e?.address1?.street||""),I=ie("text",e?.address2?.street||""),C=ie("text",e?.address1?.city||""),M=ie("text",e?.address2?.city||""),D=ie("text",e?.address1?.state||""),O=ie("text",e?.address2?.state||""),W=ie("text",e?.address1?.zipcode||""),J=ie("text",e?.address2?.zipcode||""),se=ie("text",e?.address1?.country||""),me=ie("text",e?.address2?.country||""),he=(ae,de,oe)=>de!==oe&&!(de===null&&oe==="")?{[ae]:oe}:{},fe=()=>{if(!e)return null;const ae={street:F.attributes.value,city:C.attributes.value,state:D.attributes.value,zipcode:W.attributes.value,country:se.attributes.value},de={street:I.attributes.value,city:M.attributes.value,state:O.attributes.value,zipcode:J.attributes.value,country:me.attributes.value};return{id:e.id,...he("owner",e.owner,x.attributes.value),...he("name",e.name,p.attributes.value),imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,tags:y.attributes.value,properties:c,members:h,phoneNumbers:w,emails:N,address1:ae,address2:de}};function Y(ae){if(!e)return;const de=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(R=>R.nameKey===ae)??e.properties.find(R=>de(R.nameKey)===de(ae));if(!oe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ae}`);return}const De=c.map(R=>R.nameKey===ae?{...R,value:oe.value}:R);d(De)}const Se=()=>e?a.map(ae=>{const de=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(R=>R.nameKey===ae.nameKey)??e.properties.find(R=>de(R.nameKey)===de(ae.nameKey));if(oe)return{...oe,nameKey:ae.nameKey,type:oe.type??ae.type,value:oe.value};const De=c.find(R=>R.nameKey===ae.nameKey);return{nameKey:ae.nameKey,type:ae.type,value:De?De.value:""}}):[];return u.useEffect(()=>{e&&a&&d(Se())},[e,a]),u.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:p,imsWhatsapp:E,imsRCS:z,contactImage:m,contactPropietary:x,imsMercadolibre:v,imsFacebooks:j,imsWebchats:g,imsInstagrams:$,emails:N,phoneNumbers:w,homeAddress:F,secondaryHomeAddress:I,city:C,secondaryCity:M,state:D,secondaryState:O,postalCode:W,secondaryPostalCode:J,country:se,secondaryCountry:me,customProperties:c,labelMultipleSelect:y},action:{setCustomProperties:d,addWhatsapp:U,addRCS:T,getEditedBusiness:fe,handleAddressFieldChange:P,handleNoteFieldChange:V,handleDeleteAddress:S,addPhone:A,addEmail:B,replaceAddress:_,addWhatsappVerified:L,resetToInitialContactInformation:H,resetCustomProperty:Y},state:{isDeletingAddress:K},selectedContacts:h,setSelectedContacts:f}},or=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const o=u.useMemo(()=>async R=>{!n||!s||await nt({baseUrl:n,spaceId:s,data:R})},[n,s]),i=async R=>R,{getEditedField:c}=_e,[d,p]=u.useState([]),m=ie("text",e?.firstName||""),x=ie("text",e?.lastName||""),y=He({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[h,f]=u.useState(e?.birthDate?Z(e.birthDate):null),j=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:v,imsMercadolibre:g,imsWebchats:$,imsInstagrams:E,imsWhatsapp:N,emails:w,phoneNumbers:z,imsRCS:A},action:{addPhone:B,addEmail:U,addWhatsapp:T,addRCS:L,addWhatsappVerified:_,replaceAddress:P,handleAddressFieldChange:V,handleNoteFieldChange:S,handleDeleteAddress:H,resetToInitialContactInformation:K},state:{isDeletingAddress:F}}=j,I=da({initialState:e?.tags}),C=oa(e?.owner),M=ie("text",e?.address1?.street),D=ie("text",e?.address2?.street),O=ie("text",e?.address1?.city),W=ie("text",e?.address2?.city),J=ie("text",e?.address1?.state),se=ie("text",e?.address2?.state),me=ie("text",e?.address1?.zipcode),he=ie("text",e?.address2?.zipcode),fe=ie("text",e?.address1?.country),Y=ie("text",e?.address2?.country),Se=()=>{if(!e)return null;const R=e,je=I.attributes.value.map(te=>({id:te.id,name:te.name})),Ce=z.map(te=>{const{id:dt,...Re}=te;return Re}),Ee=w.map(te=>{const{id:dt,...Re}=te;return Re});return{id:R.id,owner:C.attributes.value,firstName:m.attributes.value,lastName:x.attributes.value,address1:{...c("street",R.address1?.street,M.attributes.value),...c("city",R.address1?.street,O.attributes.value),...c("state",R.address1?.street,J.attributes.value),...c("zipcode",R.address1?.street,me.attributes.value),...c("country",R.address1?.street,fe.attributes.value)},address2:{...c("street",R.address2?.street,D.attributes.value),...c("city",R.address2?.street,W.attributes.value),...c("state",R.address2?.street,se.attributes.value),...c("zipcode",R.address2?.street,he.attributes.value),...c("country",R.address2?.street,Y.attributes.value)},emails:Ee,phones:Ce,tags:je,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:d,birthDate:h?.toDate()}};function ae(){e&&(!e.businessId||e.businessName)}function de(){f(e?.birthDate?Z(e.birthDate):null)}function oe(R){if(!e)return;const je=te=>te.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(te=>te.nameKey===R)??e.properties.find(te=>je(te.nameKey)===je(R));if(!Ce){console.error(`No se encontr\xF3 una propiedad con nameKey: ${R}`);return}const Ee=d.map(te=>te.nameKey===R?{...te,value:Ce.value}:te);p(Ee)}const De=()=>e?a.map(R=>{const je=te=>te.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(te=>te.nameKey===R.nameKey)??e.properties.find(te=>je(te.nameKey)===je(R.nameKey));if(Ce)return{...Ce,nameKey:R.nameKey,type:Ce.type??R.type,value:Ce.value};const Ee=d.find(te=>te.nameKey===R.nameKey);return{nameKey:R.nameKey,type:R.type,value:Ee?Ee.value:""}}):[];return u.useEffect(()=>{e&&a&&p(De())},[e,a]),u.useEffect(()=>{e?.tags&&I.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:h,imsWhatsapp:N,imsRCS:A,contactFirstname:m,contactLastname:x,contactImage:y,contactPropietary:C,imsMercadolibre:g,imsFacebooks:v,imsWebchats:$,imsInstagrams:E,emails:w,phoneNumbers:z,homeAddress:M,secondaryHomeAddress:D,city:O,secondaryCity:W,state:J,secondaryState:se,postalCode:me,secondaryPostalCode:he,country:fe,secondaryCountry:Y,customProperties:d,labelMultipleSelect:I},action:{setBirthDate:f,setCustomProperties:p,getEditedContact:Se,handleAddressFieldChange:V,handleNoteFieldChange:S,handleDeleteAddress:H,addPhone:B,addEmail:U,addWhatsapp:T,addRCS:L,replaceAddress:P,addWhatsappVerified:_,resetToInitialContactInformation:K,resetSelectedBusiness:ae,resetBirthDate:de,resetCustomProperty:oe},state:{isDeletingAddress:F}}},jt=u.createContext(null),lr=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:o})=>{const i=or({contact:a,customContactFields:n,baseUrl:s,spaceId:o});return t.jsx(jt.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},cr=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:o})=>{const i=ir({business:a,customContactFields:n,baseUrl:s,spaceId:o});return t.jsx(jt.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},dr=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(lr,{contact:n,customContactFields:s,baseUrl:o,spaceId:i,children:e}):t.jsx(cr,{business:n,customContactFields:s,baseUrl:o,spaceId:i,children:e}),Ae=()=>{const e=u.useContext(jt);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Oe=({userId:e,users:a,currentUser:n})=>{if(!e)return null;if(n?.uid&&n.uid===e)return n.display_name||n.email||null;const s=a.find(o=>o?.id===e);return s?.name?.trim()||s?.email||null},it=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const o=re();return t.jsxs(r.Box,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(r.Typography,{variant:"subtitle1",children:e}),n&&t.jsx(r.Button,{startIcon:t.jsx(Qa,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:o("global.searchLocation")})]}),t.jsx(r.Divider,{sx:{my:1.5}}),a]})},ua=({children:e,...a})=>t.jsx(r.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),ur=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ot.DatePicker,{value:e,onChange:o=>a(o),slotProps:{textField:{size:"small"}},format:s})})})},pr={view:"main",setView:()=>{}},pa=u.createContext(null),mr=pa.Provider,yr=()=>u.useContext(pa)||(console.warn("[useEditContactView] using noop, context value is missing"),pr),ma=()=>{},ya=u.createContext(ma),hr=({navigate:e,children:a})=>t.jsx(ya.Provider,{value:e,children:a}),fr=()=>u.useContext(ya)||(console.warn("[useNavigateContext] using noop, context value is falsy"),ma);function gr({value:e,displayValue:a,businessId:n}){const s=Ue(),o=fr(),[i,c]=u.useState(null),d=He({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[p,m]=u.useState(null),[x,y]=u.useState(!1);return t.jsxs(r.Box,{display:"flex",alignItems:"center",children:[t.jsx(r.Typography,{onClick:async h=>{const f=h.currentTarget;if(y(!0),!s){console.error("API is null");return}const j=await s.fetchContact({contactId:n});if(j&&vt(j)&&c(j),y(!1),!f){console.error("Target element is null");return}m(f)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:h=>h.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),i&&t.jsx(Ht,{contactData:i,open:!!p,anchorEl:p,onClose:()=>m(null),navigate:o,avatarImgUrl:d.imageUrl}),x&&t.jsx(r.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(r.CircularProgress,{size:20})})]})}const xr=e=>"email"in e,wt=e=>e.entityType==="contact"&&e.inputType==="birthday",br=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),ha=r.styled(r.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ke=e=>{const{title:a,value:n,isNotEditable:s,displayValue:o,baseUrl:i,spaceId:c,minWidth:d,onEntityUpdated:p}=e,m=re(),{setView:x}=yr(),y=e.inputType??"text",[h,f]=u.useState(!1),[j,v]=u.useState(!1),g=u.useRef(null),[$,E]=u.useState(!1),[N,w]=u.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);u.useEffect(()=>{const S=g.current;if(!S)return;const H=()=>{const K=S.scrollWidth>S.clientWidth;E(F=>F===K?F:K)};if(H(),typeof ResizeObserver<"u"){let K=0;const F=new ResizeObserver(()=>{if(typeof window>"u"){H();return}K&&window.cancelAnimationFrame(K),K=window.requestAnimationFrame(()=>{H()})});return F.observe(S),()=>{typeof window<"u"&&K&&window.cancelAnimationFrame(K),F.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",H),()=>{window.removeEventListener("resize",H)}},[a]),u.useEffect(()=>{e.entityType==="business"?w(n):w(typeof n=="string"?n:void 0)},[n,e.entityType]);const z=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){x("businessSelect");return}f(S=>!S)},A=S=>{w(S.target.value)},B=S=>{const H=S.target.value;w(H)},U=()=>{wt(e)&&e.contact.action.resetBirthDate(),f(!1)},T=async()=>{if(!e.constructUpdateObject){f(!1);return}if(e.entityType==="business"&&N===void 0){f(!1);return}v(!0);try{if(!i||!c)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let S=N===void 0?null:N;if(wt(e)){const I=Z(e.contact.field.birthDate);I.isValid()&&(S=I.toISOString())}const H=e.constructUpdateObject(S),K=e.entityId??H?.id;if(!K)throw new Error("Missing contactId for updateEntity");const F=await Te({baseUrl:i,spaceId:c,entityType:"contact",entityId:K,body:H});p?.(F)}else{const S=e.constructUpdateObject(N),H=e.entityId??S?.id;if(!H)throw new Error("Missing businessId for updateEntity");const K=await Te({baseUrl:i,spaceId:c,entityType:"business",entityId:H,body:S});p?.(K)}}finally{v(!1),f(!1)}},L=typeof N=="string"?N:"",_=N instanceof Date?N.toISOString():typeof N=="string"?N:"",P=d??(e.entityType==="contact"?"45%":"200px"),V=e.options??[];return t.jsxs(r.Box,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:S=>S.palette.mode==="dark"?"1e1e1e":S.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:P,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",children:[$?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:S=>S.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(r.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:S=>S.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:h?t.jsxs(t.Fragment,{children:[t.jsx(ha,{size:"small",onClick:T,children:j?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(ha,{size:"small",onClick:U,children:t.jsx(Rt,{})})]}):t.jsx(br,{className:"edit-icon",size:"small",onClick:z,children:t.jsx(tt,{})})]}),t.jsx(r.Box,{width:h?"100%":"50%",position:"relative",children:h&&y==="text"?t.jsx(r.TextField,{value:_,onChange:A,variant:"standard",size:"small",sx:{width:"100%"}}):h&&(y==="select"||y==="selectMembers")?t.jsxs(r.Select,{value:L,onChange:B,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:m("conversations.contactDetails.contactInfo.emptySelection")}):null,V.map((S,H)=>t.jsx(r.MenuItem,{value:S.id,children:e.entityType==="contact"?S.name?.trim()||(xr(S)?S.email:"")||"Sin nombre":S.name?.trim()||S.email||"Sin nombre"},H))]}):h&&wt(e)?t.jsx(ur,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!h&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(gr,{value:String(n??""),displayValue:String(o??""),businessId:e.businessId}):t.jsx(r.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:S=>S.palette.text.primary,children:o||typeof n=="string"&&n||"-"})})]})},Je=e=>{const{title:a,value:n,isNotEditable:s,options:o=[],displayValue:i,constructUpdateObject:c,businessId:d,baseUrl:p,spaceId:m,contactId:x,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(ke,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:"birthday",options:o,displayValue:i,constructUpdateObject:c,contact:e.contact,businessId:d,baseUrl:p,spaceId:m,dateFormat:e.dateFormat,onEntityUpdated:y});const h=e.inputType??"text";return t.jsx(ke,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:h,options:o,displayValue:i,constructUpdateObject:c,businessId:d,baseUrl:p,spaceId:m,onEntityUpdated:y})},vr=({nameKey:e,value:a,onChange:n,type:s})=>{const o=p=>{s===G.ContactField_type.NUMBER_ACCOUNTING||s===G.ContactField_type.NUMBER_DECIMAL||s===G.ContactField_type.NUMBER_CURRENCY||s===G.ContactField_type.CURRENCY?c(p):s===G.ContactField_type.NUMBER_INTEGER?d(p):(s===G.ContactField_type.LONGTEXT||s===G.ContactField_type.TEXT||s===G.ContactField_type.ADDRESS)&&i(p)},i=p=>{n(e,p.target.value)},c=p=>{const m=p.target.value.replace(/[^0-9.]/g,"");n(e,m)},d=p=>{const m=p.target.value;/^\d*$/.test(m)&&n(e,m)};return t.jsx(r.TextField,{size:"small",variant:"standard",value:a,onChange:o,inputProps:{pattern:"[0-9]*"},multiline:s===G.ContactField_type.LONGTEXT,rows:s===G.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},jr=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ot.DatePicker,{value:e?Z(e):null,onChange:o=>a(o),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},wr=({handleChange:e,value:a,options:n})=>{const s=re();return t.jsx(r.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(r.Select,{value:a,onChange:o=>e(o.target.value),size:"small",variant:"standard",children:[t.jsx(r.MenuItem,{value:"",children:s("global.noValue")}),n.map((o,i)=>t.jsx(r.MenuItem,{value:o,children:o},i))]})})},Cr=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Za.TimePicker,{value:e?Z(e):null,onChange:o=>a(o),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ir=({value:e,handleChange:a,userTimeFormat:n})=>{const s=re(),o=[Z().set("hour",0).set("minute",0),Z().set("hour",0).set("minute",0)],i=n==="24"?"HH:mm":"hh:mm";return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zt.MultiInputTimeRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:c=>a(c),format:i})})})},Sr=({value:e,handleChange:a,userDateFormat:n})=>{const s=re(),o=[Z(),Z()],i=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(qe.LocalizationProvider,{dateAdapter:Ve.AdapterDayjs,children:t.jsx(Ye,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zt.MultiInputDateRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:c=>a(c),format:i})})})},Tr=r.styled(r.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),fa=r.styled(r.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Er=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),ga=r.styled(r.Typography)(({theme:e})=>({fontWeight:600,fontSize:"0.875rem",alignSelf:"center",color:e.palette.text.primary,letterSpacing:-.5,padding:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0})),Ar=r.styled(r.Typography)(({theme:e})=>({fontWeight:400,fontSize:"0.875rem",padding:"2.5px 14px 8.5px 0px",color:e.palette.text.primary,wordWrap:"break-word",maxHeight:"80px",overflow:"auto",whiteSpace:"break-spaces"})),xa=({property:e,entity:a,entityType:n,entityId:s,customContactFields:o,userTrii:i,baseUrl:c,spaceId:d,onEntityUpdated:p})=>{const{customProperties:m}=a.field,{setCustomProperties:x}=a.action,[y,h]=u.useState(!1),[f,j]=u.useState(!1),v=u.useRef(null),[g,$]=u.useState(!1),E=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),N=i?.regCon_timeFormat||"24",w=F=>F===G.ContactField_type.NUMBER_INTEGER||F===G.ContactField_type.NUMBER_DECIMAL||F===G.ContactField_type.NUMBER_CURRENCY||F===G.ContactField_type.NUMBER_ACCOUNTING||F===G.ContactField_type.CURRENCY,z=(F,I)=>F.toLowerCase()==="dni"?!0:w(I),A=(F,I,C)=>{if(C===""||C===null||C===void 0)return null;if(z(F,I)){const M=Number(C);return Number.isNaN(M)?C:M}return C},B=()=>h(F=>!F),U=()=>{h(!1),a.action.resetCustomProperty(e.nameKey)},T=async()=>{if(!c||!d||!s)return;j(!0);const F=m.find(W=>W.nameKey===e.nameKey)||e,{nameKey:I,value:C}=F,M=o.find(W=>W.nameKey===I)?.type??F.type;let D;if(M===G.ContactField_type.TIME){const W=Z(C);W.isValid()?D=W.format(N==="24"?"HH:mm":"hh:mm"):D=C}else if(M===G.ContactField_type.DATE){const W=Z(C);W.isValid()?D=W.toISOString():D=C}else D=A(I,M,C);const O={properties:[{nameKey:I,type:M,value:D}]};try{const W=await Te({baseUrl:c,spaceId:d,entityType:n,entityId:s,body:O}),J=m.map(se=>se.nameKey===I?{...se,type:M,value:D}:se);x(J),p?.(W)}finally{j(!1),h(!1)}},L=F=>o.find(I=>I.nameKey===F)?.name||F;u.useEffect(()=>{const F=v.current;if(!F)return;const I=()=>{const C=F.scrollWidth>F.clientWidth;$(M=>M===C?M:C)};if(I(),typeof ResizeObserver<"u"){let C=0;const M=new ResizeObserver(()=>{if(typeof window>"u"){I();return}C&&window.cancelAnimationFrame(C),C=window.requestAnimationFrame(()=>{I()})});return M.observe(F),()=>{typeof window<"u"&&C&&window.cancelAnimationFrame(C),M.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}},[o,e.nameKey]);const _=(F,I)=>{const C=e.type===G.ContactField_type.DATERANGE?Array.isArray(I)&&I[0]&&I[1]?`${Z(I[0]).toISOString()} - ${Z(I[1]).toISOString()}`:"":e.type===G.ContactField_type.DATE?Z(I).isValid()?Z(I).toISOString():"Invalid Date":e.type===G.ContactField_type.TIME?Z(I).isValid()?Z(I).toISOString():"Invalid Time":I,M=m.map(D=>D.nameKey===F?{...D,value:C}:D);x(M)},{type:P,nameKey:V,value:S}=e,H=F=>F==null?!1:typeof F=="string"?F.trim().length>0:!0,K=()=>P===G.ContactField_type.DATE?t.jsx(jr,{value:S?Z(S):null,handleChange:F=>_(V,F?.toDate()),dateFormat:E}):P===G.ContactField_type.TIME?t.jsx(Cr,{value:e?.valueDate?Z(e.valueDate):S?Z(S):null,handleChange:F=>_(V,F),userTimeFormat:N}):P===G.ContactField_type.DATERANGE?t.jsx(Sr,{value:S&&typeof S=="string"&&S.includes(" - ")?[Z(S.split(" - ")[0]),Z(S.split(" - ")[1])]:null,handleChange:F=>_(V,[F[0]?.toDate?.(),F[1]?.toDate?.()]),userDateFormat:E}):P===G.ContactField_type.TIMERANGE?t.jsx(Ir,{value:Array.isArray(S)&&S.length===2?[Z(S[0]),Z(S[1])]:null,handleChange:F=>_(V,[F[0]?.toDate?.(),F[1]?.toDate?.()]),userTimeFormat:N}):P===G.ContactField_type.OPTIONS?t.jsx(wr,{value:typeof S=="string"?S:"",handleChange:F=>_(V,F),options:o.find(F=>F.nameKey===V)?.typeOptions??[]}):t.jsx(vr,{type:P,nameKey:V,value:S,onChange:_});return t.jsxs(Er,{className:`fadein ${e.type===G.ContactField_type.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[g?t.jsx(r.Tooltip,{title:L(e.nameKey),arrow:!0,children:t.jsx(ga,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)})}):t.jsx(ga,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(fa,{size:"small",onClick:T,children:f?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(fa,{size:"small",onClick:U,children:t.jsx(Rt,{})})]}):t.jsx(Tr,{className:"edit-icon",size:"small",onClick:B,children:t.jsx(tt,{})})]}),t.jsx(r.Box,{width:y||e.type===G.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?K():t.jsx(Ar,{children:H(e?.value)?e.type===G.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const F=e.value.split(" - ");if(F.length===2){const[I,C]=F,M=Z(I),D=Z(C);return`${M.isValid()?M.format(E):"-"} - ${D.isValid()?D.format(E):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Z(e.value[0]).format(E)} - ${Z(e.value[1]).format(E)}`;return`${e.value}`})():e.type===G.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Z(e.value[0]).format(N==="24"?"HH:mm":"hh:mm")} - ${Z(e.value[1]).format(N==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===G.ContactField_type.TIME?(()=>{try{const F=e.valueDate||e.value;return`${Z(F).format(N==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===G.ContactField_type.DATE?(()=>{try{return`${Z(e.value).format(E)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Dr=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:o,spaceId:i,currentUser:c,onEntityUpdated:d}=e,p=re(),{entityType:m,editEntity:x}=Ae(),y=Ue();if(m!=="contact")return null;const[h,f]=u.useState([]),[j,v]=u.useState(null),[g,$]=u.useState(null),[E,N]=u.useState(null),w=x;u.useEffect(()=>{if(!y)return;const T=new AbortController;return y.fetchUsers({signal:T.signal}).then(L=>{T.signal.aborted||f(L??[])}).catch(()=>{T.signal.aborted||f([])}),()=>{T.abort()}},[y]),u.useEffect(()=>{const T=new AbortController,L=async _=>{if(!_||!y)return null;try{const P=await y.fetchUserTriiById({userId:_,signal:T.signal});return P?.display_name||P?.email||null}catch{return null}};return(async()=>{const _=Oe({userId:n.owner,users:h,currentUser:c})??(n.owner?await L(n.owner):null),P=Oe({userId:n.createdBy??void 0,users:h,currentUser:c})??(n.createdBy?await L(n.createdBy):null),V=Oe({userId:n.updatedBy??void 0,users:h,currentUser:c})??(n.updatedBy?await L(n.updatedBy):null);T.signal.aborted||(v(_),N(P),$(V))})(),()=>{T.abort()}},[y,n,h,c]);const z=(a||"YYYY/MM/DD").toUpperCase(),A=w.field.birthDate,B=A?.isValid()?A.format(z):null,U=T=>{const L=new Date;let _=L.getFullYear()-T.getFullYear();const P=L.getMonth()-T.getMonth();return(P<0||P===0&&L.getDate()<T.getDate())&&_--,_};return t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(Je,{title:p("conversations.contactDetails.contactOwner"),displayValue:j||"-",value:n.owner,inputType:"select",options:h,constructUpdateObject:T=>({owner:typeof T=="string"?T:""}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:d}),t.jsx(Je,{title:p("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:d}),t.jsx(Je,{title:p("conversations.contactDetails.createdBy"),value:E||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("global.birthdate"),inputType:"birthday",displayValue:A?`${B} (${U(A.toDate())})`:"-",value:A?A.toISOString():"",constructUpdateObject:T=>({birthDate:T}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:d}),w.field.customProperties.map(T=>t.jsx(xa,{property:T,entity:w,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},T.nameKey))]})})},Ct=({title:e,value:a,isNotEditable:n,inputType:s="text",options:o=[],displayValue:i,constructUpdateObject:c,baseUrl:d,spaceId:p,businessId:m,onEntityUpdated:x})=>t.jsx(ke,{entityType:"business",entityId:m,title:e,value:a,isNotEditable:n,inputType:s,options:o,displayValue:i,constructUpdateObject:c,baseUrl:d,spaceId:p,onEntityUpdated:x}),Ur=e=>{const a=re(),{entityData:n,customContactFields:s,baseUrl:o,spaceId:i,currentUser:c,onEntityUpdated:d}=e,{entityType:p,editEntity:m}=Ae(),x=Ue();if(p!=="business")return null;const[y,h]=u.useState([]),[f,j]=u.useState(null),[v,g]=u.useState(null),[$,E]=u.useState(null),N=m;return u.useEffect(()=>{if(!x)return;const w=new AbortController;return x.fetchUsers({signal:w.signal}).then(z=>{w.signal.aborted||h(z??[])}).catch(()=>{w.signal.aborted||h([])}),()=>{w.abort()}},[x]),u.useEffect(()=>{const w=new AbortController,z=async A=>{if(!A||!x)return null;try{const B=await x.fetchUserTriiById({userId:A,signal:w.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const A=Oe({userId:n.owner,users:y,currentUser:c})??(n.owner?await z(n.owner):null),B=Oe({userId:n.createdBy??void 0,users:y,currentUser:c})??(n.createdBy?await z(n.createdBy):null),U=Oe({userId:n.updatedBy??void 0,users:y,currentUser:c})??(n.updatedBy?await z(n.updatedBy):null);w.signal.aborted||(j(A),E(B),g(U))})(),()=>{w.abort()}},[x,n,y,c]),t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(Ct,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:f||"-",inputType:"select",options:y,constructUpdateObject:w=>({owner:typeof w=="string"?w:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:d}),t.jsx(Ct,{title:a("conversations.contactDetails.createdBy"),value:$||"-",isNotEditable:!0}),t.jsx(Ct,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),N.field.customProperties.map(w=>t.jsx(xa,{property:w,entity:N,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},w.nameKey))]})})},kr=e=>{const{entityType:a,entityData:n}=e;return u.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Dr,{...e,entityData:n,entityType:"contact"}):t.jsx(Ur,{...e,entityData:n,entityType:"business"})},$r=()=>{const[e,a]=u.useState(!1),[n,s]=u.useState("");return{isOpen:e,title:n,openModal:o=>{s(o),a(!0)},closeModal:()=>{a(!1),s("")}}},Nr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Fr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Br=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Mr=ue.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Pr=ue.styled(r.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),It=ue.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Lr=ue.styled(It)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),_r=ue.styled(It)(({})=>({fontSize:14,fontWeight:500})),Or=ue.styled(It)(({})=>({fontSize:14,fontWeight:500})),Rr=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=He({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Nr,{children:[t.jsx(Fr,{children:t.jsxs(Mr,{children:[t.jsx(r.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(_r,{children:e.address})}),t.jsx(r.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Or,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Lr,{children:e.note})})]})}),t.jsxs(Br,{children:[a!==""&&t.jsx(Pr,{src:n,alt:e.profileName,style:{cursor:"pointer"},children:e?.profileName?.charAt(0).toUpperCase()}),t.jsx(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(r.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(we.Star,{sx:{color:"#fcac34"}}):t.jsx(we.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},St=Wt.PhoneNumberUtil.getInstance(),zr=e=>{if(!e||!e.trim())return e;try{const a=St.parse(e,void 0);return St.isValidNumber(a)?St.format(a,Wt.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Wr=ue.styled(r.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Vr=ue.styled(en)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),qr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Yr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Kr=ue.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Gr=ue.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),ba=ue.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Hr=ue.styled(ba)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Jr=ue.styled(ba)(({})=>({fontSize:14,fontWeight:500})),Xr=({item:e})=>{const a=()=>{const s=e.address;if(!s)return;const o=new CustomEvent("call-contact-header",{detail:{phoneAddress:s}});window.dispatchEvent(o)},n=u.useMemo(()=>zr(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(qr,{children:[t.jsxs(Yr,{children:[t.jsx(Wr,{onClick:a,color:"primary",size:"small",children:t.jsx(Vr,{})}),t.jsxs(Gr,{children:[t.jsx(r.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Jr,{children:n})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Hr,{children:e.note})})]})]}),t.jsx(Kr,{children:t.jsx(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(r.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(we.Star,{sx:{color:"#fcac34"}}):t.jsx(we.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Qr=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",padding:e.spacing(1,0,2,0),width:"100%",gap:e.spacing(1),"&:hover .edit-icon":{opacity:1}})),Zr=r.styled(r.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),ei=r.styled(r.Box)(({})=>({display:"flex",alignItems:"center"})),ti=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),ai=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),ni=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:o})=>t.jsxs(Qr,{children:[t.jsxs(ei,{children:[t.jsx(Zr,{children:e}),t.jsx(ai,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(tt,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(ti,{children:a.map((i,c)=>n?t.jsx(Xr,{item:i},c):t.jsx(Rr,{item:i,owner:o},c))})]}),si=({title:e})=>t.jsx(r.Box,{children:t.jsx(r.Typography,{variant:"subtitle2",children:e})}),ri={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ot=({title:e,handleAdd:a})=>{const n=re();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(r.Box,{sx:ri.container,children:[t.jsx(r.Typography,{variant:"subtitle2",children:e}),t.jsx(r.Button,{onClick:a,size:"small",startIcon:t.jsx(tn,{}),variant:"text",color:"primary",children:n("global.add")})]})},ii={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Xe=({children:e})=>t.jsx(r.Box,{sx:ii.container,children:e}),va={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},oi=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:o})=>{const i=re(),[c,d]=u.useState(null),p=!!c,{channelType:m,address:x}=a,[y,h]=u.useState(!1),[f,j]=u.useState(null),[v,g]=u.useState(!1),$=U=>{d(U.currentTarget)},E=()=>{d(null)},N=()=>{g(!1)},w=()=>{e(),E()},z=async()=>{h(!0);try{if(!o)return;const U=await o(13);if(!U)return;j(U),g(!0)}catch(U){console.error("Error verifying WhatsApp account:",U)}finally{h(!1)}E()},A=async()=>{h(!0);try{if(!o)return;const U=await o(21);if(!U)return;j(U),g(!0)}catch(U){console.error("Error verifying RCS account:",U)}finally{h(!1)}E()},B=async()=>{await n(),g(!1)};return t.jsxs(r.Box,{children:[t.jsx(r.IconButton,{"aria-controls":p?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":p?"true":void 0,onClick:$,children:t.jsx(an,{})}),t.jsxs(r.Menu,{id:"basic-menu",anchorEl:c,open:p,onClose:E,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(r.MenuItem,{onClick:w,children:[t.jsx(r.ListItemIcon,{children:t.jsx(_t,{color:"error"})}),t.jsx(r.ListItemText,{children:i("global.delete")})]}),m===5&&t.jsxs(r.MenuItem,{onClick:z,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(nn,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),m===21&&t.jsxs(r.MenuItem,{onClick:A,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(sn,{})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:v,onClose:N,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(r.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:U=>U.palette.background.default},children:f?.success?t.jsxs(t.Fragment,{children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.wspAccountFound")," ",x]}),t.jsx(r.Typography,{id:"modal-modal-description",sx:{mt:2},children:i("optionsMenu.wantToLinkContact")}),t.jsxs(r.Box,{sx:{marginTop:"10px"},children:[t.jsx(r.Button,{onClick:B,color:"primary",children:i("optionsMenu.yesLink")}),t.jsx(r.Button,{onClick:N,color:"secondary",children:"No"})]})]}):t.jsxs(r.Box,{sx:{position:"relative"},children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.noWspAccountFound")," ",x]}),t.jsx(r.Button,{onClick:N,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Qe=e=>{const a=re(),n=Ue(),{editEntity:s,entityId:o}=Ae(),[i,c]=u.useState(!1),d=e.checked??!0,p=e.entityId??o,{note:m,channelType:x,id:y,address:h}=e.addressData,f=!e.addressData.hasOwnProperty("isSaved"),j=e.replaceAddress??s.action.replaceAddress,v=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),g=async w=>{if(!n||!p)return null;const z=await n.setContactAddress({data:{address:h,contactId:p,type:w}});return j(y,z),z},$=async()=>{if(!n||!p)return;const w=await n.updateContactAddress({data:{contactAddressId:y,contactId:p,note:m??""}});j(y,w)},E=async()=>{c(!0),f?(await $(),c(!1)):await g(x)&&c(!1)},N=async()=>{c(!0);const w=await g(13);w&&v&&v(w),w&&c(!1)};return t.jsxs(r.Box,{sx:{...va.container},children:[f&&t.jsx(r.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:w=>e.handleNoteFieldChange(w,y,x),value:m,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:va.noteTextField}),t.jsx(r.IconButton,{onClick:E,children:i?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{color:"primary"})}),t.jsx(oi,{onDelete:()=>e.handleDeleteAddress(y,x),addressData:e.addressData,handleLinkAccountSave:N,checked:d&&!i,onCheckContactAddress:async w=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:h,type:w}})}catch{return null}}})]})},li={container:{display:"flex",gap:"100px",alignItems:"center"}},Ze=({children:e})=>t.jsx(r.Box,{sx:li.container,children:e}),ci={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},et=({children:e})=>t.jsx(r.Box,{sx:{...ci.container},children:e}),di=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(ln,{size:20});case"available":return t.jsx(rn,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(on,{style:{height:27,width:27},color:"error"});default:return null}},ja=({status:e,text:a})=>t.jsxs(cn,{position:"end",children:[a?t.jsx(dn,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(di,{status:e})})]}),ui={code:{width:"60%",color:"gray"}},pi=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Xe,{children:t.jsxs(Ze,{children:[t.jsx(r.Typography,{sx:ui.code,variant:"body2",children:e.address}),t.jsx(Qe,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},mi=({IMSs:e,editEntity:a})=>t.jsx(et,{children:e?.map(n=>t.jsx(pi,{data:n,editEntity:a},n.id))}),lt=({editEntity:e,title:a,IMSs:n})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(si,{title:a}),t.jsx(mi,{IMSs:n,editEntity:e})]}),yi={addressField:{}},Tt=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:o,address:i}=e,c=re(),d=Ue(),[p,m]=u.useState("idle"),[x,y]=u.useState(i),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(i!==""&&i!==x){if(!d)return;m("loading"),y(i);const j={address:i,type:o};try{const v=await d.checkContactAddress({data:j}),{success:g,warnings:$}=v;n($),m(g?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(f)},[d,e,i,o,x,n]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:h,sx:yi.addressField,size:"small",label:o===Le.ChannelType.WHATSAPP||o===Le.ChannelType.RCS?c?c("global.number"):"Number":c?c("global.email"):"Email",value:i,onChange:f=>{a(f,s,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ja,{status:p})})}})})},hi={addressField:{}},fi=({data:e,onChange:a,setWarnings:n})=>{const s=Ue(),o=re(),{id:i,channelType:c,address:d}=e,[p,m]=u.useState("idle"),[x,y]=u.useState(d),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(d!==""&&d!==x){if(!s)return;m("loading"),y(d);const j={address:d,type:c};try{const{success:v,warnings:g}=await s.checkContactAddress({data:j});n(g),m(v?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(f)},[e]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:h,sx:hi.addressField,size:"small",label:o("global.number"),value:d,onChange:f=>{a(f,i,c)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ja,{status:p})})}})})},Et={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},gi=({text:e})=>t.jsx(r.Grid,{item:!0,children:t.jsx(r.Box,{sx:Et.secondaryContainer,children:t.jsx(pn,{icon:t.jsx(un,{sx:Et.icon}),sx:Et.chip,label:e,color:"error",variant:"outlined"})})}),ct=({warnings:e})=>{const a=re();return t.jsx(r.Box,{children:t.jsx(r.Grid,{container:!0,children:e?.map((n,s)=>t.jsx(gi,{text:a(`contactAddressError.${n}`)},s))})})},xi={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},bi=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]),[d,p]=u.useState(!0);return u.useEffect(()=>{p(i.length===0&&(e.address??"")!=="")},[i,e.address]),t.jsx(Xe,{children:t.jsxs(Ze,{children:[t.jsxs(r.Box,{sx:{...xi.numberCountryContainer,flexDirection:"column"},children:[t.jsx(fi,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange}),i.length>0&&t.jsx(ct,{warnings:i})]}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:d})]})})},vi=({phoneNumbers:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(bi,{data:a},a.id))}),ji=({phoneNumbers:e,handleAdd:a})=>{const n=re();return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:n("global.phones")}),t.jsx(vi,{phoneNumbers:e})]})},wa={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},wi=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:wa.numberCountryContainer,children:t.jsx(r.Box,{sx:wa.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Ci=({emails:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(wi,{data:a},a.id))}),Ii=({emails:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"Emails"}),t.jsx(Ci,{emails:e})]}),Ca={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Si=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:Ca.numberCountryContainer,children:t.jsx(r.Box,{sx:Ca.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Ti=({whatsapps:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(Si,{data:a},a.id))}),Ei=({whatsapps:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"WhatsApp"}),t.jsx(Ti,{whatsapps:e})]}),Ia={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ai=({data:e})=>{const a="edit",{editEntity:n}=Ae(),s=n.action,o=n.state,[i,c]=u.useState([]);return t.jsxs(Xe,{children:[t.jsxs(Ze,{children:[t.jsx(r.Box,{sx:Ia.numberCountryContainer,children:t.jsx(r.Box,{sx:Ia.adressInputBox,children:t.jsx(Tt,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Qe,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:s.replaceAddress})]}),i.length>0&&t.jsx(ct,{warnings:i})]})},Di=({RCSs:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(Ai,{data:a},a.id))}),Ui=({RCSs:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ot,{handleAdd:a,title:"RCS"}),t.jsx(Di,{RCSs:e})]}),ki=ue.styled(r.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.paper,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),$i=({open:e,onClose:a,title:n})=>{const s=re(),{editEntity:o}=Ae(),{emails:i,phoneNumbers:c,imsWhatsapp:d,imsRCS:p}=o.field,{addEmail:m,addPhone:x,addWhatsapp:y,resetToInitialContactInformation:h,addRCS:f}=o.action;function j(){a(),h()}return t.jsx(r.Modal,{open:e,onClose:a,children:t.jsxs(ki,{children:[(()=>{switch(n){case"Phones":return t.jsx(ji,{handleAdd:x,phoneNumbers:c});case"Emails":return t.jsx(Ii,{handleAdd:m,emails:i});case"Whatsapp":return t.jsx(Ei,{handleAdd:y,whatsapps:d});case"RCS":return t.jsx(Ui,{handleAdd:f,RCSs:p});case"Facebook":return t.jsx(lt,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(lt,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(lt,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(lt,{title:"Mercado Libre",IMSs:o.field.imsMercadolibre,editEntity:o});default:return t.jsx(r.Typography,{children:"No information available for this section."})}})(),t.jsx(r.Box,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(r.Button,{variant:"contained",color:"primary",onClick:j,children:s("global.close")})})]})})},Ni=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:o}=$r(),{editEntity:i}=Ae(),c=re(),d=i.field.phoneNumbers,p=i.field.emails,m=i.field.imsFacebooks,x=i.field.imsWhatsapp,y=i.field.imsMercadolibre,h=i.field.imsWebchats,f=i.field.imsInstagrams,j=i.field.imsRCS,v=[{key:"phones",title:c("conversations.contactDetails.phones"),items:d,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:p,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:m,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:x,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:j,modalTitle:"RCS",visible:j.length>0},{key:"mercado-libre",title:"Mercado libre",items:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:h,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:f,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(it,{title:c("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(g=>g.visible).map(g=>t.jsx(ni,{handleEdit:()=>s(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx($i,{open:a,onClose:o,title:n})]})},Fi=({entityType:e,entityData:a,baseUrl:n,spaceId:s,onEntityUpdated:o,onDirectionSearchClick:i})=>{const c={baseUrl:n,spaceId:s,entityId:String(a.id),onEntityUpdated:o},d=re(),p=({addressNumber:m,title:x})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(r.Typography,{variant:"body2",children:x}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-3",children:[t.jsx("div",{className:"col-span-2",children:t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.street"),value:a[m]?.street??"",...c,constructUpdateObject:y=>({[m]:{street:y}}),minWidth:"100%"})}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.city"),value:a[m]?.city??"",...c,constructUpdateObject:y=>({[m]:{city:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.state"),value:a[m]?.state??"",...c,constructUpdateObject:y=>({[m]:{state:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[m]?.zipcode??"",...c,constructUpdateObject:y=>({[m]:{zipcode:y}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.country"),value:a[m]?.country??"",...c,constructUpdateObject:y=>({[m]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(it,{title:d("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:i,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(p,{addressNumber:"address1",title:d("conversations.contactDetails.primaryAddress")}),t.jsx(p,{addressNumber:"address2",title:d("conversations.contactDetails.secondaryAddress")})]})})},Bi=({entity:e,setEntity:a})=>u.useCallback(n=>{if(!n||typeof n!="object")return;const s=n;if("id"in s){a(n);return}if(!e)return;const o={...e,...s};a(o)},[e,a]),Mi=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:o,labels:i,selectedTags:c,onTagsUpdated:d})=>{const[p,m]=u.useState("main"),[x,y]=u.useState([]),[h,f]=u.useState(!1),[j,v]=u.useState(!1),[g,$]=u.useState([]),[E,N]=u.useState(!1),w=u.useMemo(()=>{const U=i??[],T=g??[],L=new Map;for(const _ of U)_?.id&&L.set(String(_.id),_);for(const _ of T)_?.id&&L.set(String(_.id),_);return Array.from(L.values())},[i,g]),z=u.useCallback(()=>{m("main"),y([]),f(!1),v(!1),$([]),N(!1)},[]);u.useEffect(()=>{e||z()},[e,z]),u.useEffect(()=>{if(p!=="tags"){f(!1);return}if(h||!w.length)return;const U=new Set(c.map(L=>String(L.id))),T=w.filter(L=>U.has(String(L?.id)));y(T),f(!0)},[p,h,w,c]);const A=u.useCallback(async U=>{if(E||!a||!n)return;const T=String(U??"").trim();if(!T)return;const L=T.toLowerCase(),_=w.find(P=>String(P?.name??"").trim().toLowerCase()===L);if(_?.id){y(P=>{const V=P??[];return V.some(S=>String(S?.id)===String(_.id))?V:[...V,_]});return}N(!0);try{const P=await ta({baseUrl:a,spaceId:n,name:T});$(V=>{const S=V??[];return!P?.id||S.some(H=>String(H?.id)===String(P.id))?S:[...S,P]}),y(V=>{const S=V??[];return!P?.id||S.some(H=>String(H?.id)===String(P.id))?S:[...S,P]})}finally{N(!1)}},[E,a,n,w]),B=u.useCallback(async()=>{if(j||!a||!n||!s||o!=="contact"&&o!=="business")return;const U=x.filter(T=>T?.id&&T?.name).map(T=>({id:String(T.id),name:String(T.name)}));v(!0);try{await Te({baseUrl:a,spaceId:n,entityType:o,entityId:String(s.id),body:{tags:U}}),d(U),m("main")}finally{v(!1)}},[j,a,n,s,o,x,d]);return{view:p,setView:m,draftLabels:x,setDraftLabels:y,labelsOptions:w,isSaving:j,isCreatingLabel:E,handleCreateLabel:A,handleSaveTags:B}},Pi=({onClose:e})=>u.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Li={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},_i=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:o,onEntityUpdated:i,currentUser:c})=>{const d=re(),p=Ue(),m=u.useRef(null),x=u.useRef(null),[y,h]=u.useState(()=>s?.businessName??""),[f,j]=u.useState(!1),[v,g]=u.useState(!1),[$,E]=u.useState(!1),[N,w]=u.useState([]),[z,A]=u.useState(s??null),[B,U]=u.useState(1),[T,L]=u.useState(!1),[_,P]=u.useState(!1),V=u.useMemo(()=>{const W=c?.display_name,J=c?.email;return String(W||J||"").trim()},[c]);u.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null),x.current?.abort()},[]),u.useEffect(()=>{A(s??null),h(s?.businessName??"")},[s]);const S=()=>{x.current?.abort(),x.current=null,m.current&&(clearTimeout(m.current),m.current=null),j(!1),P(!1),U(1),L(!1),w([])},H=W=>W.filter(J=>!!J?.id).map(J=>({businessId:String(J.id),businessName:String(J.name??"")})),K=async({query:W,page:J})=>{if(!p)return;x.current?.abort();const se=new AbortController;x.current=se,g(!0);try{const me={...Li,currentPage:J,filter:[{value:W,column:"name",condition:""}]},he=await p.fetchBusinessTableData({pagination:me,signal:se.signal});if(se.signal.aborted)return;const fe=H(he?.contactos??[]);j(!0);const Y=he?.paginacion?.total??0;w(Se=>{const ae=J===1?fe:(()=>{const de=new Map;for(const oe of Se)de.set(oe.businessId,oe);for(const oe of fe)de.set(oe.businessId,oe);return Array.from(de.values())})();return Y&&ae.length>=Y&&P(!0),ae})}finally{g(!1),E(!1),L(!1)}},F=W=>{S(),W&&(m.current&&(clearTimeout(m.current),m.current=null),E(!0),m.current=setTimeout(()=>{K({query:W,page:1})},800))},I=W=>{const J=W.target;if(!(J.scrollHeight-J.scrollTop-J.clientHeight<1)||_||v||!y)return;const se=B+1;L(!0),U(se),K({query:y,page:se})},C=async()=>{if(!p||!V)return;const W=String(y??"").trim();if(W){g(!0);try{const J={name:W,owner:V,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},se=await p.createBusiness({business:J}),me={businessId:String(se.id??""),businessName:String(se.name??W)};w([me]),A(me),j(!0)}finally{g(!1)}}},M=async()=>{if(!e||!a||!n)return;const W=z?.businessId??"",J=await Te({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});i?.(J),o()},D=f&&N.length===0&&y?t.jsxs(r.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),t.jsx(Pe.LoadingButton,{size:"small",variant:"contained",onClick:C,loading:v,disabled:v||!V,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),O=!n||!e||!a;return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(r.IconButton,{size:"small",onClick:o,"aria-label":d("global.back"),children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:d("conversations.contactDetails.business")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Pe.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Fe,{}),onClick:M,loading:!1,disabled:O,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[v||$||T?t.jsx(r.Box,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(r.LinearProgress,{sx:{borderRadius:1}})}):null,t.jsx(r.Autocomplete,{fullWidth:!0,disablePortal:!0,value:z,onChange:(W,J)=>{A(J)},inputValue:y,onInputChange:(W,J,se)=>{h(J),se==="input"&&F(J)},options:N,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,J)=>W.businessId===J.businessId,noOptionsText:D,renderInput:W=>t.jsx(r.TextField,{...W,size:"small",label:d("conversations.contactDetails.business"),placeholder:d("global.noValue"),InputProps:{...W.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||$?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:I}})]})]})},Oi=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:o,sx:i,language:c="en",navigate:d,googleMapsApiKey:p,onEntityUpdated:m})=>{const{t:x,i18n:y}=We.useTranslation(),h=u.useRef(null);u.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!p){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const K=document.createElement("script");return K.src=`https://maps.googleapis.com/maps/api/js?key=${p}&libraries=places`,K.async=!0,K.defer=!0,document.body.appendChild(K),()=>{}},[p]),u.useEffect(()=>{c&&y.changeLanguage(c)},[c,y]);const f=K=>x(K),j=u.useMemo(()=>!n||!s?null:sa(n,s),[n,s]),{state:v,selectors:g,actions:$}=Xs({open:e,baseUrl:n,spaceId:s,contactId:o}),E=Bi({entity:v.contactData,setEntity:K=>{$.setContactData(K??void 0),K&&m&&m(K)}}),{view:N,setView:w,draftLabels:z,setDraftLabels:A,labelsOptions:B,isSaving:U,isCreatingLabel:T,handleCreateLabel:L,handleSaveTags:_}=Mi({open:e,baseUrl:n,spaceId:s,contactData:v.contactData,contactType:g.contactType,labels:g.labels,selectedTags:g.tags,onTagsUpdated:K=>{if(!v.contactData)return;const F={...v.contactData,tags:K};$.setContactData(F),m&&m(F)}}),P=He({baseUrl:n,spaceId:s,entityType:g.contactType==="business"||g.contactType==="contact"?g.contactType:void 0,entityId:v.contactData?String(v.contactData.id):void 0,initialImageUrl:v.contactData?.imageUrl,onEntityUpdated:E}),V=Pi({onClose:a}),S={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},H=Array.isArray(i)?[S,...i]:i?[S,i]:S;return t.jsx(ws,{value:j,children:t.jsx(vs,{t:f,children:t.jsx(hr,{navigate:d,children:t.jsx(r.Modal,{open:e,onClose:V,closeAfterTransition:!0,slots:{backdrop:r.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(r.Fade,{in:e,timeout:200,children:t.jsxs(r.Box,{sx:H,ref:h,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:V,sx:{position:"absolute",right:5,top:5,color:K=>K.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ga,{sx:{fontSize:20}})}),v.isLoading&&!v.contactData?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(r.CircularProgress,{})}):v.error?t.jsx(r.Box,{sx:{mb:2},children:"Failed to load contact"}):v.contactData?t.jsx(mr,{value:{view:N,setView:w},children:t.jsx(dr,{entityType:g.contactType==="business"?"business":"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:N==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Us,{imgUrl:P.imageUrl,displayName:g.displayName,tags:g.tags,onEditTags:()=>{w("tags")},onUploadPhoto:P.action.uploadImage,onPhotoFileChange:P.inputAtributes.onChange,photoInputRef:P.inputAtributes.ref,isUploadingPhoto:P.isUploading,onDeletePhoto:P.action.deleteImage,isDeletingPhoto:P.isDeleting,contactType:g.contactType,entityId:v.contactData?.id,firstName:g.isContact?v.contactData.firstName:void 0,lastName:g.isContact?v.contactData.lastName:void 0,name:g.isBusiness?v.contactData.name:void 0,onEntityUpdated:E}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx(kr,{dateFormat:g.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:E,currentUser:g.userTrii}),t.jsx(Fi,{entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,baseUrl:n,spaceId:s,onEntityUpdated:E,onDirectionSearchClick:()=>w("searchLocation")}),t.jsx(Ni,{ownerData:v.contactData})]})]})}),t.jsx(r.Fade,{in:N==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Js,{baseUrl:n,spaceId:s,entityType:g.contactType==="business"?"business":"contact",entityId:String(v.contactData.id),onBack:()=>w("main"),onEntityUpdated:E})})}),t.jsx(r.Fade,{in:N==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx($s,{value:z,options:B,onChange:A,onBack:()=>w("main"),onSave:_,isSaving:U,onCreateNew:L,isCreatingNew:T,popperContainer:h.current})})}),t.jsx(r.Fade,{in:N==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(_i,{baseUrl:n,spaceId:s,contactId:String(v.contactData.id),initialBusiness:g.isContact&&v.contactData?.businessId?{businessId:String(v.contactData.businessId),businessName:String(v.contactData.businessName??"")}:null,onBack:()=>w("main"),onEntityUpdated:E,currentUser:g.userTrii})})})]})})}):null]})})})})})})},Ri=e=>t.jsx(We.I18nextProvider,{i18n:at,children:t.jsx(Oi,{...e})});exports.ContactInfoPopup=Ht,exports.EditContactModal=Ri,exports.i18n=at;
17
17
  //# sourceMappingURL=index.js.map