@trii/components 2.0.68 → 2.0.69

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.
Files changed (27) hide show
  1. package/dist/cjs/index.js +10 -10
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +10 -10
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index.d.ts +48 -82
  6. package/dist/types/components/EventsDialog/EventsDialog.d.ts +15 -82
  7. package/dist/types/components/EventsDialog/components/ConfirmDeleteDialog/ConfirmDeleteDialog.d.ts +10 -0
  8. package/dist/types/components/EventsDialog/components/ConfirmDeleteDialog/index.d.ts +1 -0
  9. package/dist/types/components/EventsDialog/components/DeleteRecurringEventDialog/DeleteRecurringEventDialog.d.ts +9 -0
  10. package/dist/types/components/EventsDialog/components/DeleteRecurringEventDialog/index.d.ts +1 -0
  11. package/dist/types/components/EventsDialog/components/EditRecurringEventDialog/EditRecurringEventDialog.d.ts +9 -0
  12. package/dist/types/components/EventsDialog/components/EditRecurringEventDialog/index.d.ts +1 -0
  13. package/dist/types/components/EventsDialog/components/LinkContactsSelect/hooks/useLinkContactsSearch.d.ts +17 -0
  14. package/dist/types/components/EventsDialog/components/index.d.ts +3 -0
  15. package/dist/types/components/EventsDialog/context/CalendarContextProvider.d.ts +15 -1
  16. package/dist/types/components/EventsDialog/context/TranslationContext.d.ts +9 -0
  17. package/dist/types/components/EventsDialog/context/types/CalendarDialogState.d.ts +6 -1
  18. package/dist/types/components/EventsDialog/hooks/index.d.ts +5 -5
  19. package/dist/types/components/EventsDialog/hooks/useEvent.d.ts +1 -1
  20. package/dist/types/components/EventsDialog/hooks/useTask.d.ts +1 -1
  21. package/dist/types/components/EventsDialog/index.d.ts +21 -6
  22. package/dist/types/components/EventsDialog/services/calendarApi.d.ts +22 -0
  23. package/dist/types/components/EventsDialog/services/urls.d.ts +1 -0
  24. package/dist/types/components/EventsDialog/types.d.ts +1 -1
  25. package/dist/types/components/EventsDialog/utils/googleMapsUtils.d.ts +5 -0
  26. package/dist/types/components/EventsDialog/utils/keyboardNavigation.d.ts +2 -1
  27. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -1,21 +1,21 @@
