@trii/components 2.0.54 → 2.0.55
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
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";var u=require("react"),r=require("@mui/material"),
|
|
2
|
-
`+he+l}}var
|
|
3
|
-
`),ge=
|
|
4
|
-
`),le=
|
|
5
|
-
`+
|
|
1
|
+
"use strict";var u=require("react"),r=require("@mui/material"),we=require("@mui/icons-material"),qa=require("@mui/icons-material/ArrowForward"),Ya=require("@mui/icons-material/Message"),G=require("@trii/types/dist/Contacts"),Ne=require("moment"),We=require("react-i18next"),Ka=require("i18next"),Ga=require("@mui/icons-material/Close"),tt=require("@mui/icons-material/Edit"),Ha=require("@mui/icons-material/Label"),_t=require("@mui/icons-material/Delete"),Ja=require("@mui/icons-material/PhotoCamera"),gt=require("@mui/icons-material/ArrowBack"),Fe=require("@mui/icons-material/Save"),Xa=require("@mui/material/Popper"),Pe=require("@mui/lab"),Le=require("@trii/types/dist/Common/Channels"),Z=require("dayjs"),Qa=require("@mui/icons-material/AddLocationAlt"),Ve=require("@mui/x-date-pickers/AdapterDayjs"),qe=require("@mui/x-date-pickers/LocalizationProvider"),Ot=require("@mui/x-date-pickers"),Ye=require("@mui/material/Box"),Rt=require("@mui/icons-material/Cancel"),Za=require("@mui/x-date-pickers/TimePicker"),zt=require("@mui/x-date-pickers-pro"),ue=require("@mui/system"),en=require("@mui/icons-material/LocalPhone"),Wt=require("google-libphonenumber"),tn=require("@mui/icons-material/Add"),an=require("@mui/icons-material/MoreVert"),nn=require("@mui/icons-material/WhatsApp"),sn=require("@mui/icons-material/Mms"),rn=require("@mui/icons-material/CheckRounded"),on=require("@mui/icons-material/CloseRounded"),ln=require("@mui/material/CircularProgress"),cn=require("@mui/material/InputAdornment"),dn=require("@mui/material/Typography"),un=require("@mui/icons-material/Warning"),pn=require("@mui/material/Chip");function mn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var xt={exports:{}},Ke={},Vt;function yn(){if(Vt)return Ke;Vt=1;var e=u,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(d,p,m){var x,y={},h=null,f=null;m!==void 0&&(h=""+m),p.key!==void 0&&(h=""+p.key),p.ref!==void 0&&(f=p.ref);for(x in p)s.call(p,x)&&!i.hasOwnProperty(x)&&(y[x]=p[x]);if(d&&d.defaultProps)for(x in p=d.defaultProps,p)y[x]===void 0&&(y[x]=p[x]);return{$$typeof:a,type:d,key:h,ref:f,props:y,_owner:o.current}}return Ke.Fragment=n,Ke.jsx=c,Ke.jsxs=c,Ke}var Ge={},qt;function hn(){return qt||(qt=1,process.env.NODE_ENV!=="production"&&(function(){var e=u,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),j=Symbol.iterator,v="@@iterator";function g(l){if(l===null||typeof l!="object")return null;var b=j&&l[j]||l[v];return typeof b=="function"?b:null}var $=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function E(l){{for(var b=arguments.length,k=new Array(b>1?b-1:0),q=1;q<b;q++)k[q-1]=arguments[q];N("error",l,k)}}function N(l,b,k){{var q=$.ReactDebugCurrentFrame,ee=q.getStackAddendum();ee!==""&&(b+="%s",k=k.concat([ee]));var ne=k.map(function(Q){return String(Q)});ne.unshift("Warning: "+b),Function.prototype.apply.call(console[l],console,ne)}}var w=!1,z=!1,A=!1,B=!1,U=!1,T;T=Symbol.for("react.module.reference");function L(l){return!!(typeof l=="string"||typeof l=="function"||l===s||l===i||U||l===o||l===m||l===x||B||l===f||w||z||A||typeof l=="object"&&l!==null&&(l.$$typeof===h||l.$$typeof===y||l.$$typeof===c||l.$$typeof===d||l.$$typeof===p||l.$$typeof===T||l.getModuleId!==void 0))}function _(l,b,k){var q=l.displayName;if(q)return q;var ee=b.displayName||b.name||"";return ee!==""?k+"("+ee+")":k}function P(l){return l.displayName||"Context"}function V(l){if(l==null)return null;if(typeof l.tag=="number"&&E("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof l=="function")return l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case s:return"Fragment";case n:return"Portal";case i:return"Profiler";case o:return"StrictMode";case m:return"Suspense";case x:return"SuspenseList"}if(typeof l=="object")switch(l.$$typeof){case d:var b=l;return P(b)+".Consumer";case c:var k=l;return P(k._context)+".Provider";case p:return _(l,l.render,"ForwardRef");case y:var q=l.displayName||null;return q!==null?q:V(l.type)||"Memo";case h:{var ee=l,ne=ee._payload,Q=ee._init;try{return V(Q(ne))}catch{return null}}}return null}var S=Object.assign,H=0,K,F,I,C,M,D,O;function W(){}W.__reactDisabledLog=!0;function J(){{if(H===0){K=console.log,F=console.info,I=console.warn,C=console.error,M=console.group,D=console.groupCollapsed,O=console.groupEnd;var l={configurable:!0,enumerable:!0,value:W,writable:!0};Object.defineProperties(console,{info:l,log:l,warn:l,error:l,group:l,groupCollapsed:l,groupEnd:l})}H++}}function se(){{if(H--,H===0){var l={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},l,{value:K}),info:S({},l,{value:F}),warn:S({},l,{value:I}),error:S({},l,{value:C}),group:S({},l,{value:M}),groupCollapsed:S({},l,{value:D}),groupEnd:S({},l,{value:O})})}H<0&&E("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=$.ReactCurrentDispatcher,he;function fe(l,b,k){{if(he===void 0)try{throw Error()}catch(ee){var q=ee.stack.trim().match(/\n( *(at )?)/);he=q&&q[1]||""}return`
|
|
2
|
+
`+he+l}}var Y=!1,Se;{var ae=typeof WeakMap=="function"?WeakMap:Map;Se=new ae}function de(l,b){if(!l||Y)return"";{var k=Se.get(l);if(k!==void 0)return k}var q;Y=!0;var ee=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ne;ne=me.current,me.current=null,J();try{if(b){var Q=function(){throw Error()};if(Object.defineProperty(Q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Q,[])}catch(be){q=be}Reflect.construct(l,[],Q)}else{try{Q.call()}catch(be){q=be}l.call(Q.prototype)}}else{try{throw Error()}catch(be){q=be}l()}}catch(be){if(be&&q&&typeof be.stack=="string"){for(var X=be.stack.split(`
|
|
3
|
+
`),ge=q.stack.split(`
|
|
4
|
+
`),le=X.length-1,ce=ge.length-1;le>=1&&ce>=0&&X[le]!==ge[ce];)ce--;for(;le>=1&&ce>=0;le--,ce--)if(X[le]!==ge[ce]){if(le!==1||ce!==1)do if(le--,ce--,ce<0||X[le]!==ge[ce]){var Ie=`
|
|
5
|
+
`+X[le].replace(" at new "," at ");return l.displayName&&Ie.includes("<anonymous>")&&(Ie=Ie.replace("<anonymous>",l.displayName)),typeof l=="function"&&Se.set(l,Ie),Ie}while(le>=1&&ce>=0);break}}}finally{Y=!1,me.current=ne,se(),Error.prepareStackTrace=ee}var Me=l?l.displayName||l.name:"",$e=Me?fe(Me):"";return typeof l=="function"&&Se.set(l,$e),$e}function oe(l,b,k){return de(l,!1)}function De(l){var b=l.prototype;return!!(b&&b.isReactComponent)}function R(l,b,k){if(l==null)return"";if(typeof l=="function")return de(l,De(l));if(typeof l=="string")return fe(l);switch(l){case m:return fe("Suspense");case x:return fe("SuspenseList")}if(typeof l=="object")switch(l.$$typeof){case p:return oe(l.render);case y:return R(l.type,b,k);case h:{var q=l,ee=q._payload,ne=q._init;try{return R(ne(ee),b,k)}catch{}}}return""}var je=Object.prototype.hasOwnProperty,Ce={},Ee=$.ReactDebugCurrentFrame;function te(l){if(l){var b=l._owner,k=R(l.type,l._source,b?b.type:null);Ee.setExtraStackFrame(k)}else Ee.setExtraStackFrame(null)}function dt(l,b,k,q,ee){{var ne=Function.call.bind(je);for(var Q in l)if(ne(l,Q)){var X=void 0;try{if(typeof l[Q]!="function"){var ge=Error((q||"React class")+": "+k+" type `"+Q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof l[Q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ge.name="Invariant Violation",ge}X=l[Q](b,Q,q,k,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(le){X=le}X&&!(X instanceof Error)&&(te(ee),E("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",q||"React class",k,Q,typeof X),te(null)),X instanceof Error&&!(X.message in Ce)&&(Ce[X.message]=!0,te(ee),E("Failed %s type: %s",k,X.message),te(null))}}}var Re=Array.isArray;function ut(l){return Re(l)}function Sa(l){{var b=typeof Symbol=="function"&&Symbol.toStringTag,k=b&&l[Symbol.toStringTag]||l.constructor.name||"Object";return k}}function Ta(l){try{return At(l),!1}catch{return!0}}function At(l){return""+l}function Dt(l){if(Ta(l))return E("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Sa(l)),At(l)}var ze=$.ReactCurrentOwner,Ea={key:!0,ref:!0,__self:!0,__source:!0},Ut,kt,pt;pt={};function Aa(l){if(je.call(l,"ref")){var b=Object.getOwnPropertyDescriptor(l,"ref").get;if(b&&b.isReactWarning)return!1}return l.ref!==void 0}function Da(l){if(je.call(l,"key")){var b=Object.getOwnPropertyDescriptor(l,"key").get;if(b&&b.isReactWarning)return!1}return l.key!==void 0}function Ua(l,b){if(typeof l.ref=="string"&&ze.current&&b&&ze.current.stateNode!==b){var k=V(ze.current.type);pt[k]||(E('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',V(ze.current.type),l.ref),pt[k]=!0)}}function ka(l,b){{var k=function(){Ut||(Ut=!0,E("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",b))};k.isReactWarning=!0,Object.defineProperty(l,"key",{get:k,configurable:!0})}}function $a(l,b){{var k=function(){kt||(kt=!0,E("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",b))};k.isReactWarning=!0,Object.defineProperty(l,"ref",{get:k,configurable:!0})}}var Na=function(l,b,k,q,ee,ne,Q){var X={$$typeof:a,type:l,key:b,ref:k,props:Q,_owner:ne};return X._store={},Object.defineProperty(X._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(X,"_self",{configurable:!1,enumerable:!1,writable:!1,value:q}),Object.defineProperty(X,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.freeze&&(Object.freeze(X.props),Object.freeze(X)),X};function Fa(l,b,k,q,ee){{var ne,Q={},X=null,ge=null;k!==void 0&&(Dt(k),X=""+k),Da(b)&&(Dt(b.key),X=""+b.key),Aa(b)&&(ge=b.ref,Ua(b,ee));for(ne in b)je.call(b,ne)&&!Ea.hasOwnProperty(ne)&&(Q[ne]=b[ne]);if(l&&l.defaultProps){var le=l.defaultProps;for(ne in le)Q[ne]===void 0&&(Q[ne]=le[ne])}if(X||ge){var ce=typeof l=="function"?l.displayName||l.name||"Unknown":l;X&&ka(Q,ce),ge&&$a(Q,ce)}return Na(l,X,ge,ee,q,ze.current,Q)}}var mt=$.ReactCurrentOwner,$t=$.ReactDebugCurrentFrame;function Be(l){if(l){var b=l._owner,k=R(l.type,l._source,b?b.type:null);$t.setExtraStackFrame(k)}else $t.setExtraStackFrame(null)}var yt;yt=!1;function ht(l){return typeof l=="object"&&l!==null&&l.$$typeof===a}function Nt(){{if(mt.current){var l=V(mt.current.type);if(l)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+l+"`."}return""}}function Ba(l){{if(l!==void 0){var
|
|
7
|
+
Check the render method of \``+l+"`."}return""}}function Ba(l){{if(l!==void 0){var b=l.fileName.replace(/^.*[\\\/]/,""),k=l.lineNumber;return`
|
|
8
8
|
|
|
9
|
-
Check your code at `+
|
|
9
|
+
Check your code at `+b+":"+k+"."}return""}}var Ft={};function Ma(l){{var b=Nt();if(!b){var k=typeof l=="string"?l:l.displayName||l.name;k&&(b=`
|
|
10
10
|
|
|
11
|
-
Check the top-level render call using
|
|
11
|
+
Check the top-level render call using <`+k+">.")}return b}}function Bt(l,b){{if(!l._store||l._store.validated||l.key!=null)return;l._store.validated=!0;var k=Ma(b);if(Ft[k])return;Ft[k]=!0;var q="";l&&l._owner&&l._owner!==mt.current&&(q=" It was passed a child from "+V(l._owner.type)+"."),Be(l),E('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',k,q),Be(null)}}function Mt(l,b){{if(typeof l!="object")return;if(ut(l))for(var k=0;k<l.length;k++){var q=l[k];ht(q)&&Bt(q,b)}else if(ht(l))l._store&&(l._store.validated=!0);else if(l){var ee=g(l);if(typeof ee=="function"&&ee!==l.entries)for(var ne=ee.call(l),Q;!(Q=ne.next()).done;)ht(Q.value)&&Bt(Q.value,b)}}}function Pa(l){{var b=l.type;if(b==null||typeof b=="string")return;var k;if(typeof b=="function")k=b.propTypes;else if(typeof b=="object"&&(b.$$typeof===p||b.$$typeof===y))k=b.propTypes;else return;if(k){var q=V(b);dt(k,l.props,"prop",q,l)}else if(b.PropTypes!==void 0&&!yt){yt=!0;var ee=V(b);E("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ee||"Unknown")}typeof b.getDefaultProps=="function"&&!b.getDefaultProps.isReactClassApproved&&E("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function La(l){{for(var b=Object.keys(l.props),k=0;k<b.length;k++){var q=b[k];if(q!=="children"&&q!=="key"){Be(l),E("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",q),Be(null);break}}l.ref!==null&&(Be(l),E("Invalid attribute `ref` supplied to `React.Fragment`."),Be(null))}}var Pt={};function Lt(l,b,k,q,ee,ne){{var Q=L(l);if(!Q){var X="";(l===void 0||typeof l=="object"&&l!==null&&Object.keys(l).length===0)&&(X+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var ge=Ba(ee);ge?X+=ge:X+=Nt();var le;l===null?le="null":ut(l)?le="array":l!==void 0&&l.$$typeof===a?(le="<"+(V(l.type)||"Unknown")+" />",X=" Did you accidentally export a JSX literal instead of a component?"):le=typeof l,E("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",le,X)}var ce=Fa(l,b,k,ee,ne);if(ce==null)return ce;if(Q){var Ie=b.children;if(Ie!==void 0)if(q)if(ut(Ie)){for(var Me=0;Me<Ie.length;Me++)Mt(Ie[Me],l);Object.freeze&&Object.freeze(Ie)}else E("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Mt(Ie,l)}if(je.call(b,"key")){var $e=V(l),be=Object.keys(b).filter(function(Va){return Va!=="key"}),ft=be.length>0?"{key: someKey, "+be.join(": ..., ")+": ...}":"{key: someKey}";if(!Pt[$e+ft]){var Wa=be.length>0?"{"+be.join(": ..., ")+": ...}":"{}";E(`A props object containing a "key" prop is being spread into JSX:
|
|
12
12
|
let props = %s;
|
|
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,j,$){return Lt(l,j,$,!0)}function Ra(l,j,$){return Lt(l,j,$,!1)}var Oa=Ra,za=_a;Ge.Fragment=s,Ge.jsx=Oa,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=>g=>{try{if(g.preventDefault(),g.stopPropagation(),!f)throw new Error("Navigation URL is required");g.ctrlKey||g.metaKey||g.button===1?window.open(f,"_blank","noopener,noreferrer"):s(f)}catch(b){i?.(b instanceof Error?b:new Error("Navigation failed"))}},[s,i]),y=p(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),x=p("/a/conversations/conversations"),m=a||"Unknown Contact",h=`Avatar for ${m}`;return t.jsxs(gn,{children:[t.jsxs(fn,{children:[t.jsx(Yt,{color:"info",size:"small",onClick:f=>{y(f),c()},onMouseDown:f=>{f.button===1&&(y(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:m,children:m})]})},Cn=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),wn=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(Cn,{children:[s&&t.jsx(wn,{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(Ce.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[y,x]=p,m=i===G.ContactField_type.TIMERANGE?Ne(y).format("HH:mm"):Ne(y).format("DD/MM/YYYY"),h=i===G.ContactField_type.TIMERANGE?Ne(x).format("HH:mm"):Ne(x).format("DD/MM/YYYY");return`${m} - ${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 Rn=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),On=({contactData:e,title:a})=>!e||!Kt(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(Rn,{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 y=d,x=Gt(s),m=Kt(s),h=[{icon:t.jsx(Ce.PhoneEnabled,{fontSize:"small"}),title:y("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(Ce.Email,{fontSize:"small"}),title:y("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(Ce.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Ce.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Ce.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Ce.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return u.useEffect(()=>{const f=g=>{g.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:y("labels")}),m&&t.jsx(On,{contactData:s,title:y("business")}),x&&t.jsx(Vn,{contactData:s,title:y("businessMembers"),navigate:i}),h.map((f,g)=>t.jsx(Dn,{icon:f.icon,title:f.title,contactList:f.contactList,showTitle:f.showTitle},g)),t.jsx(Bn,{properties:s?.properties,title:y("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=m=>{o(m.currentTarget)},y=()=>{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(m=>t.jsx(r.Chip,{label:m.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},m.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:y,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(m=>t.jsx(r.Chip,{label:m.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},m.id))})]})})]})},Qt=u.createContext(null),Cs=Qt.Provider,Ue=()=>u.useContext(Qt),ws=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,y]=u.useState(!1),[x,m]=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 g=async()=>{if(!(!d||!i||!a||a==="unknown")){m(!0);try{let v={};a==="contact"?v={firstName:h.firstName,lastName:h.lastName}:a==="business"&&(v={name:h.name});const U=await d.updateEntity({entityType:a,entityId:i,body:v});U&&c&&c(U),y(!1)}catch(v){console.error("Failed to update name",v)}finally{m(!1)}}},b=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:v=>f({...h,firstName:v.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:h.lastName,onChange:v=>f({...h,lastName:v.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:h.name,onChange:v=>f({...h,name:v.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:g,disabled:x,color:"primary",children:x?t.jsx(r.CircularProgress,{size:24}):t.jsx(Ce.Save,{})})]}):t.jsx(Is,{children:t.jsxs(Ss,{children:[t.jsx(ws,{variant:"h6",title:e,children:e}),b&&t.jsx(Ts,{size:"small",onClick:()=>y(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Ce.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:y,isDeletingPhoto:x,contactType:m,firstName:h,lastName:f,name:g,entityId:b,onEntityUpdated:v})=>{const U=`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:U,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:p,onDelete:y,isDeleting:x}),t.jsx(Es,{displayName:a,contactType:m,firstName:h,lastName:f,name:g,entityId:b,onEntityUpdated:v}),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 y=re(),[x,m]=u.useState(""),[h,f]=u.useState(bt),g=u.useDeferredValue(x),b=u.useMemo(()=>a??[],[a]),v=u.useMemo(()=>{const A=String(g??"").trim().toLowerCase();return A?b.filter(F=>String(F?.name??"").toLowerCase().includes(A)):b},[b,g]),U=u.useMemo(()=>v.slice(0,h),[v,h]),E=u.useMemo(()=>{const A=new Map;for(const F of e??[])F?.id&&A.set(String(F.id),F);for(const F of U??[])F?.id&&(A.has(String(F.id))||A.set(String(F.id),F));return Array.from(A.values())},[e,U]),N=(A,F)=>{m(F??""),f(bt)},C=A=>{const F=A;F.scrollTop+F.clientHeight>=F.scrollHeight-24&&f(k=>k+bt)},z=()=>{const A=String(x??"").trim(),F=!A||i||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[y("global.noOptions"),t.jsx(Pe.LoadingButton,{onClick:()=>c(A),loading:d,disabled:F,variant:"contained",size:"small",sx:{marginTop:1.3},children:y("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":y("global.back"),disabled:i,children:t.jsx(gt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:y("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:y("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(A,F)=>n(F),options:E,filterOptions:A=>A,inputValue:x,onInputChange:N,getOptionLabel:A=>A?.name??"",isOptionEqualToValue:(A,F)=>String(A?.id)===String(F?.id),PopperComponent:A=>t.jsx(ks,{...A,popperContainer:p}),renderOption:(A,F)=>{const{key:k,...S}=A;return u.createElement("li",{...S,key:F?.id?String(F.id):String(k??F?.name??"")},F.name??"")},renderTags:(A,F)=>A.map((k,S)=>{const L=F({index:S}),{key:M,..._}=L;return t.jsx(r.Chip,{label:k.name??"",..._},k?.id?String(k.id):String(M??k?.name??S))}),size:"small",renderInput:A=>t.jsx(r.TextField,{...A,size:"small"}),ListboxProps:{onScroll:C,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 Rs({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 Os({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})=>Rs({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})=>Os({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:y,error:x}=Ks(),m=u.useMemo(()=>y?s("searchLocationModal.loadingGoogleMaps"):x?s("searchLocationModal.googleMapsUnavailable"):p?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[p,y,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 g=()=>{document.querySelectorAll(".pac-container").forEach(v=>{const U=v;U.style.zIndex="20000",U.style.position="fixed"})};f=new MutationObserver(v=>{for(const U of v)for(const E of Array.from(U.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}),g(),window.setTimeout(g,100),i.current=new h.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const b=i.current.addListener?.("place_changed",()=>{const v=i.current?.getPlace?.();if(!v?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let U="",E="",N="",C="",z="",A="";const F=v.address_components??[];for(const M of F){const _=M?.types??[];if(_.includes("locality")||_.includes("administrative_area_level_2")){U=M.long_name;continue}if(_.includes("administrative_area_level_1")){E=M.long_name;continue}if(_.includes("country")){N=M.long_name;continue}if(_.includes("postal_code")){C=M.long_name;continue}if(_.includes("route")){z=M.long_name;continue}_.includes("street_number")&&(A=M.long_name)}const k=typeof v.geometry.location.lat=="function"?v.geometry.location.lat():0,S=typeof v.geometry.location.lng=="function"?v.geometry.location.lng():0,L={location:{lat:k,lng:S},address:v.formatted_address??"",city:U,state:E,country:N,postalCode:C,streetName:z,streetNumber:A,shortAddress:[z,A].filter(Boolean).join(" ")};c.current(L)});return()=>{f&&f.disconnect(),b?.remove&&b.remove(),i.current=null}},[p,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:m,disabled:y||!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),[y,x]=u.useState(""),[m,h]=u.useState(""),[f,g]=u.useState(!1),[b,v]=u.useState(!1),U=u.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),E=k=>{x(k.address??"");const S=String(k.shortAddress??"").trim()||[k.streetName,k.streetNumber].filter(Boolean).join(" ").trim();p({street:S,city:k.city??"",state:k.state??"",zipcode:k.postalCode??"",country:k.country??""}),h("")},N=k=>{h(String(k??""))},C=k=>S=>{const L=S.target.value;p(M=>({...M,[k]:L}))},z=async()=>{if(!f&&!(!e||!a)&&s){g(!0);try{const k=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?.(k),o()}finally{g(!1)}}},A=async()=>{if(!b&&!(!e||!a)&&s){v(!0);try{const k=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?.(k),o()}finally{v(!1)}}},F=!U||f||b;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")}),m?t.jsx(r.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:m}):null]}),t.jsx(r.TextField,{label:c("conversations.contactDetails.street"),value:d.street,onChange:C("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:C("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.state"),value:d.state,onChange:C("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:C("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.country"),value:d.country,onChange:C("country"),fullWidth:!0,size:"medium"})]}),y?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:y}):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:F,children:c("searchLocationModal.saveMainAddress")}),t.jsx(Pe.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(Fe,{}),onClick:A,loading:b,disabled:F,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 y=u.useMemo(()=>!!(e&&i),[e,i]);u.useEffect(()=>{if(!y||!i)return;const h=new AbortController;return d(f=>({...f,labelsLoading:!0,labelsError:null})),i.fetchLabels({signal:h.signal}).then(f=>{d(g=>({...g,labels:f,labelsLoading:!1,labelsError:null}))}).catch(f=>{h.signal.aborted||d(g=>({...g,labelsLoading:!1,labelsError:f}))}),()=>{h.abort()}},[i,y]),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(g=>({...g,isLoading:!1,error:null,contactData:f}))}).catch(f=>{h.signal.aborted||d(g=>({...g,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(g=>({...g,userLoading:!1,userError:null,userTrii:f}))}).catch(f=>{h.signal.aborted||d(g=>({...g,userLoading:!1,userError:f}))}),()=>{h.abort()}},[i,x]);const m=u.useMemo(()=>{const h=c.contactData,f=vt(h),g=ia(h);let b="unknown";f&&(b="business"),g&&(b="contact");let v="Unknown Contact";f?v=h.name:g&&(v=`${h.firstName} ${h.lastName}`.trim());const U=h?.tags??[];return{isBusiness:f,isContact:g,contactType:b,displayName:v,tags:U,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),g=ia(h),b=f?"business":g?"contact":null;if(!b)return;const v=new AbortController;return d(U=>({...U,contactFieldsLoading:!0,contactFieldsError:null})),i.fetchContactFields({forType:b,signal:v.signal}).then(U=>{d(E=>({...E,contactFields:U,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(U=>{v.signal.aborted||d(E=>({...E,contactFieldsLoading:!1,contactFieldsError:U}))}),()=>{v.abort()}},[i,e,c.contactData]),{state:c,selectors:m,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,y]=u.useState(null),[x,m]=u.useState(!1),[h,f]=u.useState(!1),g=u.useRef(null),b=u.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function v(S){return S.split("?sv=")[0]}function U(S){return S.split("&cacheId=")[0]}function E(S){let L=v(S);return!L||(L=U(L),!L)?"":L}const N=async()=>{if(!e||!a)return null;const S=await aa({baseUrl:e,spaceId:a});return y(S),S},C=async S=>{const L=(p??await N())?.storageAzureSAS,M=L?.expireAt,_=M?new Date(M):null;let V=L?.sas??"";if((!V||_&&_<new Date)&&(V=(await N())?.storageAzureSAS?.sas??""),!V)return S;const T=`${Date.now()}`;return`${S}${V}&cacheId=${T}`},z=async S=>{if(!S){d("");return}const L=v(S);if(!L)return;const M=await C(L);d(M)},A=async S=>{const L=S.target.files?.[0];if(L&&b){g.current&&(g.current.value=""),m(!0);try{const M=await na({baseUrl:e,spaceId:a,contactId:s,file:L}),_=await Te({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:M}});i?.(_),await z(M)}finally{m(!1)}}},F=()=>{g.current?.click()},k=async()=>{if(b&&!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:g,type:"file",accept:"image/*"},action:{uploadImage:F,deleteImage:k},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,y]=u.useState(a?.ims_facebook||[]),[x,m]=u.useState(a?.ims_mercadolibre||[]),[h,f]=u.useState(a?.ims_webchat||[]),[g,b]=u.useState(a?.ims_instagram||[]),[v,U]=u.useState(a?.ims_whatsapp||[]),[E,N]=u.useState(a?.emails||[]),[C,z]=u.useState(a?.phones||[]),[A,F]=u.useState(a?.ims_rcs||[]),k=()=>{const I=rt.createNewAddress(Le.ChannelType.PHONE),w=[...C,I];z(w)},S=()=>{const I=rt.createNewAddress(Le.ChannelType.EMAIL),w=[...E,I];N(w)},L=()=>{const I=rt.createNewAddress(Le.ChannelType.WHATSAPP),w=[...v,I];U(w)},M=()=>{const I=rt.createNewAddress(Le.ChannelType.RCS),w=[...A,I];F(w)},_=I=>{const w=[...v,I];U(w),d(P=>({...P??{},ims_whatsapp:w}))},V=(I,w)=>{if(w){if(w.channelType===3){const P=E.map(D=>D.id===I?w:D);N(P),d(D=>({...D??{},emails:P}))}if(w.channelType===5){const P=C.map(D=>D.id===I?w:D);z(P),d(D=>({...D??{},phones:P}))}if(w.channelType===13){const P=v.map(D=>D.id===I?w:D);U(P),d(D=>({...D??{},ims_whatsapp:P}))}if(w.channelType===21){const P=A.map(D=>D.id===I?w:D);F(P),d(D=>({...D??{},ims_rcs:P}))}if(w.channelType===41){const P=x.map(D=>D.id===I?w:D);m(P),d(D=>({...D??{},ims_mercadolibre:P}))}}},T=async(I,w,P)=>{const D=I.target.value;if(P===3){const R=_e.getAddressesWithUpdatedValues(D,w,E);N(R)}else if(P===5){const R=_e.getAddressesWithUpdatedValues(D,w,C);z(R)}else if(P===13){const R=_e.getAddressesWithUpdatedValues(D,w,v);U(R)}else if(P===21){const R=_e.getAddressesWithUpdatedValues(D,w,A);F(R)}else if(P===41){const R=_e.getAddressesWithUpdatedValues(D,w,x);m(R)}},q=(I,w,P)=>{if(P===14){const D=p.map(R=>R.id===w?{...R,note:I.target.value}:R);y(D)}if(P===20){const D=h.map(R=>R.id===w?{...R,note:I.target.value}:R);f(D)}if(P===16){const D=g.map(R=>R.id===w?{...R,note:I.target.value}:R);b(D)}if(P===3){const D=E.map(R=>R.id===w?{...R,note:I.target.value}:R);N(D)}if(P===5){const D=C.map(R=>R.id===w?{...R,note:I.target.value}:R);z(D)}if(P===13){const D=v.map(R=>R.id===w?{...R,note:I.target.value}:R);U(D)}if(P===21){const D=A.map(R=>R.id===w?{...R,note:I.target.value}:R);F(D)}if(P===41){const D=x.map(R=>R.id===w?{...R,note:I.target.value}:R);m(D)}},te=async(I,w)=>{if(e&&(w===3||w===5||w===13||w===14||w===20||w===16||w===21||w===41)){i(I);const P={contactId:e,contactAddressId:I,type:w};switch(n?await n(s(P)):await s(P),i(!1),w){case 3:const D=E.filter(K=>K.id!==I);N(D),d(K=>({...K??{},emails:D}));break;case 5:const R=C.filter(K=>K.id!==I);z(R),d(K=>({...K??{},phones:R}));break;case 13:const W=v.filter(K=>K.id!==I);U(W),d(K=>({...K??{},ims_whatsapp:W}));break;case 21:const H=A.filter(K=>K.id!==I);F(H),d(K=>({...K??{},ims_rcs:H}));break;case 41:const se=x.filter(K=>K.id!==I);m(se),d(K=>({...K??{},ims_mercadolibre:se}));break;case 14:const me=p.filter(K=>K.id!==I);y(me),d(K=>({...K??{},ims_facebook:me}));break;case 20:const he=h.filter(K=>K.id!==I);f(he),d(K=>({...K??{},ims_webchat:he}));break;case 16:const fe=g.filter(K=>K.id!==I);b(fe),d(K=>({...K??{},ims_instagram:fe}));break}}};function B(){y(c?.ims_facebook||[]),m(c?.ims_mercadolibre||[]),f(c?.ims_webchat||[]),b(c?.ims_instagram||[]),U(c?.ims_whatsapp||[]),F(c?.ims_rcs||[]),N(c?.emails||[]),z(c?.phones||[])}return u.useEffect(()=>{d(a),a?.emails&&a?.phones&&(N(a.emails),z(a.phones)),U(a?.ims_whatsapp||[]),F(a?.ims_rcs||[]),y(a?.ims_facebook||[]),f(a?.ims_webchat||[]),b(a?.ims_instagram||[]),m(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:v,imsRCS:A,imsMercadolibre:x,imsFacebooks:p,imsWebchats:h,imsInstagrams:g,emails:E,phoneNumbers:C},action:{handleAddressFieldChange:T,handleNoteFieldChange:q,handleDeleteAddress:te,addPhone:k,addEmail:S,addWhatsapp:L,addRCS:M,replaceAddress:V,addWhatsappVerified:_,resetToInitialContactInformation:B},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||""),y=He({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),x=oa(e?.owner),m=da({initialState:e?.tags??[]}),[h,f]=u.useState([]),{field:{imsFacebooks:g,imsMercadolibre:b,imsWebchats:v,imsInstagrams:U,imsWhatsapp:E,emails:N,phoneNumbers:C,imsRCS:z},action:{addPhone:A,addEmail:F,addWhatsapp:k,addRCS:S,addWhatsappVerified:L,replaceAddress:M,handleAddressFieldChange:_,handleNoteFieldChange:V,handleDeleteAddress:T,resetToInitialContactInformation:q},state:{isDeletingAddress:te}}=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),B=ie("text",e?.address1?.street||""),I=ie("text",e?.address2?.street||""),w=ie("text",e?.address1?.city||""),P=ie("text",e?.address2?.city||""),D=ie("text",e?.address1?.state||""),R=ie("text",e?.address2?.state||""),W=ie("text",e?.address1?.zipcode||""),H=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:B.attributes.value,city:w.attributes.value,state:D.attributes.value,zipcode:W.attributes.value,country:se.attributes.value},de={street:I.attributes.value,city:P.attributes.value,state:R.attributes.value,zipcode:H.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:y.imageUrl?y.removeParams(y.imageUrl):null,tags:m.attributes.value,properties:c,members:h,phoneNumbers:C,emails:N,address1:ae,address2:de}};function K(ae){if(!e)return;const de=O=>O.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(O=>O.nameKey===ae)??e.properties.find(O=>de(O.nameKey)===de(ae));if(!oe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ae}`);return}const De=c.map(O=>O.nameKey===ae?{...O,value:oe.value}:O);d(De)}const Se=()=>e?a.map(ae=>{const de=O=>O.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(O=>O.nameKey===ae.nameKey)??e.properties.find(O=>de(O.nameKey)===de(ae.nameKey));if(oe)return{...oe,nameKey:ae.nameKey,type:oe.type??ae.type,value:oe.value};const De=c.find(O=>O.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&&m.actions.setValue(e.tags??[])},[e]),{field:{name:p,imsWhatsapp:E,imsRCS:z,contactImage:y,contactPropietary:x,imsMercadolibre:b,imsFacebooks:g,imsWebchats:v,imsInstagrams:U,emails:N,phoneNumbers:C,homeAddress:B,secondaryHomeAddress:I,city:w,secondaryCity:P,state:D,secondaryState:R,postalCode:W,secondaryPostalCode:H,country:se,secondaryCountry:me,customProperties:c,labelMultipleSelect:m},action:{setCustomProperties:d,addWhatsapp:k,addRCS:S,getEditedBusiness:fe,handleAddressFieldChange:_,handleNoteFieldChange:V,handleDeleteAddress:T,addPhone:A,addEmail:F,replaceAddress:M,addWhatsappVerified:L,resetToInitialContactInformation:q,resetCustomProperty:K},state:{isDeletingAddress:te},selectedContacts:h,setSelectedContacts:f}},or=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const o=u.useMemo(()=>async O=>{!n||!s||await nt({baseUrl:n,spaceId:s,data:O})},[n,s]),i=async O=>O,{getEditedField:c}=_e,[d,p]=u.useState([]),y=ie("text",e?.firstName||""),x=ie("text",e?.lastName||""),m=He({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[h,f]=u.useState(e?.birthDate?Q(e.birthDate):null),g=ca({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:b,imsMercadolibre:v,imsWebchats:U,imsInstagrams:E,imsWhatsapp:N,emails:C,phoneNumbers:z,imsRCS:A},action:{addPhone:F,addEmail:k,addWhatsapp:S,addRCS:L,addWhatsappVerified:M,replaceAddress:_,handleAddressFieldChange:V,handleNoteFieldChange:T,handleDeleteAddress:q,resetToInitialContactInformation:te},state:{isDeletingAddress:B}}=g,I=da({initialState:e?.tags}),w=oa(e?.owner),P=ie("text",e?.address1?.street),D=ie("text",e?.address2?.street),R=ie("text",e?.address1?.city),W=ie("text",e?.address2?.city),H=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),K=ie("text",e?.address2?.country),Se=()=>{if(!e)return null;const O=e,je=I.attributes.value.map(ee=>({id:ee.id,name:ee.name})),we=z.map(ee=>{const{id:dt,...Oe}=ee;return Oe}),Ee=C.map(ee=>{const{id:dt,...Oe}=ee;return Oe});return{id:O.id,owner:w.attributes.value,firstName:y.attributes.value,lastName:x.attributes.value,address1:{...c("street",O.address1?.street,P.attributes.value),...c("city",O.address1?.street,R.attributes.value),...c("state",O.address1?.street,H.attributes.value),...c("zipcode",O.address1?.street,me.attributes.value),...c("country",O.address1?.street,fe.attributes.value)},address2:{...c("street",O.address2?.street,D.attributes.value),...c("city",O.address2?.street,W.attributes.value),...c("state",O.address2?.street,se.attributes.value),...c("zipcode",O.address2?.street,he.attributes.value),...c("country",O.address2?.street,K.attributes.value)},emails:Ee,phones:we,tags:je,imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,properties:d,birthDate:h?.toDate()}};function ae(){e&&(!e.businessId||e.businessName)}function de(){f(e?.birthDate?Q(e.birthDate):null)}function oe(O){if(!e)return;const je=ee=>ee.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),we=e.properties.find(ee=>ee.nameKey===O)??e.properties.find(ee=>je(ee.nameKey)===je(O));if(!we){console.error(`No se encontr\xF3 una propiedad con nameKey: ${O}`);return}const Ee=d.map(ee=>ee.nameKey===O?{...ee,value:we.value}:ee);p(Ee)}const De=()=>e?a.map(O=>{const je=ee=>ee.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),we=e.properties.find(ee=>ee.nameKey===O.nameKey)??e.properties.find(ee=>je(ee.nameKey)===je(O.nameKey));if(we)return{...we,nameKey:O.nameKey,type:we.type??O.type,value:we.value};const Ee=d.find(ee=>ee.nameKey===O.nameKey);return{nameKey:O.nameKey,type:O.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:y,contactLastname:x,contactImage:m,contactPropietary:w,imsMercadolibre:v,imsFacebooks:b,imsWebchats:U,imsInstagrams:E,emails:C,phoneNumbers:z,homeAddress:P,secondaryHomeAddress:D,city:R,secondaryCity:W,state:H,secondaryState:se,postalCode:me,secondaryPostalCode:he,country:fe,secondaryCountry:K,customProperties:d,labelMultipleSelect:I},action:{setBirthDate:f,setCustomProperties:p,getEditedContact:Se,handleAddressFieldChange:V,handleNoteFieldChange:T,handleDeleteAddress:q,addPhone:F,addEmail:k,addWhatsapp:S,addRCS:L,replaceAddress:_,addWhatsappVerified:M,resetToInitialContactInformation:te,resetSelectedBusiness:ae,resetBirthDate:de,resetCustomProperty:oe},state:{isDeletingAddress:B}}},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},Re=({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(Rt.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,y]=u.useState(null),[x,m]=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(m(!0),!s){console.error("API is null");return}const g=await s.fetchContact({contactId:n});if(g&&vt(g)&&c(g),m(!1),!f){console.error("Target element is null");return}y(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:()=>y(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,Ct=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,y=re(),{setView:x}=yr(),m=e.inputType??"text",[h,f]=u.useState(!1),[g,b]=u.useState(!1),v=u.useRef(null),[U,E]=u.useState(!1),[N,C]=u.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);u.useEffect(()=>{const T=v.current;if(!T)return;const q=()=>{const te=T.scrollWidth>T.clientWidth;E(B=>B===te?B:te)};if(q(),typeof ResizeObserver<"u"){let te=0;const B=new ResizeObserver(()=>{if(typeof window>"u"){q();return}te&&window.cancelAnimationFrame(te),te=window.requestAnimationFrame(()=>{q()})});return B.observe(T),()=>{typeof window<"u"&&te&&window.cancelAnimationFrame(te),B.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",q),()=>{window.removeEventListener("resize",q)}},[a]),u.useEffect(()=>{e.entityType==="business"?C(n):C(typeof n=="string"?n:void 0)},[n,e.entityType]);const z=()=>{if(e.entityType==="contact"&&m==="selectBusiness"){x("businessSelect");return}f(T=>!T)},A=T=>{C(T.target.value)},F=T=>{const q=T.target.value;C(q)},k=()=>{Ct(e)&&e.contact.action.resetBirthDate(),f(!1)},S=async()=>{if(!e.constructUpdateObject){f(!1);return}if(e.entityType==="business"&&N===void 0){f(!1);return}b(!0);try{if(!i||!c)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let T=N===void 0?null:N;if(Ct(e)){const I=Q(e.contact.field.birthDate);I.isValid()&&(T=I.toISOString())}const q=e.constructUpdateObject(T),te=e.entityId??q?.id;if(!te)throw new Error("Missing contactId for updateEntity");const B=await Te({baseUrl:i,spaceId:c,entityType:"contact",entityId:te,body:q});p?.(B)}else{const T=e.constructUpdateObject(N),q=e.entityId??T?.id;if(!q)throw new Error("Missing businessId for updateEntity");const te=await Te({baseUrl:i,spaceId:c,entityType:"business",entityId:q,body:T});p?.(te)}}finally{b(!1),f(!1)}},L=typeof N=="string"?N:"",M=N instanceof Date?N.toISOString():typeof N=="string"?N:"",_=d??(e.entityType==="contact"?"45%":"200px"),V=e.options??[];return t.jsxs(r.Box,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:T=>T.palette.mode==="dark"?"1e1e1e":T.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:_,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",children:[U?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:v,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:T=>T.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(r.Typography,{ref:v,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:T=>T.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:S,children:g?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(ha,{size:"small",onClick:k,children:t.jsx(Ot,{})})]}):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&&m==="text"?t.jsx(r.TextField,{value:M,onChange:A,variant:"standard",size:"small",sx:{width:"100%"}}):h&&(m==="select"||m==="selectMembers")?t.jsxs(r.Select,{value:L,onChange:F,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:y("conversations.contactDetails.contactInfo.emptySelection")}):null,V.map((T,q)=>t.jsx(r.MenuItem,{value:T.id,children:e.entityType==="contact"?T.name?.trim()||(xr(T)?T.email:"")||"Sin nombre":T.name?.trim()||T.email||"Sin nombre"},q))]}):h&&Ct(e)?t.jsx(ur,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!h&&e.entityType==="contact"&&m==="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:T=>T.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:y,contactId:x,onEntityUpdated:m}=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:y,dateFormat:e.dateFormat,onEntityUpdated:m});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:y,onEntityUpdated:m})},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 y=p.target.value.replace(/[^0-9.]/g,"");n(e,y)},d=p=>{const y=p.target.value;/^\d*$/.test(y)&&n(e,y)};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(Rt.DatePicker,{value:e?Q(e):null,onChange:o=>a(o),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Cr=({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))]})})},wr=({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?Q(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=[Q().set("hour",0).set("minute",0),Q().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=[Q(),Q()],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:y}=a.field,{setCustomProperties:x}=a.action,[m,h]=u.useState(!1),[f,g]=u.useState(!1),b=u.useRef(null),[v,U]=u.useState(!1),E=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),N=i?.regCon_timeFormat||"24",C=B=>B===G.ContactField_type.NUMBER_INTEGER||B===G.ContactField_type.NUMBER_DECIMAL||B===G.ContactField_type.NUMBER_CURRENCY||B===G.ContactField_type.NUMBER_ACCOUNTING||B===G.ContactField_type.CURRENCY,z=(B,I)=>B.toLowerCase()==="dni"?!0:C(I),A=(B,I,w)=>{if(w===""||w===null||w===void 0)return null;if(z(B,I)){const P=Number(w);return Number.isNaN(P)?w:P}return w},F=()=>h(B=>!B),k=()=>{h(!1),a.action.resetCustomProperty(e.nameKey)},S=async()=>{if(!c||!d||!s)return;g(!0);const B=y.find(W=>W.nameKey===e.nameKey)||e,{nameKey:I,value:w}=B,P=o.find(W=>W.nameKey===I)?.type??B.type;let D;if(P===G.ContactField_type.TIME){const W=Q(w);W.isValid()?D=W.format(N==="24"?"HH:mm":"hh:mm"):D=w}else if(P===G.ContactField_type.DATE){const W=Q(w);W.isValid()?D=W.toISOString():D=w}else D=A(I,P,w);const R={properties:[{nameKey:I,type:P,value:D}]};try{const W=await Te({baseUrl:c,spaceId:d,entityType:n,entityId:s,body:R}),H=y.map(se=>se.nameKey===I?{...se,type:P,value:D}:se);x(H),p?.(W)}finally{g(!1),h(!1)}},L=B=>o.find(I=>I.nameKey===B)?.name||B;u.useEffect(()=>{const B=b.current;if(!B)return;const I=()=>{const w=B.scrollWidth>B.clientWidth;U(P=>P===w?P:w)};if(I(),typeof ResizeObserver<"u"){let w=0;const P=new ResizeObserver(()=>{if(typeof window>"u"){I();return}w&&window.cancelAnimationFrame(w),w=window.requestAnimationFrame(()=>{I()})});return P.observe(B),()=>{typeof window<"u"&&w&&window.cancelAnimationFrame(w),P.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}},[o,e.nameKey]);const M=(B,I)=>{const w=e.type===G.ContactField_type.DATERANGE?Array.isArray(I)&&I[0]&&I[1]?`${Q(I[0]).toISOString()} - ${Q(I[1]).toISOString()}`:"":e.type===G.ContactField_type.DATE?Q(I).isValid()?Q(I).toISOString():"Invalid Date":e.type===G.ContactField_type.TIME?Q(I).isValid()?Q(I).toISOString():"Invalid Time":I,P=y.map(D=>D.nameKey===B?{...D,value:w}:D);x(P)},{type:_,nameKey:V,value:T}=e,q=B=>B==null?!1:typeof B=="string"?B.trim().length>0:!0,te=()=>_===G.ContactField_type.DATE?t.jsx(jr,{value:T?Q(T):null,handleChange:B=>M(V,B?.toDate()),dateFormat:E}):_===G.ContactField_type.TIME?t.jsx(wr,{value:e?.valueDate?Q(e.valueDate):T?Q(T):null,handleChange:B=>M(V,B),userTimeFormat:N}):_===G.ContactField_type.DATERANGE?t.jsx(Sr,{value:T&&typeof T=="string"&&T.includes(" - ")?[Q(T.split(" - ")[0]),Q(T.split(" - ")[1])]:null,handleChange:B=>M(V,[B[0]?.toDate?.(),B[1]?.toDate?.()]),userDateFormat:E}):_===G.ContactField_type.TIMERANGE?t.jsx(Ir,{value:Array.isArray(T)&&T.length===2?[Q(T[0]),Q(T[1])]:null,handleChange:B=>M(V,[B[0]?.toDate?.(),B[1]?.toDate?.()]),userTimeFormat:N}):_===G.ContactField_type.OPTIONS?t.jsx(Cr,{value:typeof T=="string"?T:"",handleChange:B=>M(V,B),options:o.find(B=>B.nameKey===V)?.typeOptions??[]}):t.jsx(vr,{type:_,nameKey:V,value:T,onChange:M});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:[v?t.jsx(r.Tooltip,{title:L(e.nameKey),arrow:!0,children:t.jsx(ga,{ref:b,flexGrow:1,noWrap:!0,children:L(e.nameKey)})}):t.jsx(ga,{ref:b,flexGrow:1,noWrap:!0,children:L(e.nameKey)}),m?t.jsxs(t.Fragment,{children:[t.jsx(fa,{size:"small",onClick:S,children:f?t.jsx(r.CircularProgress,{size:24}):t.jsx(Fe,{})}),t.jsx(fa,{size:"small",onClick:k,children:t.jsx(Ot,{})})]}):t.jsx(Tr,{className:"edit-icon",size:"small",onClick:F,children:t.jsx(tt,{})})]}),t.jsx(r.Box,{width:m||e.type===G.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:m?te():t.jsx(Ar,{children:q(e?.value)?e.type===G.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const B=e.value.split(" - ");if(B.length===2){const[I,w]=B,P=Q(I),D=Q(w);return`${P.isValid()?P.format(E):"-"} - ${D.isValid()?D.format(E):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Q(e.value[0]).format(E)} - ${Q(e.value[1]).format(E)}`;return`${e.value}`})():e.type===G.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Q(e.value[0]).format(N==="24"?"HH:mm":"hh:mm")} - ${Q(e.value[1]).format(N==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===G.ContactField_type.TIME?(()=>{try{const B=e.valueDate||e.value;return`${Q(B).format(N==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===G.ContactField_type.DATE?(()=>{try{return`${Q(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:y,editEntity:x}=Ae(),m=Ue();if(y!=="contact")return null;const[h,f]=u.useState([]),[g,b]=u.useState(null),[v,U]=u.useState(null),[E,N]=u.useState(null),C=x;u.useEffect(()=>{if(!m)return;const S=new AbortController;return m.fetchUsers({signal:S.signal}).then(L=>{S.signal.aborted||f(L??[])}).catch(()=>{S.signal.aborted||f([])}),()=>{S.abort()}},[m]),u.useEffect(()=>{const S=new AbortController,L=async M=>{if(!M||!m)return null;try{const _=await m.fetchUserTriiById({userId:M,signal:S.signal});return _?.display_name||_?.email||null}catch{return null}};return(async()=>{const M=Re({userId:n.owner,users:h,currentUser:c})??(n.owner?await L(n.owner):null),_=Re({userId:n.createdBy??void 0,users:h,currentUser:c})??(n.createdBy?await L(n.createdBy):null),V=Re({userId:n.updatedBy??void 0,users:h,currentUser:c})??(n.updatedBy?await L(n.updatedBy):null);S.signal.aborted||(b(M),N(_),U(V))})(),()=>{S.abort()}},[m,n,h,c]);const z=(a||"YYYY/MM/DD").toUpperCase(),A=C.field.birthDate,F=A?.isValid()?A.format(z):null,k=S=>{const L=new Date;let M=L.getFullYear()-S.getFullYear();const _=L.getMonth()-S.getMonth();return(_<0||_===0&&L.getDate()<S.getDate())&&M--,M};return t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(Je,{title:p("conversations.contactDetails.contactOwner"),displayValue:g||"-",value:n.owner,inputType:"select",options:h,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),contact:C,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:C,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:d}),t.jsx(Je,{title:p("conversations.contactDetails.createdBy"),value:E||"-",isNotEditable:!0,contact:C,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0,contact:C,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Je,{title:p("global.birthdate"),inputType:"birthday",displayValue:A?`${F} (${k(A.toDate())})`:"-",value:A?A.toISOString():"",constructUpdateObject:S=>({birthDate:S}),contact:C,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:d}),C.field.customProperties.map(S=>t.jsx(xa,{property:S,entity:C,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},S.nameKey))]})})},wt=({title:e,value:a,isNotEditable:n,inputType:s="text",options:o=[],displayValue:i,constructUpdateObject:c,baseUrl:d,spaceId:p,businessId:y,onEntityUpdated:x})=>t.jsx(ke,{entityType:"business",entityId:y,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:y}=Ae(),x=Ue();if(p!=="business")return null;const[m,h]=u.useState([]),[f,g]=u.useState(null),[b,v]=u.useState(null),[U,E]=u.useState(null),N=y;return u.useEffect(()=>{if(!x)return;const C=new AbortController;return x.fetchUsers({signal:C.signal}).then(z=>{C.signal.aborted||h(z??[])}).catch(()=>{C.signal.aborted||h([])}),()=>{C.abort()}},[x]),u.useEffect(()=>{const C=new AbortController,z=async A=>{if(!A||!x)return null;try{const F=await x.fetchUserTriiById({userId:A,signal:C.signal});return F?.display_name||F?.email||null}catch{return null}};return(async()=>{const A=Re({userId:n.owner,users:m,currentUser:c})??(n.owner?await z(n.owner):null),F=Re({userId:n.createdBy??void 0,users:m,currentUser:c})??(n.createdBy?await z(n.createdBy):null),k=Re({userId:n.updatedBy??void 0,users:m,currentUser:c})??(n.updatedBy?await z(n.updatedBy):null);C.signal.aborted||(g(A),E(F),v(k))})(),()=>{C.abort()}},[x,n,m,c]),t.jsx(it,{title:"General",children:t.jsxs(ua,{children:[t.jsx(wt,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:f||"-",inputType:"select",options:m,constructUpdateObject:C=>({owner:typeof C=="string"?C:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:d}),t.jsx(wt,{title:a("conversations.contactDetails.createdBy"),value:U||"-",isNotEditable:!0}),t.jsx(wt,{title:a("conversations.contactDetails.modifiedBy"),value:b||"-",isNotEditable:!0}),N.field.customProperties.map(C=>t.jsx(xa,{property:C,entity:N,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:o,spaceId:i,onEntityUpdated:d},C.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})),Rr=ue.styled(It)(({})=>({fontSize:14,fontWeight:500})),Or=({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(Rr,{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(Ce.Star,{sx:{color:"#fcac34"}}):t.jsx(Ce.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(Ce.Star,{sx:{color:"#fcac34"}}):t.jsx(Ce.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(Or,{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:y,address:x}=a,[m,h]=u.useState(!1),[f,g]=u.useState(null),[b,v]=u.useState(!1),U=k=>{d(k.currentTarget)},E=()=>{d(null)},N=()=>{v(!1)},C=()=>{e(),E()},z=async()=>{h(!0);try{if(!o)return;const k=await o(13);if(!k)return;g(k),v(!0)}catch(k){console.error("Error verifying WhatsApp account:",k)}finally{h(!1)}E()},A=async()=>{h(!0);try{if(!o)return;const k=await o(21);if(!k)return;g(k),v(!0)}catch(k){console.error("Error verifying RCS account:",k)}finally{h(!1)}E()},F=async()=>{await n(),v(!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:U,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:C,children:[t.jsx(r.ListItemIcon,{children:t.jsx(_t,{color:"error"})}),t.jsx(r.ListItemText,{children:i("global.delete")})]}),y===5&&t.jsxs(r.MenuItem,{onClick:z,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:m?t.jsx(r.CircularProgress,{size:24}):t.jsx(nn,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),y===21&&t.jsxs(r.MenuItem,{onClick:A,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:m?t.jsx(r.CircularProgress,{size:24}):t.jsx(sn,{})}),t.jsx(r.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:b,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:k=>k.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:F,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:y,channelType:x,id:m,address:h}=e.addressData,f=!e.addressData.hasOwnProperty("isSaved"),g=e.replaceAddress??s.action.replaceAddress,b=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),v=async C=>{if(!n||!p)return null;const z=await n.setContactAddress({data:{address:h,contactId:p,type:C}});return g(m,z),z},U=async()=>{if(!n||!p)return;const C=await n.updateContactAddress({data:{contactAddressId:m,contactId:p,note:y??""}});g(m,C)},E=async()=>{c(!0),f?(await U(),c(!1)):await v(x)&&c(!1)},N=async()=>{c(!0);const C=await v(13);C&&b&&b(C),C&&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:C=>e.handleNoteFieldChange(C,m,x),value:y,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(m,x),addressData:e.addressData,handleLinkAccountSave:N,checked:d&&!i,onCheckContactAddress:async C=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:h,type:C}})}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,y]=u.useState("idle"),[x,m]=u.useState(i),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(i!==""&&i!==x){if(!d)return;y("loading"),m(i);const g={address:i,type:o};try{const b=await d.checkContactAddress({data:g}),{success:v,warnings:U}=b;n(U),y(v?"available":"unavailable")}catch{n([]),y("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,y]=u.useState("idle"),[x,m]=u.useState(d),h=!e.hasOwnProperty("isSaved");return u.useEffect(()=>{let f=setTimeout(async()=>{if(d!==""&&d!==x){if(!s)return;y("loading"),m(d);const g={address:d,type:c};try{const{success:b,warnings:v}=await s.checkContactAddress({data:g});n(v),y(b?"available":"unavailable")}catch{n([]),y("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})]})},Ca={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ci=({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})]})},wi=({emails:e})=>t.jsx(et,{variant:"large",children:e?.map(a=>t.jsx(Ci,{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(wi,{emails:e})]}),wa={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: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})]})},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:y,addPhone:x,addWhatsapp:m,resetToInitialContactInformation:h,addRCS:f}=o.action;function g(){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:y,emails:i});case"Whatsapp":return t.jsx(Ei,{handleAdd:m,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:g,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,y=i.field.imsFacebooks,x=i.field.imsWhatsapp,m=i.field.imsMercadolibre,h=i.field.imsWebchats,f=i.field.imsInstagrams,g=i.field.imsRCS,b=[{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:y,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:x,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:g,modalTitle:"RCS",visible:g.length>0},{key:"mercado-libre",title:"Mercado libre",items:m,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:b.filter(v=>v.visible).map(v=>t.jsx(ni,{handleEdit:()=>s(v.modalTitle),title:v.title,methodItems:v.items,isPhone:v.isPhone,owner:e},v.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:y,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[y]?.street??"",...c,constructUpdateObject:m=>({[y]:{street:m}}),minWidth:"100%"})}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.city"),value:a[y]?.city??"",...c,constructUpdateObject:m=>({[y]:{city:m}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.state"),value:a[y]?.state??"",...c,constructUpdateObject:m=>({[y]:{state:m}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[y]?.zipcode??"",...c,constructUpdateObject:m=>({[y]:{zipcode:m}}),minWidth:"100%"}),t.jsx(ke,{entityType:e,title:d("conversations.contactDetails.country"),value:a[y]?.country??"",...c,constructUpdateObject:m=>({[y]:{country:m}}),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,y]=u.useState("main"),[x,m]=u.useState([]),[h,f]=u.useState(!1),[g,b]=u.useState(!1),[v,U]=u.useState([]),[E,N]=u.useState(!1),C=u.useMemo(()=>{const k=i??[],S=v??[],L=new Map;for(const M of k)M?.id&&L.set(String(M.id),M);for(const M of S)M?.id&&L.set(String(M.id),M);return Array.from(L.values())},[i,v]),z=u.useCallback(()=>{y("main"),m([]),f(!1),b(!1),U([]),N(!1)},[]);u.useEffect(()=>{e||z()},[e,z]),u.useEffect(()=>{if(p!=="tags"){f(!1);return}if(h||!C.length)return;const k=new Set(c.map(L=>String(L.id))),S=C.filter(L=>k.has(String(L?.id)));m(S),f(!0)},[p,h,C,c]);const A=u.useCallback(async k=>{if(E||!a||!n)return;const S=String(k??"").trim();if(!S)return;const L=S.toLowerCase(),M=C.find(_=>String(_?.name??"").trim().toLowerCase()===L);if(M?.id){m(_=>{const V=_??[];return V.some(T=>String(T?.id)===String(M.id))?V:[...V,M]});return}N(!0);try{const _=await ta({baseUrl:a,spaceId:n,name:S});U(V=>{const T=V??[];return!_?.id||T.some(q=>String(q?.id)===String(_.id))?T:[...T,_]}),m(V=>{const T=V??[];return!_?.id||T.some(q=>String(q?.id)===String(_.id))?T:[...T,_]})}finally{N(!1)}},[E,a,n,C]),F=u.useCallback(async()=>{if(g||!a||!n||!s||o!=="contact"&&o!=="business")return;const k=x.filter(S=>S?.id&&S?.name).map(S=>({id:String(S.id),name:String(S.name)}));b(!0);try{await Te({baseUrl:a,spaceId:n,entityType:o,entityId:String(s.id),body:{tags:k}}),d(k),y("main")}finally{b(!1)}},[g,a,n,s,o,x,d]);return{view:p,setView:y,draftLabels:x,setDraftLabels:m,labelsOptions:C,isSaving:g,isCreatingLabel:E,handleCreateLabel:A,handleSaveTags:F}},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(),y=u.useRef(null),x=u.useRef(null),[m,h]=u.useState(()=>s?.businessName??""),[f,g]=u.useState(!1),[b,v]=u.useState(!1),[U,E]=u.useState(!1),[N,C]=u.useState([]),[z,A]=u.useState(s??null),[F,k]=u.useState(1),[S,L]=u.useState(!1),[M,_]=u.useState(!1),V=u.useMemo(()=>{const W=c?.display_name,H=c?.email;return String(W||H||"").trim()},[c]);u.useEffect(()=>()=>{y.current&&(clearTimeout(y.current),y.current=null),x.current?.abort()},[]),u.useEffect(()=>{A(s??null),h(s?.businessName??"")},[s]);const T=()=>{x.current?.abort(),x.current=null,y.current&&(clearTimeout(y.current),y.current=null),g(!1),_(!1),k(1),L(!1),C([])},q=W=>W.filter(H=>!!H?.id).map(H=>({businessId:String(H.id),businessName:String(H.name??"")})),te=async({query:W,page:H})=>{if(!p)return;x.current?.abort();const se=new AbortController;x.current=se,v(!0);try{const me={...Li,currentPage:H,filter:[{value:W,column:"name",condition:""}]},he=await p.fetchBusinessTableData({pagination:me,signal:se.signal});if(se.signal.aborted)return;const fe=q(he?.contactos??[]);g(!0);const K=he?.paginacion?.total??0;C(Se=>{const ae=H===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 K&&ae.length>=K&&_(!0),ae})}finally{v(!1),E(!1),L(!1)}},B=W=>{T(),W&&(y.current&&(clearTimeout(y.current),y.current=null),E(!0),y.current=setTimeout(()=>{te({query:W,page:1})},800))},I=W=>{const H=W.target;if(!(H.scrollHeight-H.scrollTop-H.clientHeight<1)||M||b||!m)return;const se=F+1;L(!0),k(se),te({query:m,page:se})},w=async()=>{if(!p||!V)return;const W=String(m??"").trim();if(W){v(!0);try{const H={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:H}),me={businessId:String(se.id??""),businessName:String(se.name??W)};C([me]),A(me),g(!0)}finally{v(!1)}}},P=async()=>{if(!e||!a||!n)return;const W=z?.businessId??"",H=await Te({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});i?.(H),o()},D=f&&N.length===0&&m?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:w,loading:b,disabled:b||!V,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),R=!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:P,loading:!1,disabled:R,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[b||U||S?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,H)=>{A(H)},inputValue:m,onInputChange:(W,H,se)=>{h(H),se==="input"&&B(H)},options:N,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,H)=>W.businessId===H.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:[b||U?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:I}})]})]})},Ri=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:o,sx:i,language:c="en",navigate:d,googleMapsApiKey:p})=>{const{t:y,i18n:x}=We.useTranslation(),m=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 q=document.createElement("script");return q.src=`https://maps.googleapis.com/maps/api/js?key=${p}&libraries=places`,q.async=!0,q.defer=!0,document.body.appendChild(q),()=>{}},[p]),u.useEffect(()=>{c&&x.changeLanguage(c)},[c,x]);const h=q=>y(q),f=u.useMemo(()=>!n||!s?null:sa(n,s),[n,s]),{state:g,selectors:b,actions:v}=Xs({open:e,baseUrl:n,spaceId:s,contactId:o}),U=Bi({entity:g.contactData,setEntity:q=>v.setContactData(q??void 0)}),{view:E,setView:N,draftLabels:C,setDraftLabels:z,labelsOptions:A,isSaving:F,isCreatingLabel:k,handleCreateLabel:S,handleSaveTags:L}=Mi({open:e,baseUrl:n,spaceId:s,contactData:g.contactData,contactType:b.contactType,labels:b.labels,selectedTags:b.tags,onTagsUpdated:q=>{g.contactData&&v.setContactData({...g.contactData,tags:q})}}),M=He({baseUrl:n,spaceId:s,entityType:b.contactType==="business"||b.contactType==="contact"?b.contactType:void 0,entityId:g.contactData?String(g.contactData.id):void 0,initialImageUrl:g.contactData?.imageUrl,onEntityUpdated:U}),_=Pi({onClose:a}),V={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"},T=Array.isArray(i)?[V,...i]:i?[V,i]:V;return t.jsx(Cs,{value:f,children:t.jsx(vs,{t:h,children:t.jsx(hr,{navigate:d,children:t.jsx(r.Modal,{open:e,onClose:_,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:T,ref:m,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:_,sx:{position:"absolute",right:5,top:5,color:q=>q.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ga,{sx:{fontSize:20}})}),g.isLoading&&!g.contactData?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(r.CircularProgress,{})}):g.error?t.jsx(r.Box,{sx:{mb:2},children:"Failed to load contact"}):g.contactData?t.jsx(mr,{value:{view:E,setView:N},children:t.jsx(dr,{entityType:b.contactType==="business"?"business":"contact",entityData:g.contactData,customContactFields:b.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:E==="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:M.imageUrl,displayName:b.displayName,tags:b.tags,onEditTags:()=>{N("tags")},onUploadPhoto:M.action.uploadImage,onPhotoFileChange:M.inputAtributes.onChange,photoInputRef:M.inputAtributes.ref,isUploadingPhoto:M.isUploading,onDeletePhoto:M.action.deleteImage,isDeletingPhoto:M.isDeleting,contactType:b.contactType,entityId:g.contactData?.id,firstName:b.isContact?g.contactData.firstName:void 0,lastName:b.isContact?g.contactData.lastName:void 0,name:b.isBusiness?g.contactData.name:void 0,onEntityUpdated:U}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx(kr,{dateFormat:b.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:b.contactType==="contact"||b.contactType==="business"?b.contactType:"contact",entityData:g.contactData,customContactFields:b.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:U,currentUser:b.userTrii}),t.jsx(Fi,{entityType:b.contactType==="contact"||b.contactType==="business"?b.contactType:"contact",entityData:g.contactData,baseUrl:n,spaceId:s,onEntityUpdated:U,onDirectionSearchClick:()=>N("searchLocation")}),t.jsx(Ni,{ownerData:g.contactData})]})]})}),t.jsx(r.Fade,{in:E==="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:b.contactType==="business"?"business":"contact",entityId:String(g.contactData.id),onBack:()=>N("main"),onEntityUpdated:U})})}),t.jsx(r.Fade,{in:E==="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:C,options:A,onChange:z,onBack:()=>N("main"),onSave:L,isSaving:F,onCreateNew:S,isCreatingNew:k,popperContainer:m.current})})}),t.jsx(r.Fade,{in:E==="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(g.contactData.id),initialBusiness:b.isContact&&g.contactData?.businessId?{businessId:String(g.contactData.businessId),businessName:String(g.contactData.businessName??"")}:null,onBack:()=>N("main"),onEntityUpdated:U,currentUser:b.userTrii})})})]})})}):null]})})})})})})},Oi=e=>t.jsx(We.I18nextProvider,{i18n:at,children:t.jsx(Ri,{...e})});exports.ContactInfoPopup=Ht,exports.EditContactModal=Oi,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&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;
|
|
17
17
|
//# sourceMappingURL=index.js.map
|