1
- "use strict";var c=require("react"),r=require("@mui/material"),ve=require("@mui/icons-material"),Tn=require("@mui/icons-material/ArrowForward"),En=require("@mui/icons-material/Message"),X=require("@trii/types/dist/Contacts"),Ne=require("moment"),ie=require("react-i18next"),Dn=require("i18next"),Dt=require("@mui/icons-material/Close"),Ke=require("@mui/icons-material/Edit"),kn=require("@mui/icons-material/Label"),ct=require("@mui/icons-material/Delete"),An=require("@mui/icons-material/PhotoCamera"),kt=require("@mui/icons-material/ArrowBack"),Re=require("@mui/icons-material/Save"),Fn=require("@mui/material/Popper"),$e=require("@mui/lab"),We=require("@trii/types/dist/Common/Channels"),H=require("dayjs"),$n=require("@mui/icons-material/AddLocationAlt"),Je=require("@mui/x-date-pickers/AdapterDayjs"),Xe=require("@mui/x-date-pickers/LocalizationProvider"),na=require("@mui/x-date-pickers"),Qe=require("@mui/material/Box"),sa=require("@mui/icons-material/Cancel"),Bn=require("@mui/x-date-pickers/TimePicker"),ke=require("@mui/x-date-pickers-pro"),he=require("@mui/system"),Un=require("@mui/icons-material/LocalPhone"),ra=require("google-libphonenumber"),oa=require("@mui/icons-material/Add"),Mn=require("@mui/icons-material/MoreVert"),Pn=require("@mui/icons-material/WhatsApp"),Nn=require("@mui/icons-material/Mms"),Rn=require("@mui/icons-material/CheckRounded"),zn=require("@mui/icons-material/CloseRounded"),Ln=require("@mui/material/CircularProgress"),On=require("@mui/material/InputAdornment"),_n=require("@mui/material/Typography"),Wn=require("@mui/icons-material/Warning"),Vn=require("@mui/material/Chip"),dt=require("@trii/types/dist/Calendar"),ia=require("@mui/x-date-pickers-pro/AdapterDayjs"),la=require("@mui/icons-material/Place"),ca=require("@mui/icons-material/Person"),Yn=require("@mui/icons-material/CalendarMonth"),At=require("@mui/icons-material/Repeat"),Gn=require("@mui/icons-material/ContentCopy"),da=require("@mui/icons-material/AccessTime");function Hn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ft={exports:{}},Ze={},ua;function qn(){if(ua)return Ze;ua=1;var e=c,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function l(d,u,h){var f,y={},m=null,g=null;h!==void 0&&(m=""+h),u.key!==void 0&&(m=""+u.key),u.ref!==void 0&&(g=u.ref);for(f in u)s.call(u,f)&&!o.hasOwnProperty(f)&&(y[f]=u[f]);if(d&&d.defaultProps)for(f in u=d.defaultProps,u)y[f]===void 0&&(y[f]=u[f]);return{$$typeof:a,type:d,key:m,ref:g,props:y,_owner:i.current}}return Ze.Fragment=n,Ze.jsx=l,Ze.jsxs=l,Ze}var et={},pa;function Kn(){return pa||(pa=1,process.env.NODE_ENV!=="production"&&(function(){var e=c,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),d=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),b=Symbol.iterator,v="@@iterator";function x(p){if(p===null||typeof p!="object")return null;var D=b&&p[b]||p[v];return typeof D=="function"?D:null}var I=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(p){{for(var D=arguments.length,N=new Array(D>1?D-1:0),K=1;K<D;K++)N[K-1]=arguments[K];j("error",p,N)}}function j(p,D,N){{var K=I.ReactDebugCurrentFrame,ee=K.getStackAddendum();ee!==""&&(D+="%s",N=N.concat([ee]));var re=N.map(function(Z){return String(Z)});re.unshift("Warning: "+D),Function.prototype.apply.call(console[p],console,re)}}var S=!1,R=!1,F=!1,U=!1,T=!1,$;$=Symbol.for("react.module.reference");function L(p){return!!(typeof p=="string"||typeof p=="function"||p===s||p===o||T||p===i||p===h||p===f||U||p===g||S||R||F||typeof p=="object"&&p!==null&&(p.$$typeof===m||p.$$typeof===y||p.$$typeof===l||p.$$typeof===d||p.$$typeof===u||p.$$typeof===$||p.getModuleId!==void 0))}function O(p,D,N){var K=p.displayName;if(K)return K;var ee=D.displayName||D.name||"";return ee!==""?N+"("+ee+")":N}function B(p){return p.displayName||"Context"}function _(p){if(p==null)return null;if(typeof p.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case s:return"Fragment";case n:return"Portal";case o:return"Profiler";case i:return"StrictMode";case h:return"Suspense";case f:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case d:var D=p;return B(D)+".Consumer";case l:var N=p;return B(N._context)+".Provider";case u:return O(p,p.render,"ForwardRef");case y:var K=p.displayName||null;return K!==null?K:_(p.type)||"Memo";case m:{var ee=p,re=ee._payload,Z=ee._init;try{return _(Z(re))}catch{return null}}}return null}var E=Object.assign,Y=0,G,M,k,A,z,w,P;function W(){}W.__reactDisabledLog=!0;function J(){{if(Y===0){G=console.log,M=console.info,k=console.warn,A=console.error,z=console.group,w=console.groupCollapsed,P=console.groupEnd;var p={configurable:!0,enumerable:!0,value:W,writable:!0};Object.defineProperties(console,{info:p,log:p,warn:p,error:p,group:p,groupCollapsed:p,groupEnd:p})}Y++}}function ae(){{if(Y--,Y===0){var p={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},p,{value:G}),info:E({},p,{value:M}),warn:E({},p,{value:k}),error:E({},p,{value:A}),group:E({},p,{value:z}),groupCollapsed:E({},p,{value:w}),groupEnd:E({},p,{value:P})})}Y<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var pe=I.ReactCurrentDispatcher,ye;function xe(p,D,N){{if(ye===void 0)try{throw Error()}catch(ee){var K=ee.stack.trim().match(/\n( *(at )?)/);ye=K&&K[1]||""}return`
2
- `+ye+p}}var q=!1,Ie;{var te=typeof WeakMap=="function"?WeakMap:Map;Ie=new te}function de(p,D){if(!p||q)return"";{var N=Ie.get(p);if(N!==void 0)return N}var K;q=!0;var ee=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var re;re=pe.current,pe.current=null,J();try{if(D){var Z=function(){throw Error()};if(Object.defineProperty(Z.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Z,[])}catch(we){K=we}Reflect.construct(p,[],Z)}else{try{Z.call()}catch(we){K=we}p.call(Z.prototype)}}else{try{throw Error()}catch(we){K=we}p()}}catch(we){if(we&&K&&typeof we.stack=="string"){for(var Q=we.stack.split(`
3
- `),je=K.stack.split(`
4
- `),ue=Q.length-1,me=je.length-1;ue>=1&&me>=0&&Q[ue]!==je[me];)me--;for(;ue>=1&&me>=0;ue--,me--)if(Q[ue]!==je[me]){if(ue!==1||me!==1)do if(ue--,me--,me<0||Q[ue]!==je[me]){var Te=`
5
- `+Q[ue].replace(" at new "," at ");return p.displayName&&Te.includes("<anonymous>")&&(Te=Te.replace("<anonymous>",p.displayName)),typeof p=="function"&&Ie.set(p,Te),Te}while(ue>=1&&me>=0);break}}}finally{q=!1,pe.current=re,ae(),Error.prepareStackTrace=ee}var _e=p?p.displayName||p.name:"",Pe=_e?xe(_e):"";return typeof p=="function"&&Ie.set(p,Pe),Pe}function oe(p,D,N){return de(p,!1)}function De(p){var D=p.prototype;return!!(D&&D.isReactComponent)}function V(p,D,N){if(p==null)return"";if(typeof p=="function")return de(p,De(p));if(typeof p=="string")return xe(p);switch(p){case h:return xe("Suspense");case f:return xe("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case u:return oe(p.render);case y:return V(p.type,D,N);case m:{var K=p,ee=K._payload,re=K._init;try{return V(re(ee),D,N)}catch{}}}return""}var ne=Object.prototype.hasOwnProperty,be={},Fe=I.ReactDebugCurrentFrame;function se(p){if(p){var D=p._owner,N=V(p.type,p._source,D?D.type:null);Fe.setExtraStackFrame(N)}else Fe.setExtraStackFrame(null)}function Ct(p,D,N,K,ee){{var re=Function.call.bind(ne);for(var Z in p)if(re(p,Z)){var Q=void 0;try{if(typeof p[Z]!="function"){var je=Error((K||"React class")+": "+N+" type `"+Z+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[Z]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw je.name="Invariant Violation",je}Q=p[Z](D,Z,K,N,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(ue){Q=ue}Q&&!(Q instanceof Error)&&(se(ee),C("%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).",K||"React class",N,Z,typeof Q),se(null)),Q instanceof Error&&!(Q.message in be)&&(be[Q.message]=!0,se(ee),C("Failed %s type: %s",N,Q.message),se(null))}}}var He=Array.isArray;function jt(p){return He(p)}function rn(p){{var D=typeof Symbol=="function"&&Symbol.toStringTag,N=D&&p[Symbol.toStringTag]||p.constructor.name||"Object";return N}}function on(p){try{return Gt(p),!1}catch{return!0}}function Gt(p){return""+p}function Ht(p){if(on(p))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",rn(p)),Gt(p)}var qe=I.ReactCurrentOwner,ln={key:!0,ref:!0,__self:!0,__source:!0},qt,Kt,St;St={};function cn(p){if(ne.call(p,"ref")){var D=Object.getOwnPropertyDescriptor(p,"ref").get;if(D&&D.isReactWarning)return!1}return p.ref!==void 0}function dn(p){if(ne.call(p,"key")){var D=Object.getOwnPropertyDescriptor(p,"key").get;if(D&&D.isReactWarning)return!1}return p.key!==void 0}function un(p,D){if(typeof p.ref=="string"&&qe.current&&D&&qe.current.stateNode!==D){var N=_(qe.current.type);St[N]||(C('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',_(qe.current.type),p.ref),St[N]=!0)}}function pn(p,D){{var N=function(){qt||(qt=!0,C("%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)",D))};N.isReactWarning=!0,Object.defineProperty(p,"key",{get:N,configurable:!0})}}function mn(p,D){{var N=function(){Kt||(Kt=!0,C("%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)",D))};N.isReactWarning=!0,Object.defineProperty(p,"ref",{get:N,configurable:!0})}}var hn=function(p,D,N,K,ee,re,Z){var Q={$$typeof:a,type:p,key:D,ref:N,props:Z,_owner:re};return Q._store={},Object.defineProperty(Q._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(Q,"_self",{configurable:!1,enumerable:!1,writable:!1,value:K}),Object.defineProperty(Q,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.freeze&&(Object.freeze(Q.props),Object.freeze(Q)),Q};function gn(p,D,N,K,ee){{var re,Z={},Q=null,je=null;N!==void 0&&(Ht(N),Q=""+N),dn(D)&&(Ht(D.key),Q=""+D.key),cn(D)&&(je=D.ref,un(D,ee));for(re in D)ne.call(D,re)&&!ln.hasOwnProperty(re)&&(Z[re]=D[re]);if(p&&p.defaultProps){var ue=p.defaultProps;for(re in ue)Z[re]===void 0&&(Z[re]=ue[re])}if(Q||je){var me=typeof p=="function"?p.displayName||p.name||"Unknown":p;Q&&pn(Z,me),je&&mn(Z,me)}return hn(p,Q,je,ee,K,qe.current,Z)}}var wt=I.ReactCurrentOwner,Jt=I.ReactDebugCurrentFrame;function Oe(p){if(p){var D=p._owner,N=V(p.type,p._source,D?D.type:null);Jt.setExtraStackFrame(N)}else Jt.setExtraStackFrame(null)}var It;It=!1;function Tt(p){return typeof p=="object"&&p!==null&&p.$$typeof===a}function Xt(){{if(wt.current){var p=_(wt.current.type);if(p)return`
1
+ "use strict";var l=require("react"),r=require("@mui/material"),Te=require("@mui/icons-material"),Wn=require("@mui/icons-material/ArrowForward"),_n=require("@mui/icons-material/Message"),ne=require("@trii/types/dist/Contacts"),Ze=require("moment"),Le=require("react-i18next"),Vn=require("i18next"),Fa=require("@mui/icons-material/Close"),yt=require("@mui/icons-material/Edit"),qn=require("@mui/icons-material/Label"),Wt=require("@mui/icons-material/Delete"),Yn=require("@mui/icons-material/PhotoCamera"),ua=require("@mui/icons-material/ArrowBack"),et=require("@mui/icons-material/Save"),Gn=require("@mui/material/Popper"),Ve=require("@mui/lab"),st=require("@trii/types/dist/Common/Channels"),X=require("dayjs"),Hn=require("@mui/icons-material/AddLocationAlt"),ft=require("@mui/x-date-pickers/AdapterDayjs"),xt=require("@mui/x-date-pickers/LocalizationProvider"),$a=require("@mui/x-date-pickers"),bt=require("@mui/material/Box"),Ba=require("@mui/icons-material/Cancel"),Kn=require("@mui/x-date-pickers/TimePicker"),ze=require("@mui/x-date-pickers-pro"),we=require("@mui/system"),Jn=require("@mui/icons-material/LocalPhone"),Pa=require("google-libphonenumber"),Ua=require("@mui/icons-material/Add"),Xn=require("@mui/icons-material/MoreVert"),Qn=require("@mui/icons-material/WhatsApp"),Zn=require("@mui/icons-material/Mms"),es=require("@mui/icons-material/CheckRounded"),ts=require("@mui/icons-material/CloseRounded"),as=require("@mui/material/CircularProgress"),ns=require("@mui/material/InputAdornment"),ss=require("@mui/material/Typography"),rs=require("@mui/icons-material/Warning"),os=require("@mui/material/Chip"),_t=require("@trii/types/dist/Calendar"),Ma=require("@mui/x-date-pickers-pro/AdapterDayjs"),Ra=require("@mui/icons-material/Place"),Na=require("@mui/icons-material/Person"),is=require("@mui/icons-material/CalendarMonth"),pa=require("@mui/icons-material/Repeat"),ls=require("@mui/icons-material/WarningAmber"),cs=require("@mui/icons-material/ContentCopy"),ds=require("@mui/icons-material/AccessTime");function us(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ha={exports:{}},vt={},La;function ps(){if(La)return vt;La=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function c(d,u,h){var y,m={},g=null,f=null;h!==void 0&&(g=""+h),u.key!==void 0&&(g=""+u.key),u.ref!==void 0&&(f=u.ref);for(y in u)s.call(u,y)&&!o.hasOwnProperty(y)&&(m[y]=u[y]);if(d&&d.defaultProps)for(y in u=d.defaultProps,u)m[y]===void 0&&(m[y]=u[y]);return{$$typeof:a,type:d,key:g,ref:f,props:m,_owner:i.current}}return vt.Fragment=n,vt.jsx=c,vt.jsxs=c,vt}var Ct={},za;function hs(){return za||(za=1,process.env.NODE_ENV!=="production"&&(function(){var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),y=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),v=Symbol.iterator,j="@@iterator";function x(p){if(p===null||typeof p!="object")return null;var A=v&&p[v]||p[j];return typeof A=="function"?A:null}var w=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(p){{for(var A=arguments.length,W=new Array(A>1?A-1:0),Q=1;Q<A;Q++)W[Q-1]=arguments[Q];S("error",p,W)}}function S(p,A,W){{var Q=w.ReactDebugCurrentFrame,le=Q.getStackAddendum();le!==""&&(A+="%s",W=W.concat([le]));var pe=W.map(function(re){return String(re)});pe.unshift("Warning: "+A),Function.prototype.apply.call(console[p],console,pe)}}var I=!1,O=!1,k=!1,E=!1,U=!1,$;$=Symbol.for("react.module.reference");function q(p){return!!(typeof p=="string"||typeof p=="function"||p===s||p===o||U||p===i||p===h||p===y||E||p===f||I||O||k||typeof p=="object"&&p!==null&&(p.$$typeof===g||p.$$typeof===m||p.$$typeof===c||p.$$typeof===d||p.$$typeof===u||p.$$typeof===$||p.getModuleId!==void 0))}function z(p,A,W){var Q=p.displayName;if(Q)return Q;var le=A.displayName||A.name||"";return le!==""?W+"("+le+")":W}function _(p){return p.displayName||"Context"}function H(p){if(p==null)return null;if(typeof p.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case s:return"Fragment";case n:return"Portal";case o:return"Profiler";case i:return"StrictMode";case h:return"Suspense";case y:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case d:var A=p;return _(A)+".Consumer";case c:var W=p;return _(W._context)+".Provider";case u:return z(p,p.render,"ForwardRef");case m:var Q=p.displayName||null;return Q!==null?Q:H(p.type)||"Memo";case g:{var le=p,pe=le._payload,re=le._init;try{return H(re(pe))}catch{return null}}}return null}var B=Object.assign,N=0,J,L,T,F,V,P,Y;function K(){}K.__reactDisabledLog=!0;function te(){{if(N===0){J=console.log,L=console.info,T=console.warn,F=console.error,V=console.group,P=console.groupCollapsed,Y=console.groupEnd;var p={configurable:!0,enumerable:!0,value:K,writable:!0};Object.defineProperties(console,{info:p,log:p,warn:p,error:p,group:p,groupCollapsed:p,groupEnd:p})}N++}}function ie(){{if(N--,N===0){var p={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:B({},p,{value:J}),info:B({},p,{value:L}),warn:B({},p,{value:T}),error:B({},p,{value:F}),group:B({},p,{value:V}),groupCollapsed:B({},p,{value:P}),groupEnd:B({},p,{value:Y})})}N<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var xe=w.ReactCurrentDispatcher,Z;function me(p,A,W){{if(Z===void 0)try{throw Error()}catch(le){var Q=le.stack.trim().match(/\n( *(at )?)/);Z=Q&&Q[1]||""}return`
2
+ `+Z+p}}var ee=!1,Re;{var ue=typeof WeakMap=="function"?WeakMap:Map;Re=new ue}function ve(p,A){if(!p||ee)return"";{var W=Re.get(p);if(W!==void 0)return W}var Q;ee=!0;var le=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var pe;pe=xe.current,xe.current=null,te();try{if(A){var re=function(){throw Error()};if(Object.defineProperty(re.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(re,[])}catch(he){Q=he}Reflect.construct(p,[],re)}else{try{re.call()}catch(he){Q=he}p.call(re.prototype)}}else{try{throw Error()}catch(he){Q=he}p()}}catch(he){if(he&&Q&&typeof he.stack=="string"){for(var se=he.stack.split(`
3
+ `),b=Q.stack.split(`
4
+ `),M=se.length-1,D=b.length-1;M>=1&&D>=0&&se[M]!==b[D];)D--;for(;M>=1&&D>=0;M--,D--)if(se[M]!==b[D]){if(M!==1||D!==1)do if(M--,D--,D<0||se[M]!==b[D]){var G=`
5
+ `+se[M].replace(" at new "," at ");return p.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",p.displayName)),typeof p=="function"&&Re.set(p,G),G}while(M>=1&&D>=0);break}}}finally{ee=!1,xe.current=pe,ie(),Error.prepareStackTrace=le}var ae=p?p.displayName||p.name:"",je=ae?me(ae):"";return typeof p=="function"&&Re.set(p,je),je}function ce(p,A,W){return ve(p,!1)}function Be(p){var A=p.prototype;return!!(A&&A.isReactComponent)}function R(p,A,W){if(p==null)return"";if(typeof p=="function")return ve(p,Be(p));if(typeof p=="string")return me(p);switch(p){case h:return me("Suspense");case y:return me("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case u:return ce(p.render);case m:return R(p.type,A,W);case g:{var Q=p,le=Q._payload,pe=Q._init;try{return R(pe(le),A,W)}catch{}}}return""}var oe=Object.prototype.hasOwnProperty,be={},ge=w.ReactDebugCurrentFrame;function de(p){if(p){var A=p._owner,W=R(p.type,p._source,A?A.type:null);ge.setExtraStackFrame(W)}else ge.setExtraStackFrame(null)}function Pe(p,A,W,Q,le){{var pe=Function.call.bind(oe);for(var re in p)if(pe(p,re)){var se=void 0;try{if(typeof p[re]!="function"){var b=Error((Q||"React class")+": "+W+" type `"+re+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[re]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw b.name="Invariant Violation",b}se=p[re](A,re,Q,W,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(M){se=M}se&&!(se instanceof Error)&&(de(le),C("%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",W,re,typeof se),de(null)),se instanceof Error&&!(se.message in be)&&(be[se.message]=!0,de(le),C("Failed %s type: %s",W,se.message),de(null))}}}var Ke=Array.isArray;function lt(p){return Ke(p)}function ea(p){{var A=typeof Symbol=="function"&&Symbol.toStringTag,W=A&&p[Symbol.toStringTag]||p.constructor.name||"Object";return W}}function $t(p){try{return Ue(p),!1}catch{return!0}}function Ue(p){return""+p}function Je(p){if($t(p))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ea(p)),Ue(p)}var We=w.ReactCurrentOwner,Bt={key:!0,ref:!0,__self:!0,__source:!0},Pt,ct,Xe;Xe={};function ta(p){if(oe.call(p,"ref")){var A=Object.getOwnPropertyDescriptor(p,"ref").get;if(A&&A.isReactWarning)return!1}return p.ref!==void 0}function _e(p){if(oe.call(p,"key")){var A=Object.getOwnPropertyDescriptor(p,"key").get;if(A&&A.isReactWarning)return!1}return p.key!==void 0}function Qe(p,A){if(typeof p.ref=="string"&&We.current&&A&&We.current.stateNode!==A){var W=H(We.current.type);Xe[W]||(C('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',H(We.current.type),p.ref),Xe[W]=!0)}}function dt(p,A){{var W=function(){Pt||(Pt=!0,C("%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)",A))};W.isReactWarning=!0,Object.defineProperty(p,"key",{get:W,configurable:!0})}}function ut(p,A){{var W=function(){ct||(ct=!0,C("%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)",A))};W.isReactWarning=!0,Object.defineProperty(p,"ref",{get:W,configurable:!0})}}var aa=function(p,A,W,Q,le,pe,re){var se={$$typeof:a,type:p,key:A,ref:W,props:re,_owner:pe};return se._store={},Object.defineProperty(se._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(se,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Q}),Object.defineProperty(se,"_source",{configurable:!1,enumerable:!1,writable:!1,value:le}),Object.freeze&&(Object.freeze(se.props),Object.freeze(se)),se};function na(p,A,W,Q,le){{var pe,re={},se=null,b=null;W!==void 0&&(Je(W),se=""+W),_e(A)&&(Je(A.key),se=""+A.key),ta(A)&&(b=A.ref,Qe(A,le));for(pe in A)oe.call(A,pe)&&!Bt.hasOwnProperty(pe)&&(re[pe]=A[pe]);if(p&&p.defaultProps){var M=p.defaultProps;for(pe in M)re[pe]===void 0&&(re[pe]=M[pe])}if(se||b){var D=typeof p=="function"?p.displayName||p.name||"Unknown":p;se&&dt(re,D),b&&ut(re,D)}return aa(p,se,b,le,Q,We.current,re)}}var pt=w.ReactCurrentOwner,Ut=w.ReactDebugCurrentFrame;function Ye(p){if(p){var A=p._owner,W=R(p.type,p._source,A?A.type:null);Ut.setExtraStackFrame(W)}else Ut.setExtraStackFrame(null)}var nt;nt=!1;function ht(p){return typeof p=="object"&&p!==null&&p.$$typeof===a}function Mt(){{if(pt.current){var p=H(pt.current.type);if(p)return`
6
6
 
7
- Check the render method of \``+p+"`."}return""}}function yn(p){{if(p!==void 0){var D=p.fileName.replace(/^.*[\\\/]/,""),N=p.lineNumber;return`
7
+ Check the render method of \``+p+"`."}return""}}function sa(p){{if(p!==void 0){var A=p.fileName.replace(/^.*[\\\/]/,""),W=p.lineNumber;return`
8
8
 
9
- Check your code at `+D+":"+N+"."}return""}}var Qt={};function xn(p){{var D=Xt();if(!D){var N=typeof p=="string"?p:p.displayName||p.name;N&&(D=`
9
+ Check your code at `+A+":"+W+"."}return""}}var Rt={};function ra(p){{var A=Mt();if(!A){var W=typeof p=="string"?p:p.displayName||p.name;W&&(A=`
10
10
 
11
- Check the top-level render call using <`+N+">.")}return D}}function Zt(p,D){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var N=xn(D);if(Qt[N])return;Qt[N]=!0;var K="";p&&p._owner&&p._owner!==wt.current&&(K=" It was passed a child from "+_(p._owner.type)+"."),Oe(p),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',N,K),Oe(null)}}function ea(p,D){{if(typeof p!="object")return;if(jt(p))for(var N=0;N<p.length;N++){var K=p[N];Tt(K)&&Zt(K,D)}else if(Tt(p))p._store&&(p._store.validated=!0);else if(p){var ee=x(p);if(typeof ee=="function"&&ee!==p.entries)for(var re=ee.call(p),Z;!(Z=re.next()).done;)Tt(Z.value)&&Zt(Z.value,D)}}}function fn(p){{var D=p.type;if(D==null||typeof D=="string")return;var N;if(typeof D=="function")N=D.propTypes;else if(typeof D=="object"&&(D.$$typeof===u||D.$$typeof===y))N=D.propTypes;else return;if(N){var K=_(D);Ct(N,p.props,"prop",K,p)}else if(D.PropTypes!==void 0&&!It){It=!0;var ee=_(D);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ee||"Unknown")}typeof D.getDefaultProps=="function"&&!D.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function bn(p){{for(var D=Object.keys(p.props),N=0;N<D.length;N++){var K=D[N];if(K!=="children"&&K!=="key"){Oe(p),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",K),Oe(null);break}}p.ref!==null&&(Oe(p),C("Invalid attribute `ref` supplied to `React.Fragment`."),Oe(null))}}var ta={};function aa(p,D,N,K,ee,re){{var Z=L(p);if(!Z){var Q="";(p===void 0||typeof p=="object"&&p!==null&&Object.keys(p).length===0)&&(Q+=" 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 je=yn(ee);je?Q+=je:Q+=Xt();var ue;p===null?ue="null":jt(p)?ue="array":p!==void 0&&p.$$typeof===a?(ue="<"+(_(p.type)||"Unknown")+" />",Q=" Did you accidentally export a JSX literal instead of a component?"):ue=typeof p,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ue,Q)}var me=gn(p,D,N,ee,re);if(me==null)return me;if(Z){var Te=D.children;if(Te!==void 0)if(K)if(jt(Te)){for(var _e=0;_e<Te.length;_e++)ea(Te[_e],p);Object.freeze&&Object.freeze(Te)}else C("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 ea(Te,p)}if(ne.call(D,"key")){var Pe=_(p),we=Object.keys(D).filter(function(In){return In!=="key"}),Et=we.length>0?"{key: someKey, "+we.join(": ..., ")+": ...}":"{key: someKey}";if(!ta[Pe+Et]){var wn=we.length>0?"{"+we.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
11
+ Check the top-level render call using <`+W+">.")}return A}}function Nt(p,A){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var W=ra(A);if(Rt[W])return;Rt[W]=!0;var Q="";p&&p._owner&&p._owner!==pt.current&&(Q=" It was passed a child from "+H(p._owner.type)+"."),Ye(p),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',W,Q),Ye(null)}}function mt(p,A){{if(typeof p!="object")return;if(lt(p))for(var W=0;W<p.length;W++){var Q=p[W];ht(Q)&&Nt(Q,A)}else if(ht(p))p._store&&(p._store.validated=!0);else if(p){var le=x(p);if(typeof le=="function"&&le!==p.entries)for(var pe=le.call(p),re;!(re=pe.next()).done;)ht(re.value)&&Nt(re.value,A)}}}function oa(p){{var A=p.type;if(A==null||typeof A=="string")return;var W;if(typeof A=="function")W=A.propTypes;else if(typeof A=="object"&&(A.$$typeof===u||A.$$typeof===m))W=A.propTypes;else return;if(W){var Q=H(A);Pe(W,p.props,"prop",Q,p)}else if(A.PropTypes!==void 0&&!nt){nt=!0;var le=H(A);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",le||"Unknown")}typeof A.getDefaultProps=="function"&&!A.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Lt(p){{for(var A=Object.keys(p.props),W=0;W<A.length;W++){var Q=A[W];if(Q!=="children"&&Q!=="key"){Ye(p),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",Q),Ye(null);break}}p.ref!==null&&(Ye(p),C("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}var gt={};function zt(p,A,W,Q,le,pe){{var re=q(p);if(!re){var se="";(p===void 0||typeof p=="object"&&p!==null&&Object.keys(p).length===0)&&(se+=" 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 b=sa(le);b?se+=b:se+=Mt();var M;p===null?M="null":lt(p)?M="array":p!==void 0&&p.$$typeof===a?(M="<"+(H(p.type)||"Unknown")+" />",se=" Did you accidentally export a JSX literal instead of a component?"):M=typeof p,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",M,se)}var D=na(p,A,W,le,pe);if(D==null)return D;if(re){var G=A.children;if(G!==void 0)if(Q)if(lt(G)){for(var ae=0;ae<G.length;ae++)mt(G[ae],p);Object.freeze&&Object.freeze(G)}else C("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(G,p)}if(oe.call(A,"key")){var je=H(p),he=Object.keys(A).filter(function(Ot){return Ot!=="key"}),Ce=he.length>0?"{key: someKey, "+he.join(": ..., ")+": ...}":"{key: someKey}";if(!gt[je+Ce]){var Se=he.length>0?"{"+he.join(": ..., ")+": ...}":"{}";C(`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} />`,Et,Pe,wn,Pe),ta[Pe+Et]=!0}}return p===s?bn(me):fn(me),me}}function vn(p,D,N){return aa(p,D,N,!0)}function Cn(p,D,N){return aa(p,D,N,!1)}var jn=Cn,Sn=vn;et.Fragment=s,et.jsx=jn,et.jsxs=Sn})()),et}process.env.NODE_ENV==="production"?Ft.exports=qn():Ft.exports=Kn();var t=Ft.exports;Hn(t);const Jn=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})),ma=r.styled(r.IconButton)({padding:4}),Xn=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Qn=r.styled(r.Avatar)({width:60,height:60,marginBottom:8}),Zn=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),es=r.styled(r.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),ts=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:o,onClose:l,isBusiness:d=!1})=>{const u=c.useCallback(g=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!g)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(g,"_blank","noopener,noreferrer"):s(g)}catch(v){o?.(v instanceof Error?v:new Error("Navigation failed"))}},[s,o]),h=u(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),f=u(`/a/conversations/conversations?contactId=${n}`),y=a||"Unknown Contact",m=`Avatar for ${y}`;return t.jsxs(Xn,{children:[t.jsxs(Jn,{children:[t.jsx(ma,{color:"info",size:"small",onClick:g=>{h(g),l()},onMouseDown:g=>{g.button===1&&(h(g),l())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Tn,{fontSize:"small"})}),t.jsx(ma,{color:"info",size:"small",onClick:g=>{f(g),l()},onMouseDown:g=>{g.button===1&&(f(g),l())},"aria-label":"Go to conversations",children:t.jsx(En,{fontSize:"small"})})]}),i?t.jsx(es,{children:t.jsx(r.CircularProgress,{size:24})}):t.jsx(Qn,{src:e,alt:m,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(Zn,{variant:"h6",title:y,children:y})]})},as=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ns=r.styled(r.Box)({width:"100%",borderBottom:"1px solid lightgray"}),ss=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),rs=r.styled(r.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),os=r.styled(r.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),is=r.styled(r.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),ls=r.styled(r.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),cs=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=o=>t.jsx(ss,{children:t.jsxs(os,{children:[t.jsx(rs,{children:e}),t.jsxs(is,{children:[t.jsx(r.Tooltip,{title:o.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:o.address})}),o.profileName&&t.jsx(r.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:o.profileName})]}),o.note&&t.jsx(ls,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.id);return t.jsxs(as,{children:[s&&t.jsx(ns,{children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},ds=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),us=r.styled(r.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),ps=r.styled(r.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),ms=r.styled(r.Typography)({fontSize:14}),hs=r.styled(ve.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),gs=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),s=(i,o)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(l=>s(l,o)).join(", ");if(typeof i=="string"){const l=Ne(i,Ne.ISO_8601).isValid(),d=u=>Ne(i).format(u);switch(o){case X.ContactField_type.TIME:return l?d("HH:mm"):i;case X.ContactField_type.DATE:return l?d("DD/MM/YYYY"):i;case X.ContactField_type.TIMERANGE:case X.ContactField_type.DATERANGE:if(l)return o===X.ContactField_type.TIMERANGE?d("HH:mm"):d("DD/MM/YYYY");const u=i.split(" ");if(u.length===2){const[h,f]=u,y=o===X.ContactField_type.TIMERANGE?Ne(h).format("HH:mm"):Ne(h).format("DD/MM/YYYY"),m=o===X.ContactField_type.TIMERANGE?Ne(f).format("HH:mm"):Ne(f).format("DD/MM/YYYY");return`${y} - ${m}`}return i;default:return i}}return i};return t.jsxs(ds,{children:[t.jsx(us,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,o)=>i.value.length>0&&t.jsxs(ps,{children:[t.jsx(hs,{}),t.jsxs(ms,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},o))]})},ys=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),xs=r.styled(r.Box)({marginBottom:16}),fs=r.styled(r.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),bs=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ys,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(xs,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(fs,{label:n.name,color:"primary",size:"small"},n.id))})]});function ha(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 vs=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Cs=({contactData:e,title:a})=>!e||!ha(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(vs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(r.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function ga(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 js=({name:e,memberId:a,navigate:n})=>{const s=`/a/conversations/conversations?contactId=${a}`,i=o=>{o.preventDefault(),o.stopPropagation(),o.ctrlKey||o.metaKey||o.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:i,onMouseDown:o=>{o.button===1&&i(o)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(o)},children:e})},Ss=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ws=({contactData:e,title:a,navigate:n})=>!e||!ga(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ss,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(js,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var Is="Labels",Ts="Phone",Es="Business",Ds="Business Members",ks="Properties",As="View",Fs="Tags",$s={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"},Bs={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"},Us={upload:"Upload photo",delete:"Delete photo"},Ms={from:"From",to:"To"},Ps={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:Is,phone:Ts,business:Es,businessMembers:Ds,properties:ks,view:As,tags:Fs,global:$s,searchLocationModal:Bs,avatar:Us,contactEdit:Ms,conversations:Ps},Rs="Etiquetas",zs="Tel\xE9fono",Ls="Empresa",Os="Miembros de la empresa",_s="Propiedades",Ws="Ver",Vs="Etiquetas",Ys={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"},Gs={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"},Hs={upload:"Subir foto",delete:"Eliminar foto"},qs={from:"Desde",to:"Hasta"},Ks={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"}},Js={labels:Rs,phone:zs,business:Ls,businessMembers:Os,properties:_s,view:Ws,tags:Vs,global:Ys,searchLocationModal:Gs,avatar:Hs,contactEdit:qs,conversations:Ks};const Xs={en:{translation:Ns},es:{translation:Js}},tt=Dn.createInstance();tt.use(ie.initReactI18next).init({resources:Xs,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Qs=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"}})),Zs=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:o,language:l="en"})=>{const{t:d,i18n:u}=ie.useTranslation();c.useEffect(()=>{l&&u.changeLanguage(l)},[l,u]);const h=d,f=ga(s),y=ha(s),m=[{icon:t.jsx(ve.PhoneEnabled,{fontSize:"small"}),title:h("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(ve.Email,{fontSize:"small"}),title:h("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(ve.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(ve.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(ve.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(ve.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return c.useEffect(()=>{const g=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[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(Qs,{children:t.jsxs(r.CardContent,{children:[t.jsx(ts,{navigate:o,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:f}),t.jsx(bs,{contactData:s,title:h("labels")}),y&&t.jsx(Cs,{contactData:s,title:h("business")}),f&&t.jsx(ws,{contactData:s,title:h("businessMembers"),navigate:o}),m.map((g,b)=>t.jsx(cs,{icon:g.icon,title:g.title,contactList:g.contactList,showTitle:g.showTitle},b)),t.jsx(gs,{properties:s?.properties,title:h("properties")})]})})})})},ya=e=>t.jsx(ie.I18nextProvider,{i18n:tt,children:t.jsx(Zs,{...e})}),xa=e=>e,fa=c.createContext(xa),er=({t:e,children:a})=>t.jsx(fa.Provider,{value:e,children:a}),le=()=>{const e=c.useContext(fa);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),xa)},tr=({tags:e,onEditTags:a})=>{const n=le(),[s,i]=c.useState(null),o=c.useMemo(()=>e??[],[e]),l=o.slice(0,4),d=Math.max(o.length-l.length,0),u=y=>{i(y.currentTarget)},h=()=>{i(null)},f=!!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:[l.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:u,sx:{borderRadius:999}}):null]}),t.jsx(r.IconButton,{className:"tags-action",size:"small","aria-label":o.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:o.length?t.jsx(Ke,{fontSize:"small"}):t.jsx(kn,{fontSize:"small"})})]}),t.jsx(r.Popover,{open:f,anchorEl:s,onClose:h,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:o.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))})]})})]})},ba=c.createContext(null),ar=ba.Provider,Ue=()=>c.useContext(ba),nr=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),sr=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),rr=r.styled(r.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),or=r.styled(r.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),ir=({displayName:e,contactType:a,firstName:n,lastName:s,name:i,entityId:o,onEntityUpdated:l})=>{const d=Ue(),[u,h]=c.useState(!1),[f,y]=c.useState(!1),[m,g]=c.useState({firstName:n||"",lastName:s||"",name:i||""});c.useEffect(()=>{g({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const b=async()=>{if(!(!d||!o||!a||a==="unknown")){y(!0);try{let x={};a==="contact"?x={firstName:m.firstName,lastName:m.lastName}:a==="business"&&(x={name:m.name});const I=await d.updateEntity({entityType:a,entityId:o,body:x});I&&l&&l(I),h(!1)}catch(x){console.error("Failed to update name",x)}finally{y(!1)}}},v=a==="contact"||a==="business";return u?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:m.firstName,onChange:x=>g({...m,firstName:x.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:m.lastName,onChange:x=>g({...m,lastName:x.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:m.name,onChange:x=>g({...m,name:x.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:b,disabled:f,color:"primary",children:f?t.jsx(r.CircularProgress,{size:24}):t.jsx(ve.Save,{})})]}):t.jsx(sr,{children:t.jsxs(rr,{children:[t.jsx(nr,{variant:"h6",title:e,children:e}),v&&t.jsx(or,{size:"small",onClick:()=>h(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(ve.Edit,{fontSize:"small"})})]})})},lr=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:o,isDeleting:l})=>{const d=le();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:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(An,{fontSize:"small"})}),t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.delete"),onClick:i,disabled:!!l,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(ct,{fontSize:"small"})})]})]})},cr=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),dr=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:l,photoInputRef:d,isUploadingPhoto:u,onDeletePhoto:h,isDeletingPhoto:f,contactType:y,firstName:m,lastName:g,name:b,entityId:v,onEntityUpdated:x})=>{const I=`Avatar for ${a}`;return t.jsxs(cr,{children:[t.jsx("input",{ref:d,type:"file",accept:"image/*",onChange:l,style:{display:"none"}}),t.jsx(lr,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:h,isDeleting:f}),t.jsx(ir,{displayName:a,contactType:y,firstName:m,lastName:g,name:b,entityId:v,onEntityUpdated:x}),t.jsx(tr,{tags:s,onEditTags:i})]})},$t=20,ur=e=>{const{popperContainer:a,...n}=e;return t.jsx(Fn,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},pr=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:o,onCreateNew:l,isCreatingNew:d,popperContainer:u})=>{const h=le(),[f,y]=c.useState(""),[m,g]=c.useState($t),b=c.useDeferredValue(f),v=c.useMemo(()=>a??[],[a]),x=c.useMemo(()=>{const F=String(b??"").trim().toLowerCase();return F?v.filter(U=>String(U?.name??"").toLowerCase().includes(F)):v},[v,b]),I=c.useMemo(()=>x.slice(0,m),[x,m]),C=c.useMemo(()=>{const F=new Map;for(const U of e??[])U?.id&&F.set(String(U.id),U);for(const U of I??[])U?.id&&(F.has(String(U.id))||F.set(String(U.id),U));return Array.from(F.values())},[e,I]),j=(F,U)=>{y(U??""),g($t)},S=F=>{const U=F;U.scrollTop+U.clientHeight>=U.scrollHeight-24&&g(T=>T+$t)},R=()=>{const F=String(f??"").trim(),U=!F||o||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[h("global.noOptions"),t.jsx($e.LoadingButton,{onClick:()=>l(F),loading:d,disabled:U,variant:"contained",size:"small",sx:{marginTop:1.3},children:h("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":h("global.back"),disabled:o,children:t.jsx(kt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:h("tags")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx($e.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Re,{}),onClick:i,loading:o,disabled:o,children:h("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(F,U)=>n(U),options:C,filterOptions:F=>F,inputValue:f,onInputChange:j,getOptionLabel:F=>F?.name??"",isOptionEqualToValue:(F,U)=>String(F?.id)===String(U?.id),PopperComponent:F=>t.jsx(ur,{...F,popperContainer:u}),renderOption:(F,U)=>{const{key:T,...$}=F;return c.createElement("li",{...$,key:U?.id?String(U.id):String(T??U?.name??"")},U.name??"")},renderTags:(F,U)=>F.map((T,$)=>{const L=U({index:$}),{key:O,...B}=L;return t.jsx(r.Chip,{label:T.name??"",...B},T?.id?String(T.id):String(O??T?.name??$))}),size:"small",renderInput:F=>t.jsx(r.TextField,{...F,size:"small"}),ListboxProps:{onScroll:S,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(R,{}),sx:{width:"100%"}})]})};var mr=Object.defineProperty,hr=(e,a,n)=>a in e?mr(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,va=(e,a,n)=>hr(e,typeof a!="symbol"?a+"":a,n);class Ca extends Error{constructor(a,n,s){super(a),va(this,"status"),va(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function Se({url:e,method:a="GET",headers:n,body:s,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:i}),l=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const d=typeof l=="object"&&l&&"message"in l?String(l.message):`Request failed with status ${o.status}`;throw new Ca(d,o.status,l)}return l}async function gr({url:e,method:a="POST",headers:n,formData:s,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:s,signal:i}),l=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const d=typeof l=="object"&&l&&"message"in l?String(l.message):`Request failed with status ${o.status}`;throw new Ca(d,o.status,l)}return l}function ge(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function Ce(e,a){const n=encodeURIComponent(a);return{CONTACTS:ge(e,`/contacts/${n}`),MEDIA:ge(e,`/media/${n}`),SETTINGS:ge(e,`/settings/${n}`)}}async function yr({baseUrl:e,spaceId:a,signal:n}){const s=Ce(e,a),i=ge(s.CONTACTS,"/labels");return Se({url:i,signal:n})}async function ja({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/labels");return Se({url:o,method:"POST",body:{name:n},signal:s})}async function xr({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Se({url:o,signal:s})}async function fr({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Se({url:o,signal:s})}async function br({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Ce(e,a),o=`${ge(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Se({url:o,signal:s})}async function Ae({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}){const l=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,d=Ce(e,a),u=ge(d.CONTACTS,l);return Se({url:u,method:"PUT",body:i,signal:o})}async function vr({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/Search");return Se({url:o,method:"POST",body:n,signal:s})}async function Cr({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/business");return Se({url:o,method:"POST",body:n,signal:s})}async function ut({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/contactAddresses");return Se({url:o,method:"DELETE",body:n,signal:s})}async function jr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/contactAddresses/check");return Se({url:o,method:"POST",body:n,signal:s})}async function Sr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,"/contactAddresses/set");return Se({url:o,method:"POST",body:n,signal:s})}async function wr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ce(e,a),o=ge(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Se({url:o,method:"PUT",body:n,signal:s})}async function Sa({baseUrl:e,spaceId:a,signal:n}){const s=Ce(e,a),i=ge(s.SETTINGS,"/user");return Se({url:i,signal:n})}async function Ir({baseUrl:e,spaceId:a,signal:n}){const s=Ce(e,a),i=ge(s.SETTINGS,"/users");return Se({url:i,signal:n})}async function Tr({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Ce(e,a),o=ge(i.SETTINGS,`/usersInfor/${s}`);return Se({url:o,signal:n})}async function wa({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const o=Ce(e,a),l=new FormData;l.append("file",s,s.name);const d=ge(o.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return gr({url:d,formData:l,signal:i})}const Ia=(e,a)=>({fetchLabels:({signal:n}={})=>yr({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>ja({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>xr({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>fr({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>vr({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>Cr({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>br({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:o})=>Ae({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}),deleteAddress:({data:n,signal:s})=>ut({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>ut({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>jr({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>Sr({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>wr({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>Sa({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Ir({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>Tr({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>wa({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),Ta=()=>!!window?.google?.maps?.places?.Autocomplete,Er=(e=1e4)=>new Promise(a=>{if(Ta()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(Ta()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),Dr=()=>{const[e,a]=c.useState(!1),[n,s]=c.useState(!0),[i,o]=c.useState(null);return c.useEffect(()=>{(async()=>{try{const l=await Er(1e4);a(l),l||o("Google Maps API failed to load")}catch{o("Error loading Google Maps API"),a(!1)}finally{s(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},kr=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=le(),i=c.useRef(null),o=c.useRef(null),l=c.useRef(e),d=c.useRef(a),{isLoaded:u,isLoading:h,error:f}=Dr(),y=c.useMemo(()=>h?s("searchLocationModal.loadingGoogleMaps"):f?s("searchLocationModal.googleMapsUnavailable"):u?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[u,h,f,n,s]);return c.useEffect(()=>{l.current=e},[e]),c.useEffect(()=>{d.current=a},[a]),c.useEffect(()=>{if(!u||!i.current||o.current)return;const m=window?.google;if(!m?.maps?.places?.Autocomplete){d.current?.(s("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let g=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(x=>{const I=x;I.style.zIndex="20000",I.style.position="fixed"})};g=new MutationObserver(x=>{for(const I of x)for(const C of Array.from(I.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const j=C;j.classList?.contains("pac-container")&&(j.style.zIndex="20000",j.style.position="fixed")}}),g.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),o.current=new m.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=o.current.addListener?.("place_changed",()=>{const x=o.current?.getPlace?.();if(!x?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let I="",C="",j="",S="",R="",F="";const U=x.address_components??[];for(const O of U){const B=O?.types??[];if(B.includes("locality")||B.includes("administrative_area_level_2")){I=O.long_name;continue}if(B.includes("administrative_area_level_1")){C=O.long_name;continue}if(B.includes("country")){j=O.long_name;continue}if(B.includes("postal_code")){S=O.long_name;continue}if(B.includes("route")){R=O.long_name;continue}B.includes("street_number")&&(F=O.long_name)}const T=typeof x.geometry.location.lat=="function"?x.geometry.location.lat():0,$=typeof x.geometry.location.lng=="function"?x.geometry.location.lng():0,L={location:{lat:T,lng:$},address:x.formatted_address??"",city:I,state:C,country:j,postalCode:S,streetName:R,streetNumber:F,shortAddress:[R,F].filter(Boolean).join(" ")};l.current(L)});return()=>{g&&g.disconnect(),v?.remove&&v.remove(),o.current=null}},[u,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:y,disabled:h||!u||!!f,error:!!f})},Ar={street:"",city:"",state:"",zipcode:"",country:""},Fr=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:o})=>{const l=le(),[d,u]=c.useState(Ar),[h,f]=c.useState(""),[y,m]=c.useState(""),[g,b]=c.useState(!1),[v,x]=c.useState(!1),I=c.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),C=T=>{f(T.address??"");const $=String(T.shortAddress??"").trim()||[T.streetName,T.streetNumber].filter(Boolean).join(" ").trim();u({street:$,city:T.city??"",state:T.state??"",zipcode:T.postalCode??"",country:T.country??""}),m("")},j=T=>{m(String(T??""))},S=T=>$=>{const L=$.target.value;u(O=>({...O,[T]:L}))},R=async()=>{if(!g&&!(!e||!a)&&s){b(!0);try{const T=await Ae({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??"")}}});o?.(T),i()}finally{b(!1)}}},F=async()=>{if(!v&&!(!e||!a)&&s){x(!0);try{const T=await Ae({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??"")}}});o?.(T),i()}finally{x(!1)}}},U=!I||g||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:i,"aria-label":l("global.back"),children:t.jsx(kt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"h6",children:l("searchLocationModal.searchAddress")})]}),t.jsxs(r.Stack,{spacing:3,children:[t.jsxs(r.Box,{sx:{position:"relative",zIndex:1400},children:[t.jsx(kr,{onPlaceSelected:C,onError:j,placeholder:l("searchLocationModal.enterLocation")}),y?t.jsx(r.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:y}):null]}),t.jsx(r.TextField,{label:l("conversations.contactDetails.street"),value:d.street,onChange:S("street"),fullWidth:!0,size:"medium"}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:l("searchLocationModal.city"),value:d.city,onChange:S("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:l("searchLocationModal.state"),value:d.state,onChange:S("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(r.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(r.TextField,{label:l("searchLocationModal.postalCode"),value:d.zipcode,onChange:S("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:l("searchLocationModal.country"),value:d.country,onChange:S("country"),fullWidth:!0,size:"medium"})]}),h?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:h}):null,t.jsxs(r.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx($e.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(Re,{}),onClick:R,loading:g,disabled:U,children:l("searchLocationModal.saveMainAddress")}),t.jsx($e.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(Re,{}),onClick:F,loading:v,disabled:U,children:l("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Bt(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 Ea(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 $r({open:e,baseUrl:a,spaceId:n,contactId:s}){const i=c.useRef(null),o=c.useMemo(()=>!a||!n?null:Ia(a,n),[a,n]),[l,d]=c.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),u=c.useMemo(()=>!!(e&&o&&s),[e,o,s]);c.useEffect(()=>{e||(i.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 h=c.useMemo(()=>!!(e&&o),[e,o]);c.useEffect(()=>{if(!h||!o)return;const m=new AbortController;return d(g=>({...g,labelsLoading:!0,labelsError:null})),o.fetchLabels({signal:m.signal}).then(g=>{d(b=>({...b,labels:g,labelsLoading:!1,labelsError:null}))}).catch(g=>{m.signal.aborted||d(b=>({...b,labelsLoading:!1,labelsError:g}))}),()=>{m.abort()}},[o,h]),c.useEffect(()=>{if(!u||!o)return;i.current?.abort();const m=new AbortController;return i.current=m,d(g=>({...g,isLoading:!0,error:null,contactData:null})),o.fetchContact({contactId:s,signal:m.signal}).then(g=>{d(b=>({...b,isLoading:!1,error:null,contactData:g}))}).catch(g=>{m.signal.aborted||d(b=>({...b,isLoading:!1,error:g}))}),()=>{m.abort()}},[o,u,s]);const f=c.useMemo(()=>!!(e&&o),[e,o]);c.useEffect(()=>{if(!f||!o)return;const m=new AbortController;return d(g=>({...g,userLoading:!0,userError:null})),o.fetchUserTrii({signal:m.signal}).then(g=>{d(b=>({...b,userLoading:!1,userError:null,userTrii:g}))}).catch(g=>{m.signal.aborted||d(b=>({...b,userLoading:!1,userError:g}))}),()=>{m.abort()}},[o,f]);const y=c.useMemo(()=>{const m=l.contactData,g=Bt(m),b=Ea(m);let v="unknown";g&&(v="business"),b&&(v="contact");let x="Unknown Contact";g?x=m.name:b&&(x=`${m.firstName} ${m.lastName}`.trim());const I=m?.tags??[];return{isBusiness:g,isContact:b,contactType:v,displayName:x,tags:I,labels:l.labels,contactFields:l.contactFields,userTrii:l.userTrii,userLoading:l.userLoading,userError:l.userError}},[l.contactData,l.labels,l.contactFields,l.userTrii,l.userLoading,l.userError]);return c.useEffect(()=>{if(!e||!o)return;const m=l.contactData,g=Bt(m),b=Ea(m),v=g?"business":b?"contact":null;if(!v)return;const x=new AbortController;return d(I=>({...I,contactFieldsLoading:!0,contactFieldsError:null})),o.fetchContactFields({forType:v,signal:x.signal}).then(I=>{d(C=>({...C,contactFields:I,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(I=>{x.signal.aborted||d(C=>({...C,contactFieldsLoading:!1,contactFieldsError:I}))}),()=>{x.abort()}},[o,e,l.contactData]),{state:l,selectors:y,actions:{setContactData:m=>d(g=>({...g,contactData:m??null})),clearError:()=>d(m=>({...m,error:null}))}}}const at=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:o})=>{const[l,d]=c.useState(i??""),[u,h]=c.useState(null),[f,y]=c.useState(!1),[m,g]=c.useState(!1),b=c.useRef(null),v=c.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function x($){return $.split("?sv=")[0]}function I($){return $.split("&cacheId=")[0]}function C($){let L=x($);return!L||(L=I(L),!L)?"":L}const j=async()=>{if(!e||!a)return null;const $=await Sa({baseUrl:e,spaceId:a});return h($),$},S=async $=>{const L=(u??await j())?.storageAzureSAS,O=L?.expireAt,B=O?new Date(O):null;let _=L?.sas??"";if((!_||B&&B<new Date)&&(_=(await j())?.storageAzureSAS?.sas??""),!_)return $;const E=`${Date.now()}`;return`${$}${_}&cacheId=${E}`},R=async $=>{if(!$){d("");return}const L=x($);if(!L)return;const O=await S(L);d(O)},F=async $=>{const L=$.target.files?.[0];if(L&&v){b.current&&(b.current.value=""),y(!0);try{const O=await wa({baseUrl:e,spaceId:a,contactId:s,file:L}),B=await Ae({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:O}});o?.(B),await R(O)}finally{y(!1)}}},U=()=>{b.current?.click()},T=async()=>{if(v&&!m){g(!0);try{await Ae({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),o?.({imageUrl:""}),d("")}finally{g(!1)}}};return c.useEffect(()=>{if(!i){d("");return}R(i)},[i]),{inputAtributes:{onChange:F,ref:b,type:"file",accept:"image/*"},action:{uploadImage:U,deleteImage:T},imageUrl:l,removeParams:C,isUploading:f,isDeleting:m}},ce=(e,a)=>{const[n,s]=c.useState(a||""),[i,o]=c.useState(!1),[l,d]=c.useState("");return c.useEffect(()=>{s(a||"")},[a]),{actions:{onError:u=>{o(!0),d(u)},onSuccess:()=>{o(!1),d("")},resetValue:()=>{s(a||"")},changeValue:u=>{s(u)}},attributes:{error:i,helperText:l,type:e,value:n,onChange:u=>{s(u.target.value)}}}},Da=(e="")=>{const[a,n]=c.useState(e),s=l=>{n(l.target.value)},i=l=>{n(l)},o=()=>{n(e??"")};return c.useEffect(()=>{n(e)},[e]),{actions:{resetValue:o,changeValue:i},attributes:{value:a,onChange:s}}};let pt;const Br=new Uint8Array(16);function Ur(){if(!pt&&(pt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!pt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return pt(Br)}const fe=[];for(let e=0;e<256;++e)fe.push((e+256).toString(16).slice(1));function Mr(e,a=0){return fe[e[a+0]]+fe[e[a+1]]+fe[e[a+2]]+fe[e[a+3]]+"-"+fe[e[a+4]]+fe[e[a+5]]+"-"+fe[e[a+6]]+fe[e[a+7]]+"-"+fe[e[a+8]]+fe[e[a+9]]+"-"+fe[e[a+10]]+fe[e[a+11]]+fe[e[a+12]]+fe[e[a+13]]+fe[e[a+14]]+fe[e[a+15]]}const Pr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var ka={randomUUID:Pr};function Aa(e,a,n){if(ka.randomUUID&&!a&&!e)return ka.randomUUID();e=e||{};const s=e.random||(e.rng||Ur)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,a){n=n||0;for(let i=0;i<16;++i)a[n+i]=s[i];return a}return Mr(s)}function Nr(e){return{id:Aa(),address:"",note:"",channelType:e,isSaved:!1}}var mt={createNewAddress:Nr};const Rr=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},zr=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var Ve={getEditedField:Rr,getAddressesWithUpdatedValues:zr};const Fa=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,o]=c.useState(!1),[l,d]=c.useState(()=>a),[u,h]=c.useState(a?.ims_facebook||[]),[f,y]=c.useState(a?.ims_mercadolibre||[]),[m,g]=c.useState(a?.ims_webchat||[]),[b,v]=c.useState(a?.ims_instagram||[]),[x,I]=c.useState(a?.ims_whatsapp||[]),[C,j]=c.useState(a?.emails||[]),[S,R]=c.useState(a?.phones||[]),[F,U]=c.useState(a?.ims_rcs||[]),T=()=>{const k=mt.createNewAddress(We.ChannelType.PHONE),A=[...S,k];R(A)},$=()=>{const k=mt.createNewAddress(We.ChannelType.EMAIL),A=[...C,k];j(A)},L=()=>{const k=mt.createNewAddress(We.ChannelType.WHATSAPP),A=[...x,k];I(A)},O=()=>{const k=mt.createNewAddress(We.ChannelType.RCS),A=[...F,k];U(A)},B=k=>{const A=[...x,k];I(A),d(z=>({...z??{},ims_whatsapp:A}))},_=(k,A)=>{if(A){if(A.channelType===3){const z=C.map(w=>w.id===k?A:w);j(z),d(w=>({...w??{},emails:z}))}if(A.channelType===5){const z=S.map(w=>w.id===k?A:w);R(z),d(w=>({...w??{},phones:z}))}if(A.channelType===13){const z=x.map(w=>w.id===k?A:w);I(z),d(w=>({...w??{},ims_whatsapp:z}))}if(A.channelType===21){const z=F.map(w=>w.id===k?A:w);U(z),d(w=>({...w??{},ims_rcs:z}))}if(A.channelType===41){const z=f.map(w=>w.id===k?A:w);y(z),d(w=>({...w??{},ims_mercadolibre:z}))}}},E=async(k,A,z)=>{const w=k.target.value;if(z===3){const P=Ve.getAddressesWithUpdatedValues(w,A,C);j(P)}else if(z===5){const P=Ve.getAddressesWithUpdatedValues(w,A,S);R(P)}else if(z===13){const P=Ve.getAddressesWithUpdatedValues(w,A,x);I(P)}else if(z===21){const P=Ve.getAddressesWithUpdatedValues(w,A,F);U(P)}else if(z===41){const P=Ve.getAddressesWithUpdatedValues(w,A,f);y(P)}},Y=(k,A,z)=>{if(z===14){const w=u.map(P=>P.id===A?{...P,note:k.target.value}:P);h(w)}if(z===20){const w=m.map(P=>P.id===A?{...P,note:k.target.value}:P);g(w)}if(z===16){const w=b.map(P=>P.id===A?{...P,note:k.target.value}:P);v(w)}if(z===3){const w=C.map(P=>P.id===A?{...P,note:k.target.value}:P);j(w)}if(z===5){const w=S.map(P=>P.id===A?{...P,note:k.target.value}:P);R(w)}if(z===13){const w=x.map(P=>P.id===A?{...P,note:k.target.value}:P);I(w)}if(z===21){const w=F.map(P=>P.id===A?{...P,note:k.target.value}:P);U(w)}if(z===41){const w=f.map(P=>P.id===A?{...P,note:k.target.value}:P);y(w)}},G=async(k,A)=>{if(e&&(A===3||A===5||A===13||A===14||A===20||A===16||A===21||A===41)){o(k);const z={contactId:e,contactAddressId:k,type:A};switch(n?await n(s(z)):await s(z),o(!1),A){case 3:const w=C.filter(q=>q.id!==k);j(w),d(q=>({...q??{},emails:w}));break;case 5:const P=S.filter(q=>q.id!==k);R(P),d(q=>({...q??{},phones:P}));break;case 13:const W=x.filter(q=>q.id!==k);I(W),d(q=>({...q??{},ims_whatsapp:W}));break;case 21:const J=F.filter(q=>q.id!==k);U(J),d(q=>({...q??{},ims_rcs:J}));break;case 41:const ae=f.filter(q=>q.id!==k);y(ae),d(q=>({...q??{},ims_mercadolibre:ae}));break;case 14:const pe=u.filter(q=>q.id!==k);h(pe),d(q=>({...q??{},ims_facebook:pe}));break;case 20:const ye=m.filter(q=>q.id!==k);g(ye),d(q=>({...q??{},ims_webchat:ye}));break;case 16:const xe=b.filter(q=>q.id!==k);v(xe),d(q=>({...q??{},ims_instagram:xe}));break}}};function M(){h(l?.ims_facebook||[]),y(l?.ims_mercadolibre||[]),g(l?.ims_webchat||[]),v(l?.ims_instagram||[]),I(l?.ims_whatsapp||[]),U(l?.ims_rcs||[]),j(l?.emails||[]),R(l?.phones||[])}return c.useEffect(()=>{d(a),a?.emails&&a?.phones&&(j(a.emails),R(a.phones)),I(a?.ims_whatsapp||[]),U(a?.ims_rcs||[]),h(a?.ims_facebook||[]),g(a?.ims_webchat||[]),v(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:x,imsRCS:F,imsMercadolibre:f,imsFacebooks:u,imsWebchats:m,imsInstagrams:b,emails:C,phoneNumbers:S},action:{handleAddressFieldChange:E,handleNoteFieldChange:Y,handleDeleteAddress:G,addPhone:T,addEmail:$,addWhatsapp:L,addRCS:O,replaceAddress:_,addWhatsappVerified:B,resetToInitialContactInformation:M},state:{isDeletingAddress:i}}},$a=({initialState:e=[]}={})=>{const[a,n]=c.useState(e);return{attributes:{value:a,onChange:(s,i)=>{const o=i.some(l=>!a.some(d=>l.id===d.id));(a.filter(l=>!i.some(d=>d.id===l.id)).length>0||o)&&n(i)}},actions:{addValue:s=>{n(i=>i.concat(s))},setValue:s=>{n(s)}}}},Lr=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=c.useMemo(()=>async te=>{!n||!s||await ut({baseUrl:n,spaceId:s,data:te})},[n,s]),o=async te=>te,[l,d]=c.useState([]),u=ce("text",e?.name||""),h=at({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),f=Da(e?.owner),y=$a({initialState:e?.tags??[]}),[m,g]=c.useState([]),{field:{imsFacebooks:b,imsMercadolibre:v,imsWebchats:x,imsInstagrams:I,imsWhatsapp:C,emails:j,phoneNumbers:S,imsRCS:R},action:{addPhone:F,addEmail:U,addWhatsapp:T,addRCS:$,addWhatsappVerified:L,replaceAddress:O,handleAddressFieldChange:B,handleNoteFieldChange:_,handleDeleteAddress:E,resetToInitialContactInformation:Y},state:{isDeletingAddress:G}}=Fa({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),M=ce("text",e?.address1?.street||""),k=ce("text",e?.address2?.street||""),A=ce("text",e?.address1?.city||""),z=ce("text",e?.address2?.city||""),w=ce("text",e?.address1?.state||""),P=ce("text",e?.address2?.state||""),W=ce("text",e?.address1?.zipcode||""),J=ce("text",e?.address2?.zipcode||""),ae=ce("text",e?.address1?.country||""),pe=ce("text",e?.address2?.country||""),ye=(te,de,oe)=>de!==oe&&!(de===null&&oe==="")?{[te]:oe}:{},xe=()=>{if(!e)return null;const te={street:M.attributes.value,city:A.attributes.value,state:w.attributes.value,zipcode:W.attributes.value,country:ae.attributes.value},de={street:k.attributes.value,city:z.attributes.value,state:P.attributes.value,zipcode:J.attributes.value,country:pe.attributes.value};return{id:e.id,...ye("owner",e.owner,f.attributes.value),...ye("name",e.name,u.attributes.value),imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,tags:y.attributes.value,properties:l,members:m,phoneNumbers:S,emails:j,address1:te,address2:de}};function q(te){if(!e)return;const de=V=>V.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(V=>V.nameKey===te)??e.properties.find(V=>de(V.nameKey)===de(te));if(!oe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${te}`);return}const De=l.map(V=>V.nameKey===te?{...V,value:oe.value}:V);d(De)}const Ie=()=>e?a.map(te=>{const de=V=>V.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),oe=e.properties.find(V=>V.nameKey===te.nameKey)??e.properties.find(V=>de(V.nameKey)===de(te.nameKey));if(oe)return{...oe,nameKey:te.nameKey,type:oe.type??te.type,value:oe.value};const De=l.find(V=>V.nameKey===te.nameKey);return{nameKey:te.nameKey,type:te.type,value:De?De.value:""}}):[];return c.useEffect(()=>{e&&a&&d(Ie())},[e,a]),c.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:R,contactImage:h,contactPropietary:f,imsMercadolibre:v,imsFacebooks:b,imsWebchats:x,imsInstagrams:I,emails:j,phoneNumbers:S,homeAddress:M,secondaryHomeAddress:k,city:A,secondaryCity:z,state:w,secondaryState:P,postalCode:W,secondaryPostalCode:J,country:ae,secondaryCountry:pe,customProperties:l,labelMultipleSelect:y},action:{setCustomProperties:d,addWhatsapp:T,addRCS:$,getEditedBusiness:xe,handleAddressFieldChange:B,handleNoteFieldChange:_,handleDeleteAddress:E,addPhone:F,addEmail:U,replaceAddress:O,addWhatsappVerified:L,resetToInitialContactInformation:Y,resetCustomProperty:q},state:{isDeletingAddress:G},selectedContacts:m,setSelectedContacts:g}},Or=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=c.useMemo(()=>async V=>{!n||!s||await ut({baseUrl:n,spaceId:s,data:V})},[n,s]),o=async V=>V,{getEditedField:l}=Ve,[d,u]=c.useState([]),h=ce("text",e?.firstName||""),f=ce("text",e?.lastName||""),y=at({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[m,g]=c.useState(e?.birthDate?H(e.birthDate):null),b=Fa({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:v,imsMercadolibre:x,imsWebchats:I,imsInstagrams:C,imsWhatsapp:j,emails:S,phoneNumbers:R,imsRCS:F},action:{addPhone:U,addEmail:T,addWhatsapp:$,addRCS:L,addWhatsappVerified:O,replaceAddress:B,handleAddressFieldChange:_,handleNoteFieldChange:E,handleDeleteAddress:Y,resetToInitialContactInformation:G},state:{isDeletingAddress:M}}=b,k=$a({initialState:e?.tags}),A=Da(e?.owner),z=ce("text",e?.address1?.street),w=ce("text",e?.address2?.street),P=ce("text",e?.address1?.city),W=ce("text",e?.address2?.city),J=ce("text",e?.address1?.state),ae=ce("text",e?.address2?.state),pe=ce("text",e?.address1?.zipcode),ye=ce("text",e?.address2?.zipcode),xe=ce("text",e?.address1?.country),q=ce("text",e?.address2?.country),Ie=()=>{if(!e)return null;const V=e,ne=k.attributes.value.map(se=>({id:se.id,name:se.name})),be=R.map(se=>{const{id:Ct,...He}=se;return He}),Fe=S.map(se=>{const{id:Ct,...He}=se;return He});return{id:V.id,owner:A.attributes.value,firstName:h.attributes.value,lastName:f.attributes.value,address1:{...l("street",V.address1?.street,z.attributes.value),...l("city",V.address1?.street,P.attributes.value),...l("state",V.address1?.street,J.attributes.value),...l("zipcode",V.address1?.street,pe.attributes.value),...l("country",V.address1?.street,xe.attributes.value)},address2:{...l("street",V.address2?.street,w.attributes.value),...l("city",V.address2?.street,W.attributes.value),...l("state",V.address2?.street,ae.attributes.value),...l("zipcode",V.address2?.street,ye.attributes.value),...l("country",V.address2?.street,q.attributes.value)},emails:Fe,phones:be,tags:ne,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:d,birthDate:m?.toDate()}};function te(){e&&(!e.businessId||e.businessName)}function de(){g(e?.birthDate?H(e.birthDate):null)}function oe(V){if(!e)return;const ne=se=>se.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(se=>se.nameKey===V)??e.properties.find(se=>ne(se.nameKey)===ne(V));if(!be){console.error(`No se encontr\xF3 una propiedad con nameKey: ${V}`);return}const Fe=d.map(se=>se.nameKey===V?{...se,value:be.value}:se);u(Fe)}const De=()=>e?a.map(V=>{const ne=se=>se.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(se=>se.nameKey===V.nameKey)??e.properties.find(se=>ne(se.nameKey)===ne(V.nameKey));if(be)return{...be,nameKey:V.nameKey,type:be.type??V.type,value:be.value};const Fe=d.find(se=>se.nameKey===V.nameKey);return{nameKey:V.nameKey,type:V.type,value:Fe?Fe.value:""}}):[];return c.useEffect(()=>{e&&a&&u(De())},[e,a]),c.useEffect(()=>{e?.tags&&k.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:m,imsWhatsapp:j,imsRCS:F,contactFirstname:h,contactLastname:f,contactImage:y,contactPropietary:A,imsMercadolibre:x,imsFacebooks:v,imsWebchats:I,imsInstagrams:C,emails:S,phoneNumbers:R,homeAddress:z,secondaryHomeAddress:w,city:P,secondaryCity:W,state:J,secondaryState:ae,postalCode:pe,secondaryPostalCode:ye,country:xe,secondaryCountry:q,customProperties:d,labelMultipleSelect:k},action:{setBirthDate:g,setCustomProperties:u,getEditedContact:Ie,handleAddressFieldChange:_,handleNoteFieldChange:E,handleDeleteAddress:Y,addPhone:U,addEmail:T,addWhatsapp:$,addRCS:L,replaceAddress:B,addWhatsappVerified:O,resetToInitialContactInformation:G,resetSelectedBusiness:te,resetBirthDate:de,resetCustomProperty:oe},state:{isDeletingAddress:M}}},Ut=c.createContext(null),_r=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=Or({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(Ut.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},Wr=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=Lr({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(Ut.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},Vr=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(_r,{contact:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}):t.jsx(Wr,{business:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}),Be=()=>{const e=c.useContext(Ut);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Ye=({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(i=>i?.id===e);return s?.name?.trim()||s?.email||null},ht=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=le();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($n,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:i("global.searchLocation")})]}),t.jsx(r.Divider,{sx:{my:1.5}}),a]})},Ba=({children:e,...a})=>t.jsx(r.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),Yr=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Xe.LocalizationProvider,{dateAdapter:Je.AdapterDayjs,children:t.jsx(Qe,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(na.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},Gr={view:"main",setView:()=>{}},Ua=c.createContext(null),Hr=Ua.Provider,qr=()=>c.useContext(Ua)||(console.warn("[useEditContactView] using noop, context value is missing"),Gr),Ma=()=>{},Pa=c.createContext(Ma),Kr=({navigate:e,children:a})=>t.jsx(Pa.Provider,{value:e,children:a}),Jr=()=>c.useContext(Pa)||(console.warn("[useNavigateContext] using noop, context value is falsy"),Ma);function Xr({value:e,displayValue:a,businessId:n}){const s=Ue(),i=Jr(),[o,l]=c.useState(null),d=at({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,h]=c.useState(null),[f,y]=c.useState(!1);return t.jsxs(r.Box,{display:"flex",alignItems:"center",children:[t.jsx(r.Typography,{onClick:async m=>{const g=m.currentTarget;if(y(!0),!s){console.error("API is null");return}const b=await s.fetchBusiness({businessId:n});if(b&&Bt(b)&&l(b),y(!1),!g){console.error("Target element is null");return}h(g)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:m=>m.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(ya,{contactData:o,open:!!u,anchorEl:u,onClose:()=>h(null),navigate:i,avatarImgUrl:d.imageUrl}),f&&t.jsx(r.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(r.CircularProgress,{size:20})})]})}const Qr=e=>"email"in e,Mt=e=>e.entityType==="contact"&&e.inputType==="birthday",Zr=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Na=r.styled(r.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),Me=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:o,spaceId:l,minWidth:d,onEntityUpdated:u}=e,h=le(),{setView:f}=qr(),y=e.inputType??"text",[m,g]=c.useState(!1),[b,v]=c.useState(!1),x=c.useRef(null),[I,C]=c.useState(!1),[j,S]=c.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);c.useEffect(()=>{const E=x.current;if(!E)return;const Y=()=>{const G=E.scrollWidth>E.clientWidth;C(M=>M===G?M:G)};if(Y(),typeof ResizeObserver<"u"){let G=0;const M=new ResizeObserver(()=>{if(typeof window>"u"){Y();return}G&&window.cancelAnimationFrame(G),G=window.requestAnimationFrame(()=>{Y()})});return M.observe(E),()=>{typeof window<"u"&&G&&window.cancelAnimationFrame(G),M.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[a]),c.useEffect(()=>{e.entityType==="business"?S(n):S(typeof n=="string"?n:void 0)},[n,e.entityType]);const R=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){f("businessSelect");return}g(E=>!E)},F=E=>{S(E.target.value)},U=E=>{const Y=E.target.value;S(Y)},T=()=>{Mt(e)&&e.contact.action.resetBirthDate(),g(!1)},$=async()=>{if(!e.constructUpdateObject){g(!1);return}if(e.entityType==="business"&&j===void 0){g(!1);return}v(!0);try{if(!o||!l)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let E=j===void 0?null:j;if(Mt(e)){const k=H(e.contact.field.birthDate);k.isValid()&&(E=k.toISOString())}const Y=e.constructUpdateObject(E),G=e.entityId??Y?.id;if(!G)throw new Error("Missing contactId for updateEntity");const M=await Ae({baseUrl:o,spaceId:l,entityType:"contact",entityId:G,body:Y});u?.(M)}else{const E=e.constructUpdateObject(j),Y=e.entityId??E?.id;if(!Y)throw new Error("Missing businessId for updateEntity");const G=await Ae({baseUrl:o,spaceId:l,entityType:"business",entityId:Y,body:E});u?.(G)}}finally{v(!1),g(!1)}},L=typeof j=="string"?j:"",O=j instanceof Date?j.toISOString():typeof j=="string"?j:"",B=d??(e.entityType==="contact"?"45%":"200px"),_=e.options??[];return t.jsxs(r.Box,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:E=>E.palette.mode==="dark"?"1e1e1e":E.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:B,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",children:[I?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:E=>E.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(r.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:E=>E.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:m?t.jsxs(t.Fragment,{children:[t.jsx(Na,{size:"small",onClick:$,children:b?t.jsx(r.CircularProgress,{size:24}):t.jsx(Re,{})}),t.jsx(Na,{size:"small",onClick:T,children:t.jsx(sa,{})})]}):t.jsx(Zr,{className:"edit-icon",size:"small",onClick:R,children:t.jsx(Ke,{})})]}),t.jsx(r.Box,{width:m?"100%":"50%",position:"relative",children:m&&y==="text"?t.jsx(r.TextField,{value:O,onChange:F,variant:"standard",size:"small",sx:{width:"100%"}}):m&&(y==="select"||y==="selectMembers")?t.jsxs(r.Select,{value:L,onChange:U,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:h("conversations.contactDetails.contactInfo.emptySelection")}):null,_.map((E,Y)=>t.jsx(r.MenuItem,{value:E.id,children:e.entityType==="contact"?E.name?.trim()||(Qr(E)?E.email:"")||"Sin nombre":E.name?.trim()||E.email||"Sin nombre"},Y))]}):m&&Mt(e)?t.jsx(Yr,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!m&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(Xr,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(r.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:E=>E.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},nt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:o,constructUpdateObject:l,businessId:d,baseUrl:u,spaceId:h,contactId:f,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(Me,{entityType:"contact",entityId:f,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:o,constructUpdateObject:l,contact:e.contact,businessId:d,baseUrl:u,spaceId:h,dateFormat:e.dateFormat,onEntityUpdated:y});const m=e.inputType??"text";return t.jsx(Me,{entityType:"contact",entityId:f,title:a,value:n,isNotEditable:s,inputType:m,options:i,displayValue:o,constructUpdateObject:l,businessId:d,baseUrl:u,spaceId:h,onEntityUpdated:y})},eo=({nameKey:e,value:a,onChange:n,type:s})=>{const i=u=>{s===X.ContactField_type.NUMBER_ACCOUNTING||s===X.ContactField_type.NUMBER_DECIMAL||s===X.ContactField_type.NUMBER_CURRENCY||s===X.ContactField_type.CURRENCY?l(u):s===X.ContactField_type.NUMBER_INTEGER?d(u):(s===X.ContactField_type.LONGTEXT||s===X.ContactField_type.TEXT||s===X.ContactField_type.ADDRESS)&&o(u)},o=u=>{n(e,u.target.value)},l=u=>{const h=u.target.value.replace(/[^0-9.]/g,"");n(e,h)},d=u=>{const h=u.target.value;/^\d*$/.test(h)&&n(e,h)};return t.jsx(r.TextField,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:s===X.ContactField_type.LONGTEXT,rows:s===X.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},to=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Xe.LocalizationProvider,{dateAdapter:Je.AdapterDayjs,children:t.jsx(Qe,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(na.DatePicker,{value:e?H(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},ao=({handleChange:e,value:a,options:n})=>{const s=le();return t.jsx(r.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(r.Select,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(r.MenuItem,{value:"",children:s("global.noValue")}),n.map((i,o)=>t.jsx(r.MenuItem,{value:i,children:i},o))]})})},no=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(Xe.LocalizationProvider,{dateAdapter:Je.AdapterDayjs,children:t.jsx(Qe,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Bn.TimePicker,{value:e?H(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},so=({value:e,handleChange:a,userTimeFormat:n})=>{const s=le(),i=[H().set("hour",0).set("minute",0),H().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(Xe.LocalizationProvider,{dateAdapter:Je.AdapterDayjs,children:t.jsx(Qe,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ke.MultiInputTimeRangeField,{slotProps:{textField:({position:l})=>({label:s(l==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:l=>a(l),format:o})})})},ro=({value:e,handleChange:a,userDateFormat:n})=>{const s=le(),i=[H(),H()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Xe.LocalizationProvider,{dateAdapter:Je.AdapterDayjs,children:t.jsx(Qe,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ke.MultiInputDateRangeField,{slotProps:{textField:({position:l})=>({label:s(l==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:l=>a(l),format:o})})})},oo=r.styled(r.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),Ra=r.styled(r.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),io=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),za=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})),lo=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"})),La=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:o,baseUrl:l,spaceId:d,onEntityUpdated:u})=>{const{customProperties:h}=a.field,{setCustomProperties:f}=a.action,[y,m]=c.useState(!1),[g,b]=c.useState(!1),v=c.useRef(null),[x,I]=c.useState(!1),C=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),j=o?.regCon_timeFormat||"24",S=M=>M===X.ContactField_type.NUMBER_INTEGER||M===X.ContactField_type.NUMBER_DECIMAL||M===X.ContactField_type.NUMBER_CURRENCY||M===X.ContactField_type.NUMBER_ACCOUNTING||M===X.ContactField_type.CURRENCY,R=(M,k)=>M.toLowerCase()==="dni"?!0:S(k),F=(M,k,A)=>{if(A===""||A===null||A===void 0)return null;if(R(M,k)){const z=Number(A);return Number.isNaN(z)?A:z}return A},U=()=>m(M=>!M),T=()=>{m(!1),a.action.resetCustomProperty(e.nameKey)},$=async()=>{if(!l||!d||!s)return;b(!0);const M=h.find(W=>W.nameKey===e.nameKey)||e,{nameKey:k,value:A}=M,z=i.find(W=>W.nameKey===k)?.type??M.type;let w;if(z===X.ContactField_type.TIME){const W=H(A);W.isValid()?w=W.format(j==="24"?"HH:mm":"hh:mm"):w=A}else if(z===X.ContactField_type.DATE){const W=H(A);W.isValid()?w=W.toISOString():w=A}else w=F(k,z,A);const P={properties:[{nameKey:k,type:z,value:w}]};try{const W=await Ae({baseUrl:l,spaceId:d,entityType:n,entityId:s,body:P}),J=h.map(ae=>ae.nameKey===k?{...ae,type:z,value:w}:ae);f(J),u?.(W)}finally{b(!1),m(!1)}},L=M=>i.find(k=>k.nameKey===M)?.name||M;c.useEffect(()=>{const M=v.current;if(!M)return;const k=()=>{const A=M.scrollWidth>M.clientWidth;I(z=>z===A?z:A)};if(k(),typeof ResizeObserver<"u"){let A=0;const z=new ResizeObserver(()=>{if(typeof window>"u"){k();return}A&&window.cancelAnimationFrame(A),A=window.requestAnimationFrame(()=>{k()})});return z.observe(M),()=>{typeof window<"u"&&A&&window.cancelAnimationFrame(A),z.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[i,e.nameKey]);const O=(M,k)=>{const A=e.type===X.ContactField_type.DATERANGE?Array.isArray(k)&&k[0]&&k[1]?`${H(k[0]).toISOString()} - ${H(k[1]).toISOString()}`:"":e.type===X.ContactField_type.DATE?H(k).isValid()?H(k).toISOString():"Invalid Date":e.type===X.ContactField_type.TIME?H(k).isValid()?H(k).toISOString():"Invalid Time":k,z=h.map(w=>w.nameKey===M?{...w,value:A}:w);f(z)},{type:B,nameKey:_,value:E}=e,Y=M=>M==null?!1:typeof M=="string"?M.trim().length>0:!0,G=()=>B===X.ContactField_type.DATE?t.jsx(to,{value:E?H(E):null,handleChange:M=>O(_,M?.toDate()),dateFormat:C}):B===X.ContactField_type.TIME?t.jsx(no,{value:e?.valueDate?H(e.valueDate):E?H(E):null,handleChange:M=>O(_,M),userTimeFormat:j}):B===X.ContactField_type.DATERANGE?t.jsx(ro,{value:E&&typeof E=="string"&&E.includes(" - ")?[H(E.split(" - ")[0]),H(E.split(" - ")[1])]:null,handleChange:M=>O(_,[M[0]?.toDate?.(),M[1]?.toDate?.()]),userDateFormat:C}):B===X.ContactField_type.TIMERANGE?t.jsx(so,{value:Array.isArray(E)&&E.length===2?[H(E[0]),H(E[1])]:null,handleChange:M=>O(_,[M[0]?.toDate?.(),M[1]?.toDate?.()]),userTimeFormat:j}):B===X.ContactField_type.OPTIONS?t.jsx(ao,{value:typeof E=="string"?E:"",handleChange:M=>O(_,M),options:i.find(M=>M.nameKey===_)?.typeOptions??[]}):t.jsx(eo,{type:B,nameKey:_,value:E,onChange:O});return t.jsxs(io,{className:`fadein ${e.type===X.ContactField_type.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[x?t.jsx(r.Tooltip,{title:L(e.nameKey),arrow:!0,children:t.jsx(za,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)})}):t.jsx(za,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(Ra,{size:"small",onClick:$,children:g?t.jsx(r.CircularProgress,{size:24}):t.jsx(Re,{})}),t.jsx(Ra,{size:"small",onClick:T,children:t.jsx(sa,{})})]}):t.jsx(oo,{className:"edit-icon",size:"small",onClick:U,children:t.jsx(Ke,{})})]}),t.jsx(r.Box,{width:y||e.type===X.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?G():t.jsx(lo,{children:Y(e?.value)?e.type===X.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const M=e.value.split(" - ");if(M.length===2){const[k,A]=M,z=H(k),w=H(A);return`${z.isValid()?z.format(C):"-"} - ${w.isValid()?w.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${H(e.value[0]).format(C)} - ${H(e.value[1]).format(C)}`;return`${e.value}`})():e.type===X.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${H(e.value[0]).format(j==="24"?"HH:mm":"hh:mm")} - ${H(e.value[1]).format(j==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===X.ContactField_type.TIME?(()=>{try{const M=e.valueDate||e.value;return`${H(M).format(j==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===X.ContactField_type.DATE?(()=>{try{return`${H(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},co=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:l,onEntityUpdated:d}=e,u=le(),{entityType:h,editEntity:f}=Be(),y=Ue();if(h!=="contact")return null;const[m,g]=c.useState([]),[b,v]=c.useState(null),[x,I]=c.useState(null),[C,j]=c.useState(null),S=f;c.useEffect(()=>{if(!y)return;const $=new AbortController;return y.fetchUsers({signal:$.signal}).then(L=>{$.signal.aborted||g(L??[])}).catch(()=>{$.signal.aborted||g([])}),()=>{$.abort()}},[y]),c.useEffect(()=>{const $=new AbortController,L=async O=>{if(!O||!y)return null;try{const B=await y.fetchUserTriiById({userId:O,signal:$.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const O=Ye({userId:n.owner,users:m,currentUser:l})??(n.owner?await L(n.owner):null),B=Ye({userId:n.createdBy??void 0,users:m,currentUser:l})??(n.createdBy?await L(n.createdBy):null),_=Ye({userId:n.updatedBy??void 0,users:m,currentUser:l})??(n.updatedBy?await L(n.updatedBy):null);$.signal.aborted||(v(O),j(B),I(_))})(),()=>{$.abort()}},[y,n,m,l]);const R=(a||"YYYY/MM/DD").toUpperCase(),F=S.field.birthDate,U=F?.isValid()?F.format(R):null,T=$=>{const L=new Date;let O=L.getFullYear()-$.getFullYear();const B=L.getMonth()-$.getMonth();return(B<0||B===0&&L.getDate()<$.getDate())&&O--,O};return t.jsx(ht,{title:"General",children:t.jsxs(Ba,{children:[t.jsx(nt,{title:u("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:m,constructUpdateObject:$=>({owner:typeof $=="string"?$:""}),contact:S,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:d}),t.jsx(nt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:S,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:d}),t.jsx(nt,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(nt,{title:u("conversations.contactDetails.modifiedBy"),value:x||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(nt,{title:u("global.birthdate"),inputType:"birthday",displayValue:F?`${U} (${T(F.toDate())})`:"-",value:F?F.toISOString():"",constructUpdateObject:$=>({birthDate:$}),contact:S,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:d}),S.field.customProperties.map($=>t.jsx(La,{property:$,entity:S,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:l,baseUrl:i,spaceId:o,onEntityUpdated:d},$.nameKey))]})})},Pt=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:o,constructUpdateObject:l,baseUrl:d,spaceId:u,businessId:h,onEntityUpdated:f})=>t.jsx(Me,{entityType:"business",entityId:h,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:o,constructUpdateObject:l,baseUrl:d,spaceId:u,onEntityUpdated:f}),uo=e=>{const a=le(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:l,onEntityUpdated:d}=e,{entityType:u,editEntity:h}=Be(),f=Ue();if(u!=="business")return null;const[y,m]=c.useState([]),[g,b]=c.useState(null),[v,x]=c.useState(null),[I,C]=c.useState(null),j=h;return c.useEffect(()=>{if(!f)return;const S=new AbortController;return f.fetchUsers({signal:S.signal}).then(R=>{S.signal.aborted||m(R??[])}).catch(()=>{S.signal.aborted||m([])}),()=>{S.abort()}},[f]),c.useEffect(()=>{const S=new AbortController,R=async F=>{if(!F||!f)return null;try{const U=await f.fetchUserTriiById({userId:F,signal:S.signal});return U?.display_name||U?.email||null}catch{return null}};return(async()=>{const F=Ye({userId:n.owner,users:y,currentUser:l})??(n.owner?await R(n.owner):null),U=Ye({userId:n.createdBy??void 0,users:y,currentUser:l})??(n.createdBy?await R(n.createdBy):null),T=Ye({userId:n.updatedBy??void 0,users:y,currentUser:l})??(n.updatedBy?await R(n.updatedBy):null);S.signal.aborted||(b(F),C(U),x(T))})(),()=>{S.abort()}},[f,n,y,l]),t.jsx(ht,{title:"General",children:t.jsxs(Ba,{children:[t.jsx(Pt,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:g||"-",inputType:"select",options:y,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:d}),t.jsx(Pt,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(Pt,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),j.field.customProperties.map(S=>t.jsx(La,{property:S,entity:j,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:l,baseUrl:i,spaceId:o,onEntityUpdated:d},S.nameKey))]})})},po=e=>{const{entityType:a,entityData:n}=e;return c.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(co,{...e,entityData:n,entityType:"contact"}):t.jsx(uo,{...e,entityData:n,entityType:"business"})},mo=()=>{const[e,a]=c.useState(!1),[n,s]=c.useState("");return{isOpen:e,title:n,openModal:i=>{s(i),a(!0)},closeModal:()=>{a(!1),s("")}}},ho=he.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"})),go=he.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),yo=he.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),xo=he.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),fo=he.styled(r.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Nt=he.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),bo=he.styled(Nt)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),vo=he.styled(Nt)(({})=>({fontSize:14,fontWeight:500})),Co=he.styled(Nt)(({})=>({fontSize:14,fontWeight:500})),jo=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=at({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(ho,{children:[t.jsx(go,{children:t.jsxs(xo,{children:[t.jsx(r.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(vo,{children:e.address})}),t.jsx(r.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Co,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(bo,{children:e.note})})]})}),t.jsxs(yo,{children:[a!==""&&t.jsx(fo,{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(ve.Star,{sx:{color:"#fcac34"}}):t.jsx(ve.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},Rt=ra.PhoneNumberUtil.getInstance(),So=e=>{if(!e||!e.trim())return e;try{const a=Rt.parse(e,void 0);return Rt.isValidNumber(a)?Rt.format(a,ra.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},wo=he.styled(r.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Io=he.styled(Un)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),To=he.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"})),Eo=he.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Do=he.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),ko=he.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Oa=he.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Ao=he.styled(Oa)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Fo=he.styled(Oa)(({})=>({fontSize:14,fontWeight:500})),$o=({item:e})=>{const a=()=>{const s=e.address;if(!s)return;const i=new CustomEvent("call-contact-header",{detail:{phoneAddress:s}});window.dispatchEvent(i)},n=c.useMemo(()=>So(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(To,{children:[t.jsxs(Eo,{children:[t.jsx(wo,{onClick:a,color:"primary",size:"small",children:t.jsx(Io,{})}),t.jsxs(ko,{children:[t.jsx(r.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Fo,{children:n})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Ao,{children:e.note})})]})]}),t.jsx(Do,{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(ve.Star,{sx:{color:"#fcac34"}}):t.jsx(ve.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Bo=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}})),Uo=r.styled(r.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),Mo=r.styled(r.Box)(({})=>({display:"flex",alignItems:"center"})),Po=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),No=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Ro=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(Bo,{children:[t.jsxs(Mo,{children:[t.jsx(Uo,{children:e}),t.jsx(No,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(Ke,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(Po,{children:a.map((o,l)=>n?t.jsx($o,{item:o},l):t.jsx(jo,{item:o,owner:i},l))})]}),zo=({title:e})=>t.jsx(r.Box,{children:t.jsx(r.Typography,{variant:"subtitle2",children:e})}),Lo={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},gt=({title:e,handleAdd:a})=>{const n=le();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(r.Box,{sx:Lo.container,children:[t.jsx(r.Typography,{variant:"subtitle2",children:e}),t.jsx(r.Button,{onClick:a,size:"small",startIcon:t.jsx(oa,{}),variant:"text",color:"primary",children:n("global.add")})]})},Oo={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},st=({children:e})=>t.jsx(r.Box,{sx:Oo.container,children:e}),_a={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},_o=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const o=le(),[l,d]=c.useState(null),u=!!l,{channelType:h,address:f}=a,[y,m]=c.useState(!1),[g,b]=c.useState(null),[v,x]=c.useState(!1),I=T=>{d(T.currentTarget)},C=()=>{d(null)},j=()=>{x(!1)},S=()=>{e(),C()},R=async()=>{m(!0);try{if(!i)return;const T=await i(13);if(!T)return;b(T),x(!0)}catch(T){console.error("Error verifying WhatsApp account:",T)}finally{m(!1)}C()},F=async()=>{m(!0);try{if(!i)return;const T=await i(21);if(!T)return;b(T),x(!0)}catch(T){console.error("Error verifying RCS account:",T)}finally{m(!1)}C()},U=async()=>{await n(),x(!1)};return t.jsxs(r.Box,{children:[t.jsx(r.IconButton,{"aria-controls":u?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:I,children:t.jsx(Mn,{})}),t.jsxs(r.Menu,{id:"basic-menu",anchorEl:l,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(r.MenuItem,{onClick:S,children:[t.jsx(r.ListItemIcon,{children:t.jsx(ct,{color:"error"})}),t.jsx(r.ListItemText,{children:o("global.delete")})]}),h===5&&t.jsxs(r.MenuItem,{onClick:R,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(Pn,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),h===21&&t.jsxs(r.MenuItem,{onClick:F,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(Nn,{})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:v,onClose:j,"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:T=>T.palette.background.default},children:g?.success?t.jsxs(t.Fragment,{children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.wspAccountFound")," ",f]}),t.jsx(r.Typography,{id:"modal-modal-description",sx:{mt:2},children:o("optionsMenu.wantToLinkContact")}),t.jsxs(r.Box,{sx:{marginTop:"10px"},children:[t.jsx(r.Button,{onClick:U,color:"primary",children:o("optionsMenu.yesLink")}),t.jsx(r.Button,{onClick:j,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:[o("optionsMenu.noWspAccountFound")," ",f]}),t.jsx(r.Button,{onClick:j,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},rt=e=>{const a=le(),n=Ue(),{editEntity:s,entityId:i}=Be(),[o,l]=c.useState(!1),d=e.checked??!0,u=e.entityId??i,{note:h,channelType:f,id:y,address:m}=e.addressData,g=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??s.action.replaceAddress,v=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),x=async S=>{if(!n||!u)return null;const R=await n.setContactAddress({data:{address:m,contactId:u,type:S}});return b(y,R),R},I=async()=>{if(!n||!u)return;const S=await n.updateContactAddress({data:{contactAddressId:y,contactId:u,note:h??""}});b(y,S)},C=async()=>{l(!0),g?(await I(),l(!1)):await x(f)&&l(!1)},j=async()=>{l(!0);const S=await x(13);S&&v&&v(S),S&&l(!1)};return t.jsxs(r.Box,{sx:{..._a.container},children:[g&&t.jsx(r.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:S=>e.handleNoteFieldChange(S,y,f),value:h,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:_a.noteTextField}),t.jsx(r.IconButton,{onClick:C,children:o?t.jsx(r.CircularProgress,{size:24}):t.jsx(Re,{color:"primary"})}),t.jsx(_o,{onDelete:()=>e.handleDeleteAddress(y,f),addressData:e.addressData,handleLinkAccountSave:j,checked:d&&!o,onCheckContactAddress:async S=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:m,type:S}})}catch{return null}}})]})},Wo={container:{display:"flex",gap:"100px",alignItems:"center"}},ot=({children:e})=>t.jsx(r.Box,{sx:Wo.container,children:e}),Vo={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},it=({children:e})=>t.jsx(r.Box,{sx:{...Vo.container},children:e}),Yo=({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(zn,{style:{height:27,width:27},color:"error"});default:return null}},Wa=({status:e,text:a})=>t.jsxs(On,{position:"end",children:[a?t.jsx(_n,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(Yo,{status:e})})]}),Go={code:{width:"60%",color:"gray"}},Ho=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(st,{children:t.jsxs(ot,{children:[t.jsx(r.Typography,{sx:Go.code,variant:"body2",children:e.address}),t.jsx(rt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},qo=({IMSs:e,editEntity:a})=>t.jsx(it,{children:e?.map(n=>t.jsx(Ho,{data:n,editEntity:a},n.id))}),yt=({editEntity:e,title:a,IMSs:n})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(zo,{title:a}),t.jsx(qo,{IMSs:n,editEntity:e})]}),Ko={addressField:{}},zt=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:o}=e,l=le(),d=Ue(),[u,h]=c.useState("idle"),[f,y]=c.useState(o),m=!e.hasOwnProperty("isSaved");return c.useEffect(()=>{let g=setTimeout(async()=>{if(o!==""&&o!==f){if(!d)return;h("loading"),y(o);const b={address:o,type:i};try{const v=await d.checkContactAddress({data:b}),{success:x,warnings:I}=v;n(I),h(x?"available":"unavailable")}catch{n([]),h("unavailable")}}},1700);return()=>clearTimeout(g)},[d,e,o,i,f,n]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:m,sx:Ko.addressField,size:"small",label:i===We.ChannelType.WHATSAPP||i===We.ChannelType.RCS?l?l("global.number"):"Number":l?l("global.email"):"Email",value:o,onChange:g=>{a(g,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Wa,{status:u})})}})})},Jo={addressField:{}},Xo=({data:e,onChange:a,setWarnings:n})=>{const s=Ue(),i=le(),{id:o,channelType:l,address:d}=e,[u,h]=c.useState("idle"),[f,y]=c.useState(d),m=!e.hasOwnProperty("isSaved");return c.useEffect(()=>{let g=setTimeout(async()=>{if(d!==""&&d!==f){if(!s)return;h("loading"),y(d);const b={address:d,type:l};try{const{success:v,warnings:x}=await s.checkContactAddress({data:b});n(x),h(v?"available":"unavailable")}catch{n([]),h("unavailable")}}},1700);return()=>clearTimeout(g)},[e]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:m,sx:Jo.addressField,size:"small",label:i("global.number"),value:d,onChange:g=>{a(g,o,l)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Wa,{status:u})})}})})},Lt={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Qo=({text:e})=>t.jsx(r.Grid,{item:!0,children:t.jsx(r.Box,{sx:Lt.secondaryContainer,children:t.jsx(Vn,{icon:t.jsx(Wn,{sx:Lt.icon}),sx:Lt.chip,label:e,color:"error",variant:"outlined"})})}),xt=({warnings:e})=>{const a=le();return t.jsx(r.Box,{children:t.jsx(r.Grid,{container:!0,children:e?.map((n,s)=>t.jsx(Qo,{text:a(`contactAddressError.${n}`)},s))})})},Zo={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},ei=({data:e})=>{const a="edit",{editEntity:n}=Be(),s=n.action,i=n.state,[o,l]=c.useState([]),[d,u]=c.useState(!0);return c.useEffect(()=>{u(o.length===0&&(e.address??"")!=="")},[o,e.address]),t.jsx(st,{children:t.jsxs(ot,{children:[t.jsxs(r.Box,{sx:{...Zo.numberCountryContainer,flexDirection:"column"},children:[t.jsx(Xo,{data:e,setWarnings:l,onChange:s.handleAddressFieldChange}),o.length>0&&t.jsx(xt,{warnings:o})]}),t.jsx(rt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:d})]})})},ti=({phoneNumbers:e})=>t.jsx(it,{variant:"large",children:e?.map(a=>t.jsx(ei,{data:a},a.id))}),ai=({phoneNumbers:e,handleAdd:a})=>{const n=le();return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(gt,{handleAdd:a,title:n("global.phones")}),t.jsx(ti,{phoneNumbers:e})]})},Va={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},ni=({data:e})=>{const a="edit",{editEntity:n}=Be(),s=n.action,i=n.state,[o,l]=c.useState([]);return t.jsxs(st,{children:[t.jsxs(ot,{children:[t.jsx(r.Box,{sx:Va.numberCountryContainer,children:t.jsx(r.Box,{sx:Va.adressInputBox,children:t.jsx(zt,{data:e,setWarnings:l,onChange:s.handleAddressFieldChange})})}),t.jsx(rt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(xt,{warnings:o})]})},si=({emails:e})=>t.jsx(it,{variant:"large",children:e?.map(a=>t.jsx(ni,{data:a},a.id))}),ri=({emails:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(gt,{handleAdd:a,title:"Emails"}),t.jsx(si,{emails:e})]}),Ya={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},oi=({data:e})=>{const a="edit",{editEntity:n}=Be(),s=n.action,i=n.state,[o,l]=c.useState([]);return t.jsxs(st,{children:[t.jsxs(ot,{children:[t.jsx(r.Box,{sx:Ya.numberCountryContainer,children:t.jsx(r.Box,{sx:Ya.adressInputBox,children:t.jsx(zt,{data:e,setWarnings:l,onChange:s.handleAddressFieldChange})})}),t.jsx(rt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(xt,{warnings:o})]})},ii=({whatsapps:e})=>t.jsx(it,{variant:"large",children:e?.map(a=>t.jsx(oi,{data:a},a.id))}),li=({whatsapps:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(gt,{handleAdd:a,title:"WhatsApp"}),t.jsx(ii,{whatsapps:e})]}),Ga={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}=Be(),s=n.action,i=n.state,[o,l]=c.useState([]);return t.jsxs(st,{children:[t.jsxs(ot,{children:[t.jsx(r.Box,{sx:Ga.numberCountryContainer,children:t.jsx(r.Box,{sx:Ga.adressInputBox,children:t.jsx(zt,{data:e,setWarnings:l,onChange:s.handleAddressFieldChange})})}),t.jsx(rt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(xt,{warnings:o})]})},di=({RCSs:e})=>t.jsx(it,{variant:"large",children:e?.map(a=>t.jsx(ci,{data:a},a.id))}),ui=({RCSs:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(gt,{handleAdd:a,title:"RCS"}),t.jsx(di,{RCSs:e})]}),pi=he.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})),mi=({open:e,onClose:a,title:n})=>{const s=le(),{editEntity:i}=Be(),{emails:o,phoneNumbers:l,imsWhatsapp:d,imsRCS:u}=i.field,{addEmail:h,addPhone:f,addWhatsapp:y,resetToInitialContactInformation:m,addRCS:g}=i.action;function b(){a(),m()}return t.jsx(r.Modal,{open:e,onClose:a,children:t.jsxs(pi,{children:[(()=>{switch(n){case"Phones":return t.jsx(ai,{handleAdd:f,phoneNumbers:l});case"Emails":return t.jsx(ri,{handleAdd:h,emails:o});case"Whatsapp":return t.jsx(li,{handleAdd:y,whatsapps:d});case"RCS":return t.jsx(ui,{handleAdd:g,RCSs:u});case"Facebook":return t.jsx(yt,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(yt,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(yt,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(yt,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});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:b,children:s("global.close")})})]})})},hi=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=mo(),{editEntity:o}=Be(),l=le(),d=o.field.phoneNumbers,u=o.field.emails,h=o.field.imsFacebooks,f=o.field.imsWhatsapp,y=o.field.imsMercadolibre,m=o.field.imsWebchats,g=o.field.imsInstagrams,b=o.field.imsRCS,v=[{key:"phones",title:l("conversations.contactDetails.phones"),items:d,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:u,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:h,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:f,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:b,modalTitle:"RCS",visible:b.length>0},{key:"mercado-libre",title:"Mercado libre",items:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:m,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:g,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ht,{title:l("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(x=>x.visible).map(x=>t.jsx(Ro,{handleEdit:()=>s(x.modalTitle),title:x.title,methodItems:x.items,isPhone:x.isPhone,owner:e},x.key))})}),t.jsx(mi,{open:a,onClose:i,title:n})]})},gi=({entityType:e,entityData:a,baseUrl:n,spaceId:s,onEntityUpdated:i,onDirectionSearchClick:o})=>{const l={baseUrl:n,spaceId:s,entityId:String(a.id),onEntityUpdated:i},d=le(),u=({addressNumber:h,title:f})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(r.Typography,{variant:"body2",children:f}),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(Me,{entityType:e,title:d("conversations.contactDetails.street"),value:a[h]?.street??"",...l,constructUpdateObject:y=>({[h]:{street:y}}),minWidth:"100%"})}),t.jsx(Me,{entityType:e,title:d("conversations.contactDetails.city"),value:a[h]?.city??"",...l,constructUpdateObject:y=>({[h]:{city:y}}),minWidth:"100%"}),t.jsx(Me,{entityType:e,title:d("conversations.contactDetails.state"),value:a[h]?.state??"",...l,constructUpdateObject:y=>({[h]:{state:y}}),minWidth:"100%"}),t.jsx(Me,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[h]?.zipcode??"",...l,constructUpdateObject:y=>({[h]:{zipcode:y}}),minWidth:"100%"}),t.jsx(Me,{entityType:e,title:d("conversations.contactDetails.country"),value:a[h]?.country??"",...l,constructUpdateObject:y=>({[h]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(ht,{title:d("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:o,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(u,{addressNumber:"address1",title:d("conversations.contactDetails.primaryAddress")}),t.jsx(u,{addressNumber:"address2",title:d("conversations.contactDetails.secondaryAddress")})]})})},yi=({entity:e,setEntity:a})=>c.useCallback(n=>{if(!n||typeof n!="object")return;const s=n;if("id"in s){a(n);return}if(!e)return;const i={...e,...s};a(i)},[e,a]),xi=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:o,selectedTags:l,onTagsUpdated:d})=>{const[u,h]=c.useState("main"),[f,y]=c.useState([]),[m,g]=c.useState(!1),[b,v]=c.useState(!1),[x,I]=c.useState([]),[C,j]=c.useState(!1),S=c.useMemo(()=>{const T=o??[],$=x??[],L=new Map;for(const O of T)O?.id&&L.set(String(O.id),O);for(const O of $)O?.id&&L.set(String(O.id),O);return Array.from(L.values())},[o,x]),R=c.useCallback(()=>{h("main"),y([]),g(!1),v(!1),I([]),j(!1)},[]);c.useEffect(()=>{e||R()},[e,R]),c.useEffect(()=>{if(u!=="tags"){g(!1);return}if(m||!S.length)return;const T=new Set(l.map(L=>String(L.id))),$=S.filter(L=>T.has(String(L?.id)));y($),g(!0)},[u,m,S,l]);const F=c.useCallback(async T=>{if(C||!a||!n)return;const $=String(T??"").trim();if(!$)return;const L=$.toLowerCase(),O=S.find(B=>String(B?.name??"").trim().toLowerCase()===L);if(O?.id){y(B=>{const _=B??[];return _.some(E=>String(E?.id)===String(O.id))?_:[..._,O]});return}j(!0);try{const B=await ja({baseUrl:a,spaceId:n,name:$});I(_=>{const E=_??[];return!B?.id||E.some(Y=>String(Y?.id)===String(B.id))?E:[...E,B]}),y(_=>{const E=_??[];return!B?.id||E.some(Y=>String(Y?.id)===String(B.id))?E:[...E,B]})}finally{j(!1)}},[C,a,n,S]),U=c.useCallback(async()=>{if(b||!a||!n||!s||i!=="contact"&&i!=="business")return;const T=f.filter($=>$?.id&&$?.name).map($=>({id:String($.id),name:String($.name)}));v(!0);try{await Ae({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:T}}),d(T),h("main")}finally{v(!1)}},[b,a,n,s,i,f,d]);return{view:u,setView:h,draftLabels:f,setDraftLabels:y,labelsOptions:S,isSaving:b,isCreatingLabel:C,handleCreateLabel:F,handleSaveTags:U}},fi=({onClose:e})=>c.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),bi={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},vi=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:o,currentUser:l})=>{const d=le(),u=Ue(),h=c.useRef(null),f=c.useRef(null),[y,m]=c.useState(()=>s?.businessName??""),[g,b]=c.useState(!1),[v,x]=c.useState(!1),[I,C]=c.useState(!1),[j,S]=c.useState([]),[R,F]=c.useState(s??null),[U,T]=c.useState(1),[$,L]=c.useState(!1),[O,B]=c.useState(!1),_=c.useMemo(()=>{const W=l?.display_name,J=l?.email;return String(W||J||"").trim()},[l]);c.useEffect(()=>()=>{h.current&&(clearTimeout(h.current),h.current=null),f.current?.abort()},[]),c.useEffect(()=>{F(s??null),m(s?.businessName??"")},[s]);const E=()=>{f.current?.abort(),f.current=null,h.current&&(clearTimeout(h.current),h.current=null),b(!1),B(!1),T(1),L(!1),S([])},Y=W=>W.filter(J=>!!J?.id).map(J=>({businessId:String(J.id),businessName:String(J.name??"")})),G=async({query:W,page:J})=>{if(!u)return;f.current?.abort();const ae=new AbortController;f.current=ae,x(!0);try{const pe={...bi,currentPage:J,filter:[{value:W,column:"name",condition:""}]},ye=await u.fetchBusinessTableData({pagination:pe,signal:ae.signal});if(ae.signal.aborted)return;const xe=Y(ye?.contactos??[]);b(!0);const q=ye?.paginacion?.total??0;S(Ie=>{const te=J===1?xe:(()=>{const de=new Map;for(const oe of Ie)de.set(oe.businessId,oe);for(const oe of xe)de.set(oe.businessId,oe);return Array.from(de.values())})();return q&&te.length>=q&&B(!0),te})}finally{x(!1),C(!1),L(!1)}},M=W=>{E(),W&&(h.current&&(clearTimeout(h.current),h.current=null),C(!0),h.current=setTimeout(()=>{G({query:W,page:1})},800))},k=W=>{const J=W.target;if(!(J.scrollHeight-J.scrollTop-J.clientHeight<1)||O||v||!y)return;const ae=U+1;L(!0),T(ae),G({query:y,page:ae})},A=async()=>{if(!u||!_)return;const W=String(y??"").trim();if(W){x(!0);try{const J={name:W,owner:_,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ae=await u.createBusiness({business:J}),pe={businessId:String(ae.id??""),businessName:String(ae.name??W)};S([pe]),F(pe),b(!0)}finally{x(!1)}}},z=async()=>{if(!e||!a||!n)return;const W=R?.businessId??"",J=await Ae({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});o?.(J),i()},w=g&&j.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($e.LoadingButton,{size:"small",variant:"contained",onClick:A,loading:v,disabled:v||!_,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),P=!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:i,"aria-label":d("global.back"),children:t.jsx(kt,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:d("conversations.contactDetails.business")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx($e.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(Re,{}),onClick:z,loading:!1,disabled:P,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[v||I||$?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:R,onChange:(W,J)=>{F(J)},inputValue:y,onInputChange:(W,J,ae)=>{m(J),ae==="input"&&M(J)},options:j,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,J)=>W.businessId===J.businessId,noOptionsText:w,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||I?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:k}})]})]})},Ci=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:o,language:l="en",navigate:d,googleMapsApiKey:u,onEntityUpdated:h})=>{const{t:f,i18n:y}=ie.useTranslation(),m=c.useRef(null);c.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!u){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const G=document.createElement("script");return G.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,G.async=!0,G.defer=!0,document.body.appendChild(G),()=>{}},[u]),c.useEffect(()=>{l&&y.changeLanguage(l)},[l,y]);const g=G=>f(G),b=c.useMemo(()=>!n||!s?null:Ia(n,s),[n,s]),{state:v,selectors:x,actions:I}=$r({open:e,baseUrl:n,spaceId:s,contactId:i}),C=yi({entity:v.contactData,setEntity:G=>{I.setContactData(G??void 0),G&&h&&h(G)}}),{view:j,setView:S,draftLabels:R,setDraftLabels:F,labelsOptions:U,isSaving:T,isCreatingLabel:$,handleCreateLabel:L,handleSaveTags:O}=xi({open:e,baseUrl:n,spaceId:s,contactData:v.contactData,contactType:x.contactType,labels:x.labels,selectedTags:x.tags,onTagsUpdated:G=>{if(!v.contactData)return;const M={...v.contactData,tags:G};I.setContactData(M),h&&h(M)}}),B=at({baseUrl:n,spaceId:s,entityType:x.contactType==="business"||x.contactType==="contact"?x.contactType:void 0,entityId:v.contactData?String(v.contactData.id):void 0,initialImageUrl:v.contactData?.imageUrl,onEntityUpdated:C}),_=fi({onClose:a}),E={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"},Y=Array.isArray(o)?[E,...o]:o?[E,o]:E;return t.jsx(ar,{value:b,children:t.jsx(er,{t:g,children:t.jsx(Kr,{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:Y,ref:m,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:_,sx:{position:"absolute",right:5,top:5,color:G=>G.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Dt,{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(Hr,{value:{view:j,setView:S},children:t.jsx(Vr,{entityType:x.contactType==="business"?"business":"contact",entityData:v.contactData,customContactFields:x.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:j==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(dr,{imgUrl:B.imageUrl,displayName:x.displayName,tags:x.tags,onEditTags:()=>{S("tags")},onUploadPhoto:B.action.uploadImage,onPhotoFileChange:B.inputAtributes.onChange,photoInputRef:B.inputAtributes.ref,isUploadingPhoto:B.isUploading,onDeletePhoto:B.action.deleteImage,isDeletingPhoto:B.isDeleting,contactType:x.contactType,entityId:v.contactData?.id,firstName:x.isContact?v.contactData.firstName:void 0,lastName:x.isContact?v.contactData.lastName:void 0,name:x.isBusiness?v.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx(po,{dateFormat:x.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:v.contactData,customContactFields:x.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:C,currentUser:x.userTrii}),t.jsx(gi,{entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:v.contactData,baseUrl:n,spaceId:s,onEntityUpdated:C,onDirectionSearchClick:()=>S("searchLocation")}),t.jsx(hi,{ownerData:v.contactData})]})]})}),t.jsx(r.Fade,{in:j==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Fr,{baseUrl:n,spaceId:s,entityType:x.contactType==="business"?"business":"contact",entityId:String(v.contactData.id),onBack:()=>S("main"),onEntityUpdated:C})})}),t.jsx(r.Fade,{in:j==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(pr,{value:R,options:U,onChange:F,onBack:()=>S("main"),onSave:O,isSaving:T,onCreateNew:L,isCreatingNew:$,popperContainer:m.current})})}),t.jsx(r.Fade,{in:j==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(vi,{baseUrl:n,spaceId:s,contactId:String(v.contactData.id),initialBusiness:x.isContact&&v.contactData?.businessId?{businessId:String(v.contactData.businessId),businessName:String(v.contactData.businessName??"")}:null,onBack:()=>S("main"),onEntityUpdated:C,currentUser:x.userTrii})})})]})})}):null]})})})})})})},ji=e=>t.jsx(ie.I18nextProvider,{i18n:tt,children:t.jsx(Ci,{...e})}),Si=c.createContext(null),wi=Si.Provider,Ii={events:[],setEvents:()=>{},filteredEvents:[]},Ti=(e,a)=>{const[n,s]=c.useState([]);c.useEffect(()=>{if(!a?.length){s([]);return}const o=a.map(l=>({id:l.id,title:l.title||"",start:new Date(l.startAt),end:new Date(l.endAt||l.startAt),startAt:l.startAt,endAt:l.endAt,allDay:l.allDay||!1,color:l.color,calendarId:l.calendarId,details:l.details,location:l.location,isPrivate:l.isPrivate,rule:l.rule,relatedContact:l.relatedContact,sharedWith:l.sharedWith,finalized:l.finalized,kind:"event",originalOccurrenceDate:l.originalOccurrenceDate,parentId:l.parentId}));s(o)},[a]);const i=c.useMemo(()=>e?.length?n.filter(o=>o.calendarId&&e.includes(o.calendarId)):n,[n,e]);return{events:n,setEvents:s,filteredEvents:i}},Ha={open:!1,handleOpen:()=>{},handleClose:()=>{}},qa=()=>{const[e,a]=c.useState(!1),n=c.useCallback(()=>{a(!0)},[]),s=c.useCallback(()=>{a(!1)},[]);return{open:e,handleOpen:n,handleClose:s}},ze={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},Le=(e,a)=>{const[n,s]=c.useState(a||""),[i,o]=c.useState(!1),[l,d]=c.useState("");c.useEffect(()=>{s(a||"")},[a]);const u=c.useCallback(v=>{o(!0),d(v)},[]),h=c.useCallback(()=>{o(!1),d("")},[]),f=c.useCallback(v=>{s(v.target.value)},[]),y=c.useCallback(v=>{s(v)},[]),m=c.useCallback(()=>{s(a||"")},[a]),g=c.useMemo(()=>({onError:u,onSuccess:h,resetValue:m,changeValue:y}),[u,h,m,y]),b=c.useMemo(()=>({error:i,helperText:l,type:e,value:n,onChange:f}),[i,l,e,n,f]);return{actions:g,attributes:b}};function Ka(e){return typeof e=="number"}const Ei={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Di(e){const[a,n]=c.useState(e||[]),s=c.useCallback(()=>{const f={id:Aa(),timeValue:0,timePeriod:dt.EventNotificationPeriod.MINUTE,sendToContact:!1};n(y=>y.concat(f))},[]),i=c.useCallback(f=>{n(y=>y.filter(m=>m.id!==f))},[]),o=c.useCallback((f,y)=>{const m=Number(f.target.value);Ka(m)&&n(g=>g.map(b=>b.id===y?{...b,timeValue:m}:b))},[]),l=c.useCallback((f,y)=>{if(!Ka(f.target.value))return;const m=f.target.value;n(g=>g.map(b=>b.id===y?{...b,timePeriod:m}:b))},[]),d=c.useCallback((f,y)=>{const m=f.target.checked;n(g=>g.map(b=>b.id===y?{...b,sendToContact:m}:b))},[]),u=c.useCallback(()=>{n([])},[]);c.useEffect(()=>{e&&n(e)},[e]);const h=c.useMemo(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:o,handleTimePeriodChange:l,handleReminderChange:d,resetNotifications:u}),[s,i,o,l,d,u]);return{notifications:a,action:h}}const ki={state:{selectedStartDate:H(),selectedEndDate:H().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ai={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Fi={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},$i={titleField:ze,descriptionField:ze,locationField:ze,colorField:ze,date:ki,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Ei,shareWithUsers:Fi,linkContact:Ai,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},Bi=(e,a)=>{const[n,s]=c.useState(e??H()),[i,o]=c.useState(a??H().add(30,"minute")),[l,d]=c.useState(!1),u=c.useCallback(y=>m=>{y(m)},[]),h=c.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:l}),[n,i,l]),f=c.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:h,action:f}},Ui=()=>{const[e,a]=c.useState(""),[n,s]=c.useState(""),i=c.useCallback(h=>{a(h.name??""),s(h.id)},[]),o=c.useCallback(h=>{a(h),h||s("")},[]),l=c.useCallback(()=>{a(""),s("")},[]),d=c.useMemo(()=>({search:e,contactSelectedId:n}),[e,n]),u=c.useMemo(()=>({handleSelectContact:i,handleSearchChange:o,resetField:l}),[i,o,l]);return{state:d,action:u}},Mi=()=>{const[e,a]=c.useState([]),n=c.useCallback(()=>{a([])},[]),s=c.useMemo(()=>({userIds:e}),[e]),i=c.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},Pi=e=>{const a=Le("text",e?.title??""),n=Le("text",e?.details??e?.description??""),s=Le("text",e?.location??""),i=Le("text",e?.color??"#1976d2"),o=Bi(e?.startAt?H(e.startAt):void 0,e?.endAt?H(e.endAt):void 0),[l,d]=c.useState(e?.allDay??!1),[u,h]=c.useState(e?.isPrivate??!1),[f,y]=c.useState(e?.rule??""),m=Di(e?.notifications),g=Mi(),b=Ui(),v=c.useCallback(()=>({title:a.attributes.value,details:n.attributes.value,location:s.attributes.value,allDay:l,isPrivate:u,color:i.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedEndDate.toISOString(),notifications:m.notifications.map(I=>({timePeriod:I.timePeriod,timeValue:I.timeValue,sendToContact:I.sendToContact})),sharedWith:g.field.userIds,rule:f,relatedContactId:b.state.contactSelectedId||void 0}),[a.attributes.value,n.attributes.value,s.attributes.value,l,u,i.attributes.value,o.state.selectedStartDate,o.state.selectedEndDate,m.notifications,g.field.userIds,f,b.state.contactSelectedId]),x=c.useCallback(()=>{a.actions.resetValue(),n.actions.resetValue(),s.actions.resetValue(),i.actions.changeValue("#1976d2"),d(!1),h(!1),y(""),m.action.resetNotifications(),g.action.resetField(),b.action.resetField(),o.action.setError(!1)},[a.actions,n.actions,s.actions,i.actions,m.action,g.action,b.action,o.action]);return c.useMemo(()=>({titleField:a,descriptionField:n,locationField:s,colorField:i,date:o,allDay:l,setAllDay:d,isPrivate:u,setIsPrivate:h,recurrenceRule:f,setRecurrenceRule:y,notifications:m,shareWithUsers:g,linkContact:b,create:v,resetFields:x}),[a,n,s,i,o,l,u,f,m,g,b,v,x])},Ni={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Ri={nameField:ze,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Ni,googleCalendar:null,handleGoogleCalendarChange:()=>{}},zi=()=>{const[e,a]=c.useState([]),n=c.useCallback(()=>{a([])},[]),s=c.useMemo(()=>({userIds:e}),[e]),i=c.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},Li=()=>{const e=Le("text",""),[a,n]=c.useState("#ffffff"),[s,i]=c.useState(null),o=zi(),l=c.useCallback(u=>{n(u)},[]),d=c.useCallback(u=>{i(u)},[]);return c.useMemo(()=>({nameField:e,color:a,handleColorChange:l,shareWithUsers:o,googleCalendar:s,handleGoogleCalendarChange:d}),[e,a,l,o,s,d])},Oi={tasks:[],setTasks:()=>{},filteredTasks:[]},_i=e=>{const[a,n]=c.useState([]),s=c.useMemo(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return{tasks:a,setTasks:n,filteredTasks:s}},Wi={state:{selectedStartDate:H(),selectedEndDate:H(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Vi={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Yi={titleField:ze,descriptionField:ze,date:Wi,linkContact:Vi,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},Gi=(e,a)=>{const[n,s]=c.useState(e??H()),[i,o]=c.useState(a??H()),[l,d]=c.useState(!1),u=c.useCallback(y=>m=>{y(m)},[]),h=c.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:l}),[n,i,l]),f=c.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:h,action:f}},Hi=()=>{const[e,a]=c.useState(""),[n,s]=c.useState(""),i=c.useCallback(h=>{a(h.name??""),s(h.id)},[]),o=c.useCallback(h=>{a(h),h||s("")},[]),l=c.useCallback(()=>{a(""),s("")},[]),d=c.useMemo(()=>({search:e,contactSelectedId:n}),[e,n]),u=c.useMemo(()=>({handleSelectContact:i,handleSearchChange:o,resetField:l}),[i,o,l]);return{state:d,action:u}},qi=e=>{const a=Le("text",e?.title??""),n=Le("text",e?.description??""),s=Gi(e?.startAt?H(e.startAt):void 0,e?.startAt?H(e.startAt):void 0),i=Hi(),o=c.useCallback(()=>({title:a.attributes.value,description:n.attributes.value,startAt:s.state.selectedStartDate.toISOString(),endAt:s.state.selectedStartDate.toISOString(),relatedContactId:i.state.contactSelectedId||void 0}),[a.attributes.value,n.attributes.value,s.state.selectedStartDate,i.state.contactSelectedId]),l=c.useCallback(()=>{a.actions.resetValue(),n.actions.resetValue(),i.action.resetField(),s.action.setError(!1)},[a.actions,n.actions,i.action,s.action]);return c.useMemo(()=>({titleField:a,descriptionField:n,date:s,linkContact:i,create:o,resetFields:l}),[a,n,s,i,o,l])},Ot=c.createContext({eventDialog:Ha,createCalendarDialog:Ha,event:$i,events:Ii,calendar:Ri,dialogMode:"view",handleCreateEvent:()=>{},handleSelectEvent:()=>{},handleOpenEventCreate:()=>{},handleStartEditingEvent:()=>{},handleSaveUpdatedEvent:()=>{},handleEndEvent:()=>{},handleDeleteEvent:()=>{},handleResizeEvent:()=>{},selectedEvent:{},savingSnackbar:{open:!1,message:"",severity:"info"},handleCloseSnackbar:()=>{},dialogType:"event",setDialogType:()=>{},handleOpenTaskCreate:()=>{},handleOpenCreateFromSlot:()=>{},handleCloseCreateCalendarDialog:()=>{},calendarDialogMode:"create",editingCalendar:null,handleOpenCreateCalendarDialog:()=>{},handleOpenEditCalendarDialog:()=>{},handleSubmitCalendar:async()=>{},tasks:Oi,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Yi,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],handleSaveUpdatedTask:()=>{},handleDeleteTask:()=>{},handleToggleTaskCompleted:()=>{},handleDuplicateItem:()=>{},calendarView:"month",setCalendarView:()=>{},calendarDate:new Date,setCalendarDate:()=>{},navigateToDate:()=>{},confirmDeleteDialog:{open:!1,handleClose:()=>{},itemType:"event"},handleConfirmDelete:()=>{},deleteRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmDeleteRecurring:()=>{},editRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmEditRecurring:()=>{}}),ft=r.styled(r.Box)(()=>({display:"flex",flexDirection:"row",gap:.5})),_t=r.styled(r.Box)(()=>({display:"flex",alignItems:"center",gap:1})),Wt=r.styled(r.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),Ge="DD/MM/YYYY",bt="HH:mm",Ki=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:o,hideLabel:l=!1,allDay:d=!1})=>{const{t:u}=ie.useTranslation(),h=c.useMemo(()=>a.diff(e,"minute"),[e,a]),f=c.useMemo(()=>{if(h===0)return"0 min";const x=Math.floor(h/60),I=h%60;return x===0?`${I} min`:I===0?`${x} h`:`${x}.${Math.round(I/60*10)} h`},[h]),y=x=>{if(!x)return;const I=x.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=x.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),s(C)},m=x=>{if(!x)return;const I=x.hour(0).minute(0).second(0).millisecond(0);n(I)},g=x=>{if(!x)return;const I=x.hour(23).minute(59).second(59).millisecond(999);s(I)},b=x=>{if(!x)return;const I=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0),C=I.add(h,"minute");n(I),s(C)},v=x=>{if(!x)return;let I=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),s(I)};return o?t.jsxs(ft,{children:[!l&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),d?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(r.Typography,{variant:"body1",children:e.format(Ge)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(Ge)})]}):t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"body1",sx:{mb:1},children:e.format(Ge)}),t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(r.Typography,{variant:"body1",children:e.format(bt)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(bt)}),h>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",f,")"]})]})]})]}):t.jsxs(ft,{children:[!l&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(ke.LocalizationProvider,{dateAdapter:ia.AdapterDayjs,children:d?t.jsxs(_t,{children:[t.jsx(ke.DatePicker,{disabled:o,format:Ge,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:m,minDate:H(),sx:{flex:1}}),t.jsx(Wt,{variant:"body1",children:"\u2013"}),t.jsx(ke.DatePicker,{disabled:o,format:Ge,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:g,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(r.Box,{sx:{mb:1,mr:"30px"},children:t.jsx(ke.DatePicker,{disabled:o,format:Ge,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:y,minDate:H()})}),t.jsxs(_t,{children:[t.jsx(ke.TimePicker,{disabled:o,format:bt,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:b,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Wt,{variant:"body1",children:"\u2013"}),t.jsxs(r.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(ke.TimePicker,{disabled:o,format:bt,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:v,sx:{alignSelf:"baseline",width:"100%"}}),h>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",f,")"]})]})]})]})}),i&&t.jsx(r.Fade,{in:i,children:t.jsx(r.Typography,{color:"red",variant:"caption",sx:{mt:.5},children:u("calendarView.reminders.errorDate")})})]})},Ji=r.styled(r.Box)(()=>({display:"flex",gap:2,alignItems:"center"})),Xi=r.styled(r.Box)(()=>({width:"15%",userSelect:"none"})),Ja=({name:e,children:a})=>t.jsxs(Ji,{children:[t.jsx(Xi,{children:e}),a]}),Ee=({children:e,title:a})=>t.jsxs(r.Box,{children:[t.jsx(r.Box,{sx:{mb:1,userSelect:"none"},children:a}),e]}),Vt=({titleField:e,disabled:a,variantMode:n="default"})=>{const{t:s}=ie.useTranslation(),{value:i,type:o,...l}=e.attributes,d=i||"";return n==="inline"?t.jsx(r.TextField,{...l,value:d,disabled:a,autoFocus:!0,fullWidth:!0,placeholder:s("global.addTitle"),variant:"standard",InputProps:{disableUnderline:!1,sx:{fontSize:22,fontWeight:500}},sx:{"& .MuiInput-underline:before":{borderBottomColor:"divider"},"& .MuiInput-underline:hover:before":{borderBottomColor:"text.secondary"},"& .MuiInput-underline:after":{borderBottomWidth:2}}}):a?t.jsx(Ja,{name:s("global.title"),children:t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:d||"-"})}):t.jsx(Ja,{name:s("global.title"),children:t.jsx(r.TextField,{...l,value:d,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},Qi=r.styled(r.Box)(()=>({marginBottom:"6px",padding:"8px 6px",border:"1px solid lightgray",borderRadius:"3px"})),Zi=r.styled(r.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),el=r.styled(r.TextField)(()=>({width:"13%"})),tl=r.styled(r.Select)(()=>({width:"23%"})),al=r.styled(r.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),nl=r.styled(r.IconButton)(()=>({ml:"auto"})),sl=[{title:"minute",value:dt.EventNotificationPeriod.MINUTE},{title:"hour",value:dt.EventNotificationPeriod.HOUR},{title:"day",value:dt.EventNotificationPeriod.DAY}],rl=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const{t:o}=ie.useTranslation(),l=e.timeValue??0;return t.jsxs(Qi,{children:[t.jsxs(Zi,{children:[o("calendarView.reminders.sendReminder.pt1"),t.jsx(el,{onChange:d=>a(d,e.id),value:l,type:"text",variant:"outlined",size:"small"}),t.jsx(tl,{onChange:d=>n(d,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:d=>d.palette.background.panel}}},children:sl.map(d=>t.jsx(r.MenuItem,{value:d.value,children:o(`calendarView.reminders.timePeriod.${d.title}`)},d.value))}),o("calendarView.reminders.sendReminder.pt2")]}),t.jsxs(al,{children:[t.jsx(r.FormControlLabel,{sx:{display:"flex",alignItems:"center"},label:o("calendarView.reminders.sendReminderToContact"),control:t.jsx(r.Checkbox,{checked:e.sendToContact,onChange:d=>s(d,e.id),color:"secondary"})}),t.jsx(nl,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(ct,{})})]})]})},ol=r.styled(r.Box)`
16
+ <%s key={someKey} {...props} />`,Ce,je,Se,je),gt[je+Ce]=!0}}return p===s?Lt(D):oa(D),D}}function ia(p,A,W){return zt(p,A,W,!0)}function la(p,A,W){return zt(p,A,W,!1)}var ca=la,da=ia;Ct.Fragment=s,Ct.jsx=ca,Ct.jsxs=da})()),Ct}process.env.NODE_ENV==="production"?ha.exports=ps():ha.exports=hs();var t=ha.exports;us(t);const ms=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})),Oa=r.styled(r.IconButton)({padding:4}),gs=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),ys=r.styled(r.Avatar)({width:60,height:60,marginBottom:8}),fs=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),xs=r.styled(r.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),bs=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:o,onClose:c,isBusiness:d=!1})=>{const u=l.useCallback(f=>v=>{try{if(v.preventDefault(),v.stopPropagation(),!f)throw new Error("Navigation URL is required");v.ctrlKey||v.metaKey||v.button===1?window.open(f,"_blank","noopener,noreferrer"):s(f)}catch(j){o?.(j instanceof Error?j:new Error("Navigation failed"))}},[s,o]),h=u(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),y=u(`/a/conversations/conversations?contactId=${n}`),m=a||"Unknown Contact",g=`Avatar for ${m}`;return t.jsxs(gs,{children:[t.jsxs(ms,{children:[t.jsx(Oa,{color:"info",size:"small",onClick:f=>{h(f),c()},onMouseDown:f=>{f.button===1&&(h(f),c())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Wn,{fontSize:"small"})}),t.jsx(Oa,{color:"info",size:"small",onClick:f=>{y(f),c()},onMouseDown:f=>{f.button===1&&(y(f),c())},"aria-label":"Go to conversations",children:t.jsx(_n,{fontSize:"small"})})]}),i?t.jsx(xs,{children:t.jsx(r.CircularProgress,{size:24})}):t.jsx(ys,{src:e,alt:g,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(fs,{variant:"h6",title:m,children:m})]})},vs=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Cs=r.styled(r.Box)({width:"100%",borderBottom:"1px solid lightgray"}),js=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Ss=r.styled(r.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),ws=r.styled(r.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Is=r.styled(r.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Ts=r.styled(r.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Es=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=o=>t.jsx(js,{children:t.jsxs(ws,{children:[t.jsx(Ss,{children:e}),t.jsxs(Is,{children:[t.jsx(r.Tooltip,{title:o.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:o.address})}),o.profileName&&t.jsx(r.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:o.profileName})]}),o.note&&t.jsx(Ts,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.id);return t.jsxs(vs,{children:[s&&t.jsx(Cs,{children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},Ds=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ks=r.styled(r.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),As=r.styled(r.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Fs=r.styled(r.Typography)({fontSize:14}),$s=r.styled(Te.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Bs=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),s=(i,o)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(c=>s(c,o)).join(", ");if(typeof i=="string"){const c=Ze(i,Ze.ISO_8601).isValid(),d=u=>Ze(i).format(u);switch(o){case ne.ContactField_type.TIME:return c?d("HH:mm"):i;case ne.ContactField_type.DATE:return c?d("DD/MM/YYYY"):i;case ne.ContactField_type.TIMERANGE:case ne.ContactField_type.DATERANGE:if(c)return o===ne.ContactField_type.TIMERANGE?d("HH:mm"):d("DD/MM/YYYY");const u=i.split(" ");if(u.length===2){const[h,y]=u,m=o===ne.ContactField_type.TIMERANGE?Ze(h).format("HH:mm"):Ze(h).format("DD/MM/YYYY"),g=o===ne.ContactField_type.TIMERANGE?Ze(y).format("HH:mm"):Ze(y).format("DD/MM/YYYY");return`${m} - ${g}`}return i;default:return i}}return i};return t.jsxs(Ds,{children:[t.jsx(ks,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,o)=>i.value.length>0&&t.jsxs(As,{children:[t.jsx($s,{}),t.jsxs(Fs,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},o))]})},Ps=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Us=r.styled(r.Box)({marginBottom:16}),Ms=r.styled(r.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Rs=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ps,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Us,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Ms,{label:n.name,color:"primary",size:"small"},n.id))})]});function Wa(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 Ns=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Ls=({contactData:e,title:a})=>!e||!Wa(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(Ns,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(r.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function _a(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 zs=({name:e,memberId:a,navigate:n})=>{const s=`/a/conversations/conversations?contactId=${a}`,i=o=>{o.preventDefault(),o.stopPropagation(),o.ctrlKey||o.metaKey||o.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:i,onMouseDown:o=>{o.button===1&&i(o)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(o)},children:e})},Os=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Ws=({contactData:e,title:a,navigate:n})=>!e||!_a(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Os,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(zs,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var _s="Labels",Vs="Phone",qs="Business",Ys="Business Members",Gs="Properties",Hs="View",Ks="Tags",Js={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",date:"Date",from:"From",to:"To",time:"Time",title:"Title",addTitle:"Add title",description:"Description",location:"Location",addLocation:"Add location",selectLocation:"Select location",color:"Color",allDay:"All day",calendar:"Calendar",selectCalendar:"Select calendar",recurrence:"Recurrence",noRepeat:"Does not repeat",edit:"Edit",duplicate:"Duplicate",event:"Event",task:"Task",editEvent:"Edit event",editTask:"Edit task",saveEvent:"Save event",saveTask:"Save task",createEvent:"Create event",createTask:"Create task",finalizeEvent:"Finalize event",markAsCompleted:"Mark as completed",markAsIncomplete:"Mark as incomplete",linkContacts:"Linked contacts",searchContacts:"Search contacts",errorSavingChanges:"Error saving changes",savingChanges:"Saving changes...",changesSaved:"Changes saved",nameRequired:"Name is required",calendarCreatedSuccess:"Calendar created successfully",calendarUpdatedSuccess:"Calendar updated successfully",eventAlreadyDeleted:"Event has already been deleted",taskAlreadyDeleted:"Task has already been deleted",deleting:"Deleting...",confirm:"Confirm",name:"Name",create:"Create",showEvent:"Show Event",finalizeTask:"Finalize Task",showTask:"Show Task",createCalendar:"Create Calendar",editCalendar:"Edit Calendar",calendarInfo:"Calendar Information",deleteCalendar:"Delete Calendar",deleteConfirm:'Are you sure you want to delete the calendar "{{title}}"?',day:"Day",week:"Week",month:"Month",today:"Today",next:"Next",reminders:"Reminders",addReminder:"Add Reminder",shareWithUsers:"Share with Users",noSharedUsers:"No shared users",loading:"Loading...",moreActions:"More Actions",createdBy:"Created by",private:"Private",everyDay:"Every day",everyWeek:"Every week",everyMonth:"Every month",everyYear:"Every year",everyTwoDays:"Every 2 days",everyTwoWeeks:"Every 2 weeks",everyWeekday:"Weekdays (M-F)",seeMore:"See more"},Xs={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"},Qs={upload:"Upload photo",delete:"Delete photo"},Zs={from:"From",to:"To"},er={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"},sidebar:{events:{errorDate:"End date must be after start date"}}},tr={reminders:{title:"Reminders",addReminder:"Add Reminder",errorDate:"The 'To' date must be greater than the 'From' date",searchContact:"Search Contact",sendReminder:{pt1:"Send reminder",pt2:"before."},timePeriod:{minute:"minute/s",hour:"hour/s",day:"day/s"},sendReminderToContact:"Send reminder to external contact"},shortcuts:{title:"Keyboard Shortcuts",advice:"Tip: You can use these shortcuts to speed up event creation and editing"},myCalendars:"My calendars",noCalendar:"No calendar",othersCalendars:"Other calendars"},ar={labels:_s,phone:Vs,business:qs,businessMembers:Ys,properties:Gs,view:Hs,tags:Ks,global:Js,searchLocationModal:Xs,avatar:Qs,contactEdit:Zs,conversations:er,calendarView:tr},nr="Etiquetas",sr="Tel\xE9fono",rr="Empresa",or="Miembros de la empresa",ir="Propiedades",lr="Ver",cr="Etiquetas",dr={add:"Agregar",note:"Nota",number:"N\xFAmero",email:"Correo electr\xF3nico",phones:"Tel\xE9fonos",close:"Cerrar",back:"Volver",createNew:"Crear nuevo",delete:"Eliminar",cancel:"Cancelar",save:"Guardar",noOptions:"Sin opciones",noValue:"Sin valor",birthdate:"Fecha de nacimiento",country:"Pa\xEDs",searchLocation:"Buscar ubicaci\xF3n",date:"Fecha",from:"Desde",to:"Hasta",time:"Hora",title:"T\xEDtulo",addTitle:"Agregar t\xEDtulo",description:"Descripci\xF3n",location:"Ubicaci\xF3n",addLocation:"Agregar ubicaci\xF3n",selectLocation:"Seleccionar ubicaci\xF3n",color:"Color",allDay:"Todo el d\xEDa",calendar:"Calendario",selectCalendar:"Seleccionar calendario",recurrence:"Recurrencia",noRepeat:"No se repite",edit:"Editar",duplicate:"Duplicar",event:"Evento",task:"Tarea",editEvent:"Editar evento",editTask:"Editar tarea",saveEvent:"Guardar evento",saveTask:"Guardar tarea",createEvent:"Crear evento",createTask:"Crear tarea",finalizeEvent:"Finalizar evento",markAsCompleted:"Marcar como completado",markAsIncomplete:"Marcar como incompleto",linkContacts:"Contactos vinculados",searchContacts:"Buscar contactos",errorSavingChanges:"Error al guardar los cambios",savingChanges:"Guardando cambios...",changesSaved:"Cambios guardados",nameRequired:"El nombre es obligatorio",calendarCreatedSuccess:"Calendario creado con \xE9xito",calendarUpdatedSuccess:"Calendario actualizado con \xE9xito",eventAlreadyDeleted:"l evento ya ha sido eliminado",taskAlreadyDeleted:"La tarea ya ha sido eliminada",deleting:"Eliminando...",confirm:"Confirmar",name:"Nombre",create:"Crear",showEvent:"Mostrar evento",finalizeTask:"Finalizar tarea",showTask:"Mostrar tarea",createCalendar:"Crear calendario",editCalendar:"Editar calendario",calendarInfo:"Informaci\xF3n del calendario",deleteCalendar:"Eliminar calendario",deleteConfirm:'\xBFEst\xE1 seguro de que desea eliminar el calendario "{{title}}"?',day:"\xEDa",week:"Semana",month:"Mes",today:"Hoy",next:"Siguiente",reminders:"Recordatorios",addReminder:"Agregar recordatorio",shareWithUsers:"Compartir con usuarios",noSharedUsers:"Sin usuarios compartidos",loading:"Cargando...",moreActions:"M\xE1s acciones",createdBy:"Creado por",private:"Privado",everyDay:"Cada d\xEDa",everyWeek:"Cada semana",everyMonth:"Cada mes",everyYear:"Cada a\xF1o",everyTwoDays:"Cada 2 d\xEDas",everyTwoWeeks:"Cada 2 semanas",everyWeekday:"D\xEDas laborables (L-V)",seeMore:"Ver m\xE1s"},ur={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"},pr={upload:"Subir foto",delete:"Eliminar foto"},hr={from:"Desde",to:"Hasta"},mr={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"},sidebar:{events:{errorDate:"La fecha de finalizaci\xF3n debe ser posterior a la fecha de inicio"}}},gr={reminders:{title:"Recordatorios",addReminder:"Agregar recordatorio",errorDate:"La fecha 'Hasta' debe ser mayor que la fecha 'Desde'",searchContact:"Buscar contacto",sendReminder:{pt1:"Enviar recordatorio",pt2:"antes."},timePeriod:{minute:"minuto/s",hour:"hora/s",day:"d\xEDa/s"},sendReminderToContact:"Enviar recordatorio al contacto externo"},shortcuts:{title:"Atajos de teclado",advice:"Consejo: Puedes usar estos atajos para acelerar la creaci\xF3n y edici\xF3n de eventos"},myCalendars:"Mis calendarios",noCalendar:"Sin calendario",othersCalendars:"Otros calendarios"},yr={labels:nr,phone:sr,business:rr,businessMembers:or,properties:ir,view:lr,tags:cr,global:dr,searchLocationModal:ur,avatar:pr,contactEdit:hr,conversations:mr,calendarView:gr};const fr={en:{translation:ar},es:{translation:yr}},jt=Vn.createInstance();jt.use(Le.initReactI18next).init({resources:fr,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const xr=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"}})),br=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:o,language:c="en"})=>{const{t:d,i18n:u}=Le.useTranslation();l.useEffect(()=>{c&&u.changeLanguage(c)},[c,u]);const h=d,y=_a(s),m=Wa(s),g=[{icon:t.jsx(Te.PhoneEnabled,{fontSize:"small"}),title:h("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(Te.Email,{fontSize:"small"}),title:h("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(Te.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Te.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Te.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Te.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return l.useEffect(()=>{const f=v=>{v.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(xr,{children:t.jsxs(r.CardContent,{children:[t.jsx(bs,{navigate:o,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:y}),t.jsx(Rs,{contactData:s,title:h("labels")}),m&&t.jsx(Ls,{contactData:s,title:h("business")}),y&&t.jsx(Ws,{contactData:s,title:h("businessMembers"),navigate:o}),g.map((f,v)=>t.jsx(Es,{icon:f.icon,title:f.title,contactList:f.contactList,showTitle:f.showTitle},v)),t.jsx(Bs,{properties:s?.properties,title:h("properties")})]})})})})},Va=e=>t.jsx(Le.I18nextProvider,{i18n:jt,children:t.jsx(br,{...e})}),qa=e=>e,Ya=l.createContext(qa),vr=({t:e,children:a})=>t.jsx(Ya.Provider,{value:e,children:a}),ye=()=>{const e=l.useContext(Ya);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),qa)},Cr=({tags:e,onEditTags:a})=>{const n=ye(),[s,i]=l.useState(null),o=l.useMemo(()=>e??[],[e]),c=o.slice(0,4),d=Math.max(o.length-c.length,0),u=m=>{i(m.currentTarget)},h=()=>{i(null)},y=!!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:u,sx:{borderRadius:999}}):null]}),t.jsx(r.IconButton,{className:"tags-action",size:"small","aria-label":o.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:o.length?t.jsx(yt,{fontSize:"small"}):t.jsx(qn,{fontSize:"small"})})]}),t.jsx(r.Popover,{open:y,anchorEl:s,onClose:h,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:o.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))})]})})]})},Ga=l.createContext(null),jr=Ga.Provider,Ge=()=>l.useContext(Ga),Sr=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),wr=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Ir=r.styled(r.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Tr=r.styled(r.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Er=({displayName:e,contactType:a,firstName:n,lastName:s,name:i,entityId:o,onEntityUpdated:c})=>{const d=Ge(),[u,h]=l.useState(!1),[y,m]=l.useState(!1),[g,f]=l.useState({firstName:n||"",lastName:s||"",name:i||""});l.useEffect(()=>{f({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const v=async()=>{if(!(!d||!o||!a||a==="unknown")){m(!0);try{let x={};a==="contact"?x={firstName:g.firstName,lastName:g.lastName}:a==="business"&&(x={name:g.name});const w=await d.updateEntity({entityType:a,entityId:o,body:x});w&&c&&c(w),h(!1)}catch(x){console.error("Failed to update name",x)}finally{m(!1)}}},j=a==="contact"||a==="business";return u?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:g.firstName,onChange:x=>f({...g,firstName:x.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:g.lastName,onChange:x=>f({...g,lastName:x.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:g.name,onChange:x=>f({...g,name:x.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:v,disabled:y,color:"primary",children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(Te.Save,{})})]}):t.jsx(wr,{children:t.jsxs(Ir,{children:[t.jsx(Sr,{variant:"h6",title:e,children:e}),j&&t.jsx(Tr,{size:"small",onClick:()=>h(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Te.Edit,{fontSize:"small"})})]})})},Dr=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:o,isDeleting:c})=>{const d=ye();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:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Yn,{fontSize:"small"})}),t.jsx(r.IconButton,{size:"small","aria-label":d("avatar.delete"),onClick:i,disabled:!!c,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Wt,{fontSize:"small"})})]})]})},kr=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Ar=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:c,photoInputRef:d,isUploadingPhoto:u,onDeletePhoto:h,isDeletingPhoto:y,contactType:m,firstName:g,lastName:f,name:v,entityId:j,onEntityUpdated:x})=>{const w=`Avatar for ${a}`;return t.jsxs(kr,{children:[t.jsx("input",{ref:d,type:"file",accept:"image/*",onChange:c,style:{display:"none"}}),t.jsx(Dr,{src:e,alt:w,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:h,isDeleting:y}),t.jsx(Er,{displayName:a,contactType:m,firstName:g,lastName:f,name:v,entityId:j,onEntityUpdated:x}),t.jsx(Cr,{tags:s,onEditTags:i})]})},ma=20,Fr=e=>{const{popperContainer:a,...n}=e;return t.jsx(Gn,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},$r=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:o,onCreateNew:c,isCreatingNew:d,popperContainer:u})=>{const h=ye(),[y,m]=l.useState(""),[g,f]=l.useState(ma),v=l.useDeferredValue(y),j=l.useMemo(()=>a??[],[a]),x=l.useMemo(()=>{const k=String(v??"").trim().toLowerCase();return k?j.filter(E=>String(E?.name??"").toLowerCase().includes(k)):j},[j,v]),w=l.useMemo(()=>x.slice(0,g),[x,g]),C=l.useMemo(()=>{const k=new Map;for(const E of e??[])E?.id&&k.set(String(E.id),E);for(const E of w??[])E?.id&&(k.has(String(E.id))||k.set(String(E.id),E));return Array.from(k.values())},[e,w]),S=(k,E)=>{m(E??""),f(ma)},I=k=>{const E=k;E.scrollTop+E.clientHeight>=E.scrollHeight-24&&f(U=>U+ma)},O=()=>{const k=String(y??"").trim(),E=!k||o||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[h("global.noOptions"),t.jsx(Ve.LoadingButton,{onClick:()=>c(k),loading:d,disabled:E,variant:"contained",size:"small",sx:{marginTop:1.3},children:h("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":h("global.back"),disabled:o,children:t.jsx(ua,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:h("tags")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Ve.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(et,{}),onClick:i,loading:o,disabled:o,children:h("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(k,E)=>n(E),options:C,filterOptions:k=>k,inputValue:y,onInputChange:S,getOptionLabel:k=>k?.name??"",isOptionEqualToValue:(k,E)=>String(k?.id)===String(E?.id),PopperComponent:k=>t.jsx(Fr,{...k,popperContainer:u}),renderOption:(k,E)=>{const{key:U,...$}=k;return l.createElement("li",{...$,key:E?.id?String(E.id):String(U??E?.name??"")},E.name??"")},renderTags:(k,E)=>k.map((U,$)=>{const q=E({index:$}),{key:z,..._}=q;return t.jsx(r.Chip,{label:U.name??"",..._},U?.id?String(U.id):String(z??U?.name??$))}),size:"small",renderInput:k=>t.jsx(r.TextField,{...k,size:"small"}),ListboxProps:{onScroll:I,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(O,{}),sx:{width:"100%"}})]})};var Br=Object.defineProperty,Pr=(e,a,n)=>a in e?Br(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Ha=(e,a,n)=>Pr(e,typeof a!="symbol"?a+"":a,n);let Ka=class extends Error{constructor(a,n,s){super(a),Ha(this,"status"),Ha(this,"body"),this.name="ApiError",this.status=n,this.body=s}};async function $e({url:e,method:a="GET",headers:n,body:s,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:i}),c=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${o.status}`;throw new Ka(d,o.status,c)}return c}async function Ur({url:e,method:a="POST",headers:n,formData:s,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:s,signal:i}),c=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${o.status}`;throw new Ka(d,o.status,c)}return c}function Ie(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function Ae(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`)}}async function Mr({baseUrl:e,spaceId:a,signal:n}){const s=Ae(e,a),i=Ie(s.CONTACTS,"/labels");return $e({url:i,signal:n})}async function Ja({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/labels");return $e({url:o,method:"POST",body:{name:n},signal:s})}async function Rr({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return $e({url:o,signal:s})}async function Nr({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return $e({url:o,signal:s})}async function Lr({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Ae(e,a),o=`${Ie(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return $e({url:o,signal:s})}async function Oe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}){const c=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,d=Ae(e,a),u=Ie(d.CONTACTS,c);return $e({url:u,method:"PUT",body:i,signal:o})}async function zr({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/Search");return $e({url:o,method:"POST",body:n,signal:s})}async function Or({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/business");return $e({url:o,method:"POST",body:n,signal:s})}async function Vt({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/contactAddresses");return $e({url:o,method:"DELETE",body:n,signal:s})}async function Wr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/contactAddresses/check");return $e({url:o,method:"POST",body:n,signal:s})}async function _r({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,"/contactAddresses/set");return $e({url:o,method:"POST",body:n,signal:s})}async function Vr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ae(e,a),o=Ie(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return $e({url:o,method:"PUT",body:n,signal:s})}async function Xa({baseUrl:e,spaceId:a,signal:n}){const s=Ae(e,a),i=Ie(s.SETTINGS,"/user");return $e({url:i,signal:n})}async function qr({baseUrl:e,spaceId:a,signal:n}){const s=Ae(e,a),i=Ie(s.SETTINGS,"/users");return $e({url:i,signal:n})}async function Yr({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Ae(e,a),o=Ie(i.SETTINGS,`/usersInfor/${s}`);return $e({url:o,signal:n})}async function Qa({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const o=Ae(e,a),c=new FormData;c.append("file",s,s.name);const d=Ie(o.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Ur({url:d,formData:c,signal:i})}const Za=(e,a)=>({fetchLabels:({signal:n}={})=>Mr({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>Ja({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>Rr({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>Nr({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>zr({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>Or({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>Lr({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:o})=>Oe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}),deleteAddress:({data:n,signal:s})=>Vt({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>Vt({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>Wr({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>_r({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>Vr({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>Xa({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>qr({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>Yr({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>Qa({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),en=()=>!!window?.google?.maps?.places?.Autocomplete,Gr=(e=1e4)=>new Promise(a=>{if(en()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(en()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),Hr=()=>{const[e,a]=l.useState(!1),[n,s]=l.useState(!0),[i,o]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const c=await Gr(1e4);a(c),c||o("Google Maps API failed to load")}catch{o("Error loading Google Maps API"),a(!1)}finally{s(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},Kr=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=ye(),i=l.useRef(null),o=l.useRef(null),c=l.useRef(e),d=l.useRef(a),{isLoaded:u,isLoading:h,error:y}=Hr(),m=l.useMemo(()=>h?s("searchLocationModal.loadingGoogleMaps"):y?s("searchLocationModal.googleMapsUnavailable"):u?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[u,h,y,n,s]);return l.useEffect(()=>{c.current=e},[e]),l.useEffect(()=>{d.current=a},[a]),l.useEffect(()=>{if(!u||!i.current||o.current)return;const g=window?.google;if(!g?.maps?.places?.Autocomplete){d.current?.(s("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let f=null;const v=()=>{document.querySelectorAll(".pac-container").forEach(x=>{const w=x;w.style.zIndex="20000",w.style.position="fixed"})};f=new MutationObserver(x=>{for(const w of x)for(const C of Array.from(w.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const S=C;S.classList?.contains("pac-container")&&(S.style.zIndex="20000",S.style.position="fixed")}}),f.observe(document.body,{childList:!0,subtree:!0}),v(),window.setTimeout(v,100),o.current=new g.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const j=o.current.addListener?.("place_changed",()=>{const x=o.current?.getPlace?.();if(!x?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let w="",C="",S="",I="",O="",k="";const E=x.address_components??[];for(const z of E){const _=z?.types??[];if(_.includes("locality")||_.includes("administrative_area_level_2")){w=z.long_name;continue}if(_.includes("administrative_area_level_1")){C=z.long_name;continue}if(_.includes("country")){S=z.long_name;continue}if(_.includes("postal_code")){I=z.long_name;continue}if(_.includes("route")){O=z.long_name;continue}_.includes("street_number")&&(k=z.long_name)}const U=typeof x.geometry.location.lat=="function"?x.geometry.location.lat():0,$=typeof x.geometry.location.lng=="function"?x.geometry.location.lng():0,q={location:{lat:U,lng:$},address:x.formatted_address??"",city:w,state:C,country:S,postalCode:I,streetName:O,streetNumber:k,shortAddress:[O,k].filter(Boolean).join(" ")};c.current(q)});return()=>{f&&f.disconnect(),j?.remove&&j.remove(),o.current=null}},[u,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:m,disabled:h||!u||!!y,error:!!y})},Jr={street:"",city:"",state:"",zipcode:"",country:""},Xr=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:o})=>{const c=ye(),[d,u]=l.useState(Jr),[h,y]=l.useState(""),[m,g]=l.useState(""),[f,v]=l.useState(!1),[j,x]=l.useState(!1),w=l.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),C=U=>{y(U.address??"");const $=String(U.shortAddress??"").trim()||[U.streetName,U.streetNumber].filter(Boolean).join(" ").trim();u({street:$,city:U.city??"",state:U.state??"",zipcode:U.postalCode??"",country:U.country??""}),g("")},S=U=>{g(String(U??""))},I=U=>$=>{const q=$.target.value;u(z=>({...z,[U]:q}))},O=async()=>{if(!f&&!(!e||!a)&&s){v(!0);try{const U=await Oe({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??"")}}});o?.(U),i()}finally{v(!1)}}},k=async()=>{if(!j&&!(!e||!a)&&s){x(!0);try{const U=await Oe({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??"")}}});o?.(U),i()}finally{x(!1)}}},E=!w||f||j;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:i,"aria-label":c("global.back"),children:t.jsx(ua,{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(Kr,{onPlaceSelected:C,onError:S,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:I("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:I("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.state"),value:d.state,onChange:I("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:I("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.country"),value:d.country,onChange:I("country"),fullWidth:!0,size:"medium"})]}),h?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:h}):null,t.jsxs(r.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(Ve.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(et,{}),onClick:O,loading:f,disabled:E,children:c("searchLocationModal.saveMainAddress")}),t.jsx(Ve.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(et,{}),onClick:k,loading:j,disabled:E,children:c("searchLocationModal.saveSecondaryAddress")})]})]})]})};function ga(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 tn(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 Qr({open:e,baseUrl:a,spaceId:n,contactId:s}){const i=l.useRef(null),o=l.useMemo(()=>!a||!n?null:Za(a,n),[a,n]),[c,d]=l.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),u=l.useMemo(()=>!!(e&&o&&s),[e,o,s]);l.useEffect(()=>{e||(i.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 h=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!h||!o)return;const g=new AbortController;return d(f=>({...f,labelsLoading:!0,labelsError:null})),o.fetchLabels({signal:g.signal}).then(f=>{d(v=>({...v,labels:f,labelsLoading:!1,labelsError:null}))}).catch(f=>{g.signal.aborted||d(v=>({...v,labelsLoading:!1,labelsError:f}))}),()=>{g.abort()}},[o,h]),l.useEffect(()=>{if(!u||!o)return;i.current?.abort();const g=new AbortController;return i.current=g,d(f=>({...f,isLoading:!0,error:null,contactData:null})),o.fetchContact({contactId:s,signal:g.signal}).then(f=>{d(v=>({...v,isLoading:!1,error:null,contactData:f}))}).catch(f=>{g.signal.aborted||d(v=>({...v,isLoading:!1,error:f}))}),()=>{g.abort()}},[o,u,s]);const y=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!y||!o)return;const g=new AbortController;return d(f=>({...f,userLoading:!0,userError:null})),o.fetchUserTrii({signal:g.signal}).then(f=>{d(v=>({...v,userLoading:!1,userError:null,userTrii:f}))}).catch(f=>{g.signal.aborted||d(v=>({...v,userLoading:!1,userError:f}))}),()=>{g.abort()}},[o,y]);const m=l.useMemo(()=>{const g=c.contactData,f=ga(g),v=tn(g);let j="unknown";f&&(j="business"),v&&(j="contact");let x="Unknown Contact";f?x=g.name:v&&(x=`${g.firstName} ${g.lastName}`.trim());const w=g?.tags??[];return{isBusiness:f,isContact:v,contactType:j,displayName:x,tags:w,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 l.useEffect(()=>{if(!e||!o)return;const g=c.contactData,f=ga(g),v=tn(g),j=f?"business":v?"contact":null;if(!j)return;const x=new AbortController;return d(w=>({...w,contactFieldsLoading:!0,contactFieldsError:null})),o.fetchContactFields({forType:j,signal:x.signal}).then(w=>{d(C=>({...C,contactFields:w,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(w=>{x.signal.aborted||d(C=>({...C,contactFieldsLoading:!1,contactFieldsError:w}))}),()=>{x.abort()}},[o,e,c.contactData]),{state:c,selectors:m,actions:{setContactData:g=>d(f=>({...f,contactData:g??null})),clearError:()=>d(g=>({...g,error:null}))}}}const St=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:o})=>{const[c,d]=l.useState(i??""),[u,h]=l.useState(null),[y,m]=l.useState(!1),[g,f]=l.useState(!1),v=l.useRef(null),j=l.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function x($){return $.split("?sv=")[0]}function w($){return $.split("&cacheId=")[0]}function C($){let q=x($);return!q||(q=w(q),!q)?"":q}const S=async()=>{if(!e||!a)return null;const $=await Xa({baseUrl:e,spaceId:a});return h($),$},I=async $=>{const q=(u??await S())?.storageAzureSAS,z=q?.expireAt,_=z?new Date(z):null;let H=q?.sas??"";if((!H||_&&_<new Date)&&(H=(await S())?.storageAzureSAS?.sas??""),!H)return $;const B=`${Date.now()}`;return`${$}${H}&cacheId=${B}`},O=async $=>{if(!$){d("");return}const q=x($);if(!q)return;const z=await I(q);d(z)},k=async $=>{const q=$.target.files?.[0];if(q&&j){v.current&&(v.current.value=""),m(!0);try{const z=await Qa({baseUrl:e,spaceId:a,contactId:s,file:q}),_=await Oe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:z}});o?.(_),await O(z)}finally{m(!1)}}},E=()=>{v.current?.click()},U=async()=>{if(j&&!g){f(!0);try{await Oe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),o?.({imageUrl:""}),d("")}finally{f(!1)}}};return l.useEffect(()=>{if(!i){d("");return}O(i)},[i]),{inputAtributes:{onChange:k,ref:v,type:"file",accept:"image/*"},action:{uploadImage:E,deleteImage:U},imageUrl:c,removeParams:C,isUploading:y,isDeleting:g}},fe=(e,a)=>{const[n,s]=l.useState(a||""),[i,o]=l.useState(!1),[c,d]=l.useState("");return l.useEffect(()=>{s(a||"")},[a]),{actions:{onError:u=>{o(!0),d(u)},onSuccess:()=>{o(!1),d("")},resetValue:()=>{s(a||"")},changeValue:u=>{s(u)}},attributes:{error:i,helperText:c,type:e,value:n,onChange:u=>{s(u.target.value)}}}},an=(e="")=>{const[a,n]=l.useState(e),s=c=>{n(c.target.value)},i=c=>{n(c)},o=()=>{n(e??"")};return l.useEffect(()=>{n(e)},[e]),{actions:{resetValue:o,changeValue:i},attributes:{value:a,onChange:s}}};let qt;const Zr=new Uint8Array(16);function eo(){if(!qt&&(qt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!qt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qt(Zr)}const Ee=[];for(let e=0;e<256;++e)Ee.push((e+256).toString(16).slice(1));function to(e,a=0){return Ee[e[a+0]]+Ee[e[a+1]]+Ee[e[a+2]]+Ee[e[a+3]]+"-"+Ee[e[a+4]]+Ee[e[a+5]]+"-"+Ee[e[a+6]]+Ee[e[a+7]]+"-"+Ee[e[a+8]]+Ee[e[a+9]]+"-"+Ee[e[a+10]]+Ee[e[a+11]]+Ee[e[a+12]]+Ee[e[a+13]]+Ee[e[a+14]]+Ee[e[a+15]]}const ao=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var nn={randomUUID:ao};function ya(e,a,n){if(nn.randomUUID&&!a&&!e)return nn.randomUUID();e=e||{};const s=e.random||(e.rng||eo)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,a){n=n||0;for(let i=0;i<16;++i)a[n+i]=s[i];return a}return to(s)}function no(e){return{id:ya(),address:"",note:"",channelType:e,isSaved:!1}}var Yt={createNewAddress:no};const so=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},ro=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var rt={getEditedField:so,getAddressesWithUpdatedValues:ro};const sn=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,o]=l.useState(!1),[c,d]=l.useState(()=>a),[u,h]=l.useState(a?.ims_facebook||[]),[y,m]=l.useState(a?.ims_mercadolibre||[]),[g,f]=l.useState(a?.ims_webchat||[]),[v,j]=l.useState(a?.ims_instagram||[]),[x,w]=l.useState(a?.ims_whatsapp||[]),[C,S]=l.useState(a?.emails||[]),[I,O]=l.useState(a?.phones||[]),[k,E]=l.useState(a?.ims_rcs||[]),U=()=>{const T=Yt.createNewAddress(st.ChannelType.PHONE),F=[...I,T];O(F)},$=()=>{const T=Yt.createNewAddress(st.ChannelType.EMAIL),F=[...C,T];S(F)},q=()=>{const T=Yt.createNewAddress(st.ChannelType.WHATSAPP),F=[...x,T];w(F)},z=()=>{const T=Yt.createNewAddress(st.ChannelType.RCS),F=[...k,T];E(F)},_=T=>{const F=[...x,T];w(F),d(V=>({...V??{},ims_whatsapp:F}))},H=(T,F)=>{if(F){if(F.channelType===3){const V=C.map(P=>P.id===T?F:P);S(V),d(P=>({...P??{},emails:V}))}if(F.channelType===5){const V=I.map(P=>P.id===T?F:P);O(V),d(P=>({...P??{},phones:V}))}if(F.channelType===13){const V=x.map(P=>P.id===T?F:P);w(V),d(P=>({...P??{},ims_whatsapp:V}))}if(F.channelType===21){const V=k.map(P=>P.id===T?F:P);E(V),d(P=>({...P??{},ims_rcs:V}))}if(F.channelType===41){const V=y.map(P=>P.id===T?F:P);m(V),d(P=>({...P??{},ims_mercadolibre:V}))}}},B=async(T,F,V)=>{const P=T.target.value;if(V===3){const Y=rt.getAddressesWithUpdatedValues(P,F,C);S(Y)}else if(V===5){const Y=rt.getAddressesWithUpdatedValues(P,F,I);O(Y)}else if(V===13){const Y=rt.getAddressesWithUpdatedValues(P,F,x);w(Y)}else if(V===21){const Y=rt.getAddressesWithUpdatedValues(P,F,k);E(Y)}else if(V===41){const Y=rt.getAddressesWithUpdatedValues(P,F,y);m(Y)}},N=(T,F,V)=>{if(V===14){const P=u.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);h(P)}if(V===20){const P=g.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);f(P)}if(V===16){const P=v.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);j(P)}if(V===3){const P=C.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);S(P)}if(V===5){const P=I.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);O(P)}if(V===13){const P=x.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);w(P)}if(V===21){const P=k.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);E(P)}if(V===41){const P=y.map(Y=>Y.id===F?{...Y,note:T.target.value}:Y);m(P)}},J=async(T,F)=>{if(e&&(F===3||F===5||F===13||F===14||F===20||F===16||F===21||F===41)){o(T);const V={contactId:e,contactAddressId:T,type:F};switch(n?await n(s(V)):await s(V),o(!1),F){case 3:const P=C.filter(ee=>ee.id!==T);S(P),d(ee=>({...ee??{},emails:P}));break;case 5:const Y=I.filter(ee=>ee.id!==T);O(Y),d(ee=>({...ee??{},phones:Y}));break;case 13:const K=x.filter(ee=>ee.id!==T);w(K),d(ee=>({...ee??{},ims_whatsapp:K}));break;case 21:const te=k.filter(ee=>ee.id!==T);E(te),d(ee=>({...ee??{},ims_rcs:te}));break;case 41:const ie=y.filter(ee=>ee.id!==T);m(ie),d(ee=>({...ee??{},ims_mercadolibre:ie}));break;case 14:const xe=u.filter(ee=>ee.id!==T);h(xe),d(ee=>({...ee??{},ims_facebook:xe}));break;case 20:const Z=g.filter(ee=>ee.id!==T);f(Z),d(ee=>({...ee??{},ims_webchat:Z}));break;case 16:const me=v.filter(ee=>ee.id!==T);j(me),d(ee=>({...ee??{},ims_instagram:me}));break}}};function L(){h(c?.ims_facebook||[]),m(c?.ims_mercadolibre||[]),f(c?.ims_webchat||[]),j(c?.ims_instagram||[]),w(c?.ims_whatsapp||[]),E(c?.ims_rcs||[]),S(c?.emails||[]),O(c?.phones||[])}return l.useEffect(()=>{d(a),a?.emails&&a?.phones&&(S(a.emails),O(a.phones)),w(a?.ims_whatsapp||[]),E(a?.ims_rcs||[]),h(a?.ims_facebook||[]),f(a?.ims_webchat||[]),j(a?.ims_instagram||[]),m(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:x,imsRCS:k,imsMercadolibre:y,imsFacebooks:u,imsWebchats:g,imsInstagrams:v,emails:C,phoneNumbers:I},action:{handleAddressFieldChange:B,handleNoteFieldChange:N,handleDeleteAddress:J,addPhone:U,addEmail:$,addWhatsapp:q,addRCS:z,replaceAddress:H,addWhatsappVerified:_,resetToInitialContactInformation:L},state:{isDeletingAddress:i}}},rn=({initialState:e=[]}={})=>{const[a,n]=l.useState(e);return{attributes:{value:a,onChange:(s,i)=>{const o=i.some(c=>!a.some(d=>c.id===d.id));(a.filter(c=>!i.some(d=>d.id===c.id)).length>0||o)&&n(i)}},actions:{addValue:s=>{n(i=>i.concat(s))},setValue:s=>{n(s)}}}},oo=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=l.useMemo(()=>async ue=>{!n||!s||await Vt({baseUrl:n,spaceId:s,data:ue})},[n,s]),o=async ue=>ue,[c,d]=l.useState([]),u=fe("text",e?.name||""),h=St({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),y=an(e?.owner),m=rn({initialState:e?.tags??[]}),[g,f]=l.useState([]),{field:{imsFacebooks:v,imsMercadolibre:j,imsWebchats:x,imsInstagrams:w,imsWhatsapp:C,emails:S,phoneNumbers:I,imsRCS:O},action:{addPhone:k,addEmail:E,addWhatsapp:U,addRCS:$,addWhatsappVerified:q,replaceAddress:z,handleAddressFieldChange:_,handleNoteFieldChange:H,handleDeleteAddress:B,resetToInitialContactInformation:N},state:{isDeletingAddress:J}}=sn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),L=fe("text",e?.address1?.street||""),T=fe("text",e?.address2?.street||""),F=fe("text",e?.address1?.city||""),V=fe("text",e?.address2?.city||""),P=fe("text",e?.address1?.state||""),Y=fe("text",e?.address2?.state||""),K=fe("text",e?.address1?.zipcode||""),te=fe("text",e?.address2?.zipcode||""),ie=fe("text",e?.address1?.country||""),xe=fe("text",e?.address2?.country||""),Z=(ue,ve,ce)=>ve!==ce&&!(ve===null&&ce==="")?{[ue]:ce}:{},me=()=>{if(!e)return null;const ue={street:L.attributes.value,city:F.attributes.value,state:P.attributes.value,zipcode:K.attributes.value,country:ie.attributes.value},ve={street:T.attributes.value,city:V.attributes.value,state:Y.attributes.value,zipcode:te.attributes.value,country:xe.attributes.value};return{id:e.id,...Z("owner",e.owner,y.attributes.value),...Z("name",e.name,u.attributes.value),imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,tags:m.attributes.value,properties:c,members:g,phoneNumbers:I,emails:S,address1:ue,address2:ve}};function ee(ue){if(!e)return;const ve=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),ce=e.properties.find(R=>R.nameKey===ue)??e.properties.find(R=>ve(R.nameKey)===ve(ue));if(!ce){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ue}`);return}const Be=c.map(R=>R.nameKey===ue?{...R,value:ce.value}:R);d(Be)}const Re=()=>e?a.map(ue=>{const ve=R=>R.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),ce=e.properties.find(R=>R.nameKey===ue.nameKey)??e.properties.find(R=>ve(R.nameKey)===ve(ue.nameKey));if(ce)return{...ce,nameKey:ue.nameKey,type:ce.type??ue.type,value:ce.value};const Be=c.find(R=>R.nameKey===ue.nameKey);return{nameKey:ue.nameKey,type:ue.type,value:Be?Be.value:""}}):[];return l.useEffect(()=>{e&&a&&d(Re())},[e,a]),l.useEffect(()=>{e&&m.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:O,contactImage:h,contactPropietary:y,imsMercadolibre:j,imsFacebooks:v,imsWebchats:x,imsInstagrams:w,emails:S,phoneNumbers:I,homeAddress:L,secondaryHomeAddress:T,city:F,secondaryCity:V,state:P,secondaryState:Y,postalCode:K,secondaryPostalCode:te,country:ie,secondaryCountry:xe,customProperties:c,labelMultipleSelect:m},action:{setCustomProperties:d,addWhatsapp:U,addRCS:$,getEditedBusiness:me,handleAddressFieldChange:_,handleNoteFieldChange:H,handleDeleteAddress:B,addPhone:k,addEmail:E,replaceAddress:z,addWhatsappVerified:q,resetToInitialContactInformation:N,resetCustomProperty:ee},state:{isDeletingAddress:J},selectedContacts:g,setSelectedContacts:f}},io=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=l.useMemo(()=>async R=>{!n||!s||await Vt({baseUrl:n,spaceId:s,data:R})},[n,s]),o=async R=>R,{getEditedField:c}=rt,[d,u]=l.useState([]),h=fe("text",e?.firstName||""),y=fe("text",e?.lastName||""),m=St({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[g,f]=l.useState(e?.birthDate?X(e.birthDate):null),v=sn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:j,imsMercadolibre:x,imsWebchats:w,imsInstagrams:C,imsWhatsapp:S,emails:I,phoneNumbers:O,imsRCS:k},action:{addPhone:E,addEmail:U,addWhatsapp:$,addRCS:q,addWhatsappVerified:z,replaceAddress:_,handleAddressFieldChange:H,handleNoteFieldChange:B,handleDeleteAddress:N,resetToInitialContactInformation:J},state:{isDeletingAddress:L}}=v,T=rn({initialState:e?.tags}),F=an(e?.owner),V=fe("text",e?.address1?.street),P=fe("text",e?.address2?.street),Y=fe("text",e?.address1?.city),K=fe("text",e?.address2?.city),te=fe("text",e?.address1?.state),ie=fe("text",e?.address2?.state),xe=fe("text",e?.address1?.zipcode),Z=fe("text",e?.address2?.zipcode),me=fe("text",e?.address1?.country),ee=fe("text",e?.address2?.country),Re=()=>{if(!e)return null;const R=e,oe=T.attributes.value.map(de=>({id:de.id,name:de.name})),be=O.map(de=>{const{id:Pe,...Ke}=de;return Ke}),ge=I.map(de=>{const{id:Pe,...Ke}=de;return Ke});return{id:R.id,owner:F.attributes.value,firstName:h.attributes.value,lastName:y.attributes.value,address1:{...c("street",R.address1?.street,V.attributes.value),...c("city",R.address1?.street,Y.attributes.value),...c("state",R.address1?.street,te.attributes.value),...c("zipcode",R.address1?.street,xe.attributes.value),...c("country",R.address1?.street,me.attributes.value)},address2:{...c("street",R.address2?.street,P.attributes.value),...c("city",R.address2?.street,K.attributes.value),...c("state",R.address2?.street,ie.attributes.value),...c("zipcode",R.address2?.street,Z.attributes.value),...c("country",R.address2?.street,ee.attributes.value)},emails:ge,phones:be,tags:oe,imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,properties:d,birthDate:g?.toDate()}};function ue(){e&&(!e.businessId||e.businessName)}function ve(){f(e?.birthDate?X(e.birthDate):null)}function ce(R){if(!e)return;const oe=de=>de.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(de=>de.nameKey===R)??e.properties.find(de=>oe(de.nameKey)===oe(R));if(!be){console.error(`No se encontr\xF3 una propiedad con nameKey: ${R}`);return}const ge=d.map(de=>de.nameKey===R?{...de,value:be.value}:de);u(ge)}const Be=()=>e?a.map(R=>{const oe=de=>de.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(de=>de.nameKey===R.nameKey)??e.properties.find(de=>oe(de.nameKey)===oe(R.nameKey));if(be)return{...be,nameKey:R.nameKey,type:be.type??R.type,value:be.value};const ge=d.find(de=>de.nameKey===R.nameKey);return{nameKey:R.nameKey,type:R.type,value:ge?ge.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Be())},[e,a]),l.useEffect(()=>{e?.tags&&T.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:g,imsWhatsapp:S,imsRCS:k,contactFirstname:h,contactLastname:y,contactImage:m,contactPropietary:F,imsMercadolibre:x,imsFacebooks:j,imsWebchats:w,imsInstagrams:C,emails:I,phoneNumbers:O,homeAddress:V,secondaryHomeAddress:P,city:Y,secondaryCity:K,state:te,secondaryState:ie,postalCode:xe,secondaryPostalCode:Z,country:me,secondaryCountry:ee,customProperties:d,labelMultipleSelect:T},action:{setBirthDate:f,setCustomProperties:u,getEditedContact:Re,handleAddressFieldChange:H,handleNoteFieldChange:B,handleDeleteAddress:N,addPhone:E,addEmail:U,addWhatsapp:$,addRCS:q,replaceAddress:_,addWhatsappVerified:z,resetToInitialContactInformation:J,resetSelectedBusiness:ue,resetBirthDate:ve,resetCustomProperty:ce},state:{isDeletingAddress:L}}},fa=l.createContext(null),lo=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=io({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(fa.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},co=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=oo({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(fa.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},uo=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(lo,{contact:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}):t.jsx(co,{business:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}),qe=()=>{const e=l.useContext(fa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},ot=({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(i=>i?.id===e);return s?.name?.trim()||s?.email||null},Gt=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=ye();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(Hn,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:i("global.searchLocation")})]}),t.jsx(r.Divider,{sx:{my:1.5}}),a]})},on=({children:e,...a})=>t.jsx(r.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),po=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(xt.LocalizationProvider,{dateAdapter:ft.AdapterDayjs,children:t.jsx(bt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx($a.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},ho={view:"main",setView:()=>{}},ln=l.createContext(null),mo=ln.Provider,go=()=>l.useContext(ln)||(console.warn("[useEditContactView] using noop, context value is missing"),ho),cn=()=>{},dn=l.createContext(cn),yo=({navigate:e,children:a})=>t.jsx(dn.Provider,{value:e,children:a}),fo=()=>l.useContext(dn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),cn);function xo({value:e,displayValue:a,businessId:n}){const s=Ge(),i=fo(),[o,c]=l.useState(null),d=St({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,h]=l.useState(null),[y,m]=l.useState(!1);return t.jsxs(r.Box,{display:"flex",alignItems:"center",children:[t.jsx(r.Typography,{onClick:async g=>{const f=g.currentTarget;if(m(!0),!s){console.error("API is null");return}const v=await s.fetchBusiness({businessId:n});if(v&&ga(v)&&c(v),m(!1),!f){console.error("Target element is null");return}h(f)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:g=>g.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(Va,{contactData:o,open:!!u,anchorEl:u,onClose:()=>h(null),navigate:i,avatarImgUrl:d.imageUrl}),y&&t.jsx(r.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(r.CircularProgress,{size:20})})]})}const bo=e=>"email"in e,xa=e=>e.entityType==="contact"&&e.inputType==="birthday",vo=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),un=r.styled(r.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),He=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:o,spaceId:c,minWidth:d,onEntityUpdated:u}=e,h=ye(),{setView:y}=go(),m=e.inputType??"text",[g,f]=l.useState(!1),[v,j]=l.useState(!1),x=l.useRef(null),[w,C]=l.useState(!1),[S,I]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const B=x.current;if(!B)return;const N=()=>{const J=B.scrollWidth>B.clientWidth;C(L=>L===J?L:J)};if(N(),typeof ResizeObserver<"u"){let J=0;const L=new ResizeObserver(()=>{if(typeof window>"u"){N();return}J&&window.cancelAnimationFrame(J),J=window.requestAnimationFrame(()=>{N()})});return L.observe(B),()=>{typeof window<"u"&&J&&window.cancelAnimationFrame(J),L.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}},[a]),l.useEffect(()=>{e.entityType==="business"?I(n):I(typeof n=="string"?n:void 0)},[n,e.entityType]);const O=()=>{if(e.entityType==="contact"&&m==="selectBusiness"){y("businessSelect");return}f(B=>!B)},k=B=>{I(B.target.value)},E=B=>{const N=B.target.value;I(N)},U=()=>{xa(e)&&e.contact.action.resetBirthDate(),f(!1)},$=async()=>{if(!e.constructUpdateObject){f(!1);return}if(e.entityType==="business"&&S===void 0){f(!1);return}j(!0);try{if(!o||!c)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let B=S===void 0?null:S;if(xa(e)){const T=X(e.contact.field.birthDate);T.isValid()&&(B=T.toISOString())}const N=e.constructUpdateObject(B),J=e.entityId??N?.id;if(!J)throw new Error("Missing contactId for updateEntity");const L=await Oe({baseUrl:o,spaceId:c,entityType:"contact",entityId:J,body:N});u?.(L)}else{const B=e.constructUpdateObject(S),N=e.entityId??B?.id;if(!N)throw new Error("Missing businessId for updateEntity");const J=await Oe({baseUrl:o,spaceId:c,entityType:"business",entityId:N,body:B});u?.(J)}}finally{j(!1),f(!1)}},q=typeof S=="string"?S:"",z=S instanceof Date?S.toISOString():typeof S=="string"?S:"",_=d??(e.entityType==="contact"?"45%":"200px"),H=e.options??[];return t.jsxs(r.Box,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:B=>B.palette.mode==="dark"?"1e1e1e":B.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:[w?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:g?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(r.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:g?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:g?t.jsxs(t.Fragment,{children:[t.jsx(un,{size:"small",onClick:$,children:v?t.jsx(r.CircularProgress,{size:24}):t.jsx(et,{})}),t.jsx(un,{size:"small",onClick:U,children:t.jsx(Ba,{})})]}):t.jsx(vo,{className:"edit-icon",size:"small",onClick:O,children:t.jsx(yt,{})})]}),t.jsx(r.Box,{width:g?"100%":"50%",position:"relative",children:g&&m==="text"?t.jsx(r.TextField,{value:z,onChange:k,variant:"standard",size:"small",sx:{width:"100%"}}):g&&(m==="select"||m==="selectMembers")?t.jsxs(r.Select,{value:q,onChange:E,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:h("conversations.contactDetails.contactInfo.emptySelection")}):null,H.map((B,N)=>t.jsx(r.MenuItem,{value:B.id,children:e.entityType==="contact"?B.name?.trim()||(bo(B)?B.email:"")||"Sin nombre":B.name?.trim()||B.email||"Sin nombre"},N))]}):g&&xa(e)?t.jsx(po,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!g&&e.entityType==="contact"&&m==="selectBusiness"&&e.businessId?t.jsx(xo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(r.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:B=>B.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},wt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:o,constructUpdateObject:c,businessId:d,baseUrl:u,spaceId:h,contactId:y,onEntityUpdated:m}=e;if(e.inputType==="birthday")return t.jsx(He,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:o,constructUpdateObject:c,contact:e.contact,businessId:d,baseUrl:u,spaceId:h,dateFormat:e.dateFormat,onEntityUpdated:m});const g=e.inputType??"text";return t.jsx(He,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:s,inputType:g,options:i,displayValue:o,constructUpdateObject:c,businessId:d,baseUrl:u,spaceId:h,onEntityUpdated:m})},Co=({nameKey:e,value:a,onChange:n,type:s})=>{const i=u=>{s===ne.ContactField_type.NUMBER_ACCOUNTING||s===ne.ContactField_type.NUMBER_DECIMAL||s===ne.ContactField_type.NUMBER_CURRENCY||s===ne.ContactField_type.CURRENCY?c(u):s===ne.ContactField_type.NUMBER_INTEGER?d(u):(s===ne.ContactField_type.LONGTEXT||s===ne.ContactField_type.TEXT||s===ne.ContactField_type.ADDRESS)&&o(u)},o=u=>{n(e,u.target.value)},c=u=>{const h=u.target.value.replace(/[^0-9.]/g,"");n(e,h)},d=u=>{const h=u.target.value;/^\d*$/.test(h)&&n(e,h)};return t.jsx(r.TextField,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:s===ne.ContactField_type.LONGTEXT,rows:s===ne.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},jo=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(xt.LocalizationProvider,{dateAdapter:ft.AdapterDayjs,children:t.jsx(bt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx($a.DatePicker,{value:e?X(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},So=({handleChange:e,value:a,options:n})=>{const s=ye();return t.jsx(r.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(r.Select,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(r.MenuItem,{value:"",children:s("global.noValue")}),n.map((i,o)=>t.jsx(r.MenuItem,{value:i,children:i},o))]})})},wo=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(xt.LocalizationProvider,{dateAdapter:ft.AdapterDayjs,children:t.jsx(bt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Kn.TimePicker,{value:e?X(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Io=({value:e,handleChange:a,userTimeFormat:n})=>{const s=ye(),i=[X().set("hour",0).set("minute",0),X().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(xt.LocalizationProvider,{dateAdapter:ft.AdapterDayjs,children:t.jsx(bt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ze.MultiInputTimeRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:c=>a(c),format:o})})})},To=({value:e,handleChange:a,userDateFormat:n})=>{const s=ye(),i=[X(),X()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(xt.LocalizationProvider,{dateAdapter:ft.AdapterDayjs,children:t.jsx(bt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ze.MultiInputDateRangeField,{slotProps:{textField:({position:c})=>({label:s(c==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:c=>a(c),format:o})})})},Eo=r.styled(r.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),pn=r.styled(r.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Do=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),hn=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})),ko=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"})),mn=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:o,baseUrl:c,spaceId:d,onEntityUpdated:u})=>{const{customProperties:h}=a.field,{setCustomProperties:y}=a.action,[m,g]=l.useState(!1),[f,v]=l.useState(!1),j=l.useRef(null),[x,w]=l.useState(!1),C=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),S=o?.regCon_timeFormat||"24",I=L=>L===ne.ContactField_type.NUMBER_INTEGER||L===ne.ContactField_type.NUMBER_DECIMAL||L===ne.ContactField_type.NUMBER_CURRENCY||L===ne.ContactField_type.NUMBER_ACCOUNTING||L===ne.ContactField_type.CURRENCY,O=(L,T)=>L.toLowerCase()==="dni"?!0:I(T),k=(L,T,F)=>{if(F===""||F===null||F===void 0)return null;if(O(L,T)){const V=Number(F);return Number.isNaN(V)?F:V}return F},E=()=>g(L=>!L),U=()=>{g(!1),a.action.resetCustomProperty(e.nameKey)},$=async()=>{if(!c||!d||!s)return;v(!0);const L=h.find(K=>K.nameKey===e.nameKey)||e,{nameKey:T,value:F}=L,V=i.find(K=>K.nameKey===T)?.type??L.type;let P;if(V===ne.ContactField_type.TIME){const K=X(F);K.isValid()?P=K.format(S==="24"?"HH:mm":"hh:mm"):P=F}else if(V===ne.ContactField_type.DATE){const K=X(F);K.isValid()?P=K.toISOString():P=F}else P=k(T,V,F);const Y={properties:[{nameKey:T,type:V,value:P}]};try{const K=await Oe({baseUrl:c,spaceId:d,entityType:n,entityId:s,body:Y}),te=h.map(ie=>ie.nameKey===T?{...ie,type:V,value:P}:ie);y(te),u?.(K)}finally{v(!1),g(!1)}},q=L=>i.find(T=>T.nameKey===L)?.name||L;l.useEffect(()=>{const L=j.current;if(!L)return;const T=()=>{const F=L.scrollWidth>L.clientWidth;w(V=>V===F?V:F)};if(T(),typeof ResizeObserver<"u"){let F=0;const V=new ResizeObserver(()=>{if(typeof window>"u"){T();return}F&&window.cancelAnimationFrame(F),F=window.requestAnimationFrame(()=>{T()})});return V.observe(L),()=>{typeof window<"u"&&F&&window.cancelAnimationFrame(F),V.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}},[i,e.nameKey]);const z=(L,T)=>{const F=e.type===ne.ContactField_type.DATERANGE?Array.isArray(T)&&T[0]&&T[1]?`${X(T[0]).toISOString()} - ${X(T[1]).toISOString()}`:"":e.type===ne.ContactField_type.DATE?X(T).isValid()?X(T).toISOString():"Invalid Date":e.type===ne.ContactField_type.TIME?X(T).isValid()?X(T).toISOString():"Invalid Time":T,V=h.map(P=>P.nameKey===L?{...P,value:F}:P);y(V)},{type:_,nameKey:H,value:B}=e,N=L=>L==null?!1:typeof L=="string"?L.trim().length>0:!0,J=()=>_===ne.ContactField_type.DATE?t.jsx(jo,{value:B?X(B):null,handleChange:L=>z(H,L?.toDate()),dateFormat:C}):_===ne.ContactField_type.TIME?t.jsx(wo,{value:e?.valueDate?X(e.valueDate):B?X(B):null,handleChange:L=>z(H,L),userTimeFormat:S}):_===ne.ContactField_type.DATERANGE?t.jsx(To,{value:B&&typeof B=="string"&&B.includes(" - ")?[X(B.split(" - ")[0]),X(B.split(" - ")[1])]:null,handleChange:L=>z(H,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userDateFormat:C}):_===ne.ContactField_type.TIMERANGE?t.jsx(Io,{value:Array.isArray(B)&&B.length===2?[X(B[0]),X(B[1])]:null,handleChange:L=>z(H,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userTimeFormat:S}):_===ne.ContactField_type.OPTIONS?t.jsx(So,{value:typeof B=="string"?B:"",handleChange:L=>z(H,L),options:i.find(L=>L.nameKey===H)?.typeOptions??[]}):t.jsx(Co,{type:_,nameKey:H,value:B,onChange:z});return t.jsxs(Do,{className:`fadein ${e.type===ne.ContactField_type.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(r.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[x?t.jsx(r.Tooltip,{title:q(e.nameKey),arrow:!0,children:t.jsx(hn,{ref:j,flexGrow:1,noWrap:!0,children:q(e.nameKey)})}):t.jsx(hn,{ref:j,flexGrow:1,noWrap:!0,children:q(e.nameKey)}),m?t.jsxs(t.Fragment,{children:[t.jsx(pn,{size:"small",onClick:$,children:f?t.jsx(r.CircularProgress,{size:24}):t.jsx(et,{})}),t.jsx(pn,{size:"small",onClick:U,children:t.jsx(Ba,{})})]}):t.jsx(Eo,{className:"edit-icon",size:"small",onClick:E,children:t.jsx(yt,{})})]}),t.jsx(r.Box,{width:m||e.type===ne.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:m?J():t.jsx(ko,{children:N(e?.value)?e.type===ne.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const L=e.value.split(" - ");if(L.length===2){const[T,F]=L,V=X(T),P=X(F);return`${V.isValid()?V.format(C):"-"} - ${P.isValid()?P.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${X(e.value[0]).format(C)} - ${X(e.value[1]).format(C)}`;return`${e.value}`})():e.type===ne.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${X(e.value[0]).format(S==="24"?"HH:mm":"hh:mm")} - ${X(e.value[1]).format(S==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ne.ContactField_type.TIME?(()=>{try{const L=e.valueDate||e.value;return`${X(L).format(S==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ne.ContactField_type.DATE?(()=>{try{return`${X(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Ao=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:c,onEntityUpdated:d}=e,u=ye(),{entityType:h,editEntity:y}=qe(),m=Ge();if(h!=="contact")return null;const[g,f]=l.useState([]),[v,j]=l.useState(null),[x,w]=l.useState(null),[C,S]=l.useState(null),I=y;l.useEffect(()=>{if(!m)return;const $=new AbortController;return m.fetchUsers({signal:$.signal}).then(q=>{$.signal.aborted||f(q??[])}).catch(()=>{$.signal.aborted||f([])}),()=>{$.abort()}},[m]),l.useEffect(()=>{const $=new AbortController,q=async z=>{if(!z||!m)return null;try{const _=await m.fetchUserTriiById({userId:z,signal:$.signal});return _?.display_name||_?.email||null}catch{return null}};return(async()=>{const z=ot({userId:n.owner,users:g,currentUser:c})??(n.owner?await q(n.owner):null),_=ot({userId:n.createdBy??void 0,users:g,currentUser:c})??(n.createdBy?await q(n.createdBy):null),H=ot({userId:n.updatedBy??void 0,users:g,currentUser:c})??(n.updatedBy?await q(n.updatedBy):null);$.signal.aborted||(j(z),S(_),w(H))})(),()=>{$.abort()}},[m,n,g,c]);const O=(a||"YYYY/MM/DD").toUpperCase(),k=I.field.birthDate,E=k?.isValid()?k.format(O):null,U=$=>{const q=new Date;let z=q.getFullYear()-$.getFullYear();const _=q.getMonth()-$.getMonth();return(_<0||_===0&&q.getDate()<$.getDate())&&z--,z};return t.jsx(Gt,{title:"General",children:t.jsxs(on,{children:[t.jsx(wt,{title:u("conversations.contactDetails.contactOwner"),displayValue:v||"-",value:n.owner,inputType:"select",options:g,constructUpdateObject:$=>({owner:typeof $=="string"?$:""}),contact:I,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:d}),t.jsx(wt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:I,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:d}),t.jsx(wt,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(wt,{title:u("conversations.contactDetails.modifiedBy"),value:x||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(wt,{title:u("global.birthdate"),inputType:"birthday",displayValue:k?`${E} (${U(k.toDate())})`:"-",value:k?k.toISOString():"",constructUpdateObject:$=>({birthDate:$}),contact:I,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:d}),I.field.customProperties.map($=>t.jsx(mn,{property:$,entity:I,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:i,spaceId:o,onEntityUpdated:d},$.nameKey))]})})},ba=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:o,constructUpdateObject:c,baseUrl:d,spaceId:u,businessId:h,onEntityUpdated:y})=>t.jsx(He,{entityType:"business",entityId:h,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:o,constructUpdateObject:c,baseUrl:d,spaceId:u,onEntityUpdated:y}),Fo=e=>{const a=ye(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:c,onEntityUpdated:d}=e,{entityType:u,editEntity:h}=qe(),y=Ge();if(u!=="business")return null;const[m,g]=l.useState([]),[f,v]=l.useState(null),[j,x]=l.useState(null),[w,C]=l.useState(null),S=h;return l.useEffect(()=>{if(!y)return;const I=new AbortController;return y.fetchUsers({signal:I.signal}).then(O=>{I.signal.aborted||g(O??[])}).catch(()=>{I.signal.aborted||g([])}),()=>{I.abort()}},[y]),l.useEffect(()=>{const I=new AbortController,O=async k=>{if(!k||!y)return null;try{const E=await y.fetchUserTriiById({userId:k,signal:I.signal});return E?.display_name||E?.email||null}catch{return null}};return(async()=>{const k=ot({userId:n.owner,users:m,currentUser:c})??(n.owner?await O(n.owner):null),E=ot({userId:n.createdBy??void 0,users:m,currentUser:c})??(n.createdBy?await O(n.createdBy):null),U=ot({userId:n.updatedBy??void 0,users:m,currentUser:c})??(n.updatedBy?await O(n.updatedBy):null);I.signal.aborted||(v(k),C(E),x(U))})(),()=>{I.abort()}},[y,n,m,c]),t.jsx(Gt,{title:"General",children:t.jsxs(on,{children:[t.jsx(ba,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:f||"-",inputType:"select",options:m,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:d}),t.jsx(ba,{title:a("conversations.contactDetails.createdBy"),value:w||"-",isNotEditable:!0}),t.jsx(ba,{title:a("conversations.contactDetails.modifiedBy"),value:j||"-",isNotEditable:!0}),S.field.customProperties.map(I=>t.jsx(mn,{property:I,entity:S,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:i,spaceId:o,onEntityUpdated:d},I.nameKey))]})})},$o=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Ao,{...e,entityData:n,entityType:"contact"}):t.jsx(Fo,{...e,entityData:n,entityType:"business"})},Bo=()=>{const[e,a]=l.useState(!1),[n,s]=l.useState("");return{isOpen:e,title:n,openModal:i=>{s(i),a(!0)},closeModal:()=>{a(!1),s("")}}},Po=we.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"})),Uo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Mo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ro=we.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),No=we.styled(r.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),va=we.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Lo=we.styled(va)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),zo=we.styled(va)(({})=>({fontSize:14,fontWeight:500})),Oo=we.styled(va)(({})=>({fontSize:14,fontWeight:500})),Wo=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=St({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Po,{children:[t.jsx(Uo,{children:t.jsxs(Ro,{children:[t.jsx(r.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(zo,{children:e.address})}),t.jsx(r.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Oo,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Lo,{children:e.note})})]})}),t.jsxs(Mo,{children:[a!==""&&t.jsx(No,{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(Te.Star,{sx:{color:"#fcac34"}}):t.jsx(Te.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},Ca=Pa.PhoneNumberUtil.getInstance(),_o=e=>{if(!e||!e.trim())return e;try{const a=Ca.parse(e,void 0);return Ca.isValidNumber(a)?Ca.format(a,Pa.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Vo=we.styled(r.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),qo=we.styled(Jn)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Yo=we.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"})),Go=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Ho=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ko=we.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),gn=we.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Jo=we.styled(gn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Xo=we.styled(gn)(({})=>({fontSize:14,fontWeight:500})),Qo=({item:e})=>{const a=()=>{const s=e.address;if(!s)return;const i=new CustomEvent("call-contact-header",{detail:{phoneAddress:s}});window.dispatchEvent(i)},n=l.useMemo(()=>_o(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Yo,{children:[t.jsxs(Go,{children:[t.jsx(Vo,{onClick:a,color:"primary",size:"small",children:t.jsx(qo,{})}),t.jsxs(Ko,{children:[t.jsx(r.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Xo,{children:n})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Jo,{children:e.note})})]})]}),t.jsx(Ho,{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(Te.Star,{sx:{color:"#fcac34"}}):t.jsx(Te.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Zo=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}})),ei=r.styled(r.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),ti=r.styled(r.Box)(({})=>({display:"flex",alignItems:"center"})),ai=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),ni=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),si=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(Zo,{children:[t.jsxs(ti,{children:[t.jsx(ei,{children:e}),t.jsx(ni,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(yt,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(ai,{children:a.map((o,c)=>n?t.jsx(Qo,{item:o},c):t.jsx(Wo,{item:o,owner:i},c))})]}),ri=({title:e})=>t.jsx(r.Box,{children:t.jsx(r.Typography,{variant:"subtitle2",children:e})}),oi={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},Ht=({title:e,handleAdd:a})=>{const n=ye();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(r.Box,{sx:oi.container,children:[t.jsx(r.Typography,{variant:"subtitle2",children:e}),t.jsx(r.Button,{onClick:a,size:"small",startIcon:t.jsx(Ua,{}),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}},It=({children:e})=>t.jsx(r.Box,{sx:ii.container,children:e}),yn={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},li=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const o=ye(),[c,d]=l.useState(null),u=!!c,{channelType:h,address:y}=a,[m,g]=l.useState(!1),[f,v]=l.useState(null),[j,x]=l.useState(!1),w=U=>{d(U.currentTarget)},C=()=>{d(null)},S=()=>{x(!1)},I=()=>{e(),C()},O=async()=>{g(!0);try{if(!i)return;const U=await i(13);if(!U)return;v(U),x(!0)}catch(U){console.error("Error verifying WhatsApp account:",U)}finally{g(!1)}C()},k=async()=>{g(!0);try{if(!i)return;const U=await i(21);if(!U)return;v(U),x(!0)}catch(U){console.error("Error verifying RCS account:",U)}finally{g(!1)}C()},E=async()=>{await n(),x(!1)};return t.jsxs(r.Box,{children:[t.jsx(r.IconButton,{"aria-controls":u?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:w,children:t.jsx(Xn,{})}),t.jsxs(r.Menu,{id:"basic-menu",anchorEl:c,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(r.MenuItem,{onClick:I,children:[t.jsx(r.ListItemIcon,{children:t.jsx(Wt,{color:"error"})}),t.jsx(r.ListItemText,{children:o("global.delete")})]}),h===5&&t.jsxs(r.MenuItem,{onClick:O,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:m?t.jsx(r.CircularProgress,{size:24}):t.jsx(Qn,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),h===21&&t.jsxs(r.MenuItem,{onClick:k,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:m?t.jsx(r.CircularProgress,{size:24}):t.jsx(Zn,{})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:j,onClose:S,"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:[o("optionsMenu.wspAccountFound")," ",y]}),t.jsx(r.Typography,{id:"modal-modal-description",sx:{mt:2},children:o("optionsMenu.wantToLinkContact")}),t.jsxs(r.Box,{sx:{marginTop:"10px"},children:[t.jsx(r.Button,{onClick:E,color:"primary",children:o("optionsMenu.yesLink")}),t.jsx(r.Button,{onClick:S,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:[o("optionsMenu.noWspAccountFound")," ",y]}),t.jsx(r.Button,{onClick:S,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},Tt=e=>{const a=ye(),n=Ge(),{editEntity:s,entityId:i}=qe(),[o,c]=l.useState(!1),d=e.checked??!0,u=e.entityId??i,{note:h,channelType:y,id:m,address:g}=e.addressData,f=!e.addressData.hasOwnProperty("isSaved"),v=e.replaceAddress??s.action.replaceAddress,j=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),x=async I=>{if(!n||!u)return null;const O=await n.setContactAddress({data:{address:g,contactId:u,type:I}});return v(m,O),O},w=async()=>{if(!n||!u)return;const I=await n.updateContactAddress({data:{contactAddressId:m,contactId:u,note:h??""}});v(m,I)},C=async()=>{c(!0),f?(await w(),c(!1)):await x(y)&&c(!1)},S=async()=>{c(!0);const I=await x(13);I&&j&&j(I),I&&c(!1)};return t.jsxs(r.Box,{sx:{...yn.container},children:[f&&t.jsx(r.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:I=>e.handleNoteFieldChange(I,m,y),value:h,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:yn.noteTextField}),t.jsx(r.IconButton,{onClick:C,children:o?t.jsx(r.CircularProgress,{size:24}):t.jsx(et,{color:"primary"})}),t.jsx(li,{onDelete:()=>e.handleDeleteAddress(m,y),addressData:e.addressData,handleLinkAccountSave:S,checked:d&&!o,onCheckContactAddress:async I=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:g,type:I}})}catch{return null}}})]})},ci={container:{display:"flex",gap:"100px",alignItems:"center"}},Et=({children:e})=>t.jsx(r.Box,{sx:ci.container,children:e}),di={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Dt=({children:e})=>t.jsx(r.Box,{sx:{...di.container},children:e}),ui=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(as,{size:20});case"available":return t.jsx(es,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(ts,{style:{height:27,width:27},color:"error"});default:return null}},fn=({status:e,text:a})=>t.jsxs(ns,{position:"end",children:[a?t.jsx(ss,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(ui,{status:e})})]}),pi={code:{width:"60%",color:"gray"}},hi=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(It,{children:t.jsxs(Et,{children:[t.jsx(r.Typography,{sx:pi.code,variant:"body2",children:e.address}),t.jsx(Tt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},mi=({IMSs:e,editEntity:a})=>t.jsx(Dt,{children:e?.map(n=>t.jsx(hi,{data:n,editEntity:a},n.id))}),Kt=({editEntity:e,title:a,IMSs:n})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ri,{title:a}),t.jsx(mi,{IMSs:n,editEntity:e})]}),gi={addressField:{}},ja=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:o}=e,c=ye(),d=Ge(),[u,h]=l.useState("idle"),[y,m]=l.useState(o),g=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let f=setTimeout(async()=>{if(o!==""&&o!==y){if(!d)return;h("loading"),m(o);const v={address:o,type:i};try{const j=await d.checkContactAddress({data:v}),{success:x,warnings:w}=j;n(w),h(x?"available":"unavailable")}catch{n([]),h("unavailable")}}},1700);return()=>clearTimeout(f)},[d,e,o,i,y,n]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:g,sx:gi.addressField,size:"small",label:i===st.ChannelType.WHATSAPP||i===st.ChannelType.RCS?c?c("global.number"):"Number":c?c("global.email"):"Email",value:o,onChange:f=>{a(f,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(fn,{status:u})})}})})},yi={addressField:{}},fi=({data:e,onChange:a,setWarnings:n})=>{const s=Ge(),i=ye(),{id:o,channelType:c,address:d}=e,[u,h]=l.useState("idle"),[y,m]=l.useState(d),g=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let f=setTimeout(async()=>{if(d!==""&&d!==y){if(!s)return;h("loading"),m(d);const v={address:d,type:c};try{const{success:j,warnings:x}=await s.checkContactAddress({data:v});n(x),h(j?"available":"unavailable")}catch{n([]),h("unavailable")}}},1700);return()=>clearTimeout(f)},[e]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:g,sx:yi.addressField,size:"small",label:i("global.number"),value:d,onChange:f=>{a(f,o,c)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(fn,{status:u})})}})})},Sa={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},xi=({text:e})=>t.jsx(r.Grid,{item:!0,children:t.jsx(r.Box,{sx:Sa.secondaryContainer,children:t.jsx(os,{icon:t.jsx(rs,{sx:Sa.icon}),sx:Sa.chip,label:e,color:"error",variant:"outlined"})})}),Jt=({warnings:e})=>{const a=ye();return t.jsx(r.Box,{children:t.jsx(r.Grid,{container:!0,children:e?.map((n,s)=>t.jsx(xi,{text:a(`contactAddressError.${n}`)},s))})})},bi={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},vi=({data:e})=>{const a="edit",{editEntity:n}=qe(),s=n.action,i=n.state,[o,c]=l.useState([]),[d,u]=l.useState(!0);return l.useEffect(()=>{u(o.length===0&&(e.address??"")!=="")},[o,e.address]),t.jsx(It,{children:t.jsxs(Et,{children:[t.jsxs(r.Box,{sx:{...bi.numberCountryContainer,flexDirection:"column"},children:[t.jsx(fi,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange}),o.length>0&&t.jsx(Jt,{warnings:o})]}),t.jsx(Tt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:d})]})})},Ci=({phoneNumbers:e})=>t.jsx(Dt,{variant:"large",children:e?.map(a=>t.jsx(vi,{data:a},a.id))}),ji=({phoneNumbers:e,handleAdd:a})=>{const n=ye();return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(Ht,{handleAdd:a,title:n("global.phones")}),t.jsx(Ci,{phoneNumbers:e})]})},xn={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}=qe(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(It,{children:[t.jsxs(Et,{children:[t.jsx(r.Box,{sx:xn.numberCountryContainer,children:t.jsx(r.Box,{sx:xn.adressInputBox,children:t.jsx(ja,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Tt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(Jt,{warnings:o})]})},wi=({emails:e})=>t.jsx(Dt,{variant:"large",children:e?.map(a=>t.jsx(Si,{data:a},a.id))}),Ii=({emails:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(Ht,{handleAdd:a,title:"Emails"}),t.jsx(wi,{emails:e})]}),bn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ti=({data:e})=>{const a="edit",{editEntity:n}=qe(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(It,{children:[t.jsxs(Et,{children:[t.jsx(r.Box,{sx:bn.numberCountryContainer,children:t.jsx(r.Box,{sx:bn.adressInputBox,children:t.jsx(ja,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Tt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(Jt,{warnings:o})]})},Ei=({whatsapps:e})=>t.jsx(Dt,{variant:"large",children:e?.map(a=>t.jsx(Ti,{data:a},a.id))}),Di=({whatsapps:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(Ht,{handleAdd:a,title:"WhatsApp"}),t.jsx(Ei,{whatsapps:e})]}),vn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},ki=({data:e})=>{const a="edit",{editEntity:n}=qe(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(It,{children:[t.jsxs(Et,{children:[t.jsx(r.Box,{sx:vn.numberCountryContainer,children:t.jsx(r.Box,{sx:vn.adressInputBox,children:t.jsx(ja,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Tt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(Jt,{warnings:o})]})},Ai=({RCSs:e})=>t.jsx(Dt,{variant:"large",children:e?.map(a=>t.jsx(ki,{data:a},a.id))}),Fi=({RCSs:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(Ht,{handleAdd:a,title:"RCS"}),t.jsx(Ai,{RCSs:e})]}),$i=we.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})),Bi=({open:e,onClose:a,title:n})=>{const s=ye(),{editEntity:i}=qe(),{emails:o,phoneNumbers:c,imsWhatsapp:d,imsRCS:u}=i.field,{addEmail:h,addPhone:y,addWhatsapp:m,resetToInitialContactInformation:g,addRCS:f}=i.action;function v(){a(),g()}return t.jsx(r.Modal,{open:e,onClose:a,children:t.jsxs($i,{children:[(()=>{switch(n){case"Phones":return t.jsx(ji,{handleAdd:y,phoneNumbers:c});case"Emails":return t.jsx(Ii,{handleAdd:h,emails:o});case"Whatsapp":return t.jsx(Di,{handleAdd:m,whatsapps:d});case"RCS":return t.jsx(Fi,{handleAdd:f,RCSs:u});case"Facebook":return t.jsx(Kt,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(Kt,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(Kt,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(Kt,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});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:v,children:s("global.close")})})]})})},Pi=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=Bo(),{editEntity:o}=qe(),c=ye(),d=o.field.phoneNumbers,u=o.field.emails,h=o.field.imsFacebooks,y=o.field.imsWhatsapp,m=o.field.imsMercadolibre,g=o.field.imsWebchats,f=o.field.imsInstagrams,v=o.field.imsRCS,j=[{key:"phones",title:c("conversations.contactDetails.phones"),items:d,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:u,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:h,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:y,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:v,modalTitle:"RCS",visible:v.length>0},{key:"mercado-libre",title:"Mercado libre",items:m,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:g,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:f,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(Gt,{title:c("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:j.filter(x=>x.visible).map(x=>t.jsx(si,{handleEdit:()=>s(x.modalTitle),title:x.title,methodItems:x.items,isPhone:x.isPhone,owner:e},x.key))})}),t.jsx(Bi,{open:a,onClose:i,title:n})]})},Ui=({entityType:e,entityData:a,baseUrl:n,spaceId:s,onEntityUpdated:i,onDirectionSearchClick:o})=>{const c={baseUrl:n,spaceId:s,entityId:String(a.id),onEntityUpdated:i},d=ye(),u=({addressNumber:h,title:y})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(r.Typography,{variant:"body2",children:y}),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(He,{entityType:e,title:d("conversations.contactDetails.street"),value:a[h]?.street??"",...c,constructUpdateObject:m=>({[h]:{street:m}}),minWidth:"100%"})}),t.jsx(He,{entityType:e,title:d("conversations.contactDetails.city"),value:a[h]?.city??"",...c,constructUpdateObject:m=>({[h]:{city:m}}),minWidth:"100%"}),t.jsx(He,{entityType:e,title:d("conversations.contactDetails.state"),value:a[h]?.state??"",...c,constructUpdateObject:m=>({[h]:{state:m}}),minWidth:"100%"}),t.jsx(He,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[h]?.zipcode??"",...c,constructUpdateObject:m=>({[h]:{zipcode:m}}),minWidth:"100%"}),t.jsx(He,{entityType:e,title:d("conversations.contactDetails.country"),value:a[h]?.country??"",...c,constructUpdateObject:m=>({[h]:{country:m}}),minWidth:"100%"})]})]});return t.jsx(Gt,{title:d("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:o,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(u,{addressNumber:"address1",title:d("conversations.contactDetails.primaryAddress")}),t.jsx(u,{addressNumber:"address2",title:d("conversations.contactDetails.secondaryAddress")})]})})},Mi=({entity:e,setEntity:a})=>l.useCallback(n=>{if(!n||typeof n!="object")return;const s=n;if("id"in s){a(n);return}if(!e)return;const i={...e,...s};a(i)},[e,a]),Ri=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:o,selectedTags:c,onTagsUpdated:d})=>{const[u,h]=l.useState("main"),[y,m]=l.useState([]),[g,f]=l.useState(!1),[v,j]=l.useState(!1),[x,w]=l.useState([]),[C,S]=l.useState(!1),I=l.useMemo(()=>{const U=o??[],$=x??[],q=new Map;for(const z of U)z?.id&&q.set(String(z.id),z);for(const z of $)z?.id&&q.set(String(z.id),z);return Array.from(q.values())},[o,x]),O=l.useCallback(()=>{h("main"),m([]),f(!1),j(!1),w([]),S(!1)},[]);l.useEffect(()=>{e||O()},[e,O]),l.useEffect(()=>{if(u!=="tags"){f(!1);return}if(g||!I.length)return;const U=new Set(c.map(q=>String(q.id))),$=I.filter(q=>U.has(String(q?.id)));m($),f(!0)},[u,g,I,c]);const k=l.useCallback(async U=>{if(C||!a||!n)return;const $=String(U??"").trim();if(!$)return;const q=$.toLowerCase(),z=I.find(_=>String(_?.name??"").trim().toLowerCase()===q);if(z?.id){m(_=>{const H=_??[];return H.some(B=>String(B?.id)===String(z.id))?H:[...H,z]});return}S(!0);try{const _=await Ja({baseUrl:a,spaceId:n,name:$});w(H=>{const B=H??[];return!_?.id||B.some(N=>String(N?.id)===String(_.id))?B:[...B,_]}),m(H=>{const B=H??[];return!_?.id||B.some(N=>String(N?.id)===String(_.id))?B:[...B,_]})}finally{S(!1)}},[C,a,n,I]),E=l.useCallback(async()=>{if(v||!a||!n||!s||i!=="contact"&&i!=="business")return;const U=y.filter($=>$?.id&&$?.name).map($=>({id:String($.id),name:String($.name)}));j(!0);try{await Oe({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:U}}),d(U),h("main")}finally{j(!1)}},[v,a,n,s,i,y,d]);return{view:u,setView:h,draftLabels:y,setDraftLabels:m,labelsOptions:I,isSaving:v,isCreatingLabel:C,handleCreateLabel:k,handleSaveTags:E}},Ni=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Li={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},zi=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:o,currentUser:c})=>{const d=ye(),u=Ge(),h=l.useRef(null),y=l.useRef(null),[m,g]=l.useState(()=>s?.businessName??""),[f,v]=l.useState(!1),[j,x]=l.useState(!1),[w,C]=l.useState(!1),[S,I]=l.useState([]),[O,k]=l.useState(s??null),[E,U]=l.useState(1),[$,q]=l.useState(!1),[z,_]=l.useState(!1),H=l.useMemo(()=>{const K=c?.display_name,te=c?.email;return String(K||te||"").trim()},[c]);l.useEffect(()=>()=>{h.current&&(clearTimeout(h.current),h.current=null),y.current?.abort()},[]),l.useEffect(()=>{k(s??null),g(s?.businessName??"")},[s]);const B=()=>{y.current?.abort(),y.current=null,h.current&&(clearTimeout(h.current),h.current=null),v(!1),_(!1),U(1),q(!1),I([])},N=K=>K.filter(te=>!!te?.id).map(te=>({businessId:String(te.id),businessName:String(te.name??"")})),J=async({query:K,page:te})=>{if(!u)return;y.current?.abort();const ie=new AbortController;y.current=ie,x(!0);try{const xe={...Li,currentPage:te,filter:[{value:K,column:"name",condition:""}]},Z=await u.fetchBusinessTableData({pagination:xe,signal:ie.signal});if(ie.signal.aborted)return;const me=N(Z?.contactos??[]);v(!0);const ee=Z?.paginacion?.total??0;I(Re=>{const ue=te===1?me:(()=>{const ve=new Map;for(const ce of Re)ve.set(ce.businessId,ce);for(const ce of me)ve.set(ce.businessId,ce);return Array.from(ve.values())})();return ee&&ue.length>=ee&&_(!0),ue})}finally{x(!1),C(!1),q(!1)}},L=K=>{B(),K&&(h.current&&(clearTimeout(h.current),h.current=null),C(!0),h.current=setTimeout(()=>{J({query:K,page:1})},800))},T=K=>{const te=K.target;if(!(te.scrollHeight-te.scrollTop-te.clientHeight<1)||z||j||!m)return;const ie=E+1;q(!0),U(ie),J({query:m,page:ie})},F=async()=>{if(!u||!H)return;const K=String(m??"").trim();if(K){x(!0);try{const te={name:K,owner:H,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ie=await u.createBusiness({business:te}),xe={businessId:String(ie.id??""),businessName:String(ie.name??K)};I([xe]),k(xe),v(!0)}finally{x(!1)}}},V=async()=>{if(!e||!a||!n)return;const K=O?.businessId??"",te=await Oe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:K}});o?.(te),i()},P=f&&S.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(Ve.LoadingButton,{size:"small",variant:"contained",onClick:F,loading:j,disabled:j||!H,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),Y=!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:i,"aria-label":d("global.back"),children:t.jsx(ua,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:d("conversations.contactDetails.business")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Ve.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(et,{}),onClick:V,loading:!1,disabled:Y,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[j||w||$?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:O,onChange:(K,te)=>{k(te)},inputValue:m,onInputChange:(K,te,ie)=>{g(te),ie==="input"&&L(te)},options:S,getOptionLabel:K=>K?.businessName??"",isOptionEqualToValue:(K,te)=>K.businessId===te.businessId,noOptionsText:P,renderInput:K=>t.jsx(r.TextField,{...K,size:"small",label:d("conversations.contactDetails.business"),placeholder:d("global.noValue"),InputProps:{...K.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[j||w?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,K.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:T}})]})]})},Oi=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:o,language:c="en",navigate:d,googleMapsApiKey:u,onEntityUpdated:h})=>{const{t:y,i18n:m}=Le.useTranslation(),g=l.useRef(null);l.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!u){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const J=document.createElement("script");return J.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,J.async=!0,J.defer=!0,document.body.appendChild(J),()=>{}},[u]),l.useEffect(()=>{c&&m.changeLanguage(c)},[c,m]);const f=J=>y(J),v=l.useMemo(()=>!n||!s?null:Za(n,s),[n,s]),{state:j,selectors:x,actions:w}=Qr({open:e,baseUrl:n,spaceId:s,contactId:i}),C=Mi({entity:j.contactData,setEntity:J=>{w.setContactData(J??void 0),J&&h&&h(J)}}),{view:S,setView:I,draftLabels:O,setDraftLabels:k,labelsOptions:E,isSaving:U,isCreatingLabel:$,handleCreateLabel:q,handleSaveTags:z}=Ri({open:e,baseUrl:n,spaceId:s,contactData:j.contactData,contactType:x.contactType,labels:x.labels,selectedTags:x.tags,onTagsUpdated:J=>{if(!j.contactData)return;const L={...j.contactData,tags:J};w.setContactData(L),h&&h(L)}}),_=St({baseUrl:n,spaceId:s,entityType:x.contactType==="business"||x.contactType==="contact"?x.contactType:void 0,entityId:j.contactData?String(j.contactData.id):void 0,initialImageUrl:j.contactData?.imageUrl,onEntityUpdated:C}),H=Ni({onClose:a}),B={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"},N=Array.isArray(o)?[B,...o]:o?[B,o]:B;return t.jsx(jr,{value:v,children:t.jsx(vr,{t:f,children:t.jsx(yo,{navigate:d,children:t.jsx(r.Modal,{open:e,onClose:H,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:N,ref:g,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:H,sx:{position:"absolute",right:5,top:5,color:J=>J.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Fa,{sx:{fontSize:20}})}),j.isLoading&&!j.contactData?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(r.CircularProgress,{})}):j.error?t.jsx(r.Box,{sx:{mb:2},children:"Failed to load contact"}):j.contactData?t.jsx(mo,{value:{view:S,setView:I},children:t.jsx(uo,{entityType:x.contactType==="business"?"business":"contact",entityData:j.contactData,customContactFields:x.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:S==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Ar,{imgUrl:_.imageUrl,displayName:x.displayName,tags:x.tags,onEditTags:()=>{I("tags")},onUploadPhoto:_.action.uploadImage,onPhotoFileChange:_.inputAtributes.onChange,photoInputRef:_.inputAtributes.ref,isUploadingPhoto:_.isUploading,onDeletePhoto:_.action.deleteImage,isDeletingPhoto:_.isDeleting,contactType:x.contactType,entityId:j.contactData?.id,firstName:x.isContact?j.contactData.firstName:void 0,lastName:x.isContact?j.contactData.lastName:void 0,name:x.isBusiness?j.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx($o,{dateFormat:x.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:j.contactData,customContactFields:x.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:C,currentUser:x.userTrii}),t.jsx(Ui,{entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:j.contactData,baseUrl:n,spaceId:s,onEntityUpdated:C,onDirectionSearchClick:()=>I("searchLocation")}),t.jsx(Pi,{ownerData:j.contactData})]})]})}),t.jsx(r.Fade,{in:S==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Xr,{baseUrl:n,spaceId:s,entityType:x.contactType==="business"?"business":"contact",entityId:String(j.contactData.id),onBack:()=>I("main"),onEntityUpdated:C})})}),t.jsx(r.Fade,{in:S==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx($r,{value:O,options:E,onChange:k,onBack:()=>I("main"),onSave:z,isSaving:U,onCreateNew:q,isCreatingNew:$,popperContainer:g.current})})}),t.jsx(r.Fade,{in:S==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(zi,{baseUrl:n,spaceId:s,contactId:String(j.contactData.id),initialBusiness:x.isContact&&j.contactData?.businessId?{businessId:String(j.contactData.businessId),businessName:String(j.contactData.businessName??"")}:null,onBack:()=>I("main"),onEntityUpdated:C,currentUser:x.userTrii})})})]})})}):null]})})})})})})},Wi=e=>t.jsx(Le.I18nextProvider,{i18n:jt,children:t.jsx(Oi,{...e})}),Cn=l.createContext(null),_i=Cn.Provider,jn=()=>l.useContext(Cn),Vi={events:[],setEvents:()=>{},filteredEvents:[]},qi=(e,a)=>{const[n,s]=l.useState([]);l.useEffect(()=>{if(!a?.length){s([]);return}const o=a.map(c=>({id:c.id,title:c.title||"",start:new Date(c.startAt),end:new Date(c.endAt||c.startAt),startAt:c.startAt,endAt:c.endAt,allDay:c.allDay||!1,color:c.color,calendarId:c.calendarId,details:c.details,location:c.location,isPrivate:c.isPrivate,rule:c.rule,relatedContact:c.relatedContact,sharedWith:c.sharedWith,finalized:c.finalized,kind:"event",originalOccurrenceDate:c.originalOccurrenceDate,parentId:c.parentId}));s(o)},[a]);const i=l.useMemo(()=>e?.length?n.filter(o=>o.calendarId&&e.includes(o.calendarId)):n,[n,e]);return l.useMemo(()=>({events:n,setEvents:s,filteredEvents:i}),[n,i])},Sn={open:!1,handleOpen:()=>{},handleClose:()=>{}},wn=()=>{const[e,a]=l.useState(!1),n=l.useCallback(()=>{a(!0)},[]),s=l.useCallback(()=>{a(!1)},[]);return l.useMemo(()=>({open:e,handleOpen:n,handleClose:s}),[e,n,s])},tt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},at=(e,a)=>{const[n,s]=l.useState(a||""),[i,o]=l.useState(!1),[c,d]=l.useState("");l.useEffect(()=>{s(a||"")},[a]);const u=l.useCallback(j=>{o(!0),d(j)},[]),h=l.useCallback(()=>{o(!1),d("")},[]),y=l.useCallback(j=>{s(j.target.value)},[]),m=l.useCallback(j=>{s(j)},[]),g=l.useCallback(()=>{s(a||"")},[a]),f=l.useMemo(()=>({onError:u,onSuccess:h,resetValue:g,changeValue:m}),[u,h,g,m]),v=l.useMemo(()=>({error:i,helperText:c,type:e,value:n,onChange:y}),[i,c,e,n,y]);return{actions:f,attributes:v}};function In(e){return typeof e=="number"}const Yi={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Gi(e){const[a,n]=l.useState(e||[]),s=l.useCallback(()=>{const y={id:ya(),timeValue:0,timePeriod:_t.EventNotificationPeriod.MINUTE,sendToContact:!1};n(m=>m.concat(y))},[]),i=l.useCallback(y=>{n(m=>m.filter(g=>g.id!==y))},[]),o=l.useCallback((y,m)=>{const g=Number(y.target.value);In(g)&&n(f=>f.map(v=>v.id===m?{...v,timeValue:g}:v))},[]),c=l.useCallback((y,m)=>{if(!In(y.target.value))return;const g=y.target.value;n(f=>f.map(v=>v.id===m?{...v,timePeriod:g}:v))},[]),d=l.useCallback((y,m)=>{const g=y.target.checked;n(f=>f.map(v=>v.id===m?{...v,sendToContact:g}:v))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{e&&n(e)},[e]);const h=l.useMemo(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:o,handleTimePeriodChange:c,handleReminderChange:d,resetNotifications:u}),[s,i,o,c,d,u]);return{notifications:a,action:h}}const Hi={state:{selectedStartDate:X(),selectedEndDate:X().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ki={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Ji={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Xi={titleField:tt,descriptionField:tt,locationField:tt,colorField:tt,date:Hi,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Yi,shareWithUsers:Ji,linkContact:Ki,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},Qi=(e,a)=>{const[n,s]=l.useState(e??X()),[i,o]=l.useState(a??X().add(30,"minute")),[c,d]=l.useState(!1),u=l.useCallback(m=>g=>{m(g)},[]),h=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:c}),[n,i,c]),y=l.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:h,action:y}},Zi=()=>{const[e,a]=l.useState(""),[n,s]=l.useState(""),i=l.useCallback(h=>{a(h.name??""),s(h.id)},[]),o=l.useCallback(h=>{a(h),h||s("")},[]),c=l.useCallback(()=>{a(""),s("")},[]),d=l.useMemo(()=>({search:e,contactSelectedId:n}),[e,n]),u=l.useMemo(()=>({handleSelectContact:i,handleSearchChange:o,resetField:c}),[i,o,c]);return{state:d,action:u}},el=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),s=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},tl=e=>{const a=l.useRef(null),n=at("text",e?.title??""),s=at("text",e?.details??e?.description??""),i=at("text",e?.location??""),o=at("text",e?.color??"#1976d2"),c=Qi(e?.startAt?X(e.startAt):void 0,e?.endAt?X(e.endAt):void 0),[d,u]=l.useState(e?.allDay??!1),[h,y]=l.useState(e?.isPrivate??!1),[m,g]=l.useState(e?.rule??""),f=Gi(e?.notifications),v=el(),j=Zi(),x=l.useCallback(()=>({title:n.attributes.value,details:s.attributes.value,location:i.attributes.value,allDay:d,isPrivate:h,color:o.attributes.value,startAt:c.state.selectedStartDate.toISOString(),endAt:c.state.selectedEndDate.toISOString(),notifications:f.notifications.map(C=>({timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:v.field.userIds,rule:m,relatedContactId:j.state.contactSelectedId||null}),[n.attributes.value,s.attributes.value,i.attributes.value,d,h,o.attributes.value,c.state.selectedStartDate,c.state.selectedEndDate,f.notifications,v.field.userIds,m,j.state.contactSelectedId]),w=l.useCallback(()=>{n.actions.resetValue(),s.actions.resetValue(),i.actions.resetValue(),o.actions.changeValue("#1976d2"),u(!1),y(!1),g(""),f.action.resetNotifications(),v.action.resetField(),j.action.resetField(),c.action.setError(!1)},[n.actions,s.actions,i.actions,o.actions,f.action,v.action,j.action,c.action]);return l.useEffect(()=>{const C=e?.id;!e||a.current===C||(a.current=C,u(e.allDay??!1),y(e.isPrivate??!1),g(e.rule??""),n.actions.changeValue(e.title??""),s.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),o.actions.changeValue(e.color??"#1976d2"),e.startAt&&c.action.setSelectedStartDate(X(e.startAt)),e.endAt&&c.action.setSelectedEndDate(X(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:s,locationField:i,colorField:o,date:c,allDay:d,setAllDay:u,isPrivate:h,setIsPrivate:y,recurrenceRule:m,setRecurrenceRule:g,notifications:f,shareWithUsers:v,linkContact:j,create:x,resetFields:w}),[n,s,i,o,c,d,h,m,f,v,j,x,w])},al={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},nl={nameField:tt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:al,googleCalendar:null,handleGoogleCalendarChange:()=>{}},sl=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),s=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},rl=()=>{const e=at("text",""),[a,n]=l.useState("#ffffff"),[s,i]=l.useState(null),o=sl(),c=l.useCallback(u=>{n(u)},[]),d=l.useCallback(u=>{i(u)},[]);return l.useMemo(()=>({nameField:e,color:a,handleColorChange:c,shareWithUsers:o,googleCalendar:s,handleGoogleCalendarChange:d}),[e,a,c,o,s,d])},ol={tasks:[],setTasks:()=>{},filteredTasks:[]},il=e=>{const[a,n]=l.useState([]),s=l.useMemo(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return l.useMemo(()=>({tasks:a,setTasks:n,filteredTasks:s}),[a,s])},ll={state:{selectedStartDate:X(),selectedEndDate:X(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},cl={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},dl={titleField:tt,descriptionField:tt,date:ll,linkContact:cl,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},ul=(e,a)=>{const[n,s]=l.useState(e??X()),[i,o]=l.useState(a??X()),[c,d]=l.useState(!1),u=l.useCallback(m=>g=>{m(g)},[]),h=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:c}),[n,i,c]),y=l.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:h,action:y}},pl=()=>{const[e,a]=l.useState(""),[n,s]=l.useState(""),i=l.useCallback(h=>{a(h.name??""),s(h.id)},[]),o=l.useCallback(h=>{a(h),h||s("")},[]),c=l.useCallback(()=>{a(""),s("")},[]),d=l.useMemo(()=>({search:e,contactSelectedId:n}),[e,n]),u=l.useMemo(()=>({handleSelectContact:i,handleSearchChange:o,resetField:c}),[i,o,c]);return{state:d,action:u}},hl=e=>{const a=l.useRef(null),n=at("text",e?.title??""),s=at("text",e?.description??""),i=ul(e?.startAt?X(e.startAt):void 0,e?.startAt?X(e.startAt):void 0),o=pl(),c=l.useCallback(()=>({title:n.attributes.value,description:s.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:o.state.contactSelectedId||null}),[n.attributes.value,s.attributes.value,i.state.selectedStartDate,o.state.contactSelectedId]),d=l.useCallback(()=>{n.actions.resetValue(),s.actions.resetValue(),o.action.resetField(),i.action.setError(!1)},[n.actions,s.actions,o.action,i.action]);return l.useEffect(()=>{const u=e?.id;if(!(!e||a.current===u)&&(a.current=u,n.actions.changeValue(e.title??""),s.actions.changeValue(e.description??""),e.startAt)){const h=X(e.startAt);i.action.setSelectedStartDate(h),i.action.setSelectedEndDate(h)}},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:s,date:i,linkContact:o,create:c,resetFields:d}),[n,s,i,o,c,d])},wa=l.createContext({eventDialog:Sn,createCalendarDialog:Sn,event:Xi,events:Vi,calendar:nl,dialogMode:"view",handleCreateEvent:()=>{},handleSelectEvent:()=>{},handleOpenEventCreate:()=>{},handleStartEditingEvent:()=>{},handleSaveUpdatedEvent:()=>{},handleEndEvent:()=>{},handleDeleteEvent:()=>{},handleResizeEvent:()=>{},selectedEvent:{},savingSnackbar:{open:!1,message:"",severity:"info"},handleCloseSnackbar:()=>{},dialogType:"event",setDialogType:()=>{},handleOpenTaskCreate:()=>{},handleOpenCreateFromSlot:()=>{},handleCloseCreateCalendarDialog:()=>{},calendarDialogMode:"create",editingCalendar:null,handleOpenCreateCalendarDialog:()=>{},handleOpenEditCalendarDialog:()=>{},handleSubmitCalendar:async()=>{},tasks:ol,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:dl,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],handleSaveUpdatedTask:()=>{},handleDeleteTask:()=>{},handleToggleTaskCompleted:()=>{},handleDuplicateItem:()=>{},calendarView:"month",setCalendarView:()=>{},calendarDate:new Date,setCalendarDate:()=>{},navigateToDate:()=>{},confirmDeleteDialog:{open:!1,handleClose:()=>{},itemType:"event"},handleConfirmDelete:()=>{},deleteRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmDeleteRecurring:()=>{},editRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmEditRecurring:()=>{}}),Tn=e=>e,En=l.createContext(Tn),ml=({t:e,children:a})=>t.jsx(En.Provider,{value:e,children:a}),De=()=>{const e=l.useContext(En);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Tn)};var gl=Object.defineProperty,yl=(e,a,n)=>a in e?gl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Dn=(e,a,n)=>yl(e,typeof a!="symbol"?a+"":a,n);class fl extends Error{constructor(a,n,s){super(a),Dn(this,"status"),Dn(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function Fe({url:e,method:a="GET",headers:n,body:s,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:i}),c=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const d=typeof c=="object"&&c&&"message"in c?String(c.message):`Request failed with status ${o.status}`;throw new fl(d,o.status,c)}return c}function ke(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function kn(e,a){const n=encodeURIComponent(a);return{CONTACTS:ke(e,`/contacts/${n}`),MEDIA:ke(e,`/media/${n}`),SETTINGS:ke(e,`/settings/${n}`),CALENDAR:ke(e,`/calendar/${n}`)}}function Me(e){return kn(e.baseUrl,e.spaceId).CALENDAR}async function xl(e,a,n){const s=`${Me(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return Fe({url:s})}async function bl(e,a){const n=Me(e);return Fe({url:ke(n,"/events"),method:"POST",body:a})}async function An(e,a){const n=Me(e),{activityId:s,updatedActivity:i,originalOccurrenceDate:o}=a;if(o){const c=o instanceof Date?o.toISOString():o,d=`${n}/events/occurrence/${s}?occurrence=${c}`;return Fe({url:d,method:"PUT",body:i})}return Fe({url:ke(n,`/events/${s}`),method:"PUT",body:i})}async function Ia(e,a,n){const s=Me(e);if(n){const i=n instanceof Date?n.toISOString():n,o=`${s}/events/${a}?occurrence=${i}`;await Fe({url:o,method:"DELETE"})}else await Fe({url:ke(s,`/events/${a}`),method:"DELETE"})}async function vl(e,a){const n=Me(e);return Fe({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Cl(e,a){const n=Me(e);return Fe({url:ke(n,`/Task/${a}`)})}async function jl(e,a){const n=Me(e);return Fe({url:ke(n,"/Task"),method:"POST",body:a})}async function Fn(e,a,n){const s=Me(e);return Fe({url:ke(s,`/Task/${a}`),method:"PUT",body:n})}async function Sl(e,a){const n=Me(e);await Fe({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function wl(e,a,n){const s=Me(e);return Fe({url:ke(s,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Il(e){const a=Me(e);return Fe({url:ke(a,"/Calendar")})}async function Tl(e,a){const n=Me(e);return Fe({url:ke(n,"/Calendar"),method:"POST",body:a})}async function El(e,a,n){const s=Me(e);return Fe({url:ke(s,`/Calendar/${a}`),method:"PUT",body:n})}function $n(e){const a=X(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const kt=e=>{if(!e)return e;const a=e.indexOf("_");if(a===-1)return e;const n=e.substring(0,a),s=e.substring(a+1);return/^\d{14}$/.test(s)?n:e},At=e=>e?e.parentId?e.parentId:kt(e.id):"",Dl=({children:e,externalOpen:a,externalOnClose:n,externalMode:s="create",externalType:i="event",externalEventCalendarId:o,externalTaskCalendarId:c,externalSelectedEvent:d,externalSelectedTask:u})=>{const{t:h}=Le.useTranslation(),y=jn(),m=(b,...M)=>h(b,...M),[g,f]=l.useState(i),[v,j]=l.useState(null),[x,w]=l.useState(null),[C,S]=l.useState(s),[I,O]=l.useState(c||""),[k,E]=l.useState(o||""),[U,$]=l.useState(!1),[q,z]=l.useState("create"),[_,H]=l.useState(null),[B,N]=l.useState({open:!1,message:"",severity:"info"}),[J,L]=l.useState(!1),[T,F]=l.useState("event"),[V,P]=l.useState(!1),[Y,K]=l.useState(!1),[te,ie]=l.useState(null),xe="trii_calendar_last_view",Z=b=>b==="month"||b==="week"||b==="day",[me,ee]=l.useState(()=>{try{const b=localStorage.getItem(xe);return Z(b)?b:"month"}catch{return"month"}}),[Re,ue]=l.useState(new Date),ve=b=>{ue(b),ee("day")},ce=wn(),Be=wn(),R=tl(v??void 0),oe=hl(x??void 0);l.useEffect(()=>{s!==void 0&&S(s)},[s]),l.useEffect(()=>{i!==void 0&&f(i)},[i]),l.useEffect(()=>{o!==void 0&&E(o)},[o]),l.useEffect(()=>{c!==void 0&&O(c)},[c]),l.useEffect(()=>{d!==void 0&&j(d)},[d]),l.useEffect(()=>{u!==void 0&&w(u)},[u]),l.useEffect(()=>{a!==void 0&&(a&&!ce.open?ce.handleOpen():!a&&ce.open&&ce.handleClose())},[a,ce]);const be=()=>{(C==="edit"||C==="create")&&(R.resetFields(),oe.resetFields()),R.date.action.setError(!1),oe.date.action.setError(!1),n?n():ce.handleClose()},ge=rl(),de=q==="create",[Pe,Ke]=l.useState([]),[lt,ea]=l.useState([]),$t="calendar_selected_ids",[Ue,Je]=l.useState(()=>{try{const b=localStorage.getItem($t);return b?JSON.parse(b):[]}catch{return[]}}),We=qi(Ue,lt),Bt=il(Ue),Pt=()=>{N(b=>({...b,open:!1}))};function ct(b){const M=b?.startAt??b?.start,D=b?.endAt??b?.end??M;return{startAt:M,endAt:D}}const{myCalendars:Xe,otherCalendars:ta}=l.useMemo(()=>({myCalendars:Pe??[],otherCalendars:[]}),[Pe]),_e=l.useCallback(async()=>{if(y)try{const b=new Date,M=b.getUTCFullYear(),D=b.getUTCMonth(),G=new Date(Date.UTC(M,D-1,1,0,0,0)).toISOString(),ae=new Date(Date.UTC(M,D+2,1,0,0,0)).toISOString(),je=await xl(y,G,ae);ea(je)}catch(b){console.error("Error fetching activities:",b)}},[y]),Qe=l.useCallback(async b=>{if(y)try{const M=await Cl(y,b);Bt.setTasks(M.map(D=>({id:D.id,title:D.title||"",start:new Date(D.startAt),end:new Date(D.endAt||D.startAt),startAt:D.startAt,endAt:D.endAt,description:D.description,calendarId:D.calendarId,isCompleted:D.isCompleted||!1,relatedContact:D.relatedContact,kind:"task"})))}catch(M){console.error("Error fetching tasks:",M)}},[y]),dt=l.useCallback(async()=>{if(y)try{const b=await Il(y);Ke(b)}catch(b){console.error("Error fetching calendars:",b)}},[y]);l.useEffect(()=>{y&&(dt(),_e())},[y,dt,_e]);function ut(b,M,D){f(b),S("create"),j(null),w(null),R.resetFields(),oe.resetFields(),$(!1);const G=$n(M??new Date),ae=D?$n(D):G.add(30,"minute"),je=ae.isAfter(G)?ae:G.add(30,"minute");if(b==="task"){oe.date.action.setSelectedStartDate(G),oe.date.action.setSelectedEndDate(G),oe.date.action.setError(!1);const he=Ue?.[0]??Pe?.[0]?.id??"";O(he)}else{R.date.action.setSelectedStartDate(G),R.date.action.setSelectedEndDate(je),R.date.action.setError(!1);const he=Ue?.[0]??Xe?.[0]?.id??Pe?.[0]?.id??"";E(he);const Ce=Xe?.find(Se=>Se.id===he)??Pe?.find(Se=>Se.id===he);Ce?.color&&R.colorField.actions.changeValue(Ce.color)}ce.handleOpen()}function aa(){ut("event")}function na(){R.date.action.setError(!1),oe.date.action.setError(!1),S("edit")}function pt(b){const{startAt:M,endAt:D}=ct(b),G={...b,kind:"event",startAt:M,endAt:D,details:b?.details??""};f("event"),j(G),w(null),E(G.calendarId??""),S("view"),R.date.action.setError(!1),oe.date.action.setError(!1),ce.handleOpen()}async function Ut(b){if(!y)return;let M;if(b)M={title:b.title,details:b.description||b.details||"",startAt:new Date(b.startAt),endAt:new Date(b.endAt),allDay:b.allDay,location:b.location||"",isPrivate:b.isPrivate||!1,color:b.color||"",rule:b.rule||"",contactId:b.relatedContactId||null,sharedWith:b.sharedWith||[],notifications:(b.notifications||[]).map(ae=>({id:ya(),timeValue:ae.value,timePeriod:ae.type,sendToContact:ae.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const ae=R.create();M={...ae,startAt:new Date(ae.startAt),endAt:new Date(ae.endAt),contactId:ae.relatedContactId||null,eventTypeId:"",repeatId:""}}const D=k;if(!D){N({open:!0,message:m("global.errorSavingChanges"),severity:"error"});return}const G={...M,calendarId:D};try{N({open:!0,message:m("global.savingChanges"),severity:"info"}),R.resetFields(),be(),await bl(y,G),Ue.includes(D)||Je(ae=>[...ae,D]),N({open:!0,message:m("global.changesSaved"),severity:"success"}),_e()}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}async function Ye(){if(!v?.id)return;const b=R.create(),M=k||v.calendarId||"";if(!M){N({open:!0,message:m("global.errorSavingChanges"),severity:"error"});return}v.originalOccurrenceDate!=null?(ie(()=>async D=>{await nt(b,M,D)}),K(!0)):await nt(b,M,!1)}async function nt(b,M,D){const G=v?.originalOccurrenceDate!=null,ae={title:b.title,details:b.details,startAt:b.startAt,endAt:b.endAt,allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:M,notifications:b.notifications,sharedWith:b.sharedWith};(D||!G)&&(ae.rule=b.rule);const je=At(v),he={updatedActivity:ae,activityId:je};G&&!D&&(he.originalOccurrenceDate=v.originalOccurrenceDate);try{const Ce=await An(y,he);Ce&&j(Ce),be(),N({open:!0,message:m("global.changesSaved"),severity:"success"}),_e()}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}async function ht(b){K(!1),te&&(await te(b),ie(null))}async function Mt(){v?.originalOccurrenceDate!=null?P(!0):(F("event"),L(!0))}async function sa(){if(y)if(L(!1),T==="event")try{const b=At(v);be(),await Ia(y,b),N({open:!0,message:m("global.changesSaved"),severity:"success"}),_e()}catch(b){console.error("Error deleting event:",b);const M=b?.message?.includes("duplicate key")?m("global.eventAlreadyDeleted","El evento ya fue eliminado"):m("global.errorSavingChanges");N({open:!0,message:M,severity:"error"})}else{if(!x?.id)return;try{const b=kt(x.id),M=x.calendarId;be(),await Sl(y,b),w(null),oe.resetFields(),N({open:!0,message:m("global.changesSaved"),severity:"success"}),M&&Qe(M)}catch(b){console.error("Error deleting task:",b);const M=b?.message?.includes("duplicate key")?m("global.taskAlreadyDeleted","La tarea ya fue eliminada"):m("global.errorSavingChanges");N({open:!0,message:M,severity:"error"})}}}async function Rt(b){P(!1);const M=At(v);be();try{b?await Ia(y,M):await Ia(y,M,v.originalOccurrenceDate),N({open:!0,message:m("global.changesSaved"),severity:"success"}),_e()}catch(D){console.error("Error deleting recurring event:",D);const G=D?.message?.includes("duplicate key")?m("global.eventAlreadyDeleted","El evento ya fue eliminado"):m("global.errorSavingChanges");N({open:!0,message:G,severity:"error"})}}async function ra(){if(!y)return;const b=At(v);await vl(y,b),be()}async function Nt(b,M,D){const G=M instanceof Date?M:new Date(M),ae=D instanceof Date?D:new Date(D),je=G.toISOString(),he=ae.toISOString(),Ce=b.kind==="task";!Ce&&b.originalOccurrenceDate!=null?(j(b),ie(()=>async Se=>{await mt(b,je,he,G,ae,Ce,Se)}),K(!0)):await mt(b,je,he,G,ae,Ce,!1)}async function mt(b,M,D,G,ae,je,he){je||We.setEvents(Ce=>Ce.map(Se=>Se.id===b.id?{...Se,start:G,end:ae,startAt:G,endAt:ae}:Se)),N({open:!0,message:m("global.savingChanges"),severity:"info"});try{if(je){const Ce=kt(b.id),Se={title:b.title,description:b.description,startAt:M,endAt:D,calendarId:b.calendarId,allDay:b.allDay||!1,isCompleted:b.isCompleted||!1};await Fn(y,Ce,Se),await Qe(b.calendarId)}else{const Ce=At(b),Se=b.originalOccurrenceDate!=null,Ot={title:b.title,details:b.details,startAt:new Date(M),endAt:new Date(D),allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:b.calendarId};(he||!Se)&&(Ot.rule=b.rule);const Aa={updatedActivity:Ot,activityId:Ce};Se&&!he&&(Aa.originalOccurrenceDate=b.originalOccurrenceDate),await An(y,Aa)}N({open:!0,message:m("global.changesSaved"),severity:"success"}),_e()}catch{je||We.setEvents(Ce=>Ce.map(Se=>Se.id===b.id?{...Se,start:b.start,end:b.end}:Se)),N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}function oa(b,M){ut("event",b,M)}function Lt(){ge.nameField.actions.resetValue(),ge.handleColorChange("#ffffff"),ge.shareWithUsers.action.resetField(),ge.handleGoogleCalendarChange(null)}function gt(){Lt(),H(null),z("create"),Be.handleClose()}function zt(b){ge.nameField.actions.changeValue(b.title??""),ge.nameField.actions.onSuccess(),ge.handleColorChange(b.color??"#ffffff"),ge.shareWithUsers.action.setUserIds(b.sharedWith??[]),ge.handleGoogleCalendarChange(b.googleCalendar??null)}function ia(){z("create"),H(null),Lt(),Be.handleOpen()}function la(b){z("edit"),H(b),zt(b),Be.handleOpen()}async function ca(){if(!y)return;const b=(ge.nameField.attributes.value??"").trim();if(!b){N({open:!0,message:m("global.nameRequired"),severity:"error"});return}const M=ge.shareWithUsers.field.userIds,D={title:b,color:ge.color,sharedWith:M.length?M:void 0,googleCalendar:ge.googleCalendar};try{if(de)await Tl(y,D);else{const G=_?.id;if(!G)return;await El(y,G,D)}gt(),N({open:!0,message:m(de?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),dt()}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}async function da(b){if(!y)return;let M;if(b?M={title:b.title,description:b.description||"",startAt:b.startAt,contactId:b.relatedContactId||null}:M=oe.create(),!M.title){N({open:!0,message:m("global.nameRequired"),severity:"error"});return}const D=I;if(!D){N({open:!0,message:m("global.errorSavingChanges"),severity:"error"});return}const G={...M,calendarId:D};try{N({open:!0,message:m("global.savingChanges"),severity:"info"}),oe.resetFields(),be(),await jl(y,G),Ue.includes(D)||Je(ae=>[...ae,D]),N({open:!0,message:m("global.changesSaved"),severity:"success"}),Qe(D)}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}function p(){ut("task")}async function A(){if(!y||!x?.id)return;const b=oe.create();if(!b.title){N({open:!0,message:m("global.nameRequired"),severity:"error"});return}const M=I||x.calendarId;if(!M){N({open:!0,message:m("global.errorSavingChanges"),severity:"error"});return}const D={...b,calendarId:M};try{N({open:!0,message:m("global.savingChanges"),severity:"info"});const G=kt(x.id),ae=await Fn(y,G,D);ae&&w(ae),be(),N({open:!0,message:m("global.changesSaved"),severity:"success"}),Qe(M)}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}async function W(){x?.id&&(F("task"),L(!0))}async function Q(){if(!y||!x?.id)return;const b=!x.isCompleted;try{const M=kt(x.id),D=x.calendarId,G=await wl(y,M,b);G&&w(G),N({open:!0,message:m("global.changesSaved"),severity:"success"}),D&&Qe(D)}catch{N({open:!0,message:m("global.errorSavingChanges"),severity:"error"})}}function le(){const b=g==="event",M=b?v:x;if(!M)return;const D={...M};b?(j(null),S("create"),$(!0),setTimeout(()=>{if(R.titleField.actions.changeValue(D.title??""),R.descriptionField.actions.changeValue(D.details??D.description??""),R.locationField.actions.changeValue(D.location??""),R.colorField.actions.changeValue(D.color??""),R.setAllDay(D.allDay??!1),R.setIsPrivate(D.isPrivate??!1),R.setRecurrenceRule(D.rule??""),R.date.action.setSelectedStartDate(X(D.startAt)),R.date.action.setSelectedEndDate(X(D.endAt)),R.date.action.setError(!1),R.notifications.action.resetNotifications(),D.relatedContact?.id&&R.linkContact.action.handleSelectContact(D.relatedContact),D.sharedWith){const G=D.sharedWith.map(ae=>ae.id);R.shareWithUsers.action.setUserIds(G)}E(D.calendarId??k)},50)):(w(null),S("create"),setTimeout(()=>{oe.titleField.actions.changeValue(D.title??""),oe.descriptionField.actions.changeValue(D.description??""),oe.date.action.setSelectedStartDate(X(D.startAt)),oe.date.action.setSelectedEndDate(X(D.startAt)),oe.date.action.setError(!1),D.relatedContact?.id&&oe.linkContact.action.handleSelectContact(D.relatedContact),O(D.calendarId??I)},50))}function pe(b){const{startAt:M,endAt:D}=ct(b),G={...b,kind:"task",startAt:M,endAt:D,description:b?.description??""};f("task"),w(G),O(G.calendarId??""),E(G.calendarId??""),j(null),S("view"),R.date.action.setError(!1),oe.date.action.setError(!1),ce.handleOpen()}function re(b){return b?.kind==="task"?pe(b):pt(b)}l.useEffect(()=>{try{Ue&&localStorage.setItem($t,JSON.stringify(Ue))}catch{}},[Ue]),l.useEffect(()=>{Pe?.length&&Je(b=>{const M=new Set(Pe.map(G=>G.id)),D=(b??[]).filter(G=>M.has(G));return D.length?D:Pe.map(G=>G.id)})},[Pe]),l.useEffect(()=>{try{localStorage.setItem(xe,me)}catch{}},[me]);const se={eventDialog:{...ce,handleClose:be},dialogMode:C,createCalendarDialog:Be,event:R,calendar:ge,events:We,handleCreateEvent:Ut,handleSelectEvent:re,handleOpenEventCreate:aa,handleStartEditingEvent:na,handleSaveUpdatedEvent:Ye,handleEndEvent:ra,handleDeleteEvent:Mt,handleResizeEvent:Nt,selectedEvent:v,savingSnackbar:B,handleCloseSnackbar:Pt,dialogType:g,setDialogType:f,handleOpenTaskCreate:p,handleOpenCreateFromSlot:oa,handleCloseCreateCalendarDialog:gt,calendarDialogMode:q,editingCalendar:_,handleOpenCreateCalendarDialog:ia,handleOpenEditCalendarDialog:la,handleSubmitCalendar:ca,tasks:Bt,activeCalendarIds:Ue,setActiveCalendarIds:Je,handleCreateTask:da,task:oe,selectedTask:x,taskCalendarId:I,setTaskCalendarId:O,eventCalendarId:k,setEventCalendarId:E,userManuallyChangedColor:U,setUserManuallyChangedColor:$,myCalendars:Xe,otherCalendars:ta,handleSaveUpdatedTask:A,handleDeleteTask:W,handleToggleTaskCompleted:Q,handleDuplicateItem:le,calendarView:me,setCalendarView:ee,calendarDate:Re,setCalendarDate:ue,navigateToDate:ve,confirmDeleteDialog:{open:J,handleClose:()=>L(!1),itemType:T},handleConfirmDelete:sa,deleteRecurringDialog:{open:V,handleClose:()=>P(!1)},handleConfirmDeleteRecurring:Rt,editRecurringDialog:{open:Y,handleClose:()=>{K(!1),ie(null)}},handleConfirmEditRecurring:ht};return t.jsx(ml,{t:m,children:t.jsx(wa.Provider,{value:se,children:e})})},Xt=r.styled(r.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),Ta=r.styled(r.Box)(()=>({display:"flex",alignItems:"center",gap:1})),Ea=r.styled(r.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),it="DD/MM/YYYY",Qt="HH:mm",kl=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:o,hideLabel:c=!1,allDay:d=!1})=>{const u=De(),h=l.useMemo(()=>a.diff(e,"minute"),[e,a]),y=l.useMemo(()=>{if(h===0)return"0 min";const x=Math.floor(h/60),w=h%60;return x===0?`${w} min`:w===0?`${x} h`:`${x}.${Math.round(w/60*10)} h`},[h]),m=x=>{if(!x)return;const w=x.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=x.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(w),s(C)},g=x=>{if(!x)return;const w=x.hour(0).minute(0).second(0).millisecond(0);n(w)},f=x=>{if(!x)return;const w=x.hour(23).minute(59).second(59).millisecond(999);s(w)},v=x=>{if(!x)return;const w=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0),C=w.add(h,"minute");n(w),s(C)},j=x=>{if(!x)return;let w=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0);(w.isBefore(e)||w.isSame(e))&&(w=w.add(1,"day")),s(w)};return o?t.jsxs(Xt,{children:[!c&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),d?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,marginTop:"10px"},children:[t.jsx(r.Typography,{variant:"body1",children:e.format(it)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(it)})]}):t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"body1",sx:{mb:1},children:e.format(it)}),t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(r.Typography,{variant:"body1",children:e.format(Qt)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(Qt)}),h>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",y,")"]})]})]})]}):t.jsxs(Xt,{children:[!c&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(ze.LocalizationProvider,{dateAdapter:Ma.AdapterDayjs,children:d?t.jsxs(Ta,{children:[t.jsx(ze.DatePicker,{disabled:o,format:it,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:g,minDate:X(),sx:{flex:1}}),t.jsx(Ea,{variant:"body1",children:"\u2013"}),t.jsx(ze.DatePicker,{disabled:o,format:it,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:f,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(r.Box,{sx:{mb:1},children:t.jsx(ze.DatePicker,{disabled:o,format:it,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:m,minDate:X()})}),t.jsxs(Ta,{children:[t.jsx(ze.TimePicker,{disabled:o,format:Qt,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:v,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Ea,{variant:"body1",children:"\u2013"}),t.jsxs(r.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(ze.TimePicker,{disabled:o,format:Qt,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:j,sx:{alignSelf:"baseline",width:"100%"}}),h>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",y,")"]})]})]})]})}),i&&t.jsx(r.Fade,{in:i,children:t.jsx(r.Typography,{color:"red",variant:"caption",sx:{mt:.5},children:u("calendarView.reminders.errorDate")})})]})},Al=r.styled(r.Box)(()=>({display:"flex",gap:2,alignItems:"center"})),Fl=r.styled(r.Box)(()=>({width:"15%",userSelect:"none"})),Bn=({name:e,children:a})=>t.jsxs(Al,{children:[t.jsx(Fl,{children:e}),a]}),Ne=({children:e,title:a})=>t.jsxs(r.Box,{children:[t.jsx(r.Box,{sx:{mb:1,userSelect:"none"},children:a}),e]}),Da=({titleField:e,disabled:a,variantMode:n="default"})=>{const s=De(),{value:i,type:o,...c}=e.attributes,d=i||"";return n==="inline"?t.jsx(r.TextField,{...c,value:d,disabled:a,autoFocus:!0,fullWidth:!0,placeholder:s("global.addTitle"),variant:"standard",InputProps:{disableUnderline:!1,sx:{fontSize:22,fontWeight:500}},sx:{"& .MuiInput-underline:before":{borderBottomColor:"divider"},"& .MuiInput-underline:hover:before":{borderBottomColor:"text.secondary"},"& .MuiInput-underline:after":{borderBottomWidth:2}}}):a?t.jsx(Bn,{name:s("global.title"),children:t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:d||"-"})}):t.jsx(Bn,{name:s("global.title"),children:t.jsx(r.TextField,{...c,value:d,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},$l=r.styled(r.Box)(()=>({marginBottom:"6px",padding:"8px 6px",border:"1px solid lightgray",borderRadius:"3px"})),Bl=r.styled(r.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),Pl=r.styled(r.TextField)(()=>({width:"13%"})),Ul=r.styled(r.Select)(()=>({width:"23%"})),Ml=r.styled(r.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),Rl=r.styled(r.IconButton)(()=>({ml:"auto"})),Nl=[{title:"minute",value:_t.EventNotificationPeriod.MINUTE},{title:"hour",value:_t.EventNotificationPeriod.HOUR},{title:"day",value:_t.EventNotificationPeriod.DAY}],Ll=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const o=De(),c=e.timeValue??0;return t.jsxs($l,{children:[t.jsxs(Bl,{children:[o("calendarView.reminders.sendReminder.pt1"),t.jsx(Pl,{onChange:d=>a(d,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(Ul,{onChange:d=>n(d,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:d=>d.palette.background.panel}}},children:Nl.map(d=>t.jsx(r.MenuItem,{value:d.value,children:o(`calendarView.reminders.timePeriod.${d.title}`)},d.value))}),o("calendarView.reminders.sendReminder.pt2")]}),t.jsxs(Ml,{children:[t.jsx(r.FormControlLabel,{sx:{display:"flex",alignItems:"center"},label:o("calendarView.reminders.sendReminderToContact"),control:t.jsx(r.Checkbox,{checked:e.sendToContact,onChange:d=>s(d,e.id),color:"secondary"})}),t.jsx(Rl,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(Wt,{})})]})]})},zl=r.styled(r.Box)`
17
17
  display: 'flex',
18
18
  flexDirection: 'column',
19
19
  gap: 1,
20
- `,il=r.styled(r.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),ll=({notificationsField:e,disabled:a})=>{const{t:n}=ie.useTranslation(),{addNotification:s,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:l,handleTimePeriodChange:d}=e.action,u=e.notifications.length>0;return t.jsxs(ol,{children:[t.jsxs(il,{children:[n("calendarView.reminders.title"),!a&&t.jsx(r.Button,{disabled:a,startIcon:t.jsx(oa,{}),size:"small",variant:"outlined",onClick:s,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(r.Box,{sx:{pt:1,px:.5},children:u?e.notifications.map(h=>t.jsx(rl,{data:h,deleteHandler:i,sendToContactHandler:o,timePeriodHandler:d,timeValueHandler:l},h.id)):a?t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Xa=({descriptionField:e,disabled:a})=>{const{t:n}=ie.useTranslation(),{value:s,type:i,...o}=e.attributes,l=s||"";return a?t.jsx(Ee,{title:n("global.description"),children:t.jsx(r.Typography,{variant:"body1",sx:{py:.5,whiteSpace:"pre-wrap"},children:l||"-"})}):t.jsx(Ee,{title:n("global.description"),children:t.jsx(r.TextField,{...o,value:l,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},cl=({onPlaceSelected:e})=>{const a=c.useRef(null),n=c.useRef(null),s=c.useRef(null),i=c.useRef(null),[o,l]=c.useState([]),[d,u]=c.useState(!1),{t:h}=ie.useTranslation();c.useEffect(()=>{if(!a.current)return;const m=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const g=document.createElement("div");return s.current=new window.google.maps.places.PlacesService(g),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!m()){const g=setTimeout(()=>{m()},500);return()=>clearTimeout(g)}},[]);const f=m=>{const g=m.target.value;if(!g||g.length<3||!n.current){l([]),u(!1);return}n.current.getPlacePredictions({input:g,componentRestrictions:{country:"ar"},types:["geocode"],sessionToken:i.current||void 0},(b,v)=>{v===window.google.maps.places.PlacesServiceStatus.OK&&b?(l(b),u(!0)):(l([]),u(!1))})},y=(m,g)=>{s.current&&s.current.getDetails({placeId:m,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(b,v)=>{if(v===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const x=b.geometry.location.lat(),I=b.geometry.location.lng(),C=b.formatted_address??g;e({lat:x,lng:I},C),a.current&&(a.current.value=C),u(!1),l([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return c.useEffect(()=>{const m=g=>{a.current&&!a.current.contains(g.target)&&u(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]),t.jsxs("div",{style:{position:"absolute",width:"100%",maxWidth:300,margin:"0 auto",zIndex:13e3,top:"10px",left:"10px"},children:[t.jsx("input",{ref:a,placeholder:h("global.searchLocation","Buscar en Google Maps"),onChange:f,onFocus:()=>o.length>0&&u(!0),style:{width:"100%",padding:"12px 16px 5px",borderRadius:"24px",border:"1px solid #ccc",backgroundColor:"white",fontSize:"15px",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",outline:"none",position:"relative",zIndex:13e3}}),d&&o.length>0&&t.jsx("div",{style:{position:"absolute",top:"100%",left:0,right:0,backgroundColor:"white",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",marginTop:"4px",maxHeight:"300px",overflowY:"auto",zIndex:13001},children:o.map(m=>t.jsxs("div",{onClick:()=>y(m.place_id,m.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:g=>{g.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:g=>{g.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:m.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:m.structured_formatting.secondary_text})]},m.place_id))})]})},Qa="AIzaSyCWZRxRnP9oR-kezqie9-r9hiMEjAyaWTI",Za=["places"],Yt={apiKey:Qa,libraries:Za,loading:"async"},vt=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),en=(e=Qa,a=Za)=>{if(vt())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(s=>{s.parentNode?.removeChild(s)})};return document.getElementById("google-maps-script")?new Promise((s,i)=>{let o=0;const l=100,d=setInterval(()=>{o++,vt()?(clearInterval(d),s()):o>=l&&(clearInterval(d),n(),en(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{vt()?s():setTimeout(()=>{vt()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),s()},500)};const l=document.createElement("script");l.id="google-maps-script",l.type="text/javascript";const d=Array.isArray(a)?a.join(","):a;l.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${d}&callback=${o}&loading=async`,l.async=!0,l.defer=!0,l.onerror=()=>{delete window[o],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(l)}catch(o){i(o)}})},lt=(e,a,n=18,s=400,i=400,o="red",l=Yt.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${s}x${i}&markers=color:${o}%7Clabel:A%7C${e},${a}&key=${l}`,dl=({onLocationChange:e,initialLocation:a})=>{const n=c.useRef(null),s=c.useRef(null),i=c.useRef(null),o=c.useRef(null),[l,d]=c.useState(!0),[u,h]=c.useState(!1),[f,y]=c.useState(a||null),m=18,g=c.useCallback(C=>{y(C),e(C)},[e]);c.useEffect(()=>{let C=!0;(async()=>{try{if(await en(Yt.apiKey,Yt.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),d(!1);return}window.google?.maps?.Geocoder&&(o.current=new window.google.maps.Geocoder),d(!1),setTimeout(()=>{C&&b()},100)}catch(j){console.error("Error al cargar Google Maps:",j),d(!1)}})(),a||navigator.geolocation.getCurrentPosition(j=>{const S=j.coords.latitude,R=j.coords.longitude,F=S.toString(),U=R.toString(),T=lt(S,R,m);g({lat:F,lng:U,title:"",description:"",url:T})},j=>{console.error("Error getting location:",j);const S=-34.6037,R=-58.3816;g({lat:S.toString(),lng:R.toString(),title:"",description:"",url:lt(S,R,m)})})},[a,g,m]),c.useEffect(()=>{u&&f&&x()},[u,f]),c.useEffect(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const b=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:m,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};s.current=new window.google.maps.Map(n.current,C),s.current.addListener("click",j=>{v(j)}),h(!0)}catch(C){console.error("Error inicializando mapa:",C)}},v=C=>{if(!C.latLng||!o.current)return;const j={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(j):s.current&&(i.current=new window.google.maps.Marker({position:j,map:s.current})),o.current.geocode({location:j},(S,R)=>{if(R==="OK"&&S&&S[0]){const F=S[0].formatted_address,U=lt(j.lat,j.lng,m);g({lat:j.lat.toString(),lng:j.lng.toString(),title:F||"",description:"",url:U})}else{const F=lt(j.lat,j.lng,m);g({lat:j.lat.toString(),lng:j.lng.toString(),title:`${j.lat.toFixed(6)}, ${j.lng.toFixed(6)}`,description:"",url:F})}})},x=()=>{if(!(!s.current||!f))try{const C={lat:parseFloat(f.lat),lng:parseFloat(f.lng)};s.current.setCenter(C),i.current?i.current.setPosition(C):i.current=new window.google.maps.Marker({position:C,map:s.current})}catch(C){console.error("Error actualizando mapa:",C)}},I=(C,j)=>{const S=lt(C.lat,C.lng,m);g({lat:C.lat.toString(),lng:C.lng.toString(),title:j||"",description:"",url:S})};return!f||l?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(r.CircularProgress,{})}):t.jsxs(r.Box,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(cl,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},ul=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const{t:i}=ie.useTranslation(),[o,l]=c.useState(null),d=c.useRef(null);c.useEffect(()=>{e||l(null)},[e]),c.useEffect(()=>{d.current&&o&&(d.current.scrollTop=d.current.scrollHeight/4)},[o]);const u=c.useCallback(f=>{l(f)},[]),h=c.useCallback(()=>{o&&(n(o.title||`${o.lat}, ${o.lng}`,o.lat,o.lng),a())},[o,n,a]);return t.jsxs(r.Dialog,{open:e,onClose:a,maxWidth:"md",fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,PaperProps:{sx:{maxHeight:"80vh",height:"80vh"}},sx:{"& .MuiDialog-paper":{backgroundColor:f=>f.palette.background.panel}},children:[t.jsxs(r.Box,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(r.Typography,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(r.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(Dt,{fontSize:"small"})})]}),t.jsx(r.DialogContent,{sx:{p:0,display:"flex",flexDirection:"column",height:"100%"},children:t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflow:"hidden",width:"100%",height:"100%",position:"relative"},children:[t.jsx(r.Box,{ref:d,sx:{width:"100%",flex:1,overflow:"auto",zIndex:1},children:t.jsx(dl,{onLocationChange:u,initialLocation:void 0})}),t.jsx(r.Divider,{sx:{width:"100%",padding:0}}),t.jsxs(r.Box,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(r.Button,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(r.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:h,disabled:!o,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},pl=({locationField:e,disabled:a})=>{const{t:n}=ie.useTranslation(),[s,i]=c.useState(!1),{value:o,type:l,...d}=e.attributes,u=o||"",h=()=>{a||i(!0)},f=()=>{i(!1)},y=m=>{e.actions.changeValue(m)};return a?t.jsx(r.Box,{children:t.jsx(Ee,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(la,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:u||"-"})]})})}):t.jsxs(r.Box,{children:[t.jsx(Ee,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(r.TextField,{...d,value:u,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:h,InputProps:{startAdornment:t.jsx(la,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(ul,{open:s,onClose:f,onSelectLocation:y,initialAddress:u})]})},tn=({linkContactsHandler:e,disabled:a=!1})=>{const{t:n}=ie.useTranslation(),{action:{handleSearchChange:s},state:{search:i}}=e,o=i||"";return a?t.jsx(Ee,{title:n("global.linkContacts"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[o&&t.jsx(ca,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:o||"-"})]})}):t.jsx(Ee,{title:n("global.linkContacts"),children:t.jsx(r.TextField,{fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:o,onChange:l=>s(l.target.value),InputProps:{startAdornment:t.jsx(ca,{sx:{mr:1,opacity:.5},fontSize:"small"})}})})},ml=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:o,handleEndEvent:l,dialogType:d,handleCreateTask:u,handleSaveUpdatedTask:h,selectedTask:f,handleToggleTaskCompleted:y}=c.useContext(Ot),{t:m}=ie.useTranslation(),g=d==="event",b=!1,v=!1,x=!1,I=()=>{g?n():u()},C=(()=>{if(s==="view")return i;if(s==="edit")return g?()=>o?.():()=>h?.();if(s==="create")return I})(),j=m(s==="view"?g?"global.editEvent":"global.editTask":s==="edit"?g?"global.saveEvent":"global.saveTask":g?"global.createEvent":"global.createTask"),S=g?b:x,R=e,F=!g&&s==="view",U=f?.isCompleted||!1;return F?t.jsx(r.DialogActions,{children:t.jsx($e.LoadingButton,{startIcon:t.jsx(ve.CheckCircleOutline,{}),size:"small",loading:x,disabled:x,onClick:y,variant:"contained",color:U?"inherit":"primary",children:U?m("global.markAsIncomplete","Marcar como incompleta"):m("global.markAsCompleted","Marcar como completada")})}):t.jsxs(r.DialogActions,{children:[t.jsx(r.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:m("global.cancel")}),g&&(s==="edit"||s==="view")&&t.jsx($e.LoadingButton,{startIcon:t.jsx(ve.EventAvailable,{}),size:"small",disabled:e,loading:v,onClick:l,variant:"contained",children:m("global.finalizeEvent")}),t.jsx($e.LoadingButton,{startIcon:t.jsx(ve.EditCalendar,{}),size:"small",loading:S,disabled:R,onClick:C,variant:"contained",children:j})]})},an={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},hl=({value:e,onChange:a,labels:n})=>t.jsxs(r.Box,{sx:{display:"flex",gap:1},children:[t.jsx(r.Button,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...an},children:n.event}),t.jsx(r.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...an},color:"secondary",children:n.task})]}),gl="DD/MM/YYYY",yl="HH:mm",xl=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const{t:o}=ie.useTranslation(),l=u=>{if(!u)return;const h=u.hour(e.hour()).minute(e.minute());a(h)},d=u=>{if(!u)return;const h=e.hour(u.hour()).minute(u.minute());a(h)};return n?t.jsxs(ft,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"body1",sx:{mb:1},children:e.format(gl)}),t.jsx(r.Typography,{variant:"body1",children:e.format(yl)})]})]}):t.jsxs(ft,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(_t,{children:t.jsxs(ke.LocalizationProvider,{dateAdapter:ia.AdapterDayjs,children:[t.jsx(ke.DatePicker,{disabled:n,value:e,onChange:l,slotProps:{textField:()=>({label:o("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:H()}),t.jsx(Wt,{variant:"body1",children:"_"}),t.jsx(ke.TimePicker,{disabled:n,value:e,onChange:d,ampm:!1,slotProps:{textField:()=>({label:o("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(r.Fade,{in:s,children:t.jsx(r.Typography,{color:"red",variant:"caption",children:o("conversations.sidebar.events.errorDate")})})]})},nn=({disabled:e,calendars:a,value:n,onChange:s})=>{const{t:i}=ie.useTranslation(),o=c.useMemo(()=>a??[],[a]),l=c.useMemo(()=>o.find(d=>d.id===n)??null,[o,n]);return e?t.jsx(Ee,{title:i("global.calendar"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[l&&t.jsx(Yn,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:l?.title||"-"})]})}):t.jsx(Ee,{title:i("global.calendar"),children:t.jsx(r.Autocomplete,{disabled:e,size:"small",fullWidth:!0,options:o,value:l,onChange:(d,u)=>s(u?.id??""),getOptionLabel:d=>d?.title??"",isOptionEqualToValue:(d,u)=>d.id===u.id,slotProps:{paper:{sx:{backgroundColor:d=>d.palette.background.panel}}},renderInput:d=>t.jsx(r.TextField,{...d,placeholder:i("global.selectCalendar")})})})},fl=({checked:e,onChange:a,disabled:n})=>{const{t:s}=ie.useTranslation();return t.jsx(r.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(r.FormControlLabel,{control:t.jsx(r.Checkbox,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:s("global.allDay","Todo el d\xEDa")})})},bl=({colorField:e,disabled:a,onColorChange:n})=>{const{t:s}=ie.useTranslation(),i=e.attributes.value||"#1976d2",o=(d=>{if(d.startsWith("#"))return d;const u=d.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(u&&u[1]&&u[2]&&u[3]){const h=parseInt(u[1]),f=parseInt(u[2]),y=parseInt(u[3]),m=g=>{const b=g.toString(16);return b.length===1?"0"+b:b};return`#${m(h)}${m(f)}${m(y)}`}return"#1976d2"})(i),l=d=>{const u=d.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(Ee,{title:s("global.color","Color"),children:t.jsxs(r.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(r.Box,{sx:{width:40,height:40,backgroundColor:o,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(r.Typography,{variant:"body2",sx:{color:"text.secondary"},children:o})]})}):t.jsx(Ee,{title:s("global.color","Color"),children:t.jsx(r.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:o,onChange:l,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},sn=[{value:"",label:"global.noRepeat"},{value:"FREQ=DAILY",label:"global.everyDay"},{value:"FREQ=WEEKLY",label:"global.everyWeek"},{value:"FREQ=MONTHLY",label:"global.everyMonth"},{value:"FREQ=YEARLY",label:"global.everyYear"},{value:"FREQ=DAILY;INTERVAL=2",label:"global.everyTwoDays"},{value:"FREQ=WEEKLY;INTERVAL=2",label:"global.everyTwoWeeks"},{value:"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR",label:"global.everyWeekday"}],vl=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const{t:i}=ie.useTranslation(),o=h=>{a(h.target.value)},l=c.useMemo(()=>sn.map(h=>t.jsx(r.MenuItem,{value:h.value,children:i(h.label,h.label)},h.value)),[i]),d=c.useMemo(()=>{const h=sn.find(f=>f.value===e);return h?i(h.label,h.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(At,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body2",children:d})]}):t.jsx(Ee,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(At,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:d})]})});const u=t.jsx(r.Select,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:o,startAdornment:t.jsx(At,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:h=>h.palette.background.panel}}},children:l});return s?u:t.jsx(Ee,{title:i("global.recurrence","Recurrencia"),children:u})},Cl=()=>{const{t:e}=ie.useTranslation(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:l,handleDuplicateItem:d,dialogType:u,setDialogType:h,selectedTask:f,taskCalendarId:y,setTaskCalendarId:m,eventCalendarId:g,setEventCalendarId:b,myCalendars:v,handleDeleteTask:x,userManuallyChangedColor:I,setUserManuallyChangedColor:C,eventDialog:{open:j,handleClose:S}}=c.useContext(Ot);if(!a||!n)return t.jsx(r.Dialog,{sx:{"& .MuiDialog-paper":{width:"50%",backgroundColor:w=>w.palette.background.panel}},maxWidth:!1,open:j,onClose:S});const R=u==="event",F=R?a:n,U=R?i:f,T=c.useRef(null),$=c.useRef(null);c.useEffect(()=>{j||(T.current=null,$.current=null)},[j]);const{titleField:L,descriptionField:O,date:B,linkContact:_}=F,E=R?a.notifications:null,Y=R?{locationField:a.locationField,colorField:a.colorField,allDay:a.allDay,setAllDay:a.setAllDay,isPrivate:a.isPrivate,setIsPrivate:a.setIsPrivate,recurrenceRule:a.recurrenceRule,setRecurrenceRule:a.setRecurrenceRule}:null,G=e(s==="edit"?R?"global.editEvent":"global.editTask":s==="create"?R?"global.createEvent":"global.createTask":R?"global.showEvent":"global.showTask"),M=(s==="edit"||s==="view")&&!!U?.id,k=s==="view";c.useEffect(()=>{if(s!=="create"||u!=="event"||!j||I||!g)return;const w=v.find(P=>P.id===g);w?.color&&a.colorField.actions.changeValue(w.color)},[s,u,j,g,I,v]),c.useEffect(()=>{if(!j||u!=="event"||s!=="edit")return;const w=B.state.selectedStartDate.isAfter(B.state.selectedEndDate)&&!B.state.selectedStartDate.isSame(B.state.selectedEndDate,"minute");$.current!==w&&($.current=w,B.action.setError(w))},[j,u,s,B.state.selectedStartDate.valueOf(),B.state.selectedEndDate.valueOf()]),c.useEffect(()=>{if(!j||s==="create")return;const w=U?.relatedContact;w?.id&&T.current!==w.id&&(T.current=w.id,_.action.handleSelectContact({id:w.id,name:w.name}))},[j,s,U?.id]);const A=w=>{if(w==="task"){const P=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(P),n.date.action.setSelectedEndDate(P),n.date.action.setError(!1),a.date.action.setError(!1)}else{const P=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(P),a.date.action.setError(!1),n.date.action.setError(!1)}h(w)},z=w=>{a.colorField.actions.changeValue(w),C(!0)};return t.jsxs(r.Dialog,{sx:{"& .MuiDialog-paper":{width:"50%",backgroundColor:w=>w.palette.background.panel}},maxWidth:!1,open:j,onClose:S,children:[t.jsxs(r.DialogContent,{sx:{display:"flex",flexDirection:"column",gap:2,pt:2},children:[t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:s==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[s!=="create"&&t.jsx(r.Typography,{sx:{fontWeight:600},children:G}),t.jsxs(r.Box,{sx:{display:"flex",gap:1},children:[k&&t.jsx(r.IconButton,{size:"small",onClick:l,"aria-label":e("global.edit","Editar"),children:t.jsx(Ke,{fontSize:"small"})}),M&&t.jsx(r.IconButton,{size:"small",onClick:R?o:x,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(ct,{fontSize:"small"})}),k&&t.jsx(r.IconButton,{size:"small",onClick:d,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Gn,{fontSize:"small"})}),k&&t.jsx(r.IconButton,{size:"small",onClick:S,"aria-label":e("global.close","Cerrar"),children:t.jsx(Dt,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Vt,{disabled:!1,titleField:L,variantMode:"inline"}),!L.attributes.value&&t.jsx(hl,{value:u,onChange:A,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Vt,{disabled:s==="view",titleField:L}),t.jsx(Xa,{disabled:s==="view",descriptionField:O}),t.jsx(nn,{disabled:s==="view",calendars:v,value:g,onChange:w=>b(w)}),t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:w=>w.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsxs(r.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(da,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(Ki,{disabled:s==="view",selectedStartDate:B.state.selectedStartDate,selectedEndDate:B.state.selectedEndDate,handleSelectStart:B.action.handleSelect(B.action.setSelectedStartDate),handleSelectEnd:B.action.handleSelect(B.action.setSelectedEndDate),isError:B.state.error,hideLabel:!0,allDay:Y?.allDay??!1})})]}),Y&&t.jsxs(r.Box,{sx:{display:"flex",gap:2,alignItems:"center",pl:5},children:[t.jsx(fl,{checked:Y.allDay,onChange:Y.setAllDay,disabled:s==="view"}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(vl,{disabled:s==="view",value:Y.recurrenceRule,onChange:Y.setRecurrenceRule,hideLabel:!0})})]})]}),Y&&t.jsx(t.Fragment,{children:t.jsx(bl,{disabled:s==="view",colorField:Y.colorField,onColorChange:s==="create"?z:void 0})}),E&&t.jsx(ll,{disabled:s==="view",notificationsField:E}),t.jsx(tn,{linkContactsHandler:_,disabled:s==="view"}),Y&&t.jsx(pl,{disabled:s==="view",locationField:Y.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Vt,{disabled:s==="view",titleField:L}),t.jsx(Xa,{disabled:s==="view",descriptionField:O}),t.jsx(nn,{disabled:s==="view",calendars:v,value:y,onChange:w=>m(w)}),t.jsx(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:w=>w.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(r.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(da,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(xl,{disabled:s==="view",selectedDateTime:B.state.selectedStartDate,handleSelect:w=>{B.action.setSelectedStartDate(w),B.action.setSelectedEndDate(w),B.action.setError(!1)},isError:B.state.error,hideLabel:!0})})]})}),t.jsx(tn,{linkContactsHandler:_,disabled:s==="view"})]})]}),t.jsx(ml,{isFinalized:i?.finalized})]})},jl=e=>{const{open:a,onClose:n,baseUrl:s,spaceId:i,language:o="en",mode:l="create",type:d="event",calendars:u=[],eventCalendarId:h="",taskCalendarId:f="",selectedEvent:y=null,selectedTask:m=null,onCreateEvent:g,onUpdateEvent:b,onDeleteEvent:v,onCreateTask:x,onUpdateTask:I,onDeleteTask:C,onDuplicate:j,onEdit:S,onTypeChange:R,onEventCalendarChange:F,onTaskCalendarChange:U}=e,{t:T,i18n:$}=ie.useTranslation();c.useEffect(()=>{o&&$.changeLanguage(o)},[o,$]);const L=c.useMemo(()=>!s||!i?null:{baseUrl:s,spaceId:i},[s,i]),[O,B]=c.useState(!1),[_,E]=c.useState({open:!1,message:"",severity:"info"}),Y=qa(),G=qa(),M=Pi(y??void 0),k=qi(m??void 0),A=Li(),z=Ti([],[]),w=_i([]),P=c.useCallback(()=>{n()},[n]),W=c.useCallback(()=>{E(ne=>({...ne,open:!1}))},[]),J=c.useCallback(ne=>{R?.(ne)},[R]),ae=c.useCallback(ne=>{F?.(ne)},[F]),pe=c.useCallback(ne=>{U?.(ne)},[U]),ye=c.useCallback(async ne=>{if(!g)return;const be=ne||M.create();E({open:!0,message:T("global.savingChanges","Guardando..."),severity:"info"});try{await g(be),E({open:!0,message:T("global.changesSaved","Guardado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al guardar"),severity:"error"})}},[g,M,T,P]),xe=c.useCallback(async()=>{if(!b||!y?.id)return;const ne=M.create();E({open:!0,message:T("global.savingChanges","Guardando..."),severity:"info"});try{await b(y.id,ne),E({open:!0,message:T("global.changesSaved","Guardado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al guardar"),severity:"error"})}},[b,y,M,T,P]),q=c.useCallback(async()=>{if(!(!v||!y?.id))try{await v(y.id),E({open:!0,message:T("global.changesSaved","Eliminado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al eliminar"),severity:"error"})}},[v,y,T,P]),Ie=c.useCallback(async ne=>{if(!x)return;const be=ne||k.create();E({open:!0,message:T("global.savingChanges","Guardando..."),severity:"info"});try{await x(be),E({open:!0,message:T("global.changesSaved","Guardado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al guardar"),severity:"error"})}},[x,k,T,P]),te=c.useCallback(async()=>{if(!I||!m?.id)return;const ne=k.create();E({open:!0,message:T("global.savingChanges","Guardando..."),severity:"info"});try{await I(m.id,ne),E({open:!0,message:T("global.changesSaved","Guardado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al guardar"),severity:"error"})}},[I,m,k,T,P]),de=c.useCallback(async()=>{if(!(!C||!m?.id))try{await C(m.id),E({open:!0,message:T("global.changesSaved","Eliminado"),severity:"success"}),P()}catch{E({open:!0,message:T("global.errorSavingChanges","Error al eliminar"),severity:"error"})}},[C,m,T,P]),oe=c.useCallback(()=>{S?.()},[S]),De=c.useCallback(()=>{j?.()},[j]),V=c.useMemo(()=>({eventDialog:{open:a,handleOpen:Y.handleOpen,handleClose:P},createCalendarDialog:G,event:M,events:z,calendar:A,dialogMode:l,handleCreateEvent:ye,handleSelectEvent:()=>{},handleOpenEventCreate:()=>{},handleStartEditingEvent:oe,handleSaveUpdatedEvent:xe,handleEndEvent:()=>{},handleDeleteEvent:q,handleResizeEvent:()=>{},selectedEvent:y,savingSnackbar:_,handleCloseSnackbar:W,dialogType:d,setDialogType:J,handleOpenTaskCreate:()=>{},handleOpenCreateFromSlot:()=>{},handleCloseCreateCalendarDialog:()=>{},calendarDialogMode:"create",editingCalendar:null,handleOpenCreateCalendarDialog:()=>{},handleOpenEditCalendarDialog:()=>{},handleSubmitCalendar:async()=>{},tasks:w,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:Ie,task:k,selectedTask:m,taskCalendarId:f,setTaskCalendarId:pe,eventCalendarId:h,setEventCalendarId:ae,userManuallyChangedColor:O,setUserManuallyChangedColor:B,myCalendars:u,otherCalendars:[],handleSaveUpdatedTask:te,handleDeleteTask:de,handleToggleTaskCompleted:()=>{},handleDuplicateItem:De,calendarView:"month",setCalendarView:()=>{},calendarDate:new Date,setCalendarDate:()=>{},navigateToDate:()=>{},confirmDeleteDialog:{open:!1,handleClose:()=>{},itemType:"event"},handleConfirmDelete:()=>{},deleteRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmDeleteRecurring:()=>{},editRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmEditRecurring:()=>{}}),[a,Y.handleOpen,P,G,M,z,A,l,ye,oe,xe,q,y,_,W,d,J,w,Ie,k,m,f,pe,h,ae,O,B,u,te,de,De]);return a?t.jsx(wi,{value:L,children:t.jsxs(Ot.Provider,{value:V,children:[t.jsx(Cl,{}),t.jsx(r.Snackbar,{open:_.open,autoHideDuration:3e3,onClose:W,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(r.Alert,{onClose:W,severity:_.severity,sx:{width:"100%"},children:_.message})})]})}):null},Sl=e=>t.jsx(ie.I18nextProvider,{i18n:tt,children:t.jsx(jl,{...e})});exports.ContactInfoPopup=ya,exports.EditContactModal=ji,exports.EventsDialog=Sl,exports.i18n=tt;
20
+ `,Ol=r.styled(r.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Wl=({notificationsField:e,disabled:a})=>{const n=De(),{addNotification:s,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:c,handleTimePeriodChange:d}=e.action,u=e.notifications.length>0;return t.jsxs(zl,{children:[t.jsxs(Ol,{children:[n("calendarView.reminders.title"),!a&&t.jsx(r.Button,{disabled:a,startIcon:t.jsx(Ua,{}),size:"small",variant:"outlined",onClick:s,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(r.Box,{sx:{pt:1,px:.5},children:u?e.notifications.map(h=>t.jsx(Ll,{data:h,deleteHandler:i,sendToContactHandler:o,timePeriodHandler:d,timeValueHandler:c},h.id)):a?t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Pn=({descriptionField:e,disabled:a})=>{const n=De(),{value:s,type:i,...o}=e.attributes,c=s||"";return a?t.jsx(Ne,{title:n("global.description"),children:t.jsx(r.Typography,{variant:"body1",sx:{py:.5,whiteSpace:"pre-wrap"},children:c||"-"})}):t.jsx(Ne,{title:n("global.description"),children:t.jsx(r.TextField,{...o,value:c,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},_l=({onPlaceSelected:e})=>{const a=l.useRef(null),n=l.useRef(null),s=l.useRef(null),i=l.useRef(null),[o,c]=l.useState([]),[d,u]=l.useState(!1),h=De();l.useEffect(()=>{if(!a.current)return;const g=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const f=document.createElement("div");return s.current=new window.google.maps.places.PlacesService(f),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!g()){const f=setTimeout(()=>{g()},500);return()=>clearTimeout(f)}},[]);const y=g=>{const f=g.target.value;if(!f||f.length<3||!n.current){c([]),u(!1);return}n.current.getPlacePredictions({input:f,componentRestrictions:{country:"ar"},types:["geocode"],sessionToken:i.current||void 0},(v,j)=>{j===window.google.maps.places.PlacesServiceStatus.OK&&v?(c(v),u(!0)):(c([]),u(!1))})},m=(g,f)=>{s.current&&s.current.getDetails({placeId:g,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(v,j)=>{if(j===window.google.maps.places.PlacesServiceStatus.OK&&v?.geometry?.location){const x=v.geometry.location.lat(),w=v.geometry.location.lng(),C=v.formatted_address??f;e({lat:x,lng:w},C),a.current&&(a.current.value=C),u(!1),c([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const g=f=>{a.current&&!a.current.contains(f.target)&&u(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]),t.jsxs("div",{style:{position:"absolute",width:"100%",maxWidth:300,margin:"0 auto",zIndex:13e3,top:"10px",left:"10px"},children:[t.jsx("input",{ref:a,placeholder:h("global.searchLocation","Buscar en Google Maps"),onChange:y,onFocus:()=>o.length>0&&u(!0),style:{width:"100%",padding:"12px 16px 5px",borderRadius:"24px",border:"1px solid #ccc",backgroundColor:"white",fontSize:"15px",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",outline:"none",position:"relative",zIndex:13e3}}),d&&o.length>0&&t.jsx("div",{style:{position:"absolute",top:"100%",left:0,right:0,backgroundColor:"white",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",marginTop:"4px",maxHeight:"300px",overflowY:"auto",zIndex:13001},children:o.map(g=>t.jsxs("div",{onClick:()=>m(g.place_id,g.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:f=>{f.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:f=>{f.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:g.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:g.structured_formatting.secondary_text})]},g.place_id))})]})},Un="AIzaSyCWZRxRnP9oR-kezqie9-r9hiMEjAyaWTI",Mn=["places"],ka={apiKey:Un,libraries:Mn,loading:"async"},Zt=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Rn=(e=Un,a=Mn)=>{if(Zt())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(s=>{s.parentNode?.removeChild(s)})};return document.getElementById("google-maps-script")?new Promise((s,i)=>{let o=0;const c=100,d=setInterval(()=>{o++,Zt()?(clearInterval(d),s()):o>=c&&(clearInterval(d),n(),Rn(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{Zt()?s():setTimeout(()=>{Zt()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),s()},500)};const c=document.createElement("script");c.id="google-maps-script",c.type="text/javascript";const d=Array.isArray(a)?a.join(","):a;c.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${d}&callback=${o}&loading=async`,c.async=!0,c.defer=!0,c.onerror=()=>{delete window[o],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(c)}catch(o){i(o)}})},Ft=(e,a,n=18,s=400,i=400,o="red",c=ka.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${s}x${i}&markers=color:${o}%7Clabel:A%7C${e},${a}&key=${c}`,Vl=({onLocationChange:e,initialLocation:a})=>{const n=l.useRef(null),s=l.useRef(null),i=l.useRef(null),o=l.useRef(null),[c,d]=l.useState(!0),[u,h]=l.useState(!1),[y,m]=l.useState(a||null),g=18,f=l.useCallback(C=>{m(C),e(C)},[e]);l.useEffect(()=>{let C=!0;(async()=>{try{if(await Rn(ka.apiKey,ka.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),d(!1);return}window.google?.maps?.Geocoder&&(o.current=new window.google.maps.Geocoder),d(!1),setTimeout(()=>{C&&v()},100)}catch(S){console.error("Error al cargar Google Maps:",S),d(!1)}})(),a||navigator.geolocation.getCurrentPosition(S=>{const I=S.coords.latitude,O=S.coords.longitude,k=I.toString(),E=O.toString(),U=Ft(I,O,g);f({lat:k,lng:E,title:"",description:"",url:U})},S=>{console.error("Error getting location:",S);const I=-34.6037,O=-58.3816;f({lat:I.toString(),lng:O.toString(),title:"",description:"",url:Ft(I,O,g)})})},[a,f,g]),l.useEffect(()=>{u&&y&&x()},[u,y]),l.useEffect(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const v=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:g,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};s.current=new window.google.maps.Map(n.current,C),s.current.addListener("click",S=>{j(S)}),h(!0)}catch(C){console.error("Error inicializando mapa:",C)}},j=C=>{if(!C.latLng||!o.current)return;const S={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(S):s.current&&(i.current=new window.google.maps.Marker({position:S,map:s.current})),o.current.geocode({location:S},(I,O)=>{if(O==="OK"&&I&&I[0]){const k=I[0].formatted_address,E=Ft(S.lat,S.lng,g);f({lat:S.lat.toString(),lng:S.lng.toString(),title:k||"",description:"",url:E})}else{const k=Ft(S.lat,S.lng,g);f({lat:S.lat.toString(),lng:S.lng.toString(),title:`${S.lat.toFixed(6)}, ${S.lng.toFixed(6)}`,description:"",url:k})}})},x=()=>{if(!(!s.current||!y))try{const C={lat:parseFloat(y.lat),lng:parseFloat(y.lng)};s.current.setCenter(C),i.current?i.current.setPosition(C):i.current=new window.google.maps.Marker({position:C,map:s.current})}catch(C){console.error("Error actualizando mapa:",C)}},w=(C,S)=>{const I=Ft(C.lat,C.lng,g);f({lat:C.lat.toString(),lng:C.lng.toString(),title:S||"",description:"",url:I})};return!y||c?t.jsx(r.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(r.CircularProgress,{})}):t.jsxs(r.Box,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(_l,{onPlaceSelected:w}),t.jsx("div",{style:{height:"100%"},ref:n})]})},ql=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const i=De(),[o,c]=l.useState(null),d=l.useRef(null);l.useEffect(()=>{e||c(null)},[e]),l.useEffect(()=>{d.current&&o&&(d.current.scrollTop=d.current.scrollHeight/4)},[o]);const u=l.useCallback(y=>{c(y)},[]),h=l.useCallback(()=>{o&&(n(o.title||`${o.lat}, ${o.lng}`,o.lat,o.lng),a())},[o,n,a]);return t.jsxs(r.Dialog,{open:e,onClose:a,maxWidth:"md",fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,PaperProps:{sx:{maxHeight:"80vh",height:"80vh"}},sx:{"& .MuiDialog-paper":{backgroundColor:y=>y.palette.background.panel}},children:[t.jsxs(r.Box,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(r.Typography,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(r.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(Fa,{fontSize:"small"})})]}),t.jsx(r.DialogContent,{sx:{p:0,display:"flex",flexDirection:"column",height:"100%"},children:t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflow:"hidden",width:"100%",height:"100%",position:"relative"},children:[t.jsx(r.Box,{ref:d,sx:{width:"100%",flex:1,overflow:"auto",zIndex:1},children:t.jsx(Vl,{onLocationChange:u,initialLocation:void 0})}),t.jsx(r.Divider,{sx:{width:"100%",padding:0}}),t.jsxs(r.Box,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(r.Button,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(r.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:h,disabled:!o,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},Yl=({locationField:e,disabled:a})=>{const n=De(),[s,i]=l.useState(!1),{value:o,type:c,...d}=e.attributes,u=o||"",h=()=>{a||i(!0)},y=()=>{i(!1)},m=g=>{e.actions.changeValue(g)};return a?t.jsx(r.Box,{children:t.jsx(Ne,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Ra,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:u||"-"})]})})}):t.jsxs(r.Box,{children:[t.jsx(Ne,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(r.TextField,{...d,value:u,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:h,InputProps:{startAdornment:t.jsx(Ra,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(ql,{open:s,onClose:y,onSelectLocation:m,initialAddress:u})]})},Gl=({handleScroll:e,contactList:a,handleSelectContact:n,contactSelectedId:s,search:i})=>{const o=De(),c=r.useTheme();return t.jsx(r.List,{sx:{width:"100%",height:"100%",overflow:"auto",border:`1px solid ${c.palette.divider}`,borderTop:"none",backgroundColor:c.palette.background.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12))"},onScroll:e,children:i&&a?.map(d=>t.jsxs(r.ListItemButton,{sx:{width:"100%"},onClick:()=>n(d),selected:s===d.id,children:[t.jsx(r.ListItemIcon,{children:t.jsx(Te.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(r.ListItemText,{primary:o(d.name),secondary:d?.phone})]},d.id))})};async function Hl({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=kn(e,a),o=ke(i.CONTACTS,"/Search");return Fe({url:o,method:"POST",body:n,signal:s})}const Kl={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function Jl(e){const a=l.useRef(null),n=l.useRef(null),[s,i]=l.useState([]),[o,c]=l.useState(!1),[d,u]=l.useState(!1),[h,y]=l.useState(!1),[m,g]=l.useState(!1),[f,v]=l.useState(1),[j,x]=l.useState(!1),w=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),c(!1),x(!1),v(1),g(!1),i([])},[]),C=k=>k.filter(E=>!!E?.id),S=l.useCallback(async({query:k,page:E})=>{if(!e)return;n.current?.abort();const U=new AbortController;n.current=U,u(!0);try{const $={...Kl,currentPage:E,filter:[{value:k,column:"name",condition:""}]},q=await Hl({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:$,signal:U.signal});if(U.signal.aborted)return;const z=C(q?.contactos??[]);c(!0);const _=q?.paginacion?.total??0;i(H=>{const B=E===1?z:(()=>{const N=new Map;for(const J of H)N.set(J.id,J);for(const J of z)N.set(J.id,J);return Array.from(N.values())})();return _&&B.length>=_&&x(!0),B})}finally{u(!1),y(!1),g(!1)}},[e]),I=l.useCallback(k=>{w(),k&&(a.current&&(clearTimeout(a.current),a.current=null),y(!0),a.current=setTimeout(()=>{S({query:k,page:1})},800))},[S,w]),O=l.useCallback((k,E)=>{const U=k.target;if(!(U.scrollHeight-U.scrollTop-U.clientHeight<1)||j||d||!E)return;const $=f+1;g(!0),v($),S({query:E,page:$})},[j,d,f,S]);return{contactList:s,hasSearched:o,isLoading:d,isLoadingTimer:h,isNextPage:m,handleQueryChanged:I,handleScroll:O,resetSearchState:w}}const Nn=({linkContactsHandler:e,disabled:a=!1})=>{const n=De(),s=jn(),i=l.useRef(null),[o,c]=l.useState(null),{action:{handleSearchChange:d,handleSelectContact:u},state:{search:h,contactSelectedId:y}}=e,{contactList:m,hasSearched:g,isLoading:f,isLoadingTimer:v,handleQueryChanged:j,handleScroll:x,resetSearchState:w}=Jl(s),C=h||"",S=!!o&&C.length>0&&!a;l.useEffect(()=>{C&&!y?j(C):C||w()},[C,y,j,w]);const I=E=>{d(E),E&&!o?c(i.current):E||c(null)},O=E=>{u(E),c(null),w()},k=()=>{c(null)};return a?t.jsx(Ne,{title:n("global.linkContacts"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[C&&t.jsx(Na,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:C||"-"})]})}):t.jsx(r.ClickAwayListener,{onClickAway:k,children:t.jsxs(r.Box,{children:[t.jsx(Ne,{title:n("global.linkContacts"),children:t.jsx(r.TextField,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:C,onChange:E=>I(E.target.value),onFocus:()=>{C&&c(i.current)},InputProps:{startAdornment:t.jsx(Na,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:f||v?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null}})}),t.jsx(r.Popper,{open:S,anchorEl:o,placement:"bottom-start",style:{width:o?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(r.Paper,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[g&&m.length>0&&t.jsx(Gl,{handleScroll:E=>x(E,C),contactList:m,handleSelectContact:O,contactSelectedId:y,search:C}),g&&m.length===0&&t.jsx(r.Box,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(r.Typography,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},Xl=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:o,handleEndEvent:c,dialogType:d,handleCreateTask:u,handleSaveUpdatedTask:h,selectedTask:y,handleToggleTaskCompleted:m}=l.useContext(wa),g=De(),f=d==="event",v=!1,j=!1,x=!1,w=()=>{f?n():u()},C=(()=>{if(s==="view")return i;if(s==="edit")return f?()=>o?.():()=>h?.();if(s==="create")return w})(),S=g(s==="view"?f?"global.editEvent":"global.editTask":s==="edit"?f?"global.saveEvent":"global.saveTask":f?"global.createEvent":"global.createTask"),I=f?v:x,O=e,k=!f&&s==="view",E=y?.isCompleted||!1;return k?t.jsx(r.DialogActions,{children:t.jsx(Ve.LoadingButton,{startIcon:t.jsx(Te.CheckCircleOutline,{}),size:"small",loading:x,disabled:x,onClick:m,variant:"contained",color:E?"inherit":"primary",children:E?g("global.markAsIncomplete","Marcar como incompleta"):g("global.markAsCompleted","Marcar como completada")})}):t.jsxs(r.DialogActions,{children:[t.jsx(r.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:g("global.cancel")}),f&&(s==="edit"||s==="view")&&t.jsx(Ve.LoadingButton,{startIcon:t.jsx(Te.EventAvailable,{}),size:"small",disabled:e,loading:j,onClick:c,variant:"contained",children:g("global.finalizeEvent")}),t.jsx(Ve.LoadingButton,{startIcon:t.jsx(Te.EditCalendar,{}),size:"small",loading:I,disabled:O,onClick:C,variant:"contained",children:S})]})},Ln={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},Ql=({value:e,onChange:a,labels:n})=>t.jsxs(r.Box,{sx:{display:"flex",gap:1},children:[t.jsx(r.Button,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...Ln},children:n.event}),t.jsx(r.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Ln},color:"secondary",children:n.task})]}),Zl="DD/MM/YYYY",ec="HH:mm",tc=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const o=De(),c=u=>{if(!u)return;const h=u.hour(e.hour()).minute(e.minute());a(h)},d=u=>{if(!u)return;const h=e.hour(u.hour()).minute(u.minute());a(h)};return n?t.jsxs(Xt,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"body1",sx:{mb:1},children:e.format(Zl)}),t.jsx(r.Typography,{variant:"body1",children:e.format(ec)})]})]}):t.jsxs(Xt,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(Ta,{children:t.jsxs(ze.LocalizationProvider,{dateAdapter:Ma.AdapterDayjs,children:[t.jsx(ze.DatePicker,{disabled:n,value:e,onChange:c,slotProps:{textField:()=>({label:o("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:X()}),t.jsx(Ea,{variant:"body1",children:"_"}),t.jsx(ze.TimePicker,{disabled:n,value:e,onChange:d,ampm:!1,slotProps:{textField:()=>({label:o("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(r.Fade,{in:s,children:t.jsx(r.Typography,{color:"red",variant:"caption",children:o("conversations.sidebar.events.errorDate")})})]})},zn=({disabled:e,calendars:a,value:n,onChange:s})=>{const i=De(),o=l.useMemo(()=>a??[],[a]),c=l.useMemo(()=>o.find(d=>d.id===n)??null,[o,n]);return e?t.jsx(Ne,{title:i("global.calendar"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx(is,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:c?.title||"-"})]})}):t.jsx(Ne,{title:i("global.calendar"),children:t.jsx(r.Autocomplete,{disabled:e,size:"small",fullWidth:!0,options:o,value:c,onChange:(d,u)=>s(u?.id??""),getOptionLabel:d=>d?.title??"",isOptionEqualToValue:(d,u)=>d.id===u.id,slotProps:{paper:{sx:{backgroundColor:d=>d.palette.background.panel}}},renderInput:d=>t.jsx(r.TextField,{...d,placeholder:i("global.selectCalendar")})})})},ac=({checked:e,onChange:a,disabled:n})=>{const s=De();return t.jsx(r.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(r.FormControlLabel,{control:t.jsx(r.Checkbox,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:s("global.allDay","Todo el d\xEDa")})})},nc=({colorField:e,disabled:a,onColorChange:n})=>{const s=De(),i=e.attributes.value||"#1976d2",o=(d=>{if(d.startsWith("#"))return d;const u=d.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(u&&u[1]&&u[2]&&u[3]){const h=parseInt(u[1]),y=parseInt(u[2]),m=parseInt(u[3]),g=f=>{const v=f.toString(16);return v.length===1?"0"+v:v};return`#${g(h)}${g(y)}${g(m)}`}return"#1976d2"})(i),c=d=>{const u=d.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(Ne,{title:s("global.color","Color"),children:t.jsxs(r.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(r.Box,{sx:{width:40,height:40,backgroundColor:o,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(r.Typography,{variant:"body2",sx:{color:"text.secondary"},children:o})]})}):t.jsx(Ne,{title:s("global.color","Color"),children:t.jsx(r.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:o,onChange:c,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},On=[{value:"",label:"global.noRepeat"},{value:"FREQ=DAILY",label:"global.everyDay"},{value:"FREQ=WEEKLY",label:"global.everyWeek"},{value:"FREQ=MONTHLY",label:"global.everyMonth"},{value:"FREQ=YEARLY",label:"global.everyYear"},{value:"FREQ=DAILY;INTERVAL=2",label:"global.everyTwoDays"},{value:"FREQ=WEEKLY;INTERVAL=2",label:"global.everyTwoWeeks"},{value:"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR",label:"global.everyWeekday"}],sc=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const i=De(),o=h=>{a(h.target.value)},c=l.useMemo(()=>On.map(h=>t.jsx(r.MenuItem,{value:h.value,children:i(h.label,h.label)},h.value)),[i]),d=l.useMemo(()=>{const h=On.find(y=>y.value===e);return h?i(h.label,h.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(pa,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body2",children:d})]}):t.jsx(Ne,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(pa,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",children:d})]})});const u=t.jsx(r.Select,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:o,startAdornment:t.jsx(pa,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:h=>h.palette.background.panel}}},children:c});return s?u:t.jsx(Ne,{title:i("global.recurrence","Recurrencia"),children:u})},rc=({open:e,onClose:a,onConfirm:n,itemTitle:s,itemType:i})=>{const{t:o}=Le.useTranslation(),c=()=>{n(),a()},d=i==="event"?o("calendar.deleteEvent","Eliminar evento"):o("calendar.deleteTask","Eliminar tarea"),u=i==="event"?o("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):o("calendar.confirmDeleteTask","\xBFEst\xE1s seguro de que quer\xE9s eliminar esta tarea?");return t.jsxs(r.Dialog,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:h=>h.palette.background.panel}},children:[t.jsxs(r.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(ls,{color:"warning"}),d]}),t.jsxs(r.DialogContent,{children:[t.jsx(r.Typography,{variant:"body2",sx:{mb:2},children:u}),s&&t.jsx(r.Box,{sx:{p:1.5,bgcolor:"action.hover",borderRadius:1,borderLeft:3,borderColor:"warning.main"},children:t.jsxs(r.Typography,{variant:"body2",sx:{fontWeight:500},children:['"',s,'"']})})]}),t.jsxs(r.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(r.Button,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:o("global.cancel","Cancelar")}),t.jsx(r.Button,{onClick:c,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:o("global.delete","Eliminar")})]})]})},oc=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=Le.useTranslation(),[o,c]=l.useState("single"),d=()=>{n(o==="all"),a()},u=()=>{c("single"),a()};return t.jsxs(r.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:h=>h.palette.background.panel}},children:[t.jsx(r.DialogTitle,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(r.DialogContent,{children:[s&&t.jsxs(r.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(r.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(r.RadioGroup,{value:o,onChange:h=>c(h.target.value),children:[t.jsx(r.FormControlLabel,{value:"single",control:t.jsx(r.Radio,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(r.FormControlLabel,{value:"all",control:t.jsx(r.Radio,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(r.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(r.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(r.Button,{onClick:d,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},ic=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=Le.useTranslation(),[o,c]=l.useState("single"),d=()=>{n(o==="all"),a()},u=()=>{c("single"),a()};return t.jsxs(r.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:h=>h.palette.background.panel}},children:[t.jsx(r.DialogTitle,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(r.DialogContent,{children:[s&&t.jsxs(r.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(r.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(r.RadioGroup,{value:o,onChange:h=>c(h.target.value),children:[t.jsx(r.FormControlLabel,{value:"single",control:t.jsx(r.Radio,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(r.FormControlLabel,{value:"all",control:t.jsx(r.Radio,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(r.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(r.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(r.Button,{onClick:d,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},lc=()=>{const e=De(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:c,handleDuplicateItem:d,dialogType:u,setDialogType:h,selectedTask:y,taskCalendarId:m,setTaskCalendarId:g,eventCalendarId:f,setEventCalendarId:v,myCalendars:j,handleDeleteTask:x,userManuallyChangedColor:w,setUserManuallyChangedColor:C,eventDialog:{open:S,handleClose:I},confirmDeleteDialog:O,handleConfirmDelete:k,deleteRecurringDialog:E,handleConfirmDeleteRecurring:U,editRecurringDialog:$,handleConfirmEditRecurring:q}=l.useContext(wa);if(!a||!n)return t.jsx(r.Modal,{open:S,onClose:I,closeAfterTransition:!0,slots:{backdrop:r.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(r.Fade,{in:S,timeout:200,children:t.jsx(r.Box,{sx:{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"}})})});const z=u==="event",_=z?a:n,H=z?i:y,B=l.useRef(null),N=l.useRef(null);l.useEffect(()=>{S||(B.current=null,N.current=null)},[S]);const{titleField:J,descriptionField:L,date:T,linkContact:F}=_,V=z?a.notifications:null,P=z?{locationField:a.locationField,colorField:a.colorField,allDay:a.allDay,setAllDay:a.setAllDay,isPrivate:a.isPrivate,setIsPrivate:a.setIsPrivate,recurrenceRule:a.recurrenceRule,setRecurrenceRule:a.setRecurrenceRule}:null,Y=e(s==="edit"?z?"global.editEvent":"global.editTask":s==="create"?z?"global.createEvent":"global.createTask":z?"global.showEvent":"global.showTask"),K=(s==="edit"||s==="view")&&!!H?.id,te=s==="view";l.useEffect(()=>{if(s!=="create"||u!=="event"||!S||w||!f)return;const Z=j.find(me=>me.id===f);Z?.color&&a.colorField.actions.changeValue(Z.color)},[s,u,S,f,w,j]),l.useEffect(()=>{if(!S||u!=="event"||s!=="edit")return;const Z=T.state.selectedStartDate.isAfter(T.state.selectedEndDate)&&!T.state.selectedStartDate.isSame(T.state.selectedEndDate,"minute");N.current!==Z&&(N.current=Z,T.action.setError(Z))},[S,u,s,T.state.selectedStartDate.valueOf(),T.state.selectedEndDate.valueOf()]),l.useEffect(()=>{if(!S||s==="create")return;const Z=H?.relatedContact;Z?.id&&B.current!==Z.id&&(B.current=Z.id,F.action.handleSelectContact({id:Z.id,name:Z.name}))},[S,s,H?.id]);const ie=Z=>{if(Z==="task"){const me=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(me),n.date.action.setSelectedEndDate(me),n.date.action.setError(!1),a.date.action.setError(!1)}else{const me=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(me),a.date.action.setError(!1),n.date.action.setError(!1)}h(Z)},xe=Z=>{a.colorField.actions.changeValue(Z),C(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(r.Modal,{open:S,onClose:I,closeAfterTransition:!0,slots:{backdrop:r.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(r.Fade,{in:S,timeout:200,children:t.jsxs(r.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",maxHeight:"calc(100vh - 64px)",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:[t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",gap:2,p:3,pt:4,overflowY:"auto",flex:1},children:[t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",justifyContent:s==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[s!=="create"&&t.jsx(r.Typography,{sx:{fontWeight:600},children:Y}),t.jsxs(r.Box,{sx:{display:"flex",gap:1},children:[te&&t.jsx(r.IconButton,{size:"small",onClick:c,"aria-label":e("global.edit","Editar"),children:t.jsx(yt,{fontSize:"small"})}),K&&t.jsx(r.IconButton,{size:"small",onClick:z?o:x,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(Wt,{fontSize:"small"})}),te&&t.jsx(r.IconButton,{size:"small",onClick:d,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(cs,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Da,{disabled:!1,titleField:J,variantMode:"inline"}),!J.attributes.value&&t.jsx(Ql,{value:u,onChange:ie,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Da,{disabled:s==="view",titleField:J}),t.jsx(Pn,{disabled:s==="view",descriptionField:L}),t.jsx(zn,{disabled:s==="view",calendars:j,value:f,onChange:Z=>v(Z)}),t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,bgcolor:Z=>Z.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsx(r.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:t.jsx(r.Box,{sx:{flex:1},children:t.jsx(kl,{disabled:s==="view",selectedStartDate:T.state.selectedStartDate,selectedEndDate:T.state.selectedEndDate,handleSelectStart:T.action.handleSelect(T.action.setSelectedStartDate),handleSelectEnd:T.action.handleSelect(T.action.setSelectedEndDate),isError:T.state.error,hideLabel:!0,allDay:P?.allDay??!1})})}),P&&t.jsxs(r.Box,{sx:{display:"flex",gap:2,alignItems:"center",pl:5},children:[t.jsx(ac,{checked:P.allDay,onChange:P.setAllDay,disabled:s==="view"}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(sc,{disabled:s==="view",value:P.recurrenceRule,onChange:P.setRecurrenceRule,hideLabel:!0})})]})]}),P&&t.jsx(t.Fragment,{children:t.jsx(nc,{disabled:s==="view",colorField:P.colorField,onColorChange:s==="create"?xe:void 0})}),V&&t.jsx(Wl,{disabled:s==="view",notificationsField:V}),t.jsx(Nn,{linkContactsHandler:F,disabled:s==="view"}),P&&t.jsx(Yl,{disabled:s==="view",locationField:P.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Da,{disabled:s==="view",titleField:J}),t.jsx(Pn,{disabled:s==="view",descriptionField:L}),t.jsx(zn,{disabled:s==="view",calendars:j,value:m,onChange:Z=>g(Z)}),t.jsx(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:Z=>Z.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(r.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(ds,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(tc,{disabled:s==="view",selectedDateTime:T.state.selectedStartDate,handleSelect:Z=>{T.action.setSelectedStartDate(Z),T.action.setSelectedEndDate(Z),T.action.setError(!1)},isError:T.state.error,hideLabel:!0})})]})}),t.jsx(Nn,{linkContactsHandler:F,disabled:s==="view"})]})]}),t.jsx(r.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(Xl,{isFinalized:i?.finalized})})]})})}),t.jsx(rc,{open:O.open,onClose:O.handleClose,onConfirm:k,itemTitle:O.itemType==="event"?i?.title:y?.title,itemType:O.itemType}),t.jsx(oc,{open:E.open,onClose:E.handleClose,onConfirm:U,eventTitle:i?.title}),t.jsx(ic,{open:$.open,onClose:$.handleClose,onConfirm:q,eventTitle:i?.title})]})},cc=e=>{const{open:a,onClose:n,baseUrl:s,spaceId:i,language:o="en",mode:c="create",type:d="event",eventCalendarId:u,taskCalendarId:h,selectedEvent:y,selectedTask:m}=e,{i18n:g}=Le.useTranslation();l.useEffect(()=>{o&&g.changeLanguage(o)},[o,g]);const f={baseUrl:s,spaceId:i};return a?t.jsx(_i,{value:f,children:t.jsx(Dl,{externalOpen:a,externalOnClose:n,externalMode:c,externalType:d,externalEventCalendarId:u,externalTaskCalendarId:h,externalSelectedEvent:y,externalSelectedTask:m,children:t.jsx(lc,{})})}):null},dc=e=>t.jsx(Le.I18nextProvider,{i18n:jt,children:t.jsx(cc,{...e})});exports.ContactInfoPopup=Va,exports.EditContactModal=Wi,exports.EventsDialog=dc,exports.i18n=jt;
21
21
  //# sourceMappingURL=index.js.map