@trii/components 2.0.73 → 2.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -1,21 +1,21 @@
1
- "use strict";var l=require("react"),r=require("@mui/material"),$e=require("@mui/icons-material"),Gn=require("@mui/icons-material/ArrowForward"),Yn=require("@mui/icons-material/Message"),ne=require("@trii/types/dist/Contacts"),lt=require("moment"),He=require("react-i18next"),Kn=require("i18next"),za=require("@mui/icons-material/Close"),Ct=require("@mui/icons-material/Edit"),Jn=require("@mui/icons-material/Label"),Yt=require("@mui/icons-material/Delete"),Qn=require("@mui/icons-material/PhotoCamera"),xa=require("@mui/icons-material/ArrowBack"),ct=require("@mui/icons-material/Save"),Xn=require("@mui/material/Popper"),Ze=require("@mui/lab"),ht=require("@trii/types/dist/Common/Channels"),J=require("dayjs"),Zn=require("@mui/icons-material/AddLocationAlt"),jt=require("@mui/x-date-pickers/AdapterDayjs"),St=require("@mui/x-date-pickers/LocalizationProvider"),Oa=require("@mui/x-date-pickers"),wt=require("@mui/material/Box"),Wa=require("@mui/icons-material/Cancel"),es=require("@mui/x-date-pickers/TimePicker"),Ge=require("@mui/x-date-pickers-pro"),we=require("@mui/system"),ts=require("@mui/icons-material/LocalPhone"),_a=require("google-libphonenumber"),Va=require("@mui/icons-material/Add"),as=require("@mui/icons-material/MoreVert"),ns=require("@mui/icons-material/WhatsApp"),ss=require("@mui/icons-material/Mms"),rs=require("@mui/icons-material/CheckRounded"),os=require("@mui/icons-material/CloseRounded"),is=require("@mui/material/CircularProgress"),ls=require("@mui/material/InputAdornment"),cs=require("@mui/material/Typography"),ds=require("@mui/icons-material/Warning"),us=require("@mui/material/Chip"),Kt=require("@trii/types/dist/Calendar"),qa=require("@mui/x-date-pickers-pro/AdapterDayjs"),Ha=require("@mui/icons-material/Place"),ba=require("@mui/icons-material/Person"),ps=require("@mui/icons-material/CalendarMonth"),va=require("@mui/icons-material/Repeat"),hs=require("@mui/icons-material/WarningAmber"),ms=require("@mui/icons-material/ContentCopy"),gs=require("@mui/icons-material/AccessTime");function ys(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ca={exports:{}},It={},Ga;function fs(){if(Ga)return It;Ga=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,m){var x,y={},g=null,p=null;m!==void 0&&(g=""+m),u.key!==void 0&&(g=""+u.key),u.ref!==void 0&&(p=u.ref);for(x in u)s.call(u,x)&&!o.hasOwnProperty(x)&&(y[x]=u[x]);if(d&&d.defaultProps)for(x in u=d.defaultProps,u)y[x]===void 0&&(y[x]=u[x]);return{$$typeof:a,type:d,key:g,ref:p,props:y,_owner:i.current}}return It.Fragment=n,It.jsx=c,It.jsxs=c,It}var Tt={},Ya;function xs(){return Ya||(Ya=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"),m=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),b=Symbol.iterator,j="@@iterator";function v(h){if(h===null||typeof h!="object")return null;var D=b&&h[b]||h[j];return typeof D=="function"?D:null}var I=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(h){{for(var D=arguments.length,O=new Array(D>1?D-1:0),ee=1;ee<D;ee++)O[ee-1]=arguments[ee];w("error",h,O)}}function w(h,D,O){{var ee=I.ReactDebugCurrentFrame,ie=ee.getStackAddendum();ie!==""&&(D+="%s",O=O.concat([ie]));var de=O.map(function(re){return String(re)});de.unshift("Warning: "+D),Function.prototype.apply.call(console[h],console,de)}}var S=!1,W=!1,k=!1,$=!1,A=!1,E;E=Symbol.for("react.module.reference");function z(h){return!!(typeof h=="string"||typeof h=="function"||h===s||h===o||A||h===i||h===m||h===x||$||h===p||S||W||k||typeof h=="object"&&h!==null&&(h.$$typeof===g||h.$$typeof===y||h.$$typeof===c||h.$$typeof===d||h.$$typeof===u||h.$$typeof===E||h.getModuleId!==void 0))}function V(h,D,O){var ee=h.displayName;if(ee)return ee;var ie=D.displayName||D.name||"";return ie!==""?O+"("+ie+")":O}function _(h){return h.displayName||"Context"}function G(h){if(h==null)return null;if(typeof h.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof h=="function")return h.displayName||h.name||null;if(typeof h=="string")return h;switch(h){case s:return"Fragment";case n:return"Portal";case o:return"Profiler";case i:return"StrictMode";case m:return"Suspense";case x:return"SuspenseList"}if(typeof h=="object")switch(h.$$typeof){case d:var D=h;return _(D)+".Consumer";case c:var O=h;return _(O._context)+".Provider";case u:return V(h,h.render,"ForwardRef");case y:var ee=h.displayName||null;return ee!==null?ee:G(h.type)||"Memo";case g:{var ie=h,de=ie._payload,re=ie._init;try{return G(re(de))}catch{return null}}}return null}var B=Object.assign,Z=0,Y,L,T,U,P,R,q;function H(){}H.__reactDisabledLog=!0;function te(){{if(Z===0){Y=console.log,L=console.info,T=console.warn,U=console.error,P=console.group,R=console.groupCollapsed,q=console.groupEnd;var h={configurable:!0,enumerable:!0,value:H,writable:!0};Object.defineProperties(console,{info:h,log:h,warn:h,error:h,group:h,groupCollapsed:h,groupEnd:h})}Z++}}function ce(){{if(Z--,Z===0){var h={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:B({},h,{value:Y}),info:B({},h,{value:L}),warn:B({},h,{value:T}),error:B({},h,{value:U}),group:B({},h,{value:P}),groupCollapsed:B({},h,{value:R}),groupEnd:B({},h,{value:q})})}Z<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var pe=I.ReactCurrentDispatcher,ve;function fe(h,D,O){{if(ve===void 0)try{throw Error()}catch(ie){var ee=ie.stack.trim().match(/\n( *(at )?)/);ve=ee&&ee[1]||""}return`
2
- `+ve+h}}var N=!1,je;{var le=typeof WeakMap=="function"?WeakMap:Map;je=new le}function xe(h,D){if(!h||N)return"";{var O=je.get(h);if(O!==void 0)return O}var ee;N=!0;var ie=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var de;de=pe.current,pe.current=null,te();try{if(D){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(f){ee=f}Reflect.construct(h,[],re)}else{try{re.call()}catch(f){ee=f}h.call(re.prototype)}}else{try{throw Error()}catch(f){ee=f}h()}}catch(f){if(f&&ee&&typeof f.stack=="string"){for(var se=f.stack.split(`
1
+ "use strict";var l=require("react"),s=require("@mui/material"),Be=require("@mui/icons-material"),fr=require("@mui/icons-material/ArrowForward"),gr=require("@mui/icons-material/Message"),ne=require("@trii/types/dist/Contacts"),lt=require("moment"),Ge=require("react-i18next"),mr=require("i18next"),za=require("@mui/icons-material/Close"),Ct=require("@mui/icons-material/Edit"),hr=require("@mui/icons-material/Label"),qt=require("@mui/icons-material/Delete"),yr=require("@mui/icons-material/PhotoCamera"),xa=require("@mui/icons-material/ArrowBack"),dt=require("@mui/icons-material/Save"),br=require("@mui/material/Popper"),Ze=require("@mui/lab"),ft=require("@trii/types/dist/Common/Channels"),J=require("dayjs"),xr=require("@mui/icons-material/AddLocationAlt"),St=require("@mui/x-date-pickers/AdapterDayjs"),jt=require("@mui/x-date-pickers/LocalizationProvider"),Wa=require("@mui/x-date-pickers"),wt=require("@mui/material/Box"),_a=require("@mui/icons-material/Cancel"),vr=require("@mui/x-date-pickers/TimePicker"),Ye=require("@mui/x-date-pickers-pro"),we=require("@mui/system"),Cr=require("@mui/icons-material/LocalPhone"),Va=require("google-libphonenumber"),Ha=require("@mui/icons-material/Add"),Sr=require("@mui/icons-material/MoreVert"),jr=require("@mui/icons-material/WhatsApp"),wr=require("@mui/icons-material/Mms"),Tr=require("@mui/icons-material/CheckRounded"),kr=require("@mui/icons-material/CloseRounded"),Ir=require("@mui/material/CircularProgress"),Er=require("@mui/material/InputAdornment"),Dr=require("@mui/material/Typography"),Ar=require("@mui/icons-material/Warning"),Fr=require("@mui/material/Chip"),Kt=require("@trii/types/dist/Calendar"),Ga=require("@mui/x-date-pickers-pro/AdapterDayjs"),Ya=require("@mui/icons-material/Place"),va=require("@mui/icons-material/Person"),Br=require("@mui/icons-material/CalendarMonth"),Ca=require("@mui/icons-material/Repeat"),$r=require("@mui/icons-material/WarningAmber"),Mr=require("@mui/icons-material/ContentCopy"),Pr=require("@mui/icons-material/AccessTime"),qa=require("@reduxjs/toolkit"),Ur=require("axios");function Rr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Sa={exports:{}},Tt={},Ka;function Nr(){if(Ka)return Tt;Ka=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=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 d(c,u,g){var b,h={},m=null,p=null;g!==void 0&&(m=""+g),u.key!==void 0&&(m=""+u.key),u.ref!==void 0&&(p=u.ref);for(b in u)r.call(u,b)&&!o.hasOwnProperty(b)&&(h[b]=u[b]);if(c&&c.defaultProps)for(b in u=c.defaultProps,u)h[b]===void 0&&(h[b]=u[b]);return{$$typeof:a,type:c,key:m,ref:p,props:h,_owner:i.current}}return Tt.Fragment=n,Tt.jsx=d,Tt.jsxs=d,Tt}var kt={},Ja;function Lr(){return Ja||(Ja=1,process.env.NODE_ENV!=="production"&&(function(){var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),b=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),x=Symbol.iterator,S="@@iterator";function v(f){if(f===null||typeof f!="object")return null;var D=x&&f[x]||f[S];return typeof D=="function"?D:null}var T=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(f){{for(var D=arguments.length,z=new Array(D>1?D-1:0),ee=1;ee<D;ee++)z[ee-1]=arguments[ee];w("error",f,z)}}function w(f,D,z){{var ee=T.ReactDebugCurrentFrame,ie=ee.getStackAddendum();ie!==""&&(D+="%s",z=z.concat([ie]));var ce=z.map(function(se){return String(se)});ce.unshift("Warning: "+D),Function.prototype.apply.call(console[f],console,ce)}}var j=!1,W=!1,E=!1,B=!1,A=!1,I;I=Symbol.for("react.module.reference");function O(f){return!!(typeof f=="string"||typeof f=="function"||f===r||f===o||A||f===i||f===g||f===b||B||f===p||j||W||E||typeof f=="object"&&f!==null&&(f.$$typeof===m||f.$$typeof===h||f.$$typeof===d||f.$$typeof===c||f.$$typeof===u||f.$$typeof===I||f.getModuleId!==void 0))}function V(f,D,z){var ee=f.displayName;if(ee)return ee;var ie=D.displayName||D.name||"";return ie!==""?z+"("+ie+")":z}function _(f){return f.displayName||"Context"}function Y(f){if(f==null)return null;if(typeof f.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f;switch(f){case r:return"Fragment";case n:return"Portal";case o:return"Profiler";case i:return"StrictMode";case g:return"Suspense";case b:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case c:var D=f;return _(D)+".Consumer";case d:var z=f;return _(z._context)+".Provider";case u:return V(f,f.render,"ForwardRef");case h:var ee=f.displayName||null;return ee!==null?ee:Y(f.type)||"Memo";case m:{var ie=f,ce=ie._payload,se=ie._init;try{return Y(se(ce))}catch{return null}}}return null}var $=Object.assign,Z=0,q,L,k,M,P,R,H;function G(){}G.__reactDisabledLog=!0;function te(){{if(Z===0){q=console.log,L=console.info,k=console.warn,M=console.error,P=console.group,R=console.groupCollapsed,H=console.groupEnd;var f={configurable:!0,enumerable:!0,value:G,writable:!0};Object.defineProperties(console,{info:f,log:f,warn:f,error:f,group:f,groupCollapsed:f,groupEnd:f})}Z++}}function de(){{if(Z--,Z===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},f,{value:q}),info:$({},f,{value:L}),warn:$({},f,{value:k}),error:$({},f,{value:M}),group:$({},f,{value:P}),groupCollapsed:$({},f,{value:R}),groupEnd:$({},f,{value:H})})}Z<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var pe=T.ReactCurrentDispatcher,ve;function ye(f,D,z){{if(ve===void 0)try{throw Error()}catch(ie){var ee=ie.stack.trim().match(/\n( *(at )?)/);ve=ee&&ee[1]||""}return`
2
+ `+ve+f}}var N=!1,Se;{var le=typeof WeakMap=="function"?WeakMap:Map;Se=new le}function be(f,D){if(!f||N)return"";{var z=Se.get(f);if(z!==void 0)return z}var ee;N=!0;var ie=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ce;ce=pe.current,pe.current=null,te();try{if(D){var se=function(){throw Error()};if(Object.defineProperty(se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(se,[])}catch(y){ee=y}Reflect.construct(f,[],se)}else{try{se.call()}catch(y){ee=y}f.call(se.prototype)}}else{try{throw Error()}catch(y){ee=y}f()}}catch(y){if(y&&ee&&typeof y.stack=="string"){for(var re=y.stack.split(`
3
3
  `),Fe=ee.stack.split(`
4
- `),me=se.length-1,be=Fe.length-1;me>=1&&be>=0&&se[me]!==Fe[be];)be--;for(;me>=1&&be>=0;me--,be--)if(se[me]!==Fe[be]){if(me!==1||be!==1)do if(me--,be--,be<0||se[me]!==Fe[be]){var Le=`
5
- `+se[me].replace(" at new "," at ");return h.displayName&&Le.includes("<anonymous>")&&(Le=Le.replace("<anonymous>",h.displayName)),typeof h=="function"&&je.set(h,Le),Le}while(me>=1&&be>=0);break}}}finally{N=!1,pe.current=de,ce(),Error.prepareStackTrace=ie}var st=h?h.displayName||h.name:"",Xe=st?fe(st):"";return typeof h=="function"&&je.set(h,Xe),Xe}function he(h,D,O){return xe(h,!1)}function Ve(h){var D=h.prototype;return!!(D&&D.isReactComponent)}function Q(h,D,O){if(h==null)return"";if(typeof h=="function")return xe(h,Ve(h));if(typeof h=="string")return fe(h);switch(h){case m:return fe("Suspense");case x:return fe("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case u:return he(h.render);case y:return Q(h.type,D,O);case g:{var ee=h,ie=ee._payload,de=ee._init;try{return Q(de(ie),D,O)}catch{}}}return""}var ue=Object.prototype.hasOwnProperty,Ae={},ae=I.ReactDebugCurrentFrame;function K(h){if(h){var D=h._owner,O=Q(h.type,h._source,D?D.type:null);ae.setExtraStackFrame(O)}else ae.setExtraStackFrame(null)}function We(h,D,O,ee,ie){{var de=Function.call.bind(ue);for(var re in h)if(de(h,re)){var se=void 0;try{if(typeof h[re]!="function"){var Fe=Error((ee||"React class")+": "+O+" type `"+re+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof h[re]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Fe.name="Invariant Violation",Fe}se=h[re](D,re,ee,O,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(me){se=me}se&&!(se instanceof Error)&&(K(ie),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).",ee||"React class",O,re,typeof se),K(null)),se instanceof Error&&!(se.message in Ae)&&(Ae[se.message]=!0,K(ie),C("Failed %s type: %s",O,se.message),K(null))}}}var Ce=Array.isArray;function pt(h){return Ce(h)}function Me(h){{var D=typeof Symbol=="function"&&Symbol.toStringTag,O=D&&h[Symbol.toStringTag]||h.constructor.name||"Object";return O}}function la(h){try{return Rt(h),!1}catch{return!0}}function Rt(h){return""+h}function Nt(h){if(la(h))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Me(h)),Rt(h)}var Ye=I.ReactCurrentOwner,ca={key:!0,ref:!0,__self:!0,__source:!0},ft,Re,tt;tt={};function xt(h){if(ue.call(h,"ref")){var D=Object.getOwnPropertyDescriptor(h,"ref").get;if(D&&D.isReactWarning)return!1}return h.ref!==void 0}function Lt(h){if(ue.call(h,"key")){var D=Object.getOwnPropertyDescriptor(h,"key").get;if(D&&D.isReactWarning)return!1}return h.key!==void 0}function da(h,D){if(typeof h.ref=="string"&&Ye.current&&D&&Ye.current.stateNode!==D){var O=G(Ye.current.type);tt[O]||(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',G(Ye.current.type),h.ref),tt[O]=!0)}}function Qe(h,D){{var O=function(){ft||(ft=!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))};O.isReactWarning=!0,Object.defineProperty(h,"key",{get:O,configurable:!0})}}function zt(h,D){{var O=function(){Re||(Re=!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))};O.isReactWarning=!0,Object.defineProperty(h,"ref",{get:O,configurable:!0})}}var at=function(h,D,O,ee,ie,de,re){var se={$$typeof:a,type:h,key:D,ref:O,props:re,_owner:de};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:ee}),Object.defineProperty(se,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ie}),Object.freeze&&(Object.freeze(se.props),Object.freeze(se)),se};function ua(h,D,O,ee,ie){{var de,re={},se=null,Fe=null;O!==void 0&&(Nt(O),se=""+O),Lt(D)&&(Nt(D.key),se=""+D.key),xt(D)&&(Fe=D.ref,da(D,ie));for(de in D)ue.call(D,de)&&!ca.hasOwnProperty(de)&&(re[de]=D[de]);if(h&&h.defaultProps){var me=h.defaultProps;for(de in me)re[de]===void 0&&(re[de]=me[de])}if(se||Fe){var be=typeof h=="function"?h.displayName||h.name||"Unknown":h;se&&Qe(re,be),Fe&&zt(re,be)}return at(h,se,Fe,ie,ee,Ye.current,re)}}var qe=I.ReactCurrentOwner,nt=I.ReactDebugCurrentFrame;function Ke(h){if(h){var D=h._owner,O=Q(h.type,h._source,D?D.type:null);nt.setExtraStackFrame(O)}else nt.setExtraStackFrame(null)}var it;it=!1;function bt(h){return typeof h=="object"&&h!==null&&h.$$typeof===a}function Ot(){{if(qe.current){var h=G(qe.current.type);if(h)return`
4
+ `),ge=re.length-1,xe=Fe.length-1;ge>=1&&xe>=0&&re[ge]!==Fe[xe];)xe--;for(;ge>=1&&xe>=0;ge--,xe--)if(re[ge]!==Fe[xe]){if(ge!==1||xe!==1)do if(ge--,xe--,xe<0||re[ge]!==Fe[xe]){var Le=`
5
+ `+re[ge].replace(" at new "," at ");return f.displayName&&Le.includes("<anonymous>")&&(Le=Le.replace("<anonymous>",f.displayName)),typeof f=="function"&&Se.set(f,Le),Le}while(ge>=1&&xe>=0);break}}}finally{N=!1,pe.current=ce,de(),Error.prepareStackTrace=ie}var rt=f?f.displayName||f.name:"",Xe=rt?ye(rt):"";return typeof f=="function"&&Se.set(f,Xe),Xe}function fe(f,D,z){return be(f,!1)}function Ve(f){var D=f.prototype;return!!(D&&D.isReactComponent)}function Q(f,D,z){if(f==null)return"";if(typeof f=="function")return be(f,Ve(f));if(typeof f=="string")return ye(f);switch(f){case g:return ye("Suspense");case b:return ye("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return fe(f.render);case h:return Q(f.type,D,z);case m:{var ee=f,ie=ee._payload,ce=ee._init;try{return Q(ce(ie),D,z)}catch{}}}return""}var ue=Object.prototype.hasOwnProperty,Ae={},ae=T.ReactDebugCurrentFrame;function K(f){if(f){var D=f._owner,z=Q(f.type,f._source,D?D.type:null);ae.setExtraStackFrame(z)}else ae.setExtraStackFrame(null)}function We(f,D,z,ee,ie){{var ce=Function.call.bind(ue);for(var se in f)if(ce(f,se)){var re=void 0;try{if(typeof f[se]!="function"){var Fe=Error((ee||"React class")+": "+z+" type `"+se+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[se]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Fe.name="Invariant Violation",Fe}re=f[se](D,se,ee,z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(ge){re=ge}re&&!(re instanceof Error)&&(K(ie),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).",ee||"React class",z,se,typeof re),K(null)),re instanceof Error&&!(re.message in Ae)&&(Ae[re.message]=!0,K(ie),C("Failed %s type: %s",z,re.message),K(null))}}}var Ce=Array.isArray;function pt(f){return Ce(f)}function Ue(f){{var D=typeof Symbol=="function"&&Symbol.toStringTag,z=D&&f[Symbol.toStringTag]||f.constructor.name||"Object";return z}}function da(f){try{return Rt(f),!1}catch{return!0}}function Rt(f){return""+f}function Nt(f){if(da(f))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ue(f)),Rt(f)}var qe=T.ReactCurrentOwner,ca={key:!0,ref:!0,__self:!0,__source:!0},yt,Re,tt;tt={};function bt(f){if(ue.call(f,"ref")){var D=Object.getOwnPropertyDescriptor(f,"ref").get;if(D&&D.isReactWarning)return!1}return f.ref!==void 0}function Lt(f){if(ue.call(f,"key")){var D=Object.getOwnPropertyDescriptor(f,"key").get;if(D&&D.isReactWarning)return!1}return f.key!==void 0}function ua(f,D){if(typeof f.ref=="string"&&qe.current&&D&&qe.current.stateNode!==D){var z=Y(qe.current.type);tt[z]||(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',Y(qe.current.type),f.ref),tt[z]=!0)}}function Qe(f,D){{var z=function(){yt||(yt=!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))};z.isReactWarning=!0,Object.defineProperty(f,"key",{get:z,configurable:!0})}}function Ot(f,D){{var z=function(){Re||(Re=!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))};z.isReactWarning=!0,Object.defineProperty(f,"ref",{get:z,configurable:!0})}}var at=function(f,D,z,ee,ie,ce,se){var re={$$typeof:a,type:f,key:D,ref:z,props:se,_owner:ce};return re._store={},Object.defineProperty(re._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(re,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.defineProperty(re,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ie}),Object.freeze&&(Object.freeze(re.props),Object.freeze(re)),re};function pa(f,D,z,ee,ie){{var ce,se={},re=null,Fe=null;z!==void 0&&(Nt(z),re=""+z),Lt(D)&&(Nt(D.key),re=""+D.key),bt(D)&&(Fe=D.ref,ua(D,ie));for(ce in D)ue.call(D,ce)&&!ca.hasOwnProperty(ce)&&(se[ce]=D[ce]);if(f&&f.defaultProps){var ge=f.defaultProps;for(ce in ge)se[ce]===void 0&&(se[ce]=ge[ce])}if(re||Fe){var xe=typeof f=="function"?f.displayName||f.name||"Unknown":f;re&&Qe(se,xe),Fe&&Ot(se,xe)}return at(f,re,Fe,ie,ee,qe.current,se)}}var He=T.ReactCurrentOwner,nt=T.ReactDebugCurrentFrame;function Ke(f){if(f){var D=f._owner,z=Q(f.type,f._source,D?D.type:null);nt.setExtraStackFrame(z)}else nt.setExtraStackFrame(null)}var it;it=!1;function xt(f){return typeof f=="object"&&f!==null&&f.$$typeof===a}function zt(){{if(He.current){var f=Y(He.current.type);if(f)return`
6
6
 
7
- Check the render method of \``+h+"`."}return""}}function pa(h){{if(h!==void 0){var D=h.fileName.replace(/^.*[\\\/]/,""),O=h.lineNumber;return`
7
+ Check the render method of \``+f+"`."}return""}}function fa(f){{if(f!==void 0){var D=f.fileName.replace(/^.*[\\\/]/,""),z=f.lineNumber;return`
8
8
 
9
- Check your code at `+D+":"+O+"."}return""}}var Wt={};function ha(h){{var D=Ot();if(!D){var O=typeof h=="string"?h:h.displayName||h.name;O&&(D=`
9
+ Check your code at `+D+":"+z+"."}return""}}var Wt={};function ga(f){{var D=zt();if(!D){var z=typeof f=="string"?f:f.displayName||f.name;z&&(D=`
10
10
 
11
- Check the top-level render call using <`+O+">.")}return D}}function vt(h,D){{if(!h._store||h._store.validated||h.key!=null)return;h._store.validated=!0;var O=ha(D);if(Wt[O])return;Wt[O]=!0;var ee="";h&&h._owner&&h._owner!==qe.current&&(ee=" It was passed a child from "+G(h._owner.type)+"."),Ke(h),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',O,ee),Ke(null)}}function _t(h,D){{if(typeof h!="object")return;if(pt(h))for(var O=0;O<h.length;O++){var ee=h[O];bt(ee)&&vt(ee,D)}else if(bt(h))h._store&&(h._store.validated=!0);else if(h){var ie=v(h);if(typeof ie=="function"&&ie!==h.entries)for(var de=ie.call(h),re;!(re=de.next()).done;)bt(re.value)&&vt(re.value,D)}}}function ma(h){{var D=h.type;if(D==null||typeof D=="string")return;var O;if(typeof D=="function")O=D.propTypes;else if(typeof D=="object"&&(D.$$typeof===u||D.$$typeof===y))O=D.propTypes;else return;if(O){var ee=G(D);We(O,h.props,"prop",ee,h)}else if(D.PropTypes!==void 0&&!it){it=!0;var ie=G(D);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ie||"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 ga(h){{for(var D=Object.keys(h.props),O=0;O<D.length;O++){var ee=D[O];if(ee!=="children"&&ee!=="key"){Ke(h),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ee),Ke(null);break}}h.ref!==null&&(Ke(h),C("Invalid attribute `ref` supplied to `React.Fragment`."),Ke(null))}}var Vt={};function qt(h,D,O,ee,ie,de){{var re=z(h);if(!re){var se="";(h===void 0||typeof h=="object"&&h!==null&&Object.keys(h).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 Fe=pa(ie);Fe?se+=Fe:se+=Ot();var me;h===null?me="null":pt(h)?me="array":h!==void 0&&h.$$typeof===a?(me="<"+(G(h.type)||"Unknown")+" />",se=" Did you accidentally export a JSX literal instead of a component?"):me=typeof h,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",me,se)}var be=ua(h,D,O,ie,de);if(be==null)return be;if(re){var Le=D.children;if(Le!==void 0)if(ee)if(pt(Le)){for(var st=0;st<Le.length;st++)_t(Le[st],h);Object.freeze&&Object.freeze(Le)}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 _t(Le,h)}if(ue.call(D,"key")){var Xe=G(h),f=Object.keys(D).filter(function(X){return X!=="key"}),M=f.length>0?"{key: someKey, "+f.join(": ..., ")+": ...}":"{key: someKey}";if(!Vt[Xe+M]){var F=f.length>0?"{"+f.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
11
+ Check the top-level render call using <`+z+">.")}return D}}function vt(f,D){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var z=ga(D);if(Wt[z])return;Wt[z]=!0;var ee="";f&&f._owner&&f._owner!==He.current&&(ee=" It was passed a child from "+Y(f._owner.type)+"."),Ke(f),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',z,ee),Ke(null)}}function _t(f,D){{if(typeof f!="object")return;if(pt(f))for(var z=0;z<f.length;z++){var ee=f[z];xt(ee)&&vt(ee,D)}else if(xt(f))f._store&&(f._store.validated=!0);else if(f){var ie=v(f);if(typeof ie=="function"&&ie!==f.entries)for(var ce=ie.call(f),se;!(se=ce.next()).done;)xt(se.value)&&vt(se.value,D)}}}function ma(f){{var D=f.type;if(D==null||typeof D=="string")return;var z;if(typeof D=="function")z=D.propTypes;else if(typeof D=="object"&&(D.$$typeof===u||D.$$typeof===h))z=D.propTypes;else return;if(z){var ee=Y(D);We(z,f.props,"prop",ee,f)}else if(D.PropTypes!==void 0&&!it){it=!0;var ie=Y(D);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ie||"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 ha(f){{for(var D=Object.keys(f.props),z=0;z<D.length;z++){var ee=D[z];if(ee!=="children"&&ee!=="key"){Ke(f),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ee),Ke(null);break}}f.ref!==null&&(Ke(f),C("Invalid attribute `ref` supplied to `React.Fragment`."),Ke(null))}}var Vt={};function Ht(f,D,z,ee,ie,ce){{var se=O(f);if(!se){var re="";(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).length===0)&&(re+=" 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 Fe=fa(ie);Fe?re+=Fe:re+=zt();var ge;f===null?ge="null":pt(f)?ge="array":f!==void 0&&f.$$typeof===a?(ge="<"+(Y(f.type)||"Unknown")+" />",re=" Did you accidentally export a JSX literal instead of a component?"):ge=typeof f,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ge,re)}var xe=pa(f,D,z,ie,ce);if(xe==null)return xe;if(se){var Le=D.children;if(Le!==void 0)if(ee)if(pt(Le)){for(var rt=0;rt<Le.length;rt++)_t(Le[rt],f);Object.freeze&&Object.freeze(Le)}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 _t(Le,f)}if(ue.call(D,"key")){var Xe=Y(f),y=Object.keys(D).filter(function(X){return X!=="key"}),U=y.length>0?"{key: someKey, "+y.join(": ..., ")+": ...}":"{key: someKey}";if(!Vt[Xe+U]){var F=y.length>0?"{"+y.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} />`,M,Xe,F,Xe),Vt[Xe+M]=!0}}return h===s?ga(be):ma(be),be}}function ya(h,D,O){return qt(h,D,O,!0)}function Ht(h,D,O){return qt(h,D,O,!1)}var fa=Ht,Gt=ya;Tt.Fragment=s,Tt.jsx=fa,Tt.jsxs=Gt})()),Tt}process.env.NODE_ENV==="production"?Ca.exports=fs():Ca.exports=xs();var t=Ca.exports;ys(t);const bs=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})),Ka=r.styled(r.IconButton)({padding:4}),vs=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Cs=r.styled(r.Avatar)({width:60,height:60,marginBottom:8}),js=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Ss=r.styled(r.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),ws=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:o,onClose:c,isBusiness:d=!1})=>{const u=l.useCallback(p=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!p)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(p,"_blank","noopener,noreferrer"):s(p)}catch(j){o?.(j instanceof Error?j:new Error("Navigation failed"))}},[s,o]),m=u(d?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),x=u(`/a/conversations/conversations?contactId=${n}`),y=a||"Unknown Contact",g=`Avatar for ${y}`;return t.jsxs(vs,{children:[t.jsxs(bs,{children:[t.jsx(Ka,{color:"info",size:"small",onClick:p=>{m(p),c()},onMouseDown:p=>{p.button===1&&(m(p),c())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Gn,{fontSize:"small"})}),t.jsx(Ka,{color:"info",size:"small",onClick:p=>{x(p),c()},onMouseDown:p=>{p.button===1&&(x(p),c())},"aria-label":"Go to conversations",children:t.jsx(Yn,{fontSize:"small"})})]}),i?t.jsx(Ss,{children:t.jsx(r.CircularProgress,{size:24})}):t.jsx(Cs,{src:e,alt:g,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(js,{variant:"h6",title:y,children:y})]})},Is=r.styled(r.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Ts=r.styled(r.Box)({width:"100%",borderBottom:"1px solid lightgray"}),Es=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),ks=r.styled(r.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Ds=r.styled(r.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),As=r.styled(r.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Fs=r.styled(r.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),$s=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=o=>t.jsx(Es,{children:t.jsxs(Ds,{children:[t.jsx(ks,{children:e}),t.jsxs(As,{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(Fs,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.id);return t.jsxs(Is,{children:[s&&t.jsx(Ts,{children:t.jsx(r.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},Bs=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}),Rs=r.styled($e.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Ns=({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=lt(i,lt.ISO_8601).isValid(),d=u=>lt(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[m,x]=u,y=o===ne.ContactField_type.TIMERANGE?lt(m).format("HH:mm"):lt(m).format("DD/MM/YYYY"),g=o===ne.ContactField_type.TIMERANGE?lt(x).format("HH:mm"):lt(x).format("DD/MM/YYYY");return`${y} - ${g}`}return i;default:return i}}return i};return t.jsxs(Bs,{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(Rs,{}),t.jsxs(Ms,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},o))]})},Ls=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),zs=r.styled(r.Box)({marginBottom:16}),Os=r.styled(r.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Ws=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ls,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(zs,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Os,{label:n.name,color:"primary",size:"small"},n.id))})]});function Ja(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 _s=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Vs=({contactData:e,title:a})=>!e||!Ja(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(_s,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(r.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Qa(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 qs=({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})},Hs=r.styled(r.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Gs=({contactData:e,title:a,navigate:n})=>!e||!Qa(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Hs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(qs,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var Ys="Labels",Ks="Phone",Js="Business",Qs="Business Members",Xs="Properties",Zs="View",er="Tags",tr={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"},ar={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"},nr={upload:"Upload photo",delete:"Delete photo"},sr={from:"From",to:"To"},rr={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"}}},or={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"},ir={labels:Ys,phone:Ks,business:Js,businessMembers:Qs,properties:Xs,view:Zs,tags:er,global:tr,searchLocationModal:ar,avatar:nr,contactEdit:sr,conversations:rr,calendarView:or},lr="Etiquetas",cr="Tel\xE9fono",dr="Empresa",ur="Miembros de la empresa",pr="Propiedades",hr="Ver",mr="Etiquetas",gr={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"},yr={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"},fr={upload:"Subir foto",delete:"Eliminar foto"},xr={from:"Desde",to:"Hasta"},br={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"}}},vr={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"},Cr={labels:lr,phone:cr,business:dr,businessMembers:ur,properties:pr,view:hr,tags:mr,global:gr,searchLocationModal:yr,avatar:fr,contactEdit:xr,conversations:br,calendarView:vr};const jr={en:{translation:ir},es:{translation:Cr}},Et=Kn.createInstance();Et.use(He.initReactI18next).init({resources:jr,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Sr=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"}})),wr=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:o,language:c="en"})=>{const{t:d,i18n:u}=He.useTranslation();l.useEffect(()=>{c&&u.changeLanguage(c)},[c,u]);const m=d,x=Qa(s),y=Ja(s),g=[{icon:t.jsx($e.PhoneEnabled,{fontSize:"small"}),title:m("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx($e.Email,{fontSize:"small"}),title:m("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx($e.WhatsApp,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx($e.Facebook,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx($e.Instagram,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx($e.ThreeP,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return l.useEffect(()=>{const p=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}},[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(Sr,{children:t.jsxs(r.CardContent,{children:[t.jsx(ws,{navigate:o,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:x}),t.jsx(Ws,{contactData:s,title:m("labels")}),y&&t.jsx(Vs,{contactData:s,title:m("business")}),x&&t.jsx(Gs,{contactData:s,title:m("businessMembers"),navigate:o}),g.map((p,b)=>t.jsx($s,{icon:p.icon,title:p.title,contactList:p.contactList,showTitle:p.showTitle},b)),t.jsx(Ns,{properties:s?.properties,title:m("properties")})]})})})})},Xa=e=>t.jsx(He.I18nextProvider,{i18n:Et,children:t.jsx(wr,{...e})}),Za=e=>e,en=l.createContext(Za),Ir=({t:e,children:a})=>t.jsx(en.Provider,{value:e,children:a}),ge=()=>{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"),Za)},Tr=({tags:e,onEditTags:a})=>{const n=ge(),[s,i]=l.useState(null),o=l.useMemo(()=>e??[],[e]),c=o.slice(0,4),d=Math.max(o.length-c.length,0),u=y=>{i(y.currentTarget)},m=()=>{i(null)},x=!!s;return t.jsxs(r.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(r.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[c.map(y=>t.jsx(r.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id)),d>0?t.jsx(r.Chip,{label:`+${d}`,size:"small",variant:"outlined",onClick: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:y=>y.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:o.length?t.jsx(Ct,{fontSize:"small"}):t.jsx(Jn,{fontSize:"small"})})]}),t.jsx(r.Popover,{open:x,anchorEl:s,onClose:m,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(r.Box,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(r.Typography,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(r.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children: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))})]})})]})},tn=l.createContext(null),Er=tn.Provider,rt=()=>l.useContext(tn),kr=r.styled(r.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Dr=r.styled(r.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Ar=r.styled(r.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Fr=r.styled(r.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),$r=({displayName:e,contactType:a,firstName:n,lastName:s,name:i,entityId:o,onEntityUpdated:c})=>{const d=rt(),[u,m]=l.useState(!1),[x,y]=l.useState(!1),[g,p]=l.useState({firstName:n||"",lastName:s||"",name:i||""});l.useEffect(()=>{p({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const b=async()=>{if(!(!d||!o||!a||a==="unknown")){y(!0);try{let v={};a==="contact"?v={firstName:g.firstName,lastName:g.lastName}:a==="business"&&(v={name:g.name});const I=await d.updateEntity({entityType:a,entityId:o,body:v});I&&c&&c(I),m(!1)}catch(v){console.error("Failed to update name",v)}finally{y(!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:v=>p({...g,firstName:v.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(r.TextField,{value:g.lastName,onChange:v=>p({...g,lastName:v.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(r.TextField,{value:g.name,onChange:v=>p({...g,name:v.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(r.IconButton,{onClick:b,disabled:x,color:"primary",children:x?t.jsx(r.CircularProgress,{size:24}):t.jsx($e.Save,{})})]}):t.jsx(Dr,{children:t.jsxs(Ar,{children:[t.jsx(kr,{variant:"h6",title:e,children:e}),j&&t.jsx(Fr,{size:"small",onClick:()=>m(!0),className:"edit-icon",sx:{ml:1},children:t.jsx($e.Edit,{fontSize:"small"})})]})})},Br=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:o,isDeleting:c})=>{const d=ge();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(Qn,{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(Yt,{fontSize:"small"})})]})]})},Ur=r.styled(r.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Pr=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:c,photoInputRef:d,isUploadingPhoto:u,onDeletePhoto:m,isDeletingPhoto:x,contactType:y,firstName:g,lastName:p,name:b,entityId:j,onEntityUpdated:v})=>{const I=`Avatar for ${a}`;return t.jsxs(Ur,{children:[t.jsx("input",{ref:d,type:"file",accept:"image/*",onChange:c,style:{display:"none"}}),t.jsx(Br,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:m,isDeleting:x}),t.jsx($r,{displayName:a,contactType:y,firstName:g,lastName:p,name:b,entityId:j,onEntityUpdated:v}),t.jsx(Tr,{tags:s,onEditTags:i})]})},ja=20,Mr=e=>{const{popperContainer:a,...n}=e;return t.jsx(Xn,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Rr=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:o,onCreateNew:c,isCreatingNew:d,popperContainer:u})=>{const m=ge(),[x,y]=l.useState(""),[g,p]=l.useState(ja),b=l.useDeferredValue(x),j=l.useMemo(()=>a??[],[a]),v=l.useMemo(()=>{const k=String(b??"").trim().toLowerCase();return k?j.filter($=>String($?.name??"").toLowerCase().includes(k)):j},[j,b]),I=l.useMemo(()=>v.slice(0,g),[v,g]),C=l.useMemo(()=>{const k=new Map;for(const $ of e??[])$?.id&&k.set(String($.id),$);for(const $ of I??[])$?.id&&(k.has(String($.id))||k.set(String($.id),$));return Array.from(k.values())},[e,I]),w=(k,$)=>{y($??""),p(ja)},S=k=>{const $=k;$.scrollTop+$.clientHeight>=$.scrollHeight-24&&p(A=>A+ja)},W=()=>{const k=String(x??"").trim(),$=!k||o||d;return t.jsxs(r.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("global.noOptions"),t.jsx(Ze.LoadingButton,{onClick:()=>c(k),loading:d,disabled:$,variant:"contained",size:"small",sx:{marginTop:1.3},children:m("global.createNew")})]})};return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsxs(r.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(r.IconButton,{size:"small",onClick:s,"aria-label":m("global.back"),disabled:o,children:t.jsx(xa,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:m("tags")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ct,{}),onClick:i,loading:o,disabled:o,children:m("global.save")})]}),t.jsx(r.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(k,$)=>n($),options:C,filterOptions:k=>k,inputValue:x,onInputChange:w,getOptionLabel:k=>k?.name??"",isOptionEqualToValue:(k,$)=>String(k?.id)===String($?.id),PopperComponent:k=>t.jsx(Mr,{...k,popperContainer:u}),renderOption:(k,$)=>{const{key:A,...E}=k;return l.createElement("li",{...E,key:$?.id?String($.id):String(A??$?.name??"")},$.name??"")},renderTags:(k,$)=>k.map((A,E)=>{const z=$({index:E}),{key:V,..._}=z;return t.jsx(r.Chip,{label:A.name??"",..._},A?.id?String(A.id):String(V??A?.name??E))}),size:"small",renderInput:k=>t.jsx(r.TextField,{...k,size:"small"}),ListboxProps:{onScroll:S,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(W,{}),sx:{width:"100%"}})]})};var Nr=Object.defineProperty,Lr=(e,a,n)=>a in e?Nr(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,an=(e,a,n)=>Lr(e,typeof a!="symbol"?a+"":a,n);let nn=class extends Error{constructor(a,n,s){super(a),an(this,"status"),an(this,"body"),this.name="ApiError",this.status=n,this.body=s}};async function Ne({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 nn(d,o.status,c)}return c}async function zr({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 nn(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 Pe(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`)}}async function Or({baseUrl:e,spaceId:a,signal:n}){const s=Pe(e,a),i=Ie(s.CONTACTS,"/labels");return Ne({url:i,signal:n})}async function sn({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/labels");return Ne({url:o,method:"POST",body:{name:n},signal:s})}async function Wr({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ne({url:o,signal:s})}async function _r({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Ne({url:o,signal:s})}async function Vr({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Pe(e,a),o=`${Ie(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Ne({url:o,signal:s})}async function Je({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}){const c=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,d=Pe(e,a),u=Ie(d.CONTACTS,c);return Ne({url:u,method:"PUT",body:i,signal:o})}async function qr({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/Search");return Ne({url:o,method:"POST",body:n,signal:s})}async function Hr({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/business");return Ne({url:o,method:"POST",body:n,signal:s})}async function Jt({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses");return Ne({url:o,method:"DELETE",body:n,signal:s})}async function Gr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses/check");return Ne({url:o,method:"POST",body:n,signal:s})}async function Yr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses/set");return Ne({url:o,method:"POST",body:n,signal:s})}async function Kr({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Ne({url:o,method:"PUT",body:n,signal:s})}async function rn({baseUrl:e,spaceId:a,signal:n}){const s=Pe(e,a),i=Ie(s.SETTINGS,"/user");return Ne({url:i,signal:n})}async function Jr({baseUrl:e,spaceId:a,signal:n}){const s=Pe(e,a),i=Ie(s.SETTINGS,"/users");return Ne({url:i,signal:n})}async function Qr({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Pe(e,a),o=Ie(i.SETTINGS,`/usersInfor/${s}`);return Ne({url:o,signal:n})}async function on({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const o=Pe(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 zr({url:d,formData:c,signal:i})}const ln=(e,a)=>({fetchLabels:({signal:n}={})=>Or({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>sn({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>Wr({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>_r({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>qr({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>Hr({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>Vr({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:o})=>Je({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:o}),deleteAddress:({data:n,signal:s})=>Jt({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>Jt({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>Gr({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>Yr({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>Kr({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>rn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Jr({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>Qr({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>on({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),cn=()=>!!window?.google?.maps?.places?.Autocomplete,Xr=(e=1e4)=>new Promise(a=>{if(cn()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(cn()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),Zr=()=>{const[e,a]=l.useState(!1),[n,s]=l.useState(!0),[i,o]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const c=await Xr(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}},eo=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=ge(),i=l.useRef(null),o=l.useRef(null),c=l.useRef(e),d=l.useRef(a),{isLoaded:u,isLoading:m,error:x}=Zr(),y=l.useMemo(()=>m?s("searchLocationModal.loadingGoogleMaps"):x?s("searchLocationModal.googleMapsUnavailable"):u?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[u,m,x,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 p=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(v=>{const I=v;I.style.zIndex="20000",I.style.position="fixed"})};p=new MutationObserver(v=>{for(const I of v)for(const C of Array.from(I.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const w=C;w.classList?.contains("pac-container")&&(w.style.zIndex="20000",w.style.position="fixed")}}),p.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),o.current=new g.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const j=o.current.addListener?.("place_changed",()=>{const v=o.current?.getPlace?.();if(!v?.geometry?.location){d.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let I="",C="",w="",S="",W="",k="";const $=v.address_components??[];for(const V of $){const _=V?.types??[];if(_.includes("locality")||_.includes("administrative_area_level_2")){I=V.long_name;continue}if(_.includes("administrative_area_level_1")){C=V.long_name;continue}if(_.includes("country")){w=V.long_name;continue}if(_.includes("postal_code")){S=V.long_name;continue}if(_.includes("route")){W=V.long_name;continue}_.includes("street_number")&&(k=V.long_name)}const A=typeof v.geometry.location.lat=="function"?v.geometry.location.lat():0,E=typeof v.geometry.location.lng=="function"?v.geometry.location.lng():0,z={location:{lat:A,lng:E},address:v.formatted_address??"",city:I,state:C,country:w,postalCode:S,streetName:W,streetNumber:k,shortAddress:[W,k].filter(Boolean).join(" ")};c.current(z)});return()=>{p&&p.disconnect(),j?.remove&&j.remove(),o.current=null}},[u,s]),t.jsx(r.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:y,disabled:m||!u||!!x,error:!!x})},to={street:"",city:"",state:"",zipcode:"",country:""},ao=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:o})=>{const c=ge(),[d,u]=l.useState(to),[m,x]=l.useState(""),[y,g]=l.useState(""),[p,b]=l.useState(!1),[j,v]=l.useState(!1),I=l.useMemo(()=>!!(String(d.street??"").trim()||String(d.city??"").trim()||String(d.state??"").trim()||String(d.zipcode??"").trim()||String(d.country??"").trim()),[d]),C=A=>{x(A.address??"");const E=String(A.shortAddress??"").trim()||[A.streetName,A.streetNumber].filter(Boolean).join(" ").trim();u({street:E,city:A.city??"",state:A.state??"",zipcode:A.postalCode??"",country:A.country??""}),g("")},w=A=>{g(String(A??""))},S=A=>E=>{const z=E.target.value;u(V=>({...V,[A]:z}))},W=async()=>{if(!p&&!(!e||!a)&&s){b(!0);try{const A=await Je({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?.(A),i()}finally{b(!1)}}},k=async()=>{if(!j&&!(!e||!a)&&s){v(!0);try{const A=await Je({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?.(A),i()}finally{v(!1)}}},$=!I||p||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(xa,{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(eo,{onPlaceSelected:C,onError:w,placeholder:c("searchLocationModal.enterLocation")}),y?t.jsx(r.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:y}):null]}),t.jsx(r.TextField,{label:c("conversations.contactDetails.street"),value:d.street,onChange:S("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:S("city"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("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:c("searchLocationModal.postalCode"),value:d.zipcode,onChange:S("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(r.TextField,{label:c("searchLocationModal.country"),value:d.country,onChange:S("country"),fullWidth:!0,size:"medium"})]}),m?t.jsx(r.Typography,{variant:"caption",sx:{opacity:.7},children:m}):null,t.jsxs(r.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(Ze.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(ct,{}),onClick:W,loading:p,disabled:$,children:c("searchLocationModal.saveMainAddress")}),t.jsx(Ze.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(ct,{}),onClick:k,loading:j,disabled:$,children:c("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Sa(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 dn(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 no({open:e,baseUrl:a,spaceId:n,contactId:s}){const i=l.useRef(null),o=l.useMemo(()=>!a||!n?null:ln(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 m=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!m||!o)return;const g=new AbortController;return d(p=>({...p,labelsLoading:!0,labelsError:null})),o.fetchLabels({signal:g.signal}).then(p=>{d(b=>({...b,labels:p,labelsLoading:!1,labelsError:null}))}).catch(p=>{g.signal.aborted||d(b=>({...b,labelsLoading:!1,labelsError:p}))}),()=>{g.abort()}},[o,m]),l.useEffect(()=>{if(!u||!o)return;i.current?.abort();const g=new AbortController;return i.current=g,d(p=>({...p,isLoading:!0,error:null,contactData:null})),o.fetchContact({contactId:s,signal:g.signal}).then(p=>{d(b=>({...b,isLoading:!1,error:null,contactData:p}))}).catch(p=>{g.signal.aborted||d(b=>({...b,isLoading:!1,error:p}))}),()=>{g.abort()}},[o,u,s]);const x=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!x||!o)return;const g=new AbortController;return d(p=>({...p,userLoading:!0,userError:null})),o.fetchUserTrii({signal:g.signal}).then(p=>{d(b=>({...b,userLoading:!1,userError:null,userTrii:p}))}).catch(p=>{g.signal.aborted||d(b=>({...b,userLoading:!1,userError:p}))}),()=>{g.abort()}},[o,x]);const y=l.useMemo(()=>{const g=c.contactData,p=Sa(g),b=dn(g);let j="unknown";p&&(j="business"),b&&(j="contact");let v="Unknown Contact";p?v=g.name:b&&(v=`${g.firstName} ${g.lastName}`.trim());const I=g?.tags??[];return{isBusiness:p,isContact:b,contactType:j,displayName:v,tags:I,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,p=Sa(g),b=dn(g),j=p?"business":b?"contact":null;if(!j)return;const v=new AbortController;return d(I=>({...I,contactFieldsLoading:!0,contactFieldsError:null})),o.fetchContactFields({forType:j,signal:v.signal}).then(I=>{d(C=>({...C,contactFields:I,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(I=>{v.signal.aborted||d(C=>({...C,contactFieldsLoading:!1,contactFieldsError:I}))}),()=>{v.abort()}},[o,e,c.contactData]),{state:c,selectors:y,actions:{setContactData:g=>d(p=>({...p,contactData:g??null})),clearError:()=>d(g=>({...g,error:null}))}}}const kt=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:o})=>{const[c,d]=l.useState(i??""),[u,m]=l.useState(null),[x,y]=l.useState(!1),[g,p]=l.useState(!1),b=l.useRef(null),j=l.useMemo(()=>!!(e&&a&&n&&s),[e,a,n,s]);function v(E){return E.split("?sv=")[0]}function I(E){return E.split("&cacheId=")[0]}function C(E){let z=v(E);return!z||(z=I(z),!z)?"":z}const w=async()=>{if(!e||!a)return null;const E=await rn({baseUrl:e,spaceId:a});return m(E),E},S=async E=>{const z=(u??await w())?.storageAzureSAS,V=z?.expireAt,_=V?new Date(V):null;let G=z?.sas??"";if((!G||_&&_<new Date)&&(G=(await w())?.storageAzureSAS?.sas??""),!G)return E;const B=`${Date.now()}`;return`${E}${G}&cacheId=${B}`},W=async E=>{if(!E){d("");return}const z=v(E);if(!z)return;const V=await S(z);d(V)},k=async E=>{const z=E.target.files?.[0];if(z&&j){b.current&&(b.current.value=""),y(!0);try{const V=await on({baseUrl:e,spaceId:a,contactId:s,file:z}),_=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:V}});o?.(_),await W(V)}finally{y(!1)}}},$=()=>{b.current?.click()},A=async()=>{if(j&&!g){p(!0);try{await Je({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),o?.({imageUrl:""}),d("")}finally{p(!1)}}};return l.useEffect(()=>{if(!i){d("");return}W(i)},[i]),{inputAtributes:{onChange:k,ref:b,type:"file",accept:"image/*"},action:{uploadImage:$,deleteImage:A},imageUrl:c,removeParams:C,isUploading:x,isDeleting:g}},ye=(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)}}}},un=(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 so=new Uint8Array(16);function ro(){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(so)}const Be=[];for(let e=0;e<256;++e)Be.push((e+256).toString(16).slice(1));function oo(e,a=0){return Be[e[a+0]]+Be[e[a+1]]+Be[e[a+2]]+Be[e[a+3]]+"-"+Be[e[a+4]]+Be[e[a+5]]+"-"+Be[e[a+6]]+Be[e[a+7]]+"-"+Be[e[a+8]]+Be[e[a+9]]+"-"+Be[e[a+10]]+Be[e[a+11]]+Be[e[a+12]]+Be[e[a+13]]+Be[e[a+14]]+Be[e[a+15]]}const io=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var pn={randomUUID:io};function Xt(e,a,n){if(pn.randomUUID&&!a&&!e)return pn.randomUUID();e=e||{};const s=e.random||(e.rng||ro)();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 oo(s)}function lo(e){return{id:Xt(),address:"",note:"",channelType:e,isSaved:!1}}var Zt={createNewAddress:lo};const co=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},uo=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var mt={getEditedField:co,getAddressesWithUpdatedValues:uo};const hn=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,o]=l.useState(!1),[c,d]=l.useState(()=>a),[u,m]=l.useState(a?.ims_facebook||[]),[x,y]=l.useState(a?.ims_mercadolibre||[]),[g,p]=l.useState(a?.ims_webchat||[]),[b,j]=l.useState(a?.ims_instagram||[]),[v,I]=l.useState(a?.ims_whatsapp||[]),[C,w]=l.useState(a?.emails||[]),[S,W]=l.useState(a?.phones||[]),[k,$]=l.useState(a?.ims_rcs||[]),A=()=>{const T=Zt.createNewAddress(ht.ChannelType.PHONE),U=[...S,T];W(U)},E=()=>{const T=Zt.createNewAddress(ht.ChannelType.EMAIL),U=[...C,T];w(U)},z=()=>{const T=Zt.createNewAddress(ht.ChannelType.WHATSAPP),U=[...v,T];I(U)},V=()=>{const T=Zt.createNewAddress(ht.ChannelType.RCS),U=[...k,T];$(U)},_=T=>{const U=[...v,T];I(U),d(P=>({...P??{},ims_whatsapp:U}))},G=(T,U)=>{if(U){if(U.channelType===3){const P=C.map(R=>R.id===T?U:R);w(P),d(R=>({...R??{},emails:P}))}if(U.channelType===5){const P=S.map(R=>R.id===T?U:R);W(P),d(R=>({...R??{},phones:P}))}if(U.channelType===13){const P=v.map(R=>R.id===T?U:R);I(P),d(R=>({...R??{},ims_whatsapp:P}))}if(U.channelType===21){const P=k.map(R=>R.id===T?U:R);$(P),d(R=>({...R??{},ims_rcs:P}))}if(U.channelType===41){const P=x.map(R=>R.id===T?U:R);y(P),d(R=>({...R??{},ims_mercadolibre:P}))}}},B=async(T,U,P)=>{const R=T.target.value;if(P===3){const q=mt.getAddressesWithUpdatedValues(R,U,C);w(q)}else if(P===5){const q=mt.getAddressesWithUpdatedValues(R,U,S);W(q)}else if(P===13){const q=mt.getAddressesWithUpdatedValues(R,U,v);I(q)}else if(P===21){const q=mt.getAddressesWithUpdatedValues(R,U,k);$(q)}else if(P===41){const q=mt.getAddressesWithUpdatedValues(R,U,x);y(q)}},Z=(T,U,P)=>{if(P===14){const R=u.map(q=>q.id===U?{...q,note:T.target.value}:q);m(R)}if(P===20){const R=g.map(q=>q.id===U?{...q,note:T.target.value}:q);p(R)}if(P===16){const R=b.map(q=>q.id===U?{...q,note:T.target.value}:q);j(R)}if(P===3){const R=C.map(q=>q.id===U?{...q,note:T.target.value}:q);w(R)}if(P===5){const R=S.map(q=>q.id===U?{...q,note:T.target.value}:q);W(R)}if(P===13){const R=v.map(q=>q.id===U?{...q,note:T.target.value}:q);I(R)}if(P===21){const R=k.map(q=>q.id===U?{...q,note:T.target.value}:q);$(R)}if(P===41){const R=x.map(q=>q.id===U?{...q,note:T.target.value}:q);y(R)}},Y=async(T,U)=>{if(e&&(U===3||U===5||U===13||U===14||U===20||U===16||U===21||U===41)){o(T);const P={contactId:e,contactAddressId:T,type:U};switch(n?await n(s(P)):await s(P),o(!1),U){case 3:const R=C.filter(N=>N.id!==T);w(R),d(N=>({...N??{},emails:R}));break;case 5:const q=S.filter(N=>N.id!==T);W(q),d(N=>({...N??{},phones:q}));break;case 13:const H=v.filter(N=>N.id!==T);I(H),d(N=>({...N??{},ims_whatsapp:H}));break;case 21:const te=k.filter(N=>N.id!==T);$(te),d(N=>({...N??{},ims_rcs:te}));break;case 41:const ce=x.filter(N=>N.id!==T);y(ce),d(N=>({...N??{},ims_mercadolibre:ce}));break;case 14:const pe=u.filter(N=>N.id!==T);m(pe),d(N=>({...N??{},ims_facebook:pe}));break;case 20:const ve=g.filter(N=>N.id!==T);p(ve),d(N=>({...N??{},ims_webchat:ve}));break;case 16:const fe=b.filter(N=>N.id!==T);j(fe),d(N=>({...N??{},ims_instagram:fe}));break}}};function L(){m(c?.ims_facebook||[]),y(c?.ims_mercadolibre||[]),p(c?.ims_webchat||[]),j(c?.ims_instagram||[]),I(c?.ims_whatsapp||[]),$(c?.ims_rcs||[]),w(c?.emails||[]),W(c?.phones||[])}return l.useEffect(()=>{d(a),a?.emails&&a?.phones&&(w(a.emails),W(a.phones)),I(a?.ims_whatsapp||[]),$(a?.ims_rcs||[]),m(a?.ims_facebook||[]),p(a?.ims_webchat||[]),j(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:v,imsRCS:k,imsMercadolibre:x,imsFacebooks:u,imsWebchats:g,imsInstagrams:b,emails:C,phoneNumbers:S},action:{handleAddressFieldChange:B,handleNoteFieldChange:Z,handleDeleteAddress:Y,addPhone:A,addEmail:E,addWhatsapp:z,addRCS:V,replaceAddress:G,addWhatsappVerified:_,resetToInitialContactInformation:L},state:{isDeletingAddress:i}}},mn=({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)}}}},po=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=l.useMemo(()=>async le=>{!n||!s||await Jt({baseUrl:n,spaceId:s,data:le})},[n,s]),o=async le=>le,[c,d]=l.useState([]),u=ye("text",e?.name||""),m=kt({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),x=un(e?.owner),y=mn({initialState:e?.tags??[]}),[g,p]=l.useState([]),{field:{imsFacebooks:b,imsMercadolibre:j,imsWebchats:v,imsInstagrams:I,imsWhatsapp:C,emails:w,phoneNumbers:S,imsRCS:W},action:{addPhone:k,addEmail:$,addWhatsapp:A,addRCS:E,addWhatsappVerified:z,replaceAddress:V,handleAddressFieldChange:_,handleNoteFieldChange:G,handleDeleteAddress:B,resetToInitialContactInformation:Z},state:{isDeletingAddress:Y}}=hn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),L=ye("text",e?.address1?.street||""),T=ye("text",e?.address2?.street||""),U=ye("text",e?.address1?.city||""),P=ye("text",e?.address2?.city||""),R=ye("text",e?.address1?.state||""),q=ye("text",e?.address2?.state||""),H=ye("text",e?.address1?.zipcode||""),te=ye("text",e?.address2?.zipcode||""),ce=ye("text",e?.address1?.country||""),pe=ye("text",e?.address2?.country||""),ve=(le,xe,he)=>xe!==he&&!(xe===null&&he==="")?{[le]:he}:{},fe=()=>{if(!e)return null;const le={street:L.attributes.value,city:U.attributes.value,state:R.attributes.value,zipcode:H.attributes.value,country:ce.attributes.value},xe={street:T.attributes.value,city:P.attributes.value,state:q.attributes.value,zipcode:te.attributes.value,country:pe.attributes.value};return{id:e.id,...ve("owner",e.owner,x.attributes.value),...ve("name",e.name,u.attributes.value),imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,tags:y.attributes.value,properties:c,members:g,phoneNumbers:S,emails:w,address1:le,address2:xe}};function N(le){if(!e)return;const xe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),he=e.properties.find(Q=>Q.nameKey===le)??e.properties.find(Q=>xe(Q.nameKey)===xe(le));if(!he){console.error(`No se encontr\xF3 una propiedad con nameKey: ${le}`);return}const Ve=c.map(Q=>Q.nameKey===le?{...Q,value:he.value}:Q);d(Ve)}const je=()=>e?a.map(le=>{const xe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),he=e.properties.find(Q=>Q.nameKey===le.nameKey)??e.properties.find(Q=>xe(Q.nameKey)===xe(le.nameKey));if(he)return{...he,nameKey:le.nameKey,type:he.type??le.type,value:he.value};const Ve=c.find(Q=>Q.nameKey===le.nameKey);return{nameKey:le.nameKey,type:le.type,value:Ve?Ve.value:""}}):[];return l.useEffect(()=>{e&&a&&d(je())},[e,a]),l.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:W,contactImage:m,contactPropietary:x,imsMercadolibre:j,imsFacebooks:b,imsWebchats:v,imsInstagrams:I,emails:w,phoneNumbers:S,homeAddress:L,secondaryHomeAddress:T,city:U,secondaryCity:P,state:R,secondaryState:q,postalCode:H,secondaryPostalCode:te,country:ce,secondaryCountry:pe,customProperties:c,labelMultipleSelect:y},action:{setCustomProperties:d,addWhatsapp:A,addRCS:E,getEditedBusiness:fe,handleAddressFieldChange:_,handleNoteFieldChange:G,handleDeleteAddress:B,addPhone:k,addEmail:$,replaceAddress:V,addWhatsappVerified:z,resetToInitialContactInformation:Z,resetCustomProperty:N},state:{isDeletingAddress:Y},selectedContacts:g,setSelectedContacts:p}},ho=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=l.useMemo(()=>async Q=>{!n||!s||await Jt({baseUrl:n,spaceId:s,data:Q})},[n,s]),o=async Q=>Q,{getEditedField:c}=mt,[d,u]=l.useState([]),m=ye("text",e?.firstName||""),x=ye("text",e?.lastName||""),y=kt({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[g,p]=l.useState(e?.birthDate?J(e.birthDate):null),b=hn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:j,imsMercadolibre:v,imsWebchats:I,imsInstagrams:C,imsWhatsapp:w,emails:S,phoneNumbers:W,imsRCS:k},action:{addPhone:$,addEmail:A,addWhatsapp:E,addRCS:z,addWhatsappVerified:V,replaceAddress:_,handleAddressFieldChange:G,handleNoteFieldChange:B,handleDeleteAddress:Z,resetToInitialContactInformation:Y},state:{isDeletingAddress:L}}=b,T=mn({initialState:e?.tags}),U=un(e?.owner),P=ye("text",e?.address1?.street),R=ye("text",e?.address2?.street),q=ye("text",e?.address1?.city),H=ye("text",e?.address2?.city),te=ye("text",e?.address1?.state),ce=ye("text",e?.address2?.state),pe=ye("text",e?.address1?.zipcode),ve=ye("text",e?.address2?.zipcode),fe=ye("text",e?.address1?.country),N=ye("text",e?.address2?.country),je=()=>{if(!e)return null;const Q=e,ue=T.attributes.value.map(K=>({id:K.id,name:K.name})),Ae=W.map(K=>{const{id:We,...Ce}=K;return Ce}),ae=S.map(K=>{const{id:We,...Ce}=K;return Ce});return{id:Q.id,owner:U.attributes.value,firstName:m.attributes.value,lastName:x.attributes.value,address1:{...c("street",Q.address1?.street,P.attributes.value),...c("city",Q.address1?.street,q.attributes.value),...c("state",Q.address1?.street,te.attributes.value),...c("zipcode",Q.address1?.street,pe.attributes.value),...c("country",Q.address1?.street,fe.attributes.value)},address2:{...c("street",Q.address2?.street,R.attributes.value),...c("city",Q.address2?.street,H.attributes.value),...c("state",Q.address2?.street,ce.attributes.value),...c("zipcode",Q.address2?.street,ve.attributes.value),...c("country",Q.address2?.street,N.attributes.value)},emails:ae,phones:Ae,tags:ue,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:d,birthDate:g?.toDate()}};function le(){e&&(!e.businessId||e.businessName)}function xe(){p(e?.birthDate?J(e.birthDate):null)}function he(Q){if(!e)return;const ue=K=>K.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ae=e.properties.find(K=>K.nameKey===Q)??e.properties.find(K=>ue(K.nameKey)===ue(Q));if(!Ae){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Q}`);return}const ae=d.map(K=>K.nameKey===Q?{...K,value:Ae.value}:K);u(ae)}const Ve=()=>e?a.map(Q=>{const ue=K=>K.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ae=e.properties.find(K=>K.nameKey===Q.nameKey)??e.properties.find(K=>ue(K.nameKey)===ue(Q.nameKey));if(Ae)return{...Ae,nameKey:Q.nameKey,type:Ae.type??Q.type,value:Ae.value};const ae=d.find(K=>K.nameKey===Q.nameKey);return{nameKey:Q.nameKey,type:Q.type,value:ae?ae.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ve())},[e,a]),l.useEffect(()=>{e?.tags&&T.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:g,imsWhatsapp:w,imsRCS:k,contactFirstname:m,contactLastname:x,contactImage:y,contactPropietary:U,imsMercadolibre:v,imsFacebooks:j,imsWebchats:I,imsInstagrams:C,emails:S,phoneNumbers:W,homeAddress:P,secondaryHomeAddress:R,city:q,secondaryCity:H,state:te,secondaryState:ce,postalCode:pe,secondaryPostalCode:ve,country:fe,secondaryCountry:N,customProperties:d,labelMultipleSelect:T},action:{setBirthDate:p,setCustomProperties:u,getEditedContact:je,handleAddressFieldChange:G,handleNoteFieldChange:B,handleDeleteAddress:Z,addPhone:$,addEmail:A,addWhatsapp:E,addRCS:z,replaceAddress:_,addWhatsappVerified:V,resetToInitialContactInformation:Y,resetSelectedBusiness:le,resetBirthDate:xe,resetCustomProperty:he},state:{isDeletingAddress:L}}},wa=l.createContext(null),mo=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=ho({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(wa.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},go=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const o=po({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(wa.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},yo=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(mo,{contact:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}):t.jsx(go,{business:n,customContactFields:s,baseUrl:i,spaceId:o,children:e}),et=()=>{const e=l.useContext(wa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},gt=({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},ea=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=ge();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(Zn,{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]})},gn=({children:e,...a})=>t.jsx(r.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),fo=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(St.LocalizationProvider,{dateAdapter:jt.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Oa.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},xo={view:"main",setView:()=>{}},yn=l.createContext(null),bo=yn.Provider,vo=()=>l.useContext(yn)||(console.warn("[useEditContactView] using noop, context value is missing"),xo),fn=()=>{},xn=l.createContext(fn),Co=({navigate:e,children:a})=>t.jsx(xn.Provider,{value:e,children:a}),jo=()=>l.useContext(xn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),fn);function So({value:e,displayValue:a,businessId:n}){const s=rt(),i=jo(),[o,c]=l.useState(null),d=kt({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,m]=l.useState(null),[x,y]=l.useState(!1);return t.jsxs(r.Box,{display:"flex",alignItems:"center",children:[t.jsx(r.Typography,{onClick:async g=>{const p=g.currentTarget;if(y(!0),!s){console.error("API is null");return}const b=await s.fetchBusiness({businessId:n});if(b&&Sa(b)&&c(b),y(!1),!p){console.error("Target element is null");return}m(p)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:g=>g.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(Xa,{contactData:o,open:!!u,anchorEl:u,onClose:()=>m(null),navigate:i,avatarImgUrl:d.imageUrl}),x&&t.jsx(r.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(r.CircularProgress,{size:20})})]})}const wo=e=>"email"in e,Ia=e=>e.entityType==="contact"&&e.inputType==="birthday",Io=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),bn=r.styled(r.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ot=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:o,spaceId:c,minWidth:d,onEntityUpdated:u}=e,m=ge(),{setView:x}=vo(),y=e.inputType??"text",[g,p]=l.useState(!1),[b,j]=l.useState(!1),v=l.useRef(null),[I,C]=l.useState(!1),[w,S]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const B=v.current;if(!B)return;const Z=()=>{const Y=B.scrollWidth>B.clientWidth;C(L=>L===Y?L:Y)};if(Z(),typeof ResizeObserver<"u"){let Y=0;const L=new ResizeObserver(()=>{if(typeof window>"u"){Z();return}Y&&window.cancelAnimationFrame(Y),Y=window.requestAnimationFrame(()=>{Z()})});return L.observe(B),()=>{typeof window<"u"&&Y&&window.cancelAnimationFrame(Y),L.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[a]),l.useEffect(()=>{e.entityType==="business"?S(n):S(typeof n=="string"?n:void 0)},[n,e.entityType]);const W=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){x("businessSelect");return}p(B=>!B)},k=B=>{S(B.target.value)},$=B=>{const Z=B.target.value;S(Z)},A=()=>{Ia(e)&&e.contact.action.resetBirthDate(),p(!1)},E=async()=>{if(!e.constructUpdateObject){p(!1);return}if(e.entityType==="business"&&w===void 0){p(!1);return}j(!0);try{if(!o||!c)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let B=w===void 0?null:w;if(Ia(e)){const T=J(e.contact.field.birthDate);T.isValid()&&(B=T.toISOString())}const Z=e.constructUpdateObject(B),Y=e.entityId??Z?.id;if(!Y)throw new Error("Missing contactId for updateEntity");const L=await Je({baseUrl:o,spaceId:c,entityType:"contact",entityId:Y,body:Z});u?.(L)}else{const B=e.constructUpdateObject(w),Z=e.entityId??B?.id;if(!Z)throw new Error("Missing businessId for updateEntity");const Y=await Je({baseUrl:o,spaceId:c,entityType:"business",entityId:Z,body:B});u?.(Y)}}finally{j(!1),p(!1)}},z=typeof w=="string"?w:"",V=w instanceof Date?w.toISOString():typeof w=="string"?w:"",_=d??(e.entityType==="contact"?"45%":"200px"),G=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:[I?t.jsx(r.Tooltip,{title:a,arrow:!0,children:t.jsx(r.Typography,{ref:v,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow: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:v,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(bn,{size:"small",onClick:E,children:b?t.jsx(r.CircularProgress,{size:24}):t.jsx(ct,{})}),t.jsx(bn,{size:"small",onClick:A,children:t.jsx(Wa,{})})]}):t.jsx(Io,{className:"edit-icon",size:"small",onClick:W,children:t.jsx(Ct,{})})]}),t.jsx(r.Box,{width:g?"100%":"50%",position:"relative",children:g&&y==="text"?t.jsx(r.TextField,{value:V,onChange:k,variant:"standard",size:"small",sx:{width:"100%"}}):g&&(y==="select"||y==="selectMembers")?t.jsxs(r.Select,{value:z,onChange:$,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(r.MenuItem,{value:"",children:m("conversations.contactDetails.contactInfo.emptySelection")}):null,G.map((B,Z)=>t.jsx(r.MenuItem,{value:B.id,children:e.entityType==="contact"?B.name?.trim()||(wo(B)?B.email:"")||"Sin nombre":B.name?.trim()||B.email||"Sin nombre"},Z))]}):g&&Ia(e)?t.jsx(fo,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!g&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(So,{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||"-"})})]})},Dt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:o,constructUpdateObject:c,businessId:d,baseUrl:u,spaceId:m,contactId:x,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(ot,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:o,constructUpdateObject:c,contact:e.contact,businessId:d,baseUrl:u,spaceId:m,dateFormat:e.dateFormat,onEntityUpdated:y});const g=e.inputType??"text";return t.jsx(ot,{entityType:"contact",entityId:x,title:a,value:n,isNotEditable:s,inputType:g,options:i,displayValue:o,constructUpdateObject:c,businessId:d,baseUrl:u,spaceId:m,onEntityUpdated:y})},To=({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 m=u.target.value.replace(/[^0-9.]/g,"");n(e,m)},d=u=>{const m=u.target.value;/^\d*$/.test(m)&&n(e,m)};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%"}})},Eo=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(St.LocalizationProvider,{dateAdapter:jt.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Oa.DatePicker,{value:e?J(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},ko=({handleChange:e,value:a,options:n})=>{const s=ge();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))]})})},Do=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(St.LocalizationProvider,{dateAdapter:jt.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(es.TimePicker,{value:e?J(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ao=({value:e,handleChange:a,userTimeFormat:n})=>{const s=ge(),i=[J().set("hour",0).set("minute",0),J().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(St.LocalizationProvider,{dateAdapter:jt.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ge.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})})})},Fo=({value:e,handleChange:a,userDateFormat:n})=>{const s=ge(),i=[J(),J()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(St.LocalizationProvider,{dateAdapter:jt.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ge.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})})})},$o=r.styled(r.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),vn=r.styled(r.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Bo=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),Cn=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})),Uo=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"})),jn=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:o,baseUrl:c,spaceId:d,onEntityUpdated:u})=>{const{customProperties:m}=a.field,{setCustomProperties:x}=a.action,[y,g]=l.useState(!1),[p,b]=l.useState(!1),j=l.useRef(null),[v,I]=l.useState(!1),C=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),w=o?.regCon_timeFormat||"24",S=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,W=(L,T)=>L.toLowerCase()==="dni"?!0:S(T),k=(L,T,U)=>{if(U===""||U===null||U===void 0)return null;if(W(L,T)){const P=Number(U);return Number.isNaN(P)?U:P}return U},$=()=>g(L=>!L),A=()=>{g(!1),a.action.resetCustomProperty(e.nameKey)},E=async()=>{if(!c||!d||!s)return;b(!0);const L=m.find(H=>H.nameKey===e.nameKey)||e,{nameKey:T,value:U}=L,P=i.find(H=>H.nameKey===T)?.type??L.type;let R;if(P===ne.ContactField_type.TIME){const H=J(U);H.isValid()?R=H.format(w==="24"?"HH:mm":"hh:mm"):R=U}else if(P===ne.ContactField_type.DATE){const H=J(U);H.isValid()?R=H.toISOString():R=U}else R=k(T,P,U);const q={properties:[{nameKey:T,type:P,value:R}]};try{const H=await Je({baseUrl:c,spaceId:d,entityType:n,entityId:s,body:q}),te=m.map(ce=>ce.nameKey===T?{...ce,type:P,value:R}:ce);x(te),u?.(H)}finally{b(!1),g(!1)}},z=L=>i.find(T=>T.nameKey===L)?.name||L;l.useEffect(()=>{const L=j.current;if(!L)return;const T=()=>{const U=L.scrollWidth>L.clientWidth;I(P=>P===U?P:U)};if(T(),typeof ResizeObserver<"u"){let U=0;const P=new ResizeObserver(()=>{if(typeof window>"u"){T();return}U&&window.cancelAnimationFrame(U),U=window.requestAnimationFrame(()=>{T()})});return P.observe(L),()=>{typeof window<"u"&&U&&window.cancelAnimationFrame(U),P.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}},[i,e.nameKey]);const V=(L,T)=>{const U=e.type===ne.ContactField_type.DATERANGE?Array.isArray(T)&&T[0]&&T[1]?`${J(T[0]).toISOString()} - ${J(T[1]).toISOString()}`:"":e.type===ne.ContactField_type.DATE?J(T).isValid()?J(T).toISOString():"Invalid Date":e.type===ne.ContactField_type.TIME?J(T).isValid()?J(T).toISOString():"Invalid Time":T,P=m.map(R=>R.nameKey===L?{...R,value:U}:R);x(P)},{type:_,nameKey:G,value:B}=e,Z=L=>L==null?!1:typeof L=="string"?L.trim().length>0:!0,Y=()=>_===ne.ContactField_type.DATE?t.jsx(Eo,{value:B?J(B):null,handleChange:L=>V(G,L?.toDate()),dateFormat:C}):_===ne.ContactField_type.TIME?t.jsx(Do,{value:e?.valueDate?J(e.valueDate):B?J(B):null,handleChange:L=>V(G,L),userTimeFormat:w}):_===ne.ContactField_type.DATERANGE?t.jsx(Fo,{value:B&&typeof B=="string"&&B.includes(" - ")?[J(B.split(" - ")[0]),J(B.split(" - ")[1])]:null,handleChange:L=>V(G,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userDateFormat:C}):_===ne.ContactField_type.TIMERANGE?t.jsx(Ao,{value:Array.isArray(B)&&B.length===2?[J(B[0]),J(B[1])]:null,handleChange:L=>V(G,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userTimeFormat:w}):_===ne.ContactField_type.OPTIONS?t.jsx(ko,{value:typeof B=="string"?B:"",handleChange:L=>V(G,L),options:i.find(L=>L.nameKey===G)?.typeOptions??[]}):t.jsx(To,{type:_,nameKey:G,value:B,onChange:V});return t.jsxs(Bo,{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:[v?t.jsx(r.Tooltip,{title:z(e.nameKey),arrow:!0,children:t.jsx(Cn,{ref:j,flexGrow:1,noWrap:!0,children:z(e.nameKey)})}):t.jsx(Cn,{ref:j,flexGrow:1,noWrap:!0,children:z(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(vn,{size:"small",onClick:E,children:p?t.jsx(r.CircularProgress,{size:24}):t.jsx(ct,{})}),t.jsx(vn,{size:"small",onClick:A,children:t.jsx(Wa,{})})]}):t.jsx($o,{className:"edit-icon",size:"small",onClick:$,children:t.jsx(Ct,{})})]}),t.jsx(r.Box,{width:y||e.type===ne.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?Y():t.jsx(Uo,{children:Z(e?.value)?e.type===ne.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const L=e.value.split(" - ");if(L.length===2){const[T,U]=L,P=J(T),R=J(U);return`${P.isValid()?P.format(C):"-"} - ${R.isValid()?R.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${J(e.value[0]).format(C)} - ${J(e.value[1]).format(C)}`;return`${e.value}`})():e.type===ne.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${J(e.value[0]).format(w==="24"?"HH:mm":"hh:mm")} - ${J(e.value[1]).format(w==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ne.ContactField_type.TIME?(()=>{try{const L=e.valueDate||e.value;return`${J(L).format(w==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ne.ContactField_type.DATE?(()=>{try{return`${J(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Po=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:c,onEntityUpdated:d}=e,u=ge(),{entityType:m,editEntity:x}=et(),y=rt();if(m!=="contact")return null;const[g,p]=l.useState([]),[b,j]=l.useState(null),[v,I]=l.useState(null),[C,w]=l.useState(null),S=x;l.useEffect(()=>{if(!y)return;const E=new AbortController;return y.fetchUsers({signal:E.signal}).then(z=>{E.signal.aborted||p(z??[])}).catch(()=>{E.signal.aborted||p([])}),()=>{E.abort()}},[y]),l.useEffect(()=>{const E=new AbortController,z=async V=>{if(!V||!y)return null;try{const _=await y.fetchUserTriiById({userId:V,signal:E.signal});return _?.display_name||_?.email||null}catch{return null}};return(async()=>{const V=gt({userId:n.owner,users:g,currentUser:c})??(n.owner?await z(n.owner):null),_=gt({userId:n.createdBy??void 0,users:g,currentUser:c})??(n.createdBy?await z(n.createdBy):null),G=gt({userId:n.updatedBy??void 0,users:g,currentUser:c})??(n.updatedBy?await z(n.updatedBy):null);E.signal.aborted||(j(V),w(_),I(G))})(),()=>{E.abort()}},[y,n,g,c]);const W=(a||"YYYY/MM/DD").toUpperCase(),k=S.field.birthDate,$=k?.isValid()?k.format(W):null,A=E=>{const z=new Date;let V=z.getFullYear()-E.getFullYear();const _=z.getMonth()-E.getMonth();return(_<0||_===0&&z.getDate()<E.getDate())&&V--,V};return t.jsx(ea,{title:"General",children:t.jsxs(gn,{children:[t.jsx(Dt,{title:u("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:g,constructUpdateObject:E=>({owner:typeof E=="string"?E:""}),contact:S,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:d}),t.jsx(Dt,{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(Dt,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Dt,{title:u("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Dt,{title:u("global.birthdate"),inputType:"birthday",displayValue:k?`${$} (${A(k.toDate())})`:"-",value:k?k.toISOString():"",constructUpdateObject:E=>({birthDate:E}),contact:S,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:d}),S.field.customProperties.map(E=>t.jsx(jn,{property:E,entity:S,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:i,spaceId:o,onEntityUpdated:d},E.nameKey))]})})},Ta=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:o,constructUpdateObject:c,baseUrl:d,spaceId:u,businessId:m,onEntityUpdated:x})=>t.jsx(ot,{entityType:"business",entityId:m,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:o,constructUpdateObject:c,baseUrl:d,spaceId:u,onEntityUpdated:x}),Mo=e=>{const a=ge(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:o,currentUser:c,onEntityUpdated:d}=e,{entityType:u,editEntity:m}=et(),x=rt();if(u!=="business")return null;const[y,g]=l.useState([]),[p,b]=l.useState(null),[j,v]=l.useState(null),[I,C]=l.useState(null),w=m;return l.useEffect(()=>{if(!x)return;const S=new AbortController;return x.fetchUsers({signal:S.signal}).then(W=>{S.signal.aborted||g(W??[])}).catch(()=>{S.signal.aborted||g([])}),()=>{S.abort()}},[x]),l.useEffect(()=>{const S=new AbortController,W=async k=>{if(!k||!x)return null;try{const $=await x.fetchUserTriiById({userId:k,signal:S.signal});return $?.display_name||$?.email||null}catch{return null}};return(async()=>{const k=gt({userId:n.owner,users:y,currentUser:c})??(n.owner?await W(n.owner):null),$=gt({userId:n.createdBy??void 0,users:y,currentUser:c})??(n.createdBy?await W(n.createdBy):null),A=gt({userId:n.updatedBy??void 0,users:y,currentUser:c})??(n.updatedBy?await W(n.updatedBy):null);S.signal.aborted||(b(k),C($),v(A))})(),()=>{S.abort()}},[x,n,y,c]),t.jsx(ea,{title:"General",children:t.jsxs(gn,{children:[t.jsx(Ta,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:p||"-",inputType:"select",options:y,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:d}),t.jsx(Ta,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(Ta,{title:a("conversations.contactDetails.modifiedBy"),value:j||"-",isNotEditable:!0}),w.field.customProperties.map(S=>t.jsx(jn,{property:S,entity:w,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:c,baseUrl:i,spaceId:o,onEntityUpdated:d},S.nameKey))]})})},Ro=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Po,{...e,entityData:n,entityType:"contact"}):t.jsx(Mo,{...e,entityData:n,entityType:"business"})},No=()=>{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("")}}},Lo=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"})),zo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Oo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Wo=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"})),_o=we.styled(r.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ea=we.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Vo=we.styled(Ea)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),qo=we.styled(Ea)(({})=>({fontSize:14,fontWeight:500})),Ho=we.styled(Ea)(({})=>({fontSize:14,fontWeight:500})),Go=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=kt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Lo,{children:[t.jsx(zo,{children:t.jsxs(Wo,{children:[t.jsx(r.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(qo,{children:e.address})}),t.jsx(r.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Ho,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Vo,{children:e.note})})]})}),t.jsxs(Oo,{children:[a!==""&&t.jsx(_o,{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($e.Star,{sx:{color:"#fcac34"}}):t.jsx($e.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},ka=_a.PhoneNumberUtil.getInstance(),Yo=e=>{if(!e||!e.trim())return e;try{const a=ka.parse(e,void 0);return ka.isValidNumber(a)?ka.format(a,_a.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Ko=we.styled(r.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Jo=we.styled(ts)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Qo=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"})),Xo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Zo=we.styled(r.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),ei=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"})),Sn=we.styled(r.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),ti=we.styled(Sn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),ai=we.styled(Sn)(({})=>({fontSize:14,fontWeight:500})),ni=({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(()=>Yo(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Qo,{children:[t.jsxs(Xo,{children:[t.jsx(Ko,{onClick:a,color:"primary",size:"small",children:t.jsx(Jo,{})}),t.jsxs(ei,{children:[t.jsx(r.Tooltip,{title:n||"",arrow:!0,children:t.jsx(ai,{children:n})}),t.jsx(r.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(ti,{children:e.note})})]})]}),t.jsx(Zo,{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($e.Star,{sx:{color:"#fcac34"}}):t.jsx($e.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},si=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}})),ri=r.styled(r.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),oi=r.styled(r.Box)(({})=>({display:"flex",alignItems:"center"})),ii=r.styled(r.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),li=r.styled(r.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),ci=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(si,{children:[t.jsxs(oi,{children:[t.jsx(ri,{children:e}),t.jsx(li,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(Ct,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(ii,{children:a.map((o,c)=>n?t.jsx(ni,{item:o},c):t.jsx(Go,{item:o,owner:i},c))})]}),di=({title:e})=>t.jsx(r.Box,{children:t.jsx(r.Typography,{variant:"subtitle2",children:e})}),ui={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ta=({title:e,handleAdd:a})=>{const n=ge();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(r.Box,{sx:ui.container,children:[t.jsx(r.Typography,{variant:"subtitle2",children:e}),t.jsx(r.Button,{onClick:a,size:"small",startIcon:t.jsx(Va,{}),variant:"text",color:"primary",children:n("global.add")})]})},pi={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},At=({children:e})=>t.jsx(r.Box,{sx:pi.container,children:e}),wn={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},hi=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const o=ge(),[c,d]=l.useState(null),u=!!c,{channelType:m,address:x}=a,[y,g]=l.useState(!1),[p,b]=l.useState(null),[j,v]=l.useState(!1),I=A=>{d(A.currentTarget)},C=()=>{d(null)},w=()=>{v(!1)},S=()=>{e(),C()},W=async()=>{g(!0);try{if(!i)return;const A=await i(13);if(!A)return;b(A),v(!0)}catch(A){console.error("Error verifying WhatsApp account:",A)}finally{g(!1)}C()},k=async()=>{g(!0);try{if(!i)return;const A=await i(21);if(!A)return;b(A),v(!0)}catch(A){console.error("Error verifying RCS account:",A)}finally{g(!1)}C()},$=async()=>{await n(),v(!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(as,{})}),t.jsxs(r.Menu,{id:"basic-menu",anchorEl:c,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(r.MenuItem,{onClick:S,children:[t.jsx(r.ListItemIcon,{children:t.jsx(Yt,{color:"error"})}),t.jsx(r.ListItemText,{children:o("global.delete")})]}),m===5&&t.jsxs(r.MenuItem,{onClick:W,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(ns,{sx:{color:"green"}})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),m===21&&t.jsxs(r.MenuItem,{onClick:k,disabled:!s,children:[t.jsx(r.ListItemIcon,{children:y?t.jsx(r.CircularProgress,{size:24}):t.jsx(ss,{})}),t.jsx(r.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(r.Modal,{open:j,onClose:w,"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:A=>A.palette.background.default},children:p?.success?t.jsxs(t.Fragment,{children:[t.jsxs(r.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.wspAccountFound")," ",x]}),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:$,color:"primary",children:o("optionsMenu.yesLink")}),t.jsx(r.Button,{onClick:w,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")," ",x]}),t.jsx(r.Button,{onClick:w,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},Ft=e=>{const a=ge(),n=rt(),{editEntity:s,entityId:i}=et(),[o,c]=l.useState(!1),d=e.checked??!0,u=e.entityId??i,{note:m,channelType:x,id:y,address:g}=e.addressData,p=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??s.action.replaceAddress,j=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),v=async S=>{if(!n||!u)return null;const W=await n.setContactAddress({data:{address:g,contactId:u,type:S}});return b(y,W),W},I=async()=>{if(!n||!u)return;const S=await n.updateContactAddress({data:{contactAddressId:y,contactId:u,note:m??""}});b(y,S)},C=async()=>{c(!0),p?(await I(),c(!1)):await v(x)&&c(!1)},w=async()=>{c(!0);const S=await v(13);S&&j&&j(S),S&&c(!1)};return t.jsxs(r.Box,{sx:{...wn.container},children:[p&&t.jsx(r.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:S=>e.handleNoteFieldChange(S,y,x),value:m,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:wn.noteTextField}),t.jsx(r.IconButton,{onClick:C,children:o?t.jsx(r.CircularProgress,{size:24}):t.jsx(ct,{color:"primary"})}),t.jsx(hi,{onDelete:()=>e.handleDeleteAddress(y,x),addressData:e.addressData,handleLinkAccountSave:w,checked:d&&!o,onCheckContactAddress:async S=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:g,type:S}})}catch{return null}}})]})},mi={container:{display:"flex",gap:"100px",alignItems:"center"}},$t=({children:e})=>t.jsx(r.Box,{sx:mi.container,children:e}),gi={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Bt=({children:e})=>t.jsx(r.Box,{sx:{...gi.container},children:e}),yi=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(is,{size:20});case"available":return t.jsx(rs,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(os,{style:{height:27,width:27},color:"error"});default:return null}},In=({status:e,text:a})=>t.jsxs(ls,{position:"end",children:[a?t.jsx(cs,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(yi,{status:e})})]}),fi={code:{width:"60%",color:"gray"}},xi=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(At,{children:t.jsxs($t,{children:[t.jsx(r.Typography,{sx:fi.code,variant:"body2",children:e.address}),t.jsx(Ft,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},bi=({IMSs:e,editEntity:a})=>t.jsx(Bt,{children:e?.map(n=>t.jsx(xi,{data:n,editEntity:a},n.id))}),aa=({editEntity:e,title:a,IMSs:n})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(di,{title:a}),t.jsx(bi,{IMSs:n,editEntity:e})]}),vi={addressField:{}},Da=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:o}=e,c=ge(),d=rt(),[u,m]=l.useState("idle"),[x,y]=l.useState(o),g=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let p=setTimeout(async()=>{if(o!==""&&o!==x){if(!d)return;m("loading"),y(o);const b={address:o,type:i};try{const j=await d.checkContactAddress({data:b}),{success:v,warnings:I}=j;n(I),m(v?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(p)},[d,e,o,i,x,n]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:g,sx:vi.addressField,size:"small",label:i===ht.ChannelType.WHATSAPP||i===ht.ChannelType.RCS?c?c("global.number"):"Number":c?c("global.email"):"Email",value:o,onChange:p=>{a(p,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(In,{status:u})})}})})},Ci={addressField:{}},ji=({data:e,onChange:a,setWarnings:n})=>{const s=rt(),i=ge(),{id:o,channelType:c,address:d}=e,[u,m]=l.useState("idle"),[x,y]=l.useState(d),g=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let p=setTimeout(async()=>{if(d!==""&&d!==x){if(!s)return;m("loading"),y(d);const b={address:d,type:c};try{const{success:j,warnings:v}=await s.checkContactAddress({data:b});n(v),m(j?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(p)},[e]),t.jsx(t.Fragment,{children:t.jsx(r.TextField,{disabled:g,sx:Ci.addressField,size:"small",label:i("global.number"),value:d,onChange:p=>{a(p,o,c)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(In,{status:u})})}})})},Aa={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Si=({text:e})=>t.jsx(r.Grid,{item:!0,children:t.jsx(r.Box,{sx:Aa.secondaryContainer,children:t.jsx(us,{icon:t.jsx(ds,{sx:Aa.icon}),sx:Aa.chip,label:e,color:"error",variant:"outlined"})})}),na=({warnings:e})=>{const a=ge();return t.jsx(r.Box,{children:t.jsx(r.Grid,{container:!0,children:e?.map((n,s)=>t.jsx(Si,{text:a(`contactAddressError.${n}`)},s))})})},wi={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Ii=({data:e})=>{const a="edit",{editEntity:n}=et(),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(At,{children:t.jsxs($t,{children:[t.jsxs(r.Box,{sx:{...wi.numberCountryContainer,flexDirection:"column"},children:[t.jsx(ji,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange}),o.length>0&&t.jsx(na,{warnings:o})]}),t.jsx(Ft,{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(Bt,{variant:"large",children:e?.map(a=>t.jsx(Ii,{data:a},a.id))}),Ei=({phoneNumbers:e,handleAdd:a})=>{const n=ge();return t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:n("global.phones")}),t.jsx(Ti,{phoneNumbers:e})]})},Tn={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}=et(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(At,{children:[t.jsxs($t,{children:[t.jsx(r.Box,{sx:Tn.numberCountryContainer,children:t.jsx(r.Box,{sx:Tn.adressInputBox,children:t.jsx(Da,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},Di=({emails:e})=>t.jsx(Bt,{variant:"large",children:e?.map(a=>t.jsx(ki,{data:a},a.id))}),Ai=({emails:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"Emails"}),t.jsx(Di,{emails:e})]}),En={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Fi=({data:e})=>{const a="edit",{editEntity:n}=et(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(At,{children:[t.jsxs($t,{children:[t.jsx(r.Box,{sx:En.numberCountryContainer,children:t.jsx(r.Box,{sx:En.adressInputBox,children:t.jsx(Da,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},$i=({whatsapps:e})=>t.jsx(Bt,{variant:"large",children:e?.map(a=>t.jsx(Fi,{data:a},a.id))}),Bi=({whatsapps:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"WhatsApp"}),t.jsx($i,{whatsapps:e})]}),kn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ui=({data:e})=>{const a="edit",{editEntity:n}=et(),s=n.action,i=n.state,[o,c]=l.useState([]);return t.jsxs(At,{children:[t.jsxs($t,{children:[t.jsx(r.Box,{sx:kn.numberCountryContainer,children:t.jsx(r.Box,{sx:kn.adressInputBox,children:t.jsx(Da,{data:e,setWarnings:c,onChange:s.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},Pi=({RCSs:e})=>t.jsx(Bt,{variant:"large",children:e?.map(a=>t.jsx(Ui,{data:a},a.id))}),Mi=({RCSs:e,handleAdd:a})=>t.jsxs(r.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"RCS"}),t.jsx(Pi,{RCSs:e})]}),Ri=we.styled(r.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.panel,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),Ni=({open:e,onClose:a,title:n})=>{const s=ge(),{editEntity:i}=et(),{emails:o,phoneNumbers:c,imsWhatsapp:d,imsRCS:u}=i.field,{addEmail:m,addPhone:x,addWhatsapp:y,resetToInitialContactInformation:g,addRCS:p}=i.action;function b(){a(),g()}return t.jsx(r.Modal,{open:e,onClose:a,children:t.jsxs(Ri,{children:[(()=>{switch(n){case"Phones":return t.jsx(Ei,{handleAdd:x,phoneNumbers:c});case"Emails":return t.jsx(Ai,{handleAdd:m,emails:o});case"Whatsapp":return t.jsx(Bi,{handleAdd:y,whatsapps:d});case"RCS":return t.jsx(Mi,{handleAdd:p,RCSs:u});case"Facebook":return t.jsx(aa,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(aa,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(aa,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(aa,{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")})})]})})},Li=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=No(),{editEntity:o}=et(),c=ge(),d=o.field.phoneNumbers,u=o.field.emails,m=o.field.imsFacebooks,x=o.field.imsWhatsapp,y=o.field.imsMercadolibre,g=o.field.imsWebchats,p=o.field.imsInstagrams,b=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:m,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:x,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:g,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:p,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ea,{title:c("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:j.filter(v=>v.visible).map(v=>t.jsx(ci,{handleEdit:()=>s(v.modalTitle),title:v.title,methodItems:v.items,isPhone:v.isPhone,owner:e},v.key))})}),t.jsx(Ni,{open:a,onClose:i,title:n})]})},zi=({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=ge(),u=({addressNumber:m,title:x})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(r.Typography,{variant:"body2",children:x}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-3",children:[t.jsx("div",{className:"col-span-2",children:t.jsx(ot,{entityType:e,title:d("conversations.contactDetails.street"),value:a[m]?.street??"",...c,constructUpdateObject:y=>({[m]:{street:y}}),minWidth:"100%"})}),t.jsx(ot,{entityType:e,title:d("conversations.contactDetails.city"),value:a[m]?.city??"",...c,constructUpdateObject:y=>({[m]:{city:y}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:d("conversations.contactDetails.state"),value:a[m]?.state??"",...c,constructUpdateObject:y=>({[m]:{state:y}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:d("conversations.contactDetails.postcode"),value:a[m]?.zipcode??"",...c,constructUpdateObject:y=>({[m]:{zipcode:y}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:d("conversations.contactDetails.country"),value:a[m]?.country??"",...c,constructUpdateObject:y=>({[m]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(ea,{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")})]})})},Oi=({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]),Wi=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:o,selectedTags:c,onTagsUpdated:d})=>{const[u,m]=l.useState("main"),[x,y]=l.useState([]),[g,p]=l.useState(!1),[b,j]=l.useState(!1),[v,I]=l.useState([]),[C,w]=l.useState(!1),S=l.useMemo(()=>{const A=o??[],E=v??[],z=new Map;for(const V of A)V?.id&&z.set(String(V.id),V);for(const V of E)V?.id&&z.set(String(V.id),V);return Array.from(z.values())},[o,v]),W=l.useCallback(()=>{m("main"),y([]),p(!1),j(!1),I([]),w(!1)},[]);l.useEffect(()=>{e||W()},[e,W]),l.useEffect(()=>{if(u!=="tags"){p(!1);return}if(g||!S.length)return;const A=new Set(c.map(z=>String(z.id))),E=S.filter(z=>A.has(String(z?.id)));y(E),p(!0)},[u,g,S,c]);const k=l.useCallback(async A=>{if(C||!a||!n)return;const E=String(A??"").trim();if(!E)return;const z=E.toLowerCase(),V=S.find(_=>String(_?.name??"").trim().toLowerCase()===z);if(V?.id){y(_=>{const G=_??[];return G.some(B=>String(B?.id)===String(V.id))?G:[...G,V]});return}w(!0);try{const _=await sn({baseUrl:a,spaceId:n,name:E});I(G=>{const B=G??[];return!_?.id||B.some(Z=>String(Z?.id)===String(_.id))?B:[...B,_]}),y(G=>{const B=G??[];return!_?.id||B.some(Z=>String(Z?.id)===String(_.id))?B:[...B,_]})}finally{w(!1)}},[C,a,n,S]),$=l.useCallback(async()=>{if(b||!a||!n||!s||i!=="contact"&&i!=="business")return;const A=x.filter(E=>E?.id&&E?.name).map(E=>({id:String(E.id),name:String(E.name)}));j(!0);try{await Je({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:A}}),d(A),m("main")}finally{j(!1)}},[b,a,n,s,i,x,d]);return{view:u,setView:m,draftLabels:x,setDraftLabels:y,labelsOptions:S,isSaving:b,isCreatingLabel:C,handleCreateLabel:k,handleSaveTags:$}},_i=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Vi={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},qi=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:o,currentUser:c})=>{const d=ge(),u=rt(),m=l.useRef(null),x=l.useRef(null),[y,g]=l.useState(()=>s?.businessName??""),[p,b]=l.useState(!1),[j,v]=l.useState(!1),[I,C]=l.useState(!1),[w,S]=l.useState([]),[W,k]=l.useState(s??null),[$,A]=l.useState(1),[E,z]=l.useState(!1),[V,_]=l.useState(!1),G=l.useMemo(()=>{const H=c?.display_name,te=c?.email;return String(H||te||"").trim()},[c]);l.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null),x.current?.abort()},[]),l.useEffect(()=>{k(s??null),g(s?.businessName??"")},[s]);const B=()=>{x.current?.abort(),x.current=null,m.current&&(clearTimeout(m.current),m.current=null),b(!1),_(!1),A(1),z(!1),S([])},Z=H=>H.filter(te=>!!te?.id).map(te=>({businessId:String(te.id),businessName:String(te.name??"")})),Y=async({query:H,page:te})=>{if(!u)return;x.current?.abort();const ce=new AbortController;x.current=ce,v(!0);try{const pe={...Vi,currentPage:te,filter:[{value:H,column:"name",condition:""}]},ve=await u.fetchBusinessTableData({pagination:pe,signal:ce.signal});if(ce.signal.aborted)return;const fe=Z(ve?.contactos??[]);b(!0);const N=ve?.paginacion?.total??0;S(je=>{const le=te===1?fe:(()=>{const xe=new Map;for(const he of je)xe.set(he.businessId,he);for(const he of fe)xe.set(he.businessId,he);return Array.from(xe.values())})();return N&&le.length>=N&&_(!0),le})}finally{v(!1),C(!1),z(!1)}},L=H=>{B(),H&&(m.current&&(clearTimeout(m.current),m.current=null),C(!0),m.current=setTimeout(()=>{Y({query:H,page:1})},800))},T=H=>{const te=H.target;if(!(te.scrollHeight-te.scrollTop-te.clientHeight<1)||V||j||!y)return;const ce=$+1;z(!0),A(ce),Y({query:y,page:ce})},U=async()=>{if(!u||!G)return;const H=String(y??"").trim();if(H){v(!0);try{const te={name:H,owner:G,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ce=await u.createBusiness({business:te}),pe={businessId:String(ce.id??""),businessName:String(ce.name??H)};S([pe]),k(pe),b(!0)}finally{v(!1)}}},P=async()=>{if(!e||!a||!n)return;const H=W?.businessId??"",te=await Je({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:H}});o?.(te),i()},R=p&&w.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(Ze.LoadingButton,{size:"small",variant:"contained",onClick:U,loading:j,disabled:j||!G,children:d("global.createNew")})]}):t.jsx(r.Typography,{variant:"body2",children:d("global.noOptions")}),q=!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(xa,{fontSize:"small"})}),t.jsx(r.Typography,{variant:"subtitle1",children:d("conversations.contactDetails.business")}),t.jsx(r.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ct,{}),onClick:P,loading:!1,disabled:q,children:d("global.save")})]}),t.jsxs(r.Box,{sx:{position:"relative"},children:[j||I||E?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:W,onChange:(H,te)=>{k(te)},inputValue:y,onInputChange:(H,te,ce)=>{g(te),ce==="input"&&L(te)},options:w,getOptionLabel:H=>H?.businessName??"",isOptionEqualToValue:(H,te)=>H.businessId===te.businessId,noOptionsText:R,renderInput:H=>t.jsx(r.TextField,{...H,size:"small",label:d("conversations.contactDetails.business"),placeholder:d("global.noValue"),InputProps:{...H.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[j||I?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null,H.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:T}})]})]})},Hi=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:o,language:c="en",navigate:d,googleMapsApiKey:u,onEntityUpdated:m})=>{const{t:x,i18n:y}=He.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 Y=document.createElement("script");return Y.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,Y.async=!0,Y.defer=!0,document.body.appendChild(Y),()=>{}},[u]),l.useEffect(()=>{c&&y.changeLanguage(c)},[c,y]);const p=Y=>x(Y),b=l.useMemo(()=>!n||!s?null:ln(n,s),[n,s]),{state:j,selectors:v,actions:I}=no({open:e,baseUrl:n,spaceId:s,contactId:i}),C=Oi({entity:j.contactData,setEntity:Y=>{I.setContactData(Y??void 0),Y&&m&&m(Y)}}),{view:w,setView:S,draftLabels:W,setDraftLabels:k,labelsOptions:$,isSaving:A,isCreatingLabel:E,handleCreateLabel:z,handleSaveTags:V}=Wi({open:e,baseUrl:n,spaceId:s,contactData:j.contactData,contactType:v.contactType,labels:v.labels,selectedTags:v.tags,onTagsUpdated:Y=>{if(!j.contactData)return;const L={...j.contactData,tags:Y};I.setContactData(L),m&&m(L)}}),_=kt({baseUrl:n,spaceId:s,entityType:v.contactType==="business"||v.contactType==="contact"?v.contactType:void 0,entityId:j.contactData?String(j.contactData.id):void 0,initialImageUrl:j.contactData?.imageUrl,onEntityUpdated:C}),G=_i({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:Y=>Y.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},Z=Array.isArray(o)?[B,...o]:o?[B,o]:B;return t.jsx(Er,{value:b,children:t.jsx(Ir,{t:p,children:t.jsx(Co,{navigate:d,children:t.jsx(r.Modal,{open:e,onClose:G,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:Z,ref:g,children:[t.jsx(r.IconButton,{"aria-label":"close",onClick:G,sx:{position:"absolute",right:5,top:5,color:Y=>Y.palette.grey[500],zIndex:1},size:"small",children:t.jsx(za,{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(bo,{value:{view:w,setView:S},children:t.jsx(yo,{entityType:v.contactType==="business"?"business":"contact",entityData:j.contactData,customContactFields:v.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(r.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(r.Fade,{in:w==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Pr,{imgUrl:_.imageUrl,displayName:v.displayName,tags:v.tags,onEditTags:()=>{S("tags")},onUploadPhoto:_.action.uploadImage,onPhotoFileChange:_.inputAtributes.onChange,photoInputRef:_.inputAtributes.ref,isUploadingPhoto:_.isUploading,onDeletePhoto:_.action.deleteImage,isDeletingPhoto:_.isDeleting,contactType:v.contactType,entityId:j.contactData?.id,firstName:v.isContact?j.contactData.firstName:void 0,lastName:v.isContact?j.contactData.lastName:void 0,name:v.isBusiness?j.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(r.Box,{sx:{px:1,pb:2},children:[t.jsx(Ro,{dateFormat:v.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:v.contactType==="contact"||v.contactType==="business"?v.contactType:"contact",entityData:j.contactData,customContactFields:v.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:C,currentUser:v.userTrii}),t.jsx(zi,{entityType:v.contactType==="contact"||v.contactType==="business"?v.contactType:"contact",entityData:j.contactData,baseUrl:n,spaceId:s,onEntityUpdated:C,onDirectionSearchClick:()=>S("searchLocation")}),t.jsx(Li,{ownerData:j.contactData})]})]})}),t.jsx(r.Fade,{in:w==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(ao,{baseUrl:n,spaceId:s,entityType:v.contactType==="business"?"business":"contact",entityId:String(j.contactData.id),onBack:()=>S("main"),onEntityUpdated:C})})}),t.jsx(r.Fade,{in:w==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Rr,{value:W,options:$,onChange:k,onBack:()=>S("main"),onSave:V,isSaving:A,onCreateNew:z,isCreatingNew:E,popperContainer:g.current})})}),t.jsx(r.Fade,{in:w==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(r.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(qi,{baseUrl:n,spaceId:s,contactId:String(j.contactData.id),initialBusiness:v.isContact&&j.contactData?.businessId?{businessId:String(j.contactData.businessId),businessName:String(j.contactData.businessName??"")}:null,onBack:()=>S("main"),onEntityUpdated:C,currentUser:v.userTrii})})})]})})}):null]})})})})})})},Gi=e=>t.jsx(He.I18nextProvider,{i18n:Et,children:t.jsx(Hi,{...e})}),Dn=l.createContext(null),Yi=Dn.Provider,An=()=>l.useContext(Dn),Ki={events:[],setEvents:()=>{},filteredEvents:[]},Ji=(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])},Fn={open:!1,handleOpen:()=>{},handleClose:()=>{}},$n=()=>{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])},dt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},ut=(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)},[]),m=l.useCallback(()=>{o(!1),d("")},[]),x=l.useCallback(j=>{s(j.target.value)},[]),y=l.useCallback(j=>{s(j)},[]),g=l.useCallback(()=>{s(a||"")},[a]),p=l.useMemo(()=>({onError:u,onSuccess:m,resetValue:g,changeValue:y}),[u,m,g,y]),b=l.useMemo(()=>({error:i,helperText:c,type:e,value:n,onChange:x}),[i,c,e,n,x]);return{actions:p,attributes:b}};function Bn(e){return typeof e=="number"}const Qi={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Xi(e){const[a,n]=l.useState(e||[]),s=l.useCallback(()=>{const x={id:Xt(),timeValue:0,timePeriod:Kt.EventNotificationPeriod.MINUTE,sendToContact:!1};n(y=>y.concat(x))},[]),i=l.useCallback(x=>{n(y=>y.filter(g=>g.id!==x))},[]),o=l.useCallback((x,y)=>{const g=Number(x.target.value);Bn(g)&&n(p=>p.map(b=>b.id===y?{...b,timeValue:g}:b))},[]),c=l.useCallback((x,y)=>{if(!Bn(x.target.value))return;const g=x.target.value;n(p=>p.map(b=>b.id===y?{...b,timePeriod:g}:b))},[]),d=l.useCallback((x,y)=>{const g=x.target.checked;n(p=>p.map(b=>b.id===y?{...b,sendToContact:g}:b))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{e&&n(e)},[e]);const m=l.useMemo(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:o,handleTimePeriodChange:c,handleReminderChange:d,resetNotifications:u}),[s,i,o,c,d,u]);return{notifications:a,action:m}}const Zi={state:{selectedStartDate:J(),selectedEndDate:J().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},el={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},tl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},al={titleField:dt,descriptionField:dt,locationField:dt,colorField:dt,date:Zi,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Qi,shareWithUsers:tl,linkContact:el,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},nl=(e,a)=>{const[n,s]=l.useState(e??J()),[i,o]=l.useState(a??J().add(30,"minute")),[c,d]=l.useState(!1),u=l.useCallback(y=>g=>{y(g)},[]),m=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:c}),[n,i,c]),x=l.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:m,action:x}},sl=()=>{const[e,a]=l.useState(""),[n,s]=l.useState([]),i=l.useCallback(x=>{s(y=>y.some(g=>g.id===x.id)?y:[...y,{id:x.id,name:x.name??""}]),a("")},[]),o=l.useCallback(x=>{s(y=>y.filter(g=>g.id!==x))},[]),c=l.useCallback(x=>{a(x)},[]),d=l.useCallback(()=>{a(""),s([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),m=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:c,resetField:d}),[i,o,c,d]);return{state:u,action:m}},rl=()=>{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}},ol=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),s=ut("text",e?.details??e?.description??""),i=ut("text",e?.location??""),o=ut("text",e?.color??"#1976d2"),c=nl(e?.startAt?J(e.startAt):void 0,e?.endAt?J(e.endAt):void 0),[d,u]=l.useState(e?.allDay??!1),[m,x]=l.useState(e?.isPrivate??!1),[y,g]=l.useState(e?.rule??""),p=Xi(e?.notifications),b=rl(),j=sl(),v=l.useCallback(()=>({title:n.attributes.value,details:s.attributes.value,location:i.attributes.value,allDay:d,isPrivate:m,color:o.attributes.value,startAt:c.state.selectedStartDate.toISOString(),endAt:c.state.selectedEndDate.toISOString(),notifications:p.notifications.map(C=>({timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:b.field.userIds,rule:y,relatedContactId:j.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.attributes.value,d,m,o.attributes.value,c.state.selectedStartDate,c.state.selectedEndDate,p.notifications,b.field.userIds,y,j.state.selectedContacts]),I=l.useCallback(()=>{n.actions.resetValue(),s.actions.resetValue(),i.actions.resetValue(),o.actions.changeValue("#1976d2"),u(!1),x(!1),g(""),p.action.resetNotifications(),b.action.resetField(),j.action.resetField(),c.action.setError(!1)},[n.actions,s.actions,i.actions,o.actions,p.action,b.action,j.action,c.action]);return l.useEffect(()=>{const C=e?.id;!e||a.current===C||(a.current=C,u(e.allDay??!1),x(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(J(e.startAt)),e.endAt&&c.action.setSelectedEndDate(J(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:s,locationField:i,colorField:o,date:c,allDay:d,setAllDay:u,isPrivate:m,setIsPrivate:x,recurrenceRule:y,setRecurrenceRule:g,notifications:p,shareWithUsers:b,linkContact:j,create:v,resetFields:I}),[n,s,i,o,c,d,m,y,p,b,j,v,I])},il={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},ll={nameField:dt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:il,googleCalendar:null,handleGoogleCalendarChange:()=>{}},cl=()=>{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}},dl=()=>{const e=ut("text",""),[a,n]=l.useState("#ffffff"),[s,i]=l.useState(null),o=cl(),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])},ul={tasks:[],setTasks:()=>{},filteredTasks:[]},pl=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])},hl={state:{selectedStartDate:J(),selectedEndDate:J(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},ml={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},gl={titleField:dt,descriptionField:dt,date:hl,linkContact:ml,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},yl=(e,a)=>{const[n,s]=l.useState(e??J()),[i,o]=l.useState(a??J()),[c,d]=l.useState(!1),u=l.useCallback(y=>g=>{y(g)},[]),m=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:c}),[n,i,c]),x=l.useMemo(()=>({setSelectedStartDate:s,setSelectedEndDate:o,setError:d,handleSelect:u}),[u]);return{state:m,action:x}},fl=()=>{const[e,a]=l.useState(""),[n,s]=l.useState([]),i=l.useCallback(x=>{s(y=>y.some(g=>g.id===x.id)?y:[...y,{id:x.id,name:x.name??""}]),a("")},[]),o=l.useCallback(x=>{s(y=>y.filter(g=>g.id!==x))},[]),c=l.useCallback(x=>{a(x)},[]),d=l.useCallback(()=>{a(""),s([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),m=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:c,resetField:d}),[i,o,c,d]);return{state:u,action:m}},xl=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),s=ut("text",e?.description??""),i=yl(e?.startAt?J(e.startAt):void 0,e?.startAt?J(e.startAt):void 0),o=fl(),c=l.useCallback(()=>({title:n.attributes.value,description:s.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:o.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.state.selectedStartDate,o.state.selectedContacts]),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 m=J(e.startAt);i.action.setSelectedStartDate(m),i.action.setSelectedEndDate(m)}},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:s,date:i,linkContact:o,create:c,resetFields:d}),[n,s,i,o,c,d])},Fa=l.createContext({eventDialog:Fn,createCalendarDialog:Fn,event:al,events:Ki,calendar:ll,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:ul,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:gl,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:()=>{},hiddenTabs:!1}),Un=e=>e,Pn=l.createContext(Un),bl=({t:e,children:a})=>t.jsx(Pn.Provider,{value:e,children:a}),Ue=()=>{const e=l.useContext(Pn);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Un)};var vl=Object.defineProperty,Cl=(e,a,n)=>a in e?vl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Mn=(e,a,n)=>Cl(e,typeof a!="symbol"?a+"":a,n);class jl extends Error{constructor(a,n,s){super(a),Mn(this,"status"),Mn(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function De({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 jl(d,o.status,c)}return c}function Te(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function sa(e,a){const n=encodeURIComponent(a);return{CONTACTS:Te(e,`/contacts/${n}`),MEDIA:Te(e,`/media/${n}`),SETTINGS:Te(e,`/settings/${n}`),CALENDAR:Te(e,`/calendar/${n}`)}}function _e(e){return sa(e.baseUrl,e.spaceId).CALENDAR}async function Sl(e){const a=sa(e.baseUrl,e.spaceId);return De({url:Te(a.SETTINGS,"/user")})}async function wl(e,a,n){const s=`${_e(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return De({url:s})}async function Il(e,a){const n=_e(e);return De({url:Te(n,"/events"),method:"POST",body:a})}async function Rn(e,a){const n=_e(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 De({url:d,method:"PUT",body:i})}return De({url:Te(n,`/events/${s}`),method:"PUT",body:i})}async function $a(e,a,n){const s=_e(e);if(n){const i=n instanceof Date?n.toISOString():n,o=`${s}/events/${a}?occurrence=${i}`;await De({url:o,method:"DELETE"})}else await De({url:Te(s,`/events/${a}`),method:"DELETE"})}async function Tl(e,a){const n=_e(e);return De({url:Te(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function El(e,a){const n=_e(e);return De({url:Te(n,`/Task/${a}`)})}async function kl(e,a){const n=_e(e);return De({url:Te(n,"/Task"),method:"POST",body:a})}async function Nn(e,a,n){const s=_e(e);return De({url:Te(s,`/Task/${a}`),method:"PUT",body:n})}async function Dl(e,a){const n=_e(e);await De({url:Te(n,`/Task/${a}`),method:"DELETE"})}async function Al(e,a,n){const s=_e(e);return De({url:Te(s,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Fl(e){const a=_e(e);return De({url:Te(a,"/Calendar")})}async function $l(e,a){const n=_e(e);return De({url:Te(n,"/Calendar"),method:"POST",body:a})}async function Bl(e,a,n){const s=_e(e);return De({url:Te(s,`/Calendar/${a}`),method:"PUT",body:n})}async function Ul({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=sa(e,a),o=Te(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return De({url:o,signal:s})}async function Pl({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=sa(e,a),o=Te(i.CONTACTS,"/Search");return De({url:o,method:"POST",body:n,signal:s})}function Ba(e){const a=J(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 Ut=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},Pt=e=>e?e.parentId?e.parentId:Ut(e.id):"",Ml=({children:e,externalOpen:a,externalOnClose:n,externalMode:s="create",externalType:i="event",externalEventCalendarId:o,externalTaskCalendarId:c,externalSelectedEvent:d,externalSelectedTask:u,hiddenTabs:m=!1,externalContactId:x,externalOnActionComplete:y})=>{const{t:g}=He.useTranslation(),p=An(),b=(f,...M)=>g(f,...M),[j,v]=l.useState(i),[I,C]=l.useState(null),[w,S]=l.useState(null),[W,k]=l.useState(s),[$,A]=l.useState(c||""),[E,z]=l.useState(o||""),[V,_]=l.useState(!1),[G,B]=l.useState("create"),[Z,Y]=l.useState(null),[L,T]=l.useState({open:!1,message:"",severity:"info"}),[U,P]=l.useState(!1),[R,q]=l.useState("event"),[H,te]=l.useState(!1),[ce,pe]=l.useState(!1),[ve,fe]=l.useState(null),N="trii_calendar_last_view",je=f=>f==="month"||f==="week"||f==="day",[le,xe]=l.useState(()=>{try{const f=localStorage.getItem(N);return je(f)?f:"month"}catch{return"month"}}),[he,Ve]=l.useState(new Date),Q=f=>{Ve(f),xe("day")},ue=$n(),Ae=$n(),ae=ol(I??void 0),K=xl(w??void 0);l.useEffect(()=>{s!==void 0&&k(s)},[s]),l.useEffect(()=>{i!==void 0&&v(i)},[i]),l.useEffect(()=>{o!==void 0&&z(o)},[o]),l.useEffect(()=>{c!==void 0&&A(c)},[c]),l.useEffect(()=>{d!==void 0&&C(d)},[d]),l.useEffect(()=>{u!==void 0&&S(u)},[u]),l.useEffect(()=>{if(!x||!p||s!=="create"||!ue.open)return;let f=!1;return Ul({baseUrl:p.baseUrl,spaceId:p.spaceId,contactId:x}).then(M=>{f||!M||(ae.linkContact.action.resetField(),ae.linkContact.action.handleSelectContact(M),K.linkContact.action.resetField(),K.linkContact.action.handleSelectContact(M))}).catch(()=>{}),()=>{f=!0}},[x,ue.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!ue.open){if(s==="create"){ae.resetFields(),K.resetFields(),_(!1),C(null),S(null),ae.date.action.setError(!1),K.date.action.setError(!1);const f=Ba(new Date),M=f.add(30,"minute");if(i==="task"?(K.date.action.setSelectedStartDate(f),K.date.action.setSelectedEndDate(f)):(ae.date.action.setSelectedStartDate(f),ae.date.action.setSelectedEndDate(M)),!o){const F=Re?.[0]??at?.[0]?.id??Me?.[0]?.id??"";F&&z(F)}if(!c){const F=Re?.[0]??Me?.[0]?.id??"";F&&A(F)}}ue.handleOpen()}else!a&&ue.open&&ue.handleClose()},[a]);const We=()=>{(W==="edit"||W==="create")&&(ae.resetFields(),K.resetFields()),ae.date.action.setError(!1),K.date.action.setError(!1),n?n():ue.handleClose()},Ce=dl(),pt=G==="create",[Me,la]=l.useState([]),[Rt,Nt]=l.useState([]),[Ye,ca]=l.useState(""),ft="calendar_selected_ids",[Re,tt]=l.useState(()=>{try{const f=localStorage.getItem(ft);return f?JSON.parse(f):[]}catch{return[]}}),xt=Ji(Re,Rt),Lt=pl(Re),da=()=>{T(f=>({...f,open:!1}))},Qe=l.useCallback((f,M,F)=>{y?.(f,M,F)},[y]);function zt(f){const M=f?.startAt??f?.start,F=f?.endAt??f?.end??M;return{startAt:M,endAt:F}}const{myCalendars:at,otherCalendars:ua}=l.useMemo(()=>{const f=Me??[];if(!Ye)return{myCalendars:f,otherCalendars:[]};const M=f.filter(X=>X.userId===Ye),F=f.filter(X=>X.userId!==Ye);return M.length===0&&f.length>0?{myCalendars:f,otherCalendars:[]}:{myCalendars:M,otherCalendars:F}},[Me,Ye]),qe=l.useCallback(async()=>{if(p)try{const f=new Date,M=f.getUTCFullYear(),F=f.getUTCMonth(),X=new Date(Date.UTC(M,F-1,1,0,0,0)).toISOString(),oe=new Date(Date.UTC(M,F+2,1,0,0,0)).toISOString(),Se=await wl(p,X,oe);Nt(Se)}catch(f){console.error("Error fetching activities:",f)}},[p]),nt=l.useCallback(async f=>{if(p)try{const M=await El(p,f);Lt.setTasks(M.map(F=>({id:F.id,title:F.title||"",start:new Date(F.startAt),end:new Date(F.endAt||F.startAt),startAt:F.startAt,endAt:F.endAt,description:F.description,calendarId:F.calendarId,isCompleted:F.isCompleted||!1,relatedContact:F.relatedContact,kind:"task"})))}catch(M){console.error("Error fetching tasks:",M)}},[p]),Ke=l.useCallback(async()=>{if(p)try{const f=await Fl(p);la(f)}catch(f){console.error("Error fetching calendars:",f)}},[p]);l.useEffect(()=>{if(!ue.open||W!=="create")return;const f=at?.[0]?.id??Me?.[0]?.id??"";f&&(E||z(f),$||A(f))},[Me,at]),l.useEffect(()=>{if(!p)return;Ke(),qe();let f=!1;return Sl(p).then(M=>{f||ca(M.uid)}).catch(()=>{}),()=>{f=!0}},[p,Ke,qe]);function it(f,M,F){v(f),k("create"),C(null),S(null),ae.resetFields(),K.resetFields(),_(!1);const X=Ba(M??new Date),oe=F?Ba(F):X.add(30,"minute"),Se=oe.isAfter(X)?oe:X.add(30,"minute");if(f==="task"){K.date.action.setSelectedStartDate(X),K.date.action.setSelectedEndDate(X),K.date.action.setError(!1);const ze=Re?.[0]??Me?.[0]?.id??"";A(ze)}else{ae.date.action.setSelectedStartDate(X),ae.date.action.setSelectedEndDate(Se),ae.date.action.setError(!1);const ze=Re?.[0]??at?.[0]?.id??Me?.[0]?.id??"";z(ze);const Ee=at?.find(ke=>ke.id===ze)??Me?.find(ke=>ke.id===ze);Ee?.color&&ae.colorField.actions.changeValue(Ee.color)}ue.handleOpen()}function bt(){it("event")}function Ot(){ae.date.action.setError(!1),K.date.action.setError(!1),k("edit")}function pa(f){const{startAt:M,endAt:F}=zt(f),X={...f,kind:"event",startAt:M,endAt:F,details:f?.details??""};v("event"),C(X),S(null),z(X.calendarId??""),k("view"),ae.date.action.setError(!1),K.date.action.setError(!1),ue.handleOpen()}async function Wt(f){if(!p)return;let M;if(f)M={title:f.title,details:f.description||f.details||"",startAt:new Date(f.startAt),endAt:new Date(f.endAt),allDay:f.allDay,location:f.location||"",isPrivate:f.isPrivate||!1,color:f.color||"",rule:f.rule||"",contactId:f.relatedContactId||x||null,sharedWith:f.sharedWith||[],notifications:(f.notifications||[]).map(oe=>({id:Xt(),timeValue:oe.value,timePeriod:oe.type,sendToContact:oe.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const oe=ae.create();if(!oe.title){T({open:!0,message:b("global.nameRequired"),severity:"error"});return}M={...oe,startAt:new Date(oe.startAt),endAt:new Date(oe.endAt),contactId:oe.relatedContactId||x||null,eventTypeId:"",repeatId:"",notifications:oe.notifications.map(Se=>({...Se,id:Se.id||Xt()}))}}const F=E;if(!F){T({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const X={...M,calendarId:F};try{T({open:!0,message:b("global.savingChanges"),severity:"info"}),ae.resetFields(),We();const oe=await Il(p,X);Re.includes(F)||tt(Se=>[...Se,F]),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("created","event",oe),qe()}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function ha(){if(!I?.id)return;const f=ae.create(),M=E||I.calendarId||"";if(!M){T({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}I.originalOccurrenceDate!=null?(fe(()=>async F=>{await vt(f,M,F)}),pe(!0)):await vt(f,M,!1)}async function vt(f,M,F){const X=I?.originalOccurrenceDate!=null,oe={title:f.title,details:f.details,startAt:f.startAt,endAt:f.endAt,allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:M,notifications:f.notifications,sharedWith:f.sharedWith};(F||!X)&&(oe.rule=f.rule);const Se=Pt(I),ze={updatedActivity:oe,activityId:Se};X&&!F&&(ze.originalOccurrenceDate=I.originalOccurrenceDate);try{const Ee=await Rn(p,ze);Ee&&C(Ee),We(),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("updated","event",Ee),qe()}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function _t(f){pe(!1),ve&&(await ve(f),fe(null))}async function ma(){I?.originalOccurrenceDate!=null?te(!0):(q("event"),P(!0))}async function ga(){if(p)if(P(!1),R==="event")try{const f=Pt(I);We(),await $a(p,f),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:f}),qe()}catch(f){console.error("Error deleting event:",f);const M=f?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");T({open:!0,message:M,severity:"error"})}else{if(!w?.id)return;try{const f=Ut(w.id),M=w.calendarId;We(),await Dl(p,f),S(null),K.resetFields(),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:f}),M&&nt(M)}catch(f){console.error("Error deleting task:",f);const M=f?.message?.includes("duplicate key")?b("global.taskAlreadyDeleted","La tarea ya fue eliminada"):b("global.errorSavingChanges");T({open:!0,message:M,severity:"error"})}}}async function Vt(f){te(!1);const M=Pt(I);We();try{f?await $a(p,M):await $a(p,M,I.originalOccurrenceDate),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:M}),qe()}catch(F){console.error("Error deleting recurring event:",F);const X=F?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");T({open:!0,message:X,severity:"error"})}}async function qt(){if(!p)return;const f=Pt(I);await Tl(p,f),We()}async function ya(f,M,F){const X=M instanceof Date?M:new Date(M),oe=F instanceof Date?F:new Date(F),Se=X.toISOString(),ze=oe.toISOString(),Ee=f.kind==="task";!Ee&&f.originalOccurrenceDate!=null?(C(f),fe(()=>async ke=>{await Ht(f,Se,ze,X,oe,Ee,ke)}),pe(!0)):await Ht(f,Se,ze,X,oe,Ee,!1)}async function Ht(f,M,F,X,oe,Se,ze){Se||xt.setEvents(Ee=>Ee.map(ke=>ke.id===f.id?{...ke,start:X,end:oe,startAt:X,endAt:oe}:ke)),T({open:!0,message:b("global.savingChanges"),severity:"info"});try{if(Se){const Ee=Ut(f.id),ke={title:f.title,description:f.description,startAt:M,endAt:F,calendarId:f.calendarId,allDay:f.allDay||!1,isCompleted:f.isCompleted||!1};await Nn(p,Ee,ke),await nt(f.calendarId)}else{const Ee=Pt(f),ke=f.originalOccurrenceDate!=null,Na={title:f.title,details:f.details,startAt:new Date(M),endAt:new Date(F),allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:f.calendarId};(ze||!ke)&&(Na.rule=f.rule);const La={updatedActivity:Na,activityId:Ee};ke&&!ze&&(La.originalOccurrenceDate=f.originalOccurrenceDate),await Rn(p,La)}T({open:!0,message:b("global.changesSaved"),severity:"success"}),qe()}catch{Se||xt.setEvents(Ee=>Ee.map(ke=>ke.id===f.id?{...ke,start:f.start,end:f.end}:ke)),T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function fa(f,M){it("event",f,M)}function Gt(){Ce.nameField.actions.resetValue(),Ce.handleColorChange("#ffffff"),Ce.shareWithUsers.action.resetField(),Ce.handleGoogleCalendarChange(null)}function h(){Gt(),Y(null),B("create"),Ae.handleClose()}function D(f){Ce.nameField.actions.changeValue(f.title??""),Ce.nameField.actions.onSuccess(),Ce.handleColorChange(f.color??"#ffffff"),Ce.shareWithUsers.action.setUserIds(f.sharedWith??[]),Ce.handleGoogleCalendarChange(f.googleCalendar??null)}function O(){B("create"),Y(null),Gt(),Ae.handleOpen()}function ee(f){B("edit"),Y(f),D(f),Ae.handleOpen()}async function ie(){if(!p)return;const f=(Ce.nameField.attributes.value??"").trim();if(!f){T({open:!0,message:b("global.nameRequired"),severity:"error"});return}const M=Ce.shareWithUsers.field.userIds,F={title:f,color:Ce.color,sharedWith:M.length?M:void 0,googleCalendar:Ce.googleCalendar};try{if(pt)await $l(p,F);else{const X=Z?.id;if(!X)return;await Bl(p,X,F)}h(),T({open:!0,message:b(pt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Ke()}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function de(f){if(!p)return;let M;if(f?M={title:f.title,description:f.description||"",startAt:f.startAt,contactId:f.relatedContactId||null}:M=K.create(),!M.title){T({open:!0,message:b("global.nameRequired"),severity:"error"});return}const F=$;if(!F){T({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const X={...M,calendarId:F,contactId:M.contactId||M.relatedContactId||x||null};try{T({open:!0,message:b("global.savingChanges"),severity:"info"}),K.resetFields(),We();const oe=await kl(p,X);Re.includes(F)||tt(Se=>[...Se,F]),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("created","task",oe),nt(F)}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function re(){it("task")}async function se(){if(!p||!w?.id)return;const f=K.create();if(!f.title){T({open:!0,message:b("global.nameRequired"),severity:"error"});return}const M=$||w.calendarId;if(!M){T({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const F={...f,calendarId:M};try{T({open:!0,message:b("global.savingChanges"),severity:"info"});const X=Ut(w.id),oe=await Nn(p,X,F);oe&&S(oe),We(),T({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("updated","task",oe),nt(M)}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function Fe(){w?.id&&(q("task"),P(!0))}async function me(){if(!p||!w?.id)return;const f=!w.isCompleted;try{const M=Ut(w.id),F=w.calendarId,X=await Al(p,M,f);X&&S(X),T({open:!0,message:b("global.changesSaved"),severity:"success"}),F&&nt(F)}catch{T({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function be(){const f=j==="event",M=f?I:w;if(!M)return;const F={...M};f?(C(null),k("create"),_(!0),setTimeout(()=>{if(ae.titleField.actions.changeValue(F.title??""),ae.descriptionField.actions.changeValue(F.details??F.description??""),ae.locationField.actions.changeValue(F.location??""),ae.colorField.actions.changeValue(F.color??""),ae.setAllDay(F.allDay??!1),ae.setIsPrivate(F.isPrivate??!1),ae.setRecurrenceRule(F.rule??""),ae.date.action.setSelectedStartDate(J(F.startAt)),ae.date.action.setSelectedEndDate(J(F.endAt)),ae.date.action.setError(!1),ae.notifications.action.resetNotifications(),F.relatedContact?.id&&ae.linkContact.action.handleSelectContact(F.relatedContact),F.sharedWith){const X=F.sharedWith.map(oe=>oe.id);ae.shareWithUsers.action.setUserIds(X)}z(F.calendarId??E)},50)):(S(null),k("create"),setTimeout(()=>{K.titleField.actions.changeValue(F.title??""),K.descriptionField.actions.changeValue(F.description??""),K.date.action.setSelectedStartDate(J(F.startAt)),K.date.action.setSelectedEndDate(J(F.startAt)),K.date.action.setError(!1),F.relatedContact?.id&&K.linkContact.action.handleSelectContact(F.relatedContact),A(F.calendarId??$)},50))}function Le(f){const{startAt:M,endAt:F}=zt(f),X={...f,kind:"task",startAt:M,endAt:F,description:f?.description??""};v("task"),S(X),A(X.calendarId??""),z(X.calendarId??""),C(null),k("view"),ae.date.action.setError(!1),K.date.action.setError(!1),ue.handleOpen()}function st(f){return f?.kind==="task"?Le(f):pa(f)}l.useEffect(()=>{try{Re&&localStorage.setItem(ft,JSON.stringify(Re))}catch{}},[Re]),l.useEffect(()=>{Me?.length&&tt(f=>{const M=new Set(Me.map(X=>X.id)),F=(f??[]).filter(X=>M.has(X));return F.length?F:Me.map(X=>X.id)})},[Me]),l.useEffect(()=>{try{localStorage.setItem(N,le)}catch{}},[le]);const Xe={eventDialog:{...ue,handleClose:We},dialogMode:W,createCalendarDialog:Ae,event:ae,calendar:Ce,events:xt,handleCreateEvent:Wt,handleSelectEvent:st,handleOpenEventCreate:bt,handleStartEditingEvent:Ot,handleSaveUpdatedEvent:ha,handleEndEvent:qt,handleDeleteEvent:ma,handleResizeEvent:ya,selectedEvent:I,savingSnackbar:L,handleCloseSnackbar:da,dialogType:j,setDialogType:v,handleOpenTaskCreate:re,handleOpenCreateFromSlot:fa,handleCloseCreateCalendarDialog:h,calendarDialogMode:G,editingCalendar:Z,handleOpenCreateCalendarDialog:O,handleOpenEditCalendarDialog:ee,handleSubmitCalendar:ie,tasks:Lt,activeCalendarIds:Re,setActiveCalendarIds:tt,handleCreateTask:de,task:K,selectedTask:w,taskCalendarId:$,setTaskCalendarId:A,eventCalendarId:E,setEventCalendarId:z,userManuallyChangedColor:V,setUserManuallyChangedColor:_,myCalendars:at,otherCalendars:ua,handleSaveUpdatedTask:se,handleDeleteTask:Fe,handleToggleTaskCompleted:me,handleDuplicateItem:be,calendarView:le,setCalendarView:xe,calendarDate:he,setCalendarDate:Ve,navigateToDate:Q,confirmDeleteDialog:{open:U,handleClose:()=>P(!1),itemType:R},handleConfirmDelete:ga,deleteRecurringDialog:{open:H,handleClose:()=>te(!1)},handleConfirmDeleteRecurring:Vt,editRecurringDialog:{open:ce,handleClose:()=>{pe(!1),fe(null)}},handleConfirmEditRecurring:_t,hiddenTabs:m};return t.jsx(bl,{t:b,children:t.jsx(Fa.Provider,{value:Xe,children:e})})},ra=r.styled(r.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),Ua=r.styled(r.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Pa=r.styled(r.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),yt="DD/MM/YYYY",oa="HH:mm",Rl=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:o,hideLabel:c=!1,allDay:d=!1})=>{const u=Ue(),m=l.useMemo(()=>a.diff(e,"minute"),[e,a]),x=l.useMemo(()=>{if(m===0)return"0 min";const v=Math.floor(m/60),I=m%60;return v===0?`${I} min`:I===0?`${v} h`:`${v}.${Math.round(I/60*10)} h`},[m]),y=v=>{if(!v)return;const I=v.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=v.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),s(C)},g=v=>{if(!v)return;const I=v.hour(0).minute(0).second(0).millisecond(0);n(I)},p=v=>{if(!v)return;const I=v.hour(23).minute(59).second(59).millisecond(999);s(I)},b=v=>{if(!v)return;const I=e.hour(v.hour()).minute(v.minute()).second(0).millisecond(0),C=I.add(m,"minute");n(I),s(C)},j=v=>{if(!v)return;let I=e.hour(v.hour()).minute(v.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),s(I)};return o?t.jsxs(ra,{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(yt)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(yt)})]}):t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"body1",sx:{mb:1},children:e.format(yt)}),t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(r.Typography,{variant:"body1",children:e.format(oa)}),t.jsx(r.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(r.Typography,{variant:"body1",children:a.format(oa)}),m>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",x,")"]})]})]})]}):t.jsxs(ra,{children:[!c&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(Ge.LocalizationProvider,{dateAdapter:qa.AdapterDayjs,children:d?t.jsxs(Ua,{children:[t.jsx(Ge.DatePicker,{disabled:o,format:yt,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:g,minDate:J(),sx:{flex:1}}),t.jsx(Pa,{variant:"body1",children:"\u2013"}),t.jsx(Ge.DatePicker,{disabled:o,format:yt,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:a,onChange:p,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(r.Box,{sx:{mb:1},children:t.jsx(Ge.DatePicker,{disabled:o,format:yt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:y,minDate:J()})}),t.jsxs(Ua,{children:[t.jsx(Ge.TimePicker,{disabled:o,format:oa,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:b,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Pa,{variant:"body1",children:"\u2013"}),t.jsxs(r.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ge.TimePicker,{disabled:o,format:oa,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:a,onChange:j,sx:{alignSelf:"baseline",width:"100%"}}),m>0&&t.jsxs(r.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",x,")"]})]})]})]})}),i&&t.jsx(r.Fade,{in:i,children:t.jsx(r.Typography,{color:"red",variant:"caption",sx:{mt:1,ml:"10px"},children:u("calendarView.reminders.errorDate")})})]})};r.styled(r.Box)(()=>({display:"flex",gap:2,alignItems:"center"})),r.styled(r.Box)(({theme:e})=>({width:"15%",userSelect:"none",color:e.palette.text.secondary}));const Oe=({children:e,title:a})=>t.jsxs(r.Box,{children:[t.jsx(r.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Ma=({titleField:e,disabled:a,variantMode:n="default"})=>{const s=Ue(),{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(Oe,{title:s("global.title"),children:t.jsx(r.Typography,{variant:"body1",sx:{py:.5,color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:d||"-"})}):t.jsx(Oe,{title:s("global.title"),children:t.jsx(r.TextField,{...c,value:d,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},Nl=r.styled(r.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),Ll=r.styled(r.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),zl=r.styled(r.TextField)(()=>({width:"13%"})),Ol=r.styled(r.Select)(()=>({width:"23%"})),Wl=r.styled(r.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),_l=r.styled(r.IconButton)(()=>({ml:"auto"})),Vl=[{title:"minute",value:Kt.EventNotificationPeriod.MINUTE},{title:"hour",value:Kt.EventNotificationPeriod.HOUR},{title:"day",value:Kt.EventNotificationPeriod.DAY}],ql=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const o=Ue(),c=e.timeValue??0;return t.jsxs(Nl,{children:[t.jsxs(Ll,{children:[t.jsx(r.Typography,{variant:"body2",sx:{userSelect:"none"},children:o("calendarView.reminders.sendReminder.pt1")}),t.jsx(zl,{onChange:d=>a(d,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(Ol,{onChange:d=>n(d,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:d=>d.palette.background.panel}}},children:Vl.map(d=>t.jsx(r.MenuItem,{value:d.value,children:o(`calendarView.reminders.timePeriod.${d.title}`)},d.value))}),t.jsx(r.Typography,{variant:"body2",sx:{userSelect:"none"},children:o("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(Wl,{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(_l,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(Yt,{})})]})]})},Hl=r.styled(r.Box)`
16
+ <%s key={someKey} {...props} />`,U,Xe,F,Xe),Vt[Xe+U]=!0}}return f===r?ha(xe):ma(xe),xe}}function ya(f,D,z){return Ht(f,D,z,!0)}function Gt(f,D,z){return Ht(f,D,z,!1)}var ba=Gt,Yt=ya;kt.Fragment=r,kt.jsx=ba,kt.jsxs=Yt})()),kt}process.env.NODE_ENV==="production"?Sa.exports=Nr():Sa.exports=Lr();var t=Sa.exports;Rr(t);const Or=s.styled(s.Box)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),Qa=s.styled(s.IconButton)({padding:4}),zr=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Wr=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),_r=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Vr=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),Hr=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:i=!1,onError:o,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(p=>x=>{try{if(x.preventDefault(),x.stopPropagation(),!p)throw new Error("Navigation URL is required");x.ctrlKey||x.metaKey||x.button===1?window.open(p,"_blank","noopener,noreferrer"):r(p)}catch(S){o?.(S instanceof Error?S:new Error("Navigation failed"))}},[r,o]),g=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),b=u(`/a/conversations/conversations?contactId=${n}`),h=a||"Unknown Contact",m=`Avatar for ${h}`;return t.jsxs(zr,{children:[t.jsxs(Or,{children:[t.jsx(Qa,{color:"info",size:"small",onClick:p=>{g(p),d()},onMouseDown:p=>{p.button===1&&(g(p),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(fr,{fontSize:"small"})}),t.jsx(Qa,{color:"info",size:"small",onClick:p=>{b(p),d()},onMouseDown:p=>{p.button===1&&(b(p),d())},"aria-label":"Go to conversations",children:t.jsx(gr,{fontSize:"small"})})]}),i?t.jsx(Vr,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(Wr,{src:e,alt:m,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(_r,{variant:"h6",title:h,children:h})]})},Gr=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Yr=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),qr=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Kr=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Jr=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Qr=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Xr=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Zr=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const i=o=>t.jsx(qr,{children:t.jsxs(Jr,{children:[t.jsx(Kr,{children:e}),t.jsxs(Qr,{children:[t.jsx(s.Tooltip,{title:o.address,arrow:!0,placement:"top",children:t.jsx(s.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(s.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:o.profileName})]}),o.note&&t.jsx(Xr,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.id);return t.jsxs(Gr,{children:[r&&t.jsx(Yr,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},es=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ts=s.styled(s.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),as=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),ns=s.styled(s.Typography)({fontSize:14}),rs=s.styled(Be.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),ss=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),r=(i,o)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(d=>r(d,o)).join(", ");if(typeof i=="string"){const d=lt(i,lt.ISO_8601).isValid(),c=u=>lt(i).format(u);switch(o){case ne.ContactField_type.TIME:return d?c("HH:mm"):i;case ne.ContactField_type.DATE:return d?c("DD/MM/YYYY"):i;case ne.ContactField_type.TIMERANGE:case ne.ContactField_type.DATERANGE:if(d)return o===ne.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=i.split(" ");if(u.length===2){const[g,b]=u,h=o===ne.ContactField_type.TIMERANGE?lt(g).format("HH:mm"):lt(g).format("DD/MM/YYYY"),m=o===ne.ContactField_type.TIMERANGE?lt(b).format("HH:mm"):lt(b).format("DD/MM/YYYY");return`${h} - ${m}`}return i;default:return i}}return i};return t.jsxs(es,{children:[t.jsx(ts,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,o)=>i.value.length>0&&t.jsxs(as,{children:[t.jsx(rs,{}),t.jsxs(ns,{children:[n(i.nameKey),":"," ",r(i.value,i.type)]})]},o))]})},os=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),is=s.styled(s.Box)({marginBottom:16}),ls=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),ds=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(os,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(is,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(ls,{label:n.name,color:"primary",size:"small"},n.id))})]});function Xa(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 cs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),us=({contactData:e,title:a})=>!e||!Xa(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(cs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Za(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 ps=({name:e,memberId:a,navigate:n})=>{const r=`/a/conversations/conversations?contactId=${a}`,i=o=>{o.preventDefault(),o.stopPropagation(),o.ctrlKey||o.metaKey||o.button===1?window.open(r,"_blank","noopener,noreferrer"):n(r)};return t.jsx(s.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})},fs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),gs=({contactData:e,title:a,navigate:n})=>!e||!Za(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(fs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(ps,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var ms="Labels",hs="Phone",ys="Business",bs="Business Members",xs="Properties",vs="View",Cs="Tags",Ss={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"},js={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"},ws={upload:"Upload photo",delete:"Delete photo"},Ts={from:"From",to:"To"},ks={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"}}},Is={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"},Es={labels:ms,phone:hs,business:ys,businessMembers:bs,properties:xs,view:vs,tags:Cs,global:Ss,searchLocationModal:js,avatar:ws,contactEdit:Ts,conversations:ks,calendarView:Is},Ds="Etiquetas",As="Tel\xE9fono",Fs="Empresa",Bs="Miembros de la empresa",$s="Propiedades",Ms="Ver",Ps="Etiquetas",Us={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"},Rs={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"},Ns={upload:"Subir foto",delete:"Eliminar foto"},Ls={from:"Desde",to:"Hasta"},Os={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"}}},zs={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"},Ws={labels:Ds,phone:As,business:Fs,businessMembers:Bs,properties:$s,view:Ms,tags:Ps,global:Us,searchLocationModal:Rs,avatar:Ns,contactEdit:Ls,conversations:Os,calendarView:zs};const _s={en:{translation:Es},es:{translation:Ws}},It=mr.createInstance();It.use(Ge.initReactI18next).init({resources:_s,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Vs=s.styled(s.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"}})),Hs=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:i,navigate:o,language:d="en"})=>{const{t:c,i18n:u}=Ge.useTranslation();l.useEffect(()=>{d&&u.changeLanguage(d)},[d,u]);const g=c,b=Za(r),h=Xa(r),m=[{icon:t.jsx(Be.PhoneEnabled,{fontSize:"small"}),title:g("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Be.Email,{fontSize:"small"}),title:g("email"),contactList:r?.emails||[],showTitle:!0},{icon:t.jsx(Be.WhatsApp,{fontSize:"small"}),title:"IM",contactList:r?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Be.Facebook,{fontSize:"small"}),contactList:r?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Be.Instagram,{fontSize:"small"}),contactList:r?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Be.ThreeP,{fontSize:"small"}),contactList:r?.ims_webchat||[],showTitle:!1}];return l.useEffect(()=>{const p=x=>{x.key==="Escape"&&n()};return e&&window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}},[e,n]),t.jsx(s.Popper,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(s.ClickAwayListener,{onClickAway:n,children:t.jsx(Vs,{children:t.jsxs(s.CardContent,{children:[t.jsx(Hr,{navigate:o,contactId:r?.id,imgUrl:i,name:r?.name,onClose:n,isBusiness:b}),t.jsx(ds,{contactData:r,title:g("labels")}),h&&t.jsx(us,{contactData:r,title:g("business")}),b&&t.jsx(gs,{contactData:r,title:g("businessMembers"),navigate:o}),m.map((p,x)=>t.jsx(Zr,{icon:p.icon,title:p.title,contactList:p.contactList,showTitle:p.showTitle},x)),t.jsx(ss,{properties:r?.properties,title:g("properties")})]})})})})},en=e=>t.jsx(Ge.I18nextProvider,{i18n:It,children:t.jsx(Hs,{...e})}),tn=e=>e,an=l.createContext(tn),Gs=({t:e,children:a})=>t.jsx(an.Provider,{value:e,children:a}),me=()=>{const e=l.useContext(an);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),tn)},Ys=({tags:e,onEditTags:a})=>{const n=me(),[r,i]=l.useState(null),o=l.useMemo(()=>e??[],[e]),d=o.slice(0,4),c=Math.max(o.length-d.length,0),u=h=>{i(h.currentTarget)},g=()=>{i(null)},b=!!r;return t.jsxs(s.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(s.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[d.map(h=>t.jsx(s.Chip,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id)),c>0?t.jsx(s.Chip,{label:`+${c}`,size:"small",variant:"outlined",onClick:u,sx:{borderRadius:999}}):null]}),t.jsx(s.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:h=>h.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:o.length?t.jsx(Ct,{fontSize:"small"}):t.jsx(hr,{fontSize:"small"})})]}),t.jsx(s.Popover,{open:b,anchorEl:r,onClose:g,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(s.Box,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:o.map(h=>t.jsx(s.Chip,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id))})]})})]})},nn=l.createContext(null),qs=nn.Provider,st=()=>l.useContext(nn),Ks=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Js=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Qs=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Xs=s.styled(s.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Zs=({displayName:e,contactType:a,firstName:n,lastName:r,name:i,entityId:o,onEntityUpdated:d})=>{const c=st(),[u,g]=l.useState(!1),[b,h]=l.useState(!1),[m,p]=l.useState({firstName:n||"",lastName:r||"",name:i||""});l.useEffect(()=>{p({firstName:n||"",lastName:r||"",name:i||""})},[n,r,i]);const x=async()=>{if(!(!c||!o||!a||a==="unknown")){h(!0);try{let v={};a==="contact"?v={firstName:m.firstName,lastName:m.lastName}:a==="business"&&(v={name:m.name});const T=await c.updateEntity({entityType:a,entityId:o,body:v});T&&d&&d(T),g(!1)}catch(v){console.error("Failed to update name",v)}finally{h(!1)}}},S=a==="contact"||a==="business";return u?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(s.TextField,{value:m.firstName,onChange:v=>p({...m,firstName:v.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:m.lastName,onChange:v=>p({...m,lastName:v.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:m.name,onChange:v=>p({...m,name:v.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:x,disabled:b,color:"primary",children:b?t.jsx(s.CircularProgress,{size:24}):t.jsx(Be.Save,{})})]}):t.jsx(Js,{children:t.jsxs(Qs,{children:[t.jsx(Ks,{variant:"h6",title:e,children:e}),S&&t.jsx(Xs,{size:"small",onClick:()=>g(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Be.Edit,{fontSize:"small"})})]})})},eo=({src:e,alt:a,onError:n,onUpload:r,onDelete:i,isUploading:o,isDeleting:d})=>{const c=me();return t.jsxs(s.Box,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(s.Avatar,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(s.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(s.IconButton,{size:"small","aria-label":c("avatar.upload"),onClick:r,disabled:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(yr,{fontSize:"small"})}),t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.delete"),onClick:i,disabled:!!d,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(qt,{fontSize:"small"})})]})]})},to=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),ao=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:g,isDeletingPhoto:b,contactType:h,firstName:m,lastName:p,name:x,entityId:S,onEntityUpdated:v})=>{const T=`Avatar for ${a}`;return t.jsxs(to,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(eo,{src:e,alt:T,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:g,isDeleting:b}),t.jsx(Zs,{displayName:a,contactType:h,firstName:m,lastName:p,name:x,entityId:S,onEntityUpdated:v}),t.jsx(Ys,{tags:r,onEditTags:i})]})},ja=20,no=e=>{const{popperContainer:a,...n}=e;return t.jsx(br,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},ro=({value:e,options:a,onChange:n,onBack:r,onSave:i,isSaving:o,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const g=me(),[b,h]=l.useState(""),[m,p]=l.useState(ja),x=l.useDeferredValue(b),S=l.useMemo(()=>a??[],[a]),v=l.useMemo(()=>{const E=String(x??"").trim().toLowerCase();return E?S.filter(B=>String(B?.name??"").toLowerCase().includes(E)):S},[S,x]),T=l.useMemo(()=>v.slice(0,m),[v,m]),C=l.useMemo(()=>{const E=new Map;for(const B of e??[])B?.id&&E.set(String(B.id),B);for(const B of T??[])B?.id&&(E.has(String(B.id))||E.set(String(B.id),B));return Array.from(E.values())},[e,T]),w=(E,B)=>{h(B??""),p(ja)},j=E=>{const B=E;B.scrollTop+B.clientHeight>=B.scrollHeight-24&&p(A=>A+ja)},W=()=>{const E=String(b??"").trim(),B=!E||o||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[g("global.noOptions"),t.jsx(Ze.LoadingButton,{onClick:()=>d(E),loading:c,disabled:B,variant:"contained",size:"small",sx:{marginTop:1.3},children:g("global.createNew")})]})};return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(s.IconButton,{size:"small",onClick:r,"aria-label":g("global.back"),disabled:o,children:t.jsx(xa,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:g("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(dt,{}),onClick:i,loading:o,disabled:o,children:g("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(E,B)=>n(B),options:C,filterOptions:E=>E,inputValue:b,onInputChange:w,getOptionLabel:E=>E?.name??"",isOptionEqualToValue:(E,B)=>String(E?.id)===String(B?.id),PopperComponent:E=>t.jsx(no,{...E,popperContainer:u}),renderOption:(E,B)=>{const{key:A,...I}=E;return l.createElement("li",{...I,key:B?.id?String(B.id):String(A??B?.name??"")},B.name??"")},renderTags:(E,B)=>E.map((A,I)=>{const O=B({index:I}),{key:V,..._}=O;return t.jsx(s.Chip,{label:A.name??"",..._},A?.id?String(A.id):String(V??A?.name??I))}),size:"small",renderInput:E=>t.jsx(s.TextField,{...E,size:"small"}),ListboxProps:{onScroll:j,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(W,{}),sx:{width:"100%"}})]})};var so=Object.defineProperty,oo=(e,a,n)=>a in e?so(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,rn=(e,a,n)=>oo(e,typeof a!="symbol"?a+"":a,n);let sn=class extends Error{constructor(a,n,r){super(a),rn(this,"status"),rn(this,"body"),this.name="ApiError",this.status=n,this.body=r}};async function Ne({url:e,method:a="GET",headers:n,body:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new sn(c,o.status,d)}return d}async function io({url:e,method:a="POST",headers:n,formData:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:r,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new sn(c,o.status,d)}return d}function Te(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function Pe(e,a){const n=encodeURIComponent(a);return{CONTACTS:Te(e,`/contacts/${n}`),MEDIA:Te(e,`/media/${n}`),SETTINGS:Te(e,`/settings/${n}`)}}async function lo({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Te(r.CONTACTS,"/labels");return Ne({url:i,signal:n})}async function on({baseUrl:e,spaceId:a,name:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/labels");return Ne({url:o,method:"POST",body:{name:n},signal:r})}async function co({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ne({url:o,signal:r})}async function uo({baseUrl:e,spaceId:a,businessId:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Ne({url:o,signal:r})}async function po({baseUrl:e,spaceId:a,forType:n,signal:r}){const i=Pe(e,a),o=`${Te(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Ne({url:o,signal:r})}async function Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Pe(e,a),u=Te(c.CONTACTS,d);return Ne({url:u,method:"PUT",body:i,signal:o})}async function fo({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/Search");return Ne({url:o,method:"POST",body:n,signal:r})}async function go({baseUrl:e,spaceId:a,business:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/business");return Ne({url:o,method:"POST",body:n,signal:r})}async function Jt({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/contactAddresses");return Ne({url:o,method:"DELETE",body:n,signal:r})}async function mo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/contactAddresses/check");return Ne({url:o,method:"POST",body:n,signal:r})}async function ho({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,"/contactAddresses/set");return Ne({url:o,method:"POST",body:n,signal:r})}async function yo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Te(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Ne({url:o,method:"PUT",body:n,signal:r})}async function ln({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Te(r.SETTINGS,"/user");return Ne({url:i,signal:n})}async function bo({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Te(r.SETTINGS,"/users");return Ne({url:i,signal:n})}async function xo({baseUrl:e,spaceId:a,signal:n,userId:r}){const i=Pe(e,a),o=Te(i.SETTINGS,`/usersInfor/${r}`);return Ne({url:o,signal:n})}async function dn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i}){const o=Pe(e,a),d=new FormData;d.append("file",r,r.name);const c=Te(o.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return io({url:c,formData:d,signal:i})}const cn=(e,a)=>({fetchLabels:({signal:n}={})=>lo({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>on({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>co({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>uo({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>fo({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>go({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>po({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:i,signal:o})=>Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}),deleteAddress:({data:n,signal:r})=>Jt({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>Jt({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>mo({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>ho({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>yo({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>ln({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>bo({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>xo({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:i})=>dn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i})}),un=()=>!!window?.google?.maps?.places?.Autocomplete,vo=(e=1e4)=>new Promise(a=>{if(un()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(un()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),Co=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[i,o]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await vo(1e4);a(d),d||o("Google Maps API failed to load")}catch{o("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},So=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=me(),i=l.useRef(null),o=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:g,error:b}=Co(),h=l.useMemo(()=>g?r("searchLocationModal.loadingGoogleMaps"):b?r("searchLocationModal.googleMapsUnavailable"):u?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[u,g,b,n,r]);return l.useEffect(()=>{d.current=e},[e]),l.useEffect(()=>{c.current=a},[a]),l.useEffect(()=>{if(!u||!i.current||o.current)return;const m=window?.google;if(!m?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let p=null;const x=()=>{document.querySelectorAll(".pac-container").forEach(v=>{const T=v;T.style.zIndex="20000",T.style.position="fixed"})};p=new MutationObserver(v=>{for(const T of v)for(const C of Array.from(T.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const w=C;w.classList?.contains("pac-container")&&(w.style.zIndex="20000",w.style.position="fixed")}}),p.observe(document.body,{childList:!0,subtree:!0}),x(),window.setTimeout(x,100),o.current=new m.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const S=o.current.addListener?.("place_changed",()=>{const v=o.current?.getPlace?.();if(!v?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let T="",C="",w="",j="",W="",E="";const B=v.address_components??[];for(const V of B){const _=V?.types??[];if(_.includes("locality")||_.includes("administrative_area_level_2")){T=V.long_name;continue}if(_.includes("administrative_area_level_1")){C=V.long_name;continue}if(_.includes("country")){w=V.long_name;continue}if(_.includes("postal_code")){j=V.long_name;continue}if(_.includes("route")){W=V.long_name;continue}_.includes("street_number")&&(E=V.long_name)}const A=typeof v.geometry.location.lat=="function"?v.geometry.location.lat():0,I=typeof v.geometry.location.lng=="function"?v.geometry.location.lng():0,O={location:{lat:A,lng:I},address:v.formatted_address??"",city:T,state:C,country:w,postalCode:j,streetName:W,streetNumber:E,shortAddress:[W,E].filter(Boolean).join(" ")};d.current(O)});return()=>{p&&p.disconnect(),S?.remove&&S.remove(),o.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:h,disabled:g||!u||!!b,error:!!b})},jo={street:"",city:"",state:"",zipcode:"",country:""},wo=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:i,onEntityUpdated:o})=>{const d=me(),[c,u]=l.useState(jo),[g,b]=l.useState(""),[h,m]=l.useState(""),[p,x]=l.useState(!1),[S,v]=l.useState(!1),T=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),C=A=>{b(A.address??"");const I=String(A.shortAddress??"").trim()||[A.streetName,A.streetNumber].filter(Boolean).join(" ").trim();u({street:I,city:A.city??"",state:A.state??"",zipcode:A.postalCode??"",country:A.country??""}),m("")},w=A=>{m(String(A??""))},j=A=>I=>{const O=I.target.value;u(V=>({...V,[A]:O}))},W=async()=>{if(!p&&!(!e||!a)&&r){x(!0);try{const A=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address1:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(A),i()}finally{x(!1)}}},E=async()=>{if(!S&&!(!e||!a)&&r){v(!0);try{const A=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address2:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(A),i()}finally{v(!1)}}},B=!T||p||S;return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(s.IconButton,{size:"small",onClick:i,"aria-label":d("global.back"),children:t.jsx(xa,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"h6",children:d("searchLocationModal.searchAddress")})]}),t.jsxs(s.Stack,{spacing:3,children:[t.jsxs(s.Box,{sx:{position:"relative",zIndex:1400},children:[t.jsx(So,{onPlaceSelected:C,onError:w,placeholder:d("searchLocationModal.enterLocation")}),h?t.jsx(s.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:h}):null]}),t.jsx(s.TextField,{label:d("conversations.contactDetails.street"),value:c.street,onChange:j("street"),fullWidth:!0,size:"medium"}),t.jsxs(s.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(s.TextField,{label:d("searchLocationModal.city"),value:c.city,onChange:j("city"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.state"),value:c.state,onChange:j("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(s.Stack,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(s.TextField,{label:d("searchLocationModal.postalCode"),value:c.zipcode,onChange:j("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.country"),value:c.country,onChange:j("country"),fullWidth:!0,size:"medium"})]}),g?t.jsx(s.Typography,{variant:"caption",sx:{opacity:.7},children:g}):null,t.jsxs(s.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(Ze.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(dt,{}),onClick:W,loading:p,disabled:B,children:d("searchLocationModal.saveMainAddress")}),t.jsx(Ze.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(dt,{}),onClick:E,loading:S,disabled:B,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function wa(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 pn(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 To({open:e,baseUrl:a,spaceId:n,contactId:r}){const i=l.useRef(null),o=l.useMemo(()=>!a||!n?null:cn(a,n),[a,n]),[d,c]=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&&r),[e,o,r]);l.useEffect(()=>{e||(i.current?.abort(),c({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const g=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!g||!o)return;const m=new AbortController;return c(p=>({...p,labelsLoading:!0,labelsError:null})),o.fetchLabels({signal:m.signal}).then(p=>{c(x=>({...x,labels:p,labelsLoading:!1,labelsError:null}))}).catch(p=>{m.signal.aborted||c(x=>({...x,labelsLoading:!1,labelsError:p}))}),()=>{m.abort()}},[o,g]),l.useEffect(()=>{if(!u||!o)return;i.current?.abort();const m=new AbortController;return i.current=m,c(p=>({...p,isLoading:!0,error:null,contactData:null})),o.fetchContact({contactId:r,signal:m.signal}).then(p=>{c(x=>({...x,isLoading:!1,error:null,contactData:p}))}).catch(p=>{m.signal.aborted||c(x=>({...x,isLoading:!1,error:p}))}),()=>{m.abort()}},[o,u,r]);const b=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!b||!o)return;const m=new AbortController;return c(p=>({...p,userLoading:!0,userError:null})),o.fetchUserTrii({signal:m.signal}).then(p=>{c(x=>({...x,userLoading:!1,userError:null,userTrii:p}))}).catch(p=>{m.signal.aborted||c(x=>({...x,userLoading:!1,userError:p}))}),()=>{m.abort()}},[o,b]);const h=l.useMemo(()=>{const m=d.contactData,p=wa(m),x=pn(m);let S="unknown";p&&(S="business"),x&&(S="contact");let v="Unknown Contact";p?v=m.name:x&&(v=`${m.firstName} ${m.lastName}`.trim());const T=m?.tags??[];return{isBusiness:p,isContact:x,contactType:S,displayName:v,tags:T,labels:d.labels,contactFields:d.contactFields,userTrii:d.userTrii,userLoading:d.userLoading,userError:d.userError}},[d.contactData,d.labels,d.contactFields,d.userTrii,d.userLoading,d.userError]);return l.useEffect(()=>{if(!e||!o)return;const m=d.contactData,p=wa(m),x=pn(m),S=p?"business":x?"contact":null;if(!S)return;const v=new AbortController;return c(T=>({...T,contactFieldsLoading:!0,contactFieldsError:null})),o.fetchContactFields({forType:S,signal:v.signal}).then(T=>{c(C=>({...C,contactFields:T,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(T=>{v.signal.aborted||c(C=>({...C,contactFieldsLoading:!1,contactFieldsError:T}))}),()=>{v.abort()}},[o,e,d.contactData]),{state:d,selectors:h,actions:{setContactData:m=>c(p=>({...p,contactData:m??null})),clearError:()=>c(m=>({...m,error:null}))}}}const Et=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:i,onEntityUpdated:o})=>{const[d,c]=l.useState(i??""),[u,g]=l.useState(null),[b,h]=l.useState(!1),[m,p]=l.useState(!1),x=l.useRef(null),S=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function v(I){return I.split("?sv=")[0]}function T(I){return I.split("&cacheId=")[0]}function C(I){let O=v(I);return!O||(O=T(O),!O)?"":O}const w=async()=>{if(!e||!a)return null;const I=await ln({baseUrl:e,spaceId:a});return g(I),I},j=async I=>{const O=(u??await w())?.storageAzureSAS,V=O?.expireAt,_=V?new Date(V):null;let Y=O?.sas??"";if((!Y||_&&_<new Date)&&(Y=(await w())?.storageAzureSAS?.sas??""),!Y)return I;const $=`${Date.now()}`;return`${I}${Y}&cacheId=${$}`},W=async I=>{if(!I){c("");return}const O=v(I);if(!O)return;const V=await j(O);c(V)},E=async I=>{const O=I.target.files?.[0];if(O&&S){x.current&&(x.current.value=""),h(!0);try{const V=await dn({baseUrl:e,spaceId:a,contactId:r,file:O}),_=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:V}});o?.(_),await W(V)}finally{h(!1)}}},B=()=>{x.current?.click()},A=async()=>{if(S&&!m){p(!0);try{await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),o?.({imageUrl:""}),c("")}finally{p(!1)}}};return l.useEffect(()=>{if(!i){c("");return}W(i)},[i]),{inputAtributes:{onChange:E,ref:x,type:"file",accept:"image/*"},action:{uploadImage:B,deleteImage:A},imageUrl:d,removeParams:C,isUploading:b,isDeleting:m}},he=(e,a)=>{const[n,r]=l.useState(a||""),[i,o]=l.useState(!1),[d,c]=l.useState("");return l.useEffect(()=>{r(a||"")},[a]),{actions:{onError:u=>{o(!0),c(u)},onSuccess:()=>{o(!1),c("")},resetValue:()=>{r(a||"")},changeValue:u=>{r(u)}},attributes:{error:i,helperText:d,type:e,value:n,onChange:u=>{r(u.target.value)}}}},fn=(e="")=>{const[a,n]=l.useState(e),r=d=>{n(d.target.value)},i=d=>{n(d)},o=()=>{n(e??"")};return l.useEffect(()=>{n(e)},[e]),{actions:{resetValue:o,changeValue:i},attributes:{value:a,onChange:r}}};let Qt;const ko=new Uint8Array(16);function Io(){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(ko)}const $e=[];for(let e=0;e<256;++e)$e.push((e+256).toString(16).slice(1));function Eo(e,a=0){return $e[e[a+0]]+$e[e[a+1]]+$e[e[a+2]]+$e[e[a+3]]+"-"+$e[e[a+4]]+$e[e[a+5]]+"-"+$e[e[a+6]]+$e[e[a+7]]+"-"+$e[e[a+8]]+$e[e[a+9]]+"-"+$e[e[a+10]]+$e[e[a+11]]+$e[e[a+12]]+$e[e[a+13]]+$e[e[a+14]]+$e[e[a+15]]}const Do=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var gn={randomUUID:Do};function Xt(e,a,n){if(gn.randomUUID&&!a&&!e)return gn.randomUUID();e=e||{};const r=e.random||(e.rng||Io)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,a){n=n||0;for(let i=0;i<16;++i)a[n+i]=r[i];return a}return Eo(r)}function Ao(e){return{id:Xt(),address:"",note:"",channelType:e,isSaved:!1}}var Zt={createNewAddress:Ao};const Fo=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Bo=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var gt={getEditedField:Fo,getAddressesWithUpdatedValues:Bo};const mn=({entityId:e,initial:a,dispatch:n,deleteAddress:r})=>{const[i,o]=l.useState(!1),[d,c]=l.useState(()=>a),[u,g]=l.useState(a?.ims_facebook||[]),[b,h]=l.useState(a?.ims_mercadolibre||[]),[m,p]=l.useState(a?.ims_webchat||[]),[x,S]=l.useState(a?.ims_instagram||[]),[v,T]=l.useState(a?.ims_whatsapp||[]),[C,w]=l.useState(a?.emails||[]),[j,W]=l.useState(a?.phones||[]),[E,B]=l.useState(a?.ims_rcs||[]),A=()=>{const k=Zt.createNewAddress(ft.ChannelType.PHONE),M=[...j,k];W(M)},I=()=>{const k=Zt.createNewAddress(ft.ChannelType.EMAIL),M=[...C,k];w(M)},O=()=>{const k=Zt.createNewAddress(ft.ChannelType.WHATSAPP),M=[...v,k];T(M)},V=()=>{const k=Zt.createNewAddress(ft.ChannelType.RCS),M=[...E,k];B(M)},_=k=>{const M=[...v,k];T(M),c(P=>({...P??{},ims_whatsapp:M}))},Y=(k,M)=>{if(M){if(M.channelType===3){const P=C.map(R=>R.id===k?M:R);w(P),c(R=>({...R??{},emails:P}))}if(M.channelType===5){const P=j.map(R=>R.id===k?M:R);W(P),c(R=>({...R??{},phones:P}))}if(M.channelType===13){const P=v.map(R=>R.id===k?M:R);T(P),c(R=>({...R??{},ims_whatsapp:P}))}if(M.channelType===21){const P=E.map(R=>R.id===k?M:R);B(P),c(R=>({...R??{},ims_rcs:P}))}if(M.channelType===41){const P=b.map(R=>R.id===k?M:R);h(P),c(R=>({...R??{},ims_mercadolibre:P}))}}},$=async(k,M,P)=>{const R=k.target.value;if(P===3){const H=gt.getAddressesWithUpdatedValues(R,M,C);w(H)}else if(P===5){const H=gt.getAddressesWithUpdatedValues(R,M,j);W(H)}else if(P===13){const H=gt.getAddressesWithUpdatedValues(R,M,v);T(H)}else if(P===21){const H=gt.getAddressesWithUpdatedValues(R,M,E);B(H)}else if(P===41){const H=gt.getAddressesWithUpdatedValues(R,M,b);h(H)}},Z=(k,M,P)=>{if(P===14){const R=u.map(H=>H.id===M?{...H,note:k.target.value}:H);g(R)}if(P===20){const R=m.map(H=>H.id===M?{...H,note:k.target.value}:H);p(R)}if(P===16){const R=x.map(H=>H.id===M?{...H,note:k.target.value}:H);S(R)}if(P===3){const R=C.map(H=>H.id===M?{...H,note:k.target.value}:H);w(R)}if(P===5){const R=j.map(H=>H.id===M?{...H,note:k.target.value}:H);W(R)}if(P===13){const R=v.map(H=>H.id===M?{...H,note:k.target.value}:H);T(R)}if(P===21){const R=E.map(H=>H.id===M?{...H,note:k.target.value}:H);B(R)}if(P===41){const R=b.map(H=>H.id===M?{...H,note:k.target.value}:H);h(R)}},q=async(k,M)=>{if(e&&(M===3||M===5||M===13||M===14||M===20||M===16||M===21||M===41)){o(k);const P={contactId:e,contactAddressId:k,type:M};switch(n?await n(r(P)):await r(P),o(!1),M){case 3:const R=C.filter(N=>N.id!==k);w(R),c(N=>({...N??{},emails:R}));break;case 5:const H=j.filter(N=>N.id!==k);W(H),c(N=>({...N??{},phones:H}));break;case 13:const G=v.filter(N=>N.id!==k);T(G),c(N=>({...N??{},ims_whatsapp:G}));break;case 21:const te=E.filter(N=>N.id!==k);B(te),c(N=>({...N??{},ims_rcs:te}));break;case 41:const de=b.filter(N=>N.id!==k);h(de),c(N=>({...N??{},ims_mercadolibre:de}));break;case 14:const pe=u.filter(N=>N.id!==k);g(pe),c(N=>({...N??{},ims_facebook:pe}));break;case 20:const ve=m.filter(N=>N.id!==k);p(ve),c(N=>({...N??{},ims_webchat:ve}));break;case 16:const ye=x.filter(N=>N.id!==k);S(ye),c(N=>({...N??{},ims_instagram:ye}));break}}};function L(){g(d?.ims_facebook||[]),h(d?.ims_mercadolibre||[]),p(d?.ims_webchat||[]),S(d?.ims_instagram||[]),T(d?.ims_whatsapp||[]),B(d?.ims_rcs||[]),w(d?.emails||[]),W(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(w(a.emails),W(a.phones)),T(a?.ims_whatsapp||[]),B(a?.ims_rcs||[]),g(a?.ims_facebook||[]),p(a?.ims_webchat||[]),S(a?.ims_instagram||[]),h(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:v,imsRCS:E,imsMercadolibre:b,imsFacebooks:u,imsWebchats:m,imsInstagrams:x,emails:C,phoneNumbers:j},action:{handleAddressFieldChange:$,handleNoteFieldChange:Z,handleDeleteAddress:q,addPhone:A,addEmail:I,addWhatsapp:O,addRCS:V,replaceAddress:Y,addWhatsappVerified:_,resetToInitialContactInformation:L},state:{isDeletingAddress:i}}},hn=({initialState:e=[]}={})=>{const[a,n]=l.useState(e);return{attributes:{value:a,onChange:(r,i)=>{const o=i.some(d=>!a.some(c=>d.id===c.id));(a.filter(d=>!i.some(c=>c.id===d.id)).length>0||o)&&n(i)}},actions:{addValue:r=>{n(i=>i.concat(r))},setValue:r=>{n(r)}}}},$o=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async le=>{!n||!r||await Jt({baseUrl:n,spaceId:r,data:le})},[n,r]),o=async le=>le,[d,c]=l.useState([]),u=he("text",e?.name||""),g=Et({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),b=fn(e?.owner),h=hn({initialState:e?.tags??[]}),[m,p]=l.useState([]),{field:{imsFacebooks:x,imsMercadolibre:S,imsWebchats:v,imsInstagrams:T,imsWhatsapp:C,emails:w,phoneNumbers:j,imsRCS:W},action:{addPhone:E,addEmail:B,addWhatsapp:A,addRCS:I,addWhatsappVerified:O,replaceAddress:V,handleAddressFieldChange:_,handleNoteFieldChange:Y,handleDeleteAddress:$,resetToInitialContactInformation:Z},state:{isDeletingAddress:q}}=mn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),L=he("text",e?.address1?.street||""),k=he("text",e?.address2?.street||""),M=he("text",e?.address1?.city||""),P=he("text",e?.address2?.city||""),R=he("text",e?.address1?.state||""),H=he("text",e?.address2?.state||""),G=he("text",e?.address1?.zipcode||""),te=he("text",e?.address2?.zipcode||""),de=he("text",e?.address1?.country||""),pe=he("text",e?.address2?.country||""),ve=(le,be,fe)=>be!==fe&&!(be===null&&fe==="")?{[le]:fe}:{},ye=()=>{if(!e)return null;const le={street:L.attributes.value,city:M.attributes.value,state:R.attributes.value,zipcode:G.attributes.value,country:de.attributes.value},be={street:k.attributes.value,city:P.attributes.value,state:H.attributes.value,zipcode:te.attributes.value,country:pe.attributes.value};return{id:e.id,...ve("owner",e.owner,b.attributes.value),...ve("name",e.name,u.attributes.value),imageUrl:g.imageUrl?g.removeParams(g.imageUrl):null,tags:h.attributes.value,properties:d,members:m,phoneNumbers:j,emails:w,address1:le,address2:be}};function N(le){if(!e)return;const be=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),fe=e.properties.find(Q=>Q.nameKey===le)??e.properties.find(Q=>be(Q.nameKey)===be(le));if(!fe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${le}`);return}const Ve=d.map(Q=>Q.nameKey===le?{...Q,value:fe.value}:Q);c(Ve)}const Se=()=>e?a.map(le=>{const be=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),fe=e.properties.find(Q=>Q.nameKey===le.nameKey)??e.properties.find(Q=>be(Q.nameKey)===be(le.nameKey));if(fe)return{...fe,nameKey:le.nameKey,type:fe.type??le.type,value:fe.value};const Ve=d.find(Q=>Q.nameKey===le.nameKey);return{nameKey:le.nameKey,type:le.type,value:Ve?Ve.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Se())},[e,a]),l.useEffect(()=>{e&&h.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:W,contactImage:g,contactPropietary:b,imsMercadolibre:S,imsFacebooks:x,imsWebchats:v,imsInstagrams:T,emails:w,phoneNumbers:j,homeAddress:L,secondaryHomeAddress:k,city:M,secondaryCity:P,state:R,secondaryState:H,postalCode:G,secondaryPostalCode:te,country:de,secondaryCountry:pe,customProperties:d,labelMultipleSelect:h},action:{setCustomProperties:c,addWhatsapp:A,addRCS:I,getEditedBusiness:ye,handleAddressFieldChange:_,handleNoteFieldChange:Y,handleDeleteAddress:$,addPhone:E,addEmail:B,replaceAddress:V,addWhatsappVerified:O,resetToInitialContactInformation:Z,resetCustomProperty:N},state:{isDeletingAddress:q},selectedContacts:m,setSelectedContacts:p}},Mo=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async Q=>{!n||!r||await Jt({baseUrl:n,spaceId:r,data:Q})},[n,r]),o=async Q=>Q,{getEditedField:d}=gt,[c,u]=l.useState([]),g=he("text",e?.firstName||""),b=he("text",e?.lastName||""),h=Et({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[m,p]=l.useState(e?.birthDate?J(e.birthDate):null),x=mn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:S,imsMercadolibre:v,imsWebchats:T,imsInstagrams:C,imsWhatsapp:w,emails:j,phoneNumbers:W,imsRCS:E},action:{addPhone:B,addEmail:A,addWhatsapp:I,addRCS:O,addWhatsappVerified:V,replaceAddress:_,handleAddressFieldChange:Y,handleNoteFieldChange:$,handleDeleteAddress:Z,resetToInitialContactInformation:q},state:{isDeletingAddress:L}}=x,k=hn({initialState:e?.tags}),M=fn(e?.owner),P=he("text",e?.address1?.street),R=he("text",e?.address2?.street),H=he("text",e?.address1?.city),G=he("text",e?.address2?.city),te=he("text",e?.address1?.state),de=he("text",e?.address2?.state),pe=he("text",e?.address1?.zipcode),ve=he("text",e?.address2?.zipcode),ye=he("text",e?.address1?.country),N=he("text",e?.address2?.country),Se=()=>{if(!e)return null;const Q=e,ue=k.attributes.value.map(K=>({id:K.id,name:K.name})),Ae=W.map(K=>{const{id:We,...Ce}=K;return Ce}),ae=j.map(K=>{const{id:We,...Ce}=K;return Ce});return{id:Q.id,owner:M.attributes.value,firstName:g.attributes.value,lastName:b.attributes.value,address1:{...d("street",Q.address1?.street,P.attributes.value),...d("city",Q.address1?.street,H.attributes.value),...d("state",Q.address1?.street,te.attributes.value),...d("zipcode",Q.address1?.street,pe.attributes.value),...d("country",Q.address1?.street,ye.attributes.value)},address2:{...d("street",Q.address2?.street,R.attributes.value),...d("city",Q.address2?.street,G.attributes.value),...d("state",Q.address2?.street,de.attributes.value),...d("zipcode",Q.address2?.street,ve.attributes.value),...d("country",Q.address2?.street,N.attributes.value)},emails:ae,phones:Ae,tags:ue,imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,properties:c,birthDate:m?.toDate()}};function le(){e&&(!e.businessId||e.businessName)}function be(){p(e?.birthDate?J(e.birthDate):null)}function fe(Q){if(!e)return;const ue=K=>K.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ae=e.properties.find(K=>K.nameKey===Q)??e.properties.find(K=>ue(K.nameKey)===ue(Q));if(!Ae){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Q}`);return}const ae=c.map(K=>K.nameKey===Q?{...K,value:Ae.value}:K);u(ae)}const Ve=()=>e?a.map(Q=>{const ue=K=>K.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ae=e.properties.find(K=>K.nameKey===Q.nameKey)??e.properties.find(K=>ue(K.nameKey)===ue(Q.nameKey));if(Ae)return{...Ae,nameKey:Q.nameKey,type:Ae.type??Q.type,value:Ae.value};const ae=c.find(K=>K.nameKey===Q.nameKey);return{nameKey:Q.nameKey,type:Q.type,value:ae?ae.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ve())},[e,a]),l.useEffect(()=>{e?.tags&&k.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:m,imsWhatsapp:w,imsRCS:E,contactFirstname:g,contactLastname:b,contactImage:h,contactPropietary:M,imsMercadolibre:v,imsFacebooks:S,imsWebchats:T,imsInstagrams:C,emails:j,phoneNumbers:W,homeAddress:P,secondaryHomeAddress:R,city:H,secondaryCity:G,state:te,secondaryState:de,postalCode:pe,secondaryPostalCode:ve,country:ye,secondaryCountry:N,customProperties:c,labelMultipleSelect:k},action:{setBirthDate:p,setCustomProperties:u,getEditedContact:Se,handleAddressFieldChange:Y,handleNoteFieldChange:$,handleDeleteAddress:Z,addPhone:B,addEmail:A,addWhatsapp:I,addRCS:O,replaceAddress:_,addWhatsappVerified:V,resetToInitialContactInformation:q,resetSelectedBusiness:le,resetBirthDate:be,resetCustomProperty:fe},state:{isDeletingAddress:L}}},Ta=l.createContext(null),Po=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=Mo({contact:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Ta.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},Uo=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=$o({business:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Ta.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},Ro=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(Po,{contact:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}):t.jsx(Uo,{business:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}),et=()=>{const e=l.useContext(Ta);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},mt=({userId:e,users:a,currentUser:n})=>{if(!e)return null;if(n?.uid&&n.uid===e)return n.display_name||n.email||null;const r=a.find(i=>i?.id===e);return r?.name?.trim()||r?.email||null},ea=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const i=me();return t.jsxs(s.Box,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(s.Typography,{variant:"subtitle1",children:e}),n&&t.jsx(s.Button,{startIcon:t.jsx(xr,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>r&&r(),children:i("global.searchLocation")})]}),t.jsx(s.Divider,{sx:{my:1.5}}),a]})},yn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),No=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(jt.LocalizationProvider,{dateAdapter:St.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Wa.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:r})})})},Lo={view:"main",setView:()=>{}},bn=l.createContext(null),Oo=bn.Provider,zo=()=>l.useContext(bn)||(console.warn("[useEditContactView] using noop, context value is missing"),Lo),xn=()=>{},vn=l.createContext(xn),Wo=({navigate:e,children:a})=>t.jsx(vn.Provider,{value:e,children:a}),_o=()=>l.useContext(vn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),xn);function Vo({value:e,displayValue:a,businessId:n}){const r=st(),i=_o(),[o,d]=l.useState(null),c=Et({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,g]=l.useState(null),[b,h]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async m=>{const p=m.currentTarget;if(h(!0),!r){console.error("API is null");return}const x=await r.fetchBusiness({businessId:n});if(x&&wa(x)&&d(x),h(!1),!p){console.error("Target element is null");return}g(p)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:m=>m.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(en,{contactData:o,open:!!u,anchorEl:u,onClose:()=>g(null),navigate:i,avatarImgUrl:c.imageUrl}),b&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const Ho=e=>"email"in e,ka=e=>e.entityType==="contact"&&e.inputType==="birthday",Go=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Cn=s.styled(s.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ot=e=>{const{title:a,value:n,isNotEditable:r,displayValue:i,baseUrl:o,spaceId:d,minWidth:c,onEntityUpdated:u}=e,g=me(),{setView:b}=zo(),h=e.inputType??"text",[m,p]=l.useState(!1),[x,S]=l.useState(!1),v=l.useRef(null),[T,C]=l.useState(!1),[w,j]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const $=v.current;if(!$)return;const Z=()=>{const q=$.scrollWidth>$.clientWidth;C(L=>L===q?L:q)};if(Z(),typeof ResizeObserver<"u"){let q=0;const L=new ResizeObserver(()=>{if(typeof window>"u"){Z();return}q&&window.cancelAnimationFrame(q),q=window.requestAnimationFrame(()=>{Z()})});return L.observe($),()=>{typeof window<"u"&&q&&window.cancelAnimationFrame(q),L.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[a]),l.useEffect(()=>{e.entityType==="business"?j(n):j(typeof n=="string"?n:void 0)},[n,e.entityType]);const W=()=>{if(e.entityType==="contact"&&h==="selectBusiness"){b("businessSelect");return}p($=>!$)},E=$=>{j($.target.value)},B=$=>{const Z=$.target.value;j(Z)},A=()=>{ka(e)&&e.contact.action.resetBirthDate(),p(!1)},I=async()=>{if(!e.constructUpdateObject){p(!1);return}if(e.entityType==="business"&&w===void 0){p(!1);return}S(!0);try{if(!o||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let $=w===void 0?null:w;if(ka(e)){const k=J(e.contact.field.birthDate);k.isValid()&&($=k.toISOString())}const Z=e.constructUpdateObject($),q=e.entityId??Z?.id;if(!q)throw new Error("Missing contactId for updateEntity");const L=await Je({baseUrl:o,spaceId:d,entityType:"contact",entityId:q,body:Z});u?.(L)}else{const $=e.constructUpdateObject(w),Z=e.entityId??$?.id;if(!Z)throw new Error("Missing businessId for updateEntity");const q=await Je({baseUrl:o,spaceId:d,entityType:"business",entityId:Z,body:$});u?.(q)}}finally{S(!1),p(!1)}},O=typeof w=="string"?w:"",V=w instanceof Date?w.toISOString():typeof w=="string"?w:"",_=c??(e.entityType==="contact"?"45%":"200px"),Y=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:$=>$.palette.mode==="dark"?"1e1e1e":$.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:_,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[T?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:v,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:$=>$.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:v,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:$=>$.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:m?t.jsxs(t.Fragment,{children:[t.jsx(Cn,{size:"small",onClick:I,children:x?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{})}),t.jsx(Cn,{size:"small",onClick:A,children:t.jsx(_a,{})})]}):t.jsx(Go,{className:"edit-icon",size:"small",onClick:W,children:t.jsx(Ct,{})})]}),t.jsx(s.Box,{width:m?"100%":"50%",position:"relative",children:m&&h==="text"?t.jsx(s.TextField,{value:V,onChange:E,variant:"standard",size:"small",sx:{width:"100%"}}):m&&(h==="select"||h==="selectMembers")?t.jsxs(s.Select,{value:O,onChange:B,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(s.MenuItem,{value:"",children:g("conversations.contactDetails.contactInfo.emptySelection")}):null,Y.map(($,Z)=>t.jsx(s.MenuItem,{value:$.id,children:e.entityType==="contact"?$.name?.trim()||(Ho($)?$.email:"")||"Sin nombre":$.name?.trim()||$.email||"Sin nombre"},Z))]}):m&&ka(e)?t.jsx(No,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!m&&e.entityType==="contact"&&h==="selectBusiness"&&e.businessId?t.jsx(Vo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(s.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:$=>$.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Dt=e=>{const{title:a,value:n,isNotEditable:r,options:i=[],displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:g,contactId:b,onEntityUpdated:h}=e;if(e.inputType==="birthday")return t.jsx(ot,{entityType:"contact",entityId:b,title:a,value:n,isNotEditable:r,inputType:"birthday",options:i,displayValue:o,constructUpdateObject:d,contact:e.contact,businessId:c,baseUrl:u,spaceId:g,dateFormat:e.dateFormat,onEntityUpdated:h});const m=e.inputType??"text";return t.jsx(ot,{entityType:"contact",entityId:b,title:a,value:n,isNotEditable:r,inputType:m,options:i,displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:g,onEntityUpdated:h})},Yo=({nameKey:e,value:a,onChange:n,type:r})=>{const i=u=>{r===ne.ContactField_type.NUMBER_ACCOUNTING||r===ne.ContactField_type.NUMBER_DECIMAL||r===ne.ContactField_type.NUMBER_CURRENCY||r===ne.ContactField_type.CURRENCY?d(u):r===ne.ContactField_type.NUMBER_INTEGER?c(u):(r===ne.ContactField_type.LONGTEXT||r===ne.ContactField_type.TEXT||r===ne.ContactField_type.ADDRESS)&&o(u)},o=u=>{n(e,u.target.value)},d=u=>{const g=u.target.value.replace(/[^0-9.]/g,"");n(e,g)},c=u=>{const g=u.target.value;/^\d*$/.test(g)&&n(e,g)};return t.jsx(s.TextField,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:r===ne.ContactField_type.LONGTEXT,rows:r===ne.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},qo=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(jt.LocalizationProvider,{dateAdapter:St.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Wa.DatePicker,{value:e?J(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ko=({handleChange:e,value:a,options:n})=>{const r=me();return t.jsx(s.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(s.Select,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(s.MenuItem,{value:"",children:r("global.noValue")}),n.map((i,o)=>t.jsx(s.MenuItem,{value:i,children:i},o))]})})},Jo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(jt.LocalizationProvider,{dateAdapter:St.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(vr.TimePicker,{value:e?J(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Qo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=me(),i=[J().set("hour",0).set("minute",0),J().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(jt.LocalizationProvider,{dateAdapter:St.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ye.MultiInputTimeRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:d=>a(d),format:o})})})},Xo=({value:e,handleChange:a,userDateFormat:n})=>{const r=me(),i=[J(),J()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(jt.LocalizationProvider,{dateAdapter:St.AdapterDayjs,children:t.jsx(wt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ye.MultiInputDateRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:d=>a(d),format:o})})})},Zo=s.styled(s.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),Sn=s.styled(s.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),ei=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),jn=s.styled(s.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})),ti=s.styled(s.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"})),wn=({property:e,entity:a,entityType:n,entityId:r,customContactFields:i,userTrii:o,baseUrl:d,spaceId:c,onEntityUpdated:u})=>{const{customProperties:g}=a.field,{setCustomProperties:b}=a.action,[h,m]=l.useState(!1),[p,x]=l.useState(!1),S=l.useRef(null),[v,T]=l.useState(!1),C=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),w=o?.regCon_timeFormat||"24",j=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,W=(L,k)=>L.toLowerCase()==="dni"?!0:j(k),E=(L,k,M)=>{if(M===""||M===null||M===void 0)return null;if(W(L,k)){const P=Number(M);return Number.isNaN(P)?M:P}return M},B=()=>m(L=>!L),A=()=>{m(!1),a.action.resetCustomProperty(e.nameKey)},I=async()=>{if(!d||!c||!r)return;x(!0);const L=g.find(G=>G.nameKey===e.nameKey)||e,{nameKey:k,value:M}=L,P=i.find(G=>G.nameKey===k)?.type??L.type;let R;if(P===ne.ContactField_type.TIME){const G=J(M);G.isValid()?R=G.format(w==="24"?"HH:mm":"hh:mm"):R=M}else if(P===ne.ContactField_type.DATE){const G=J(M);G.isValid()?R=G.toISOString():R=M}else R=E(k,P,M);const H={properties:[{nameKey:k,type:P,value:R}]};try{const G=await Je({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:H}),te=g.map(de=>de.nameKey===k?{...de,type:P,value:R}:de);b(te),u?.(G)}finally{x(!1),m(!1)}},O=L=>i.find(k=>k.nameKey===L)?.name||L;l.useEffect(()=>{const L=S.current;if(!L)return;const k=()=>{const M=L.scrollWidth>L.clientWidth;T(P=>P===M?P:M)};if(k(),typeof ResizeObserver<"u"){let M=0;const P=new ResizeObserver(()=>{if(typeof window>"u"){k();return}M&&window.cancelAnimationFrame(M),M=window.requestAnimationFrame(()=>{k()})});return P.observe(L),()=>{typeof window<"u"&&M&&window.cancelAnimationFrame(M),P.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[i,e.nameKey]);const V=(L,k)=>{const M=e.type===ne.ContactField_type.DATERANGE?Array.isArray(k)&&k[0]&&k[1]?`${J(k[0]).toISOString()} - ${J(k[1]).toISOString()}`:"":e.type===ne.ContactField_type.DATE?J(k).isValid()?J(k).toISOString():"Invalid Date":e.type===ne.ContactField_type.TIME?J(k).isValid()?J(k).toISOString():"Invalid Time":k,P=g.map(R=>R.nameKey===L?{...R,value:M}:R);b(P)},{type:_,nameKey:Y,value:$}=e,Z=L=>L==null?!1:typeof L=="string"?L.trim().length>0:!0,q=()=>_===ne.ContactField_type.DATE?t.jsx(qo,{value:$?J($):null,handleChange:L=>V(Y,L?.toDate()),dateFormat:C}):_===ne.ContactField_type.TIME?t.jsx(Jo,{value:e?.valueDate?J(e.valueDate):$?J($):null,handleChange:L=>V(Y,L),userTimeFormat:w}):_===ne.ContactField_type.DATERANGE?t.jsx(Xo,{value:$&&typeof $=="string"&&$.includes(" - ")?[J($.split(" - ")[0]),J($.split(" - ")[1])]:null,handleChange:L=>V(Y,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userDateFormat:C}):_===ne.ContactField_type.TIMERANGE?t.jsx(Qo,{value:Array.isArray($)&&$.length===2?[J($[0]),J($[1])]:null,handleChange:L=>V(Y,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userTimeFormat:w}):_===ne.ContactField_type.OPTIONS?t.jsx(Ko,{value:typeof $=="string"?$:"",handleChange:L=>V(Y,L),options:i.find(L=>L.nameKey===Y)?.typeOptions??[]}):t.jsx(Yo,{type:_,nameKey:Y,value:$,onChange:V});return t.jsxs(ei,{className:`fadein ${e.type===ne.ContactField_type.LONGTEXT?"col-12":"col-5"}`,children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[v?t.jsx(s.Tooltip,{title:O(e.nameKey),arrow:!0,children:t.jsx(jn,{ref:S,flexGrow:1,noWrap:!0,children:O(e.nameKey)})}):t.jsx(jn,{ref:S,flexGrow:1,noWrap:!0,children:O(e.nameKey)}),h?t.jsxs(t.Fragment,{children:[t.jsx(Sn,{size:"small",onClick:I,children:p?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{})}),t.jsx(Sn,{size:"small",onClick:A,children:t.jsx(_a,{})})]}):t.jsx(Zo,{className:"edit-icon",size:"small",onClick:B,children:t.jsx(Ct,{})})]}),t.jsx(s.Box,{width:h||e.type===ne.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:h?q():t.jsx(ti,{children:Z(e?.value)?e.type===ne.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const L=e.value.split(" - ");if(L.length===2){const[k,M]=L,P=J(k),R=J(M);return`${P.isValid()?P.format(C):"-"} - ${R.isValid()?R.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${J(e.value[0]).format(C)} - ${J(e.value[1]).format(C)}`;return`${e.value}`})():e.type===ne.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${J(e.value[0]).format(w==="24"?"HH:mm":"hh:mm")} - ${J(e.value[1]).format(w==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ne.ContactField_type.TIME?(()=>{try{const L=e.valueDate||e.value;return`${J(L).format(w==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ne.ContactField_type.DATE?(()=>{try{return`${J(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},ai=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,u=me(),{entityType:g,editEntity:b}=et(),h=st();if(g!=="contact")return null;const[m,p]=l.useState([]),[x,S]=l.useState(null),[v,T]=l.useState(null),[C,w]=l.useState(null),j=b;l.useEffect(()=>{if(!h)return;const I=new AbortController;return h.fetchUsers({signal:I.signal}).then(O=>{I.signal.aborted||p(O??[])}).catch(()=>{I.signal.aborted||p([])}),()=>{I.abort()}},[h]),l.useEffect(()=>{const I=new AbortController,O=async V=>{if(!V||!h)return null;try{const _=await h.fetchUserTriiById({userId:V,signal:I.signal});return _?.display_name||_?.email||null}catch{return null}};return(async()=>{const V=mt({userId:n.owner,users:m,currentUser:d})??(n.owner?await O(n.owner):null),_=mt({userId:n.createdBy??void 0,users:m,currentUser:d})??(n.createdBy?await O(n.createdBy):null),Y=mt({userId:n.updatedBy??void 0,users:m,currentUser:d})??(n.updatedBy?await O(n.updatedBy):null);I.signal.aborted||(S(V),w(_),T(Y))})(),()=>{I.abort()}},[h,n,m,d]);const W=(a||"YYYY/MM/DD").toUpperCase(),E=j.field.birthDate,B=E?.isValid()?E.format(W):null,A=I=>{const O=new Date;let V=O.getFullYear()-I.getFullYear();const _=O.getMonth()-I.getMonth();return(_<0||_===0&&O.getDate()<I.getDate())&&V--,V};return t.jsx(ea,{title:"General",children:t.jsxs(yn,{children:[t.jsx(Dt,{title:u("conversations.contactDetails.contactOwner"),displayValue:x||"-",value:n.owner,inputType:"select",options:m,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),contact:j,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Dt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:j,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Dt,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:j,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Dt,{title:u("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0,contact:j,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Dt,{title:u("global.birthdate"),inputType:"birthday",displayValue:E?`${B} (${A(E.toDate())})`:"-",value:E?E.toISOString():"",constructUpdateObject:I=>({birthDate:I}),contact:j,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:c}),j.field.customProperties.map(I=>t.jsx(wn,{property:I,entity:j,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:i,spaceId:o,onEntityUpdated:c},I.nameKey))]})})},Ia=({title:e,value:a,isNotEditable:n,inputType:r="text",options:i=[],displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:g,onEntityUpdated:b})=>t.jsx(ot,{entityType:"business",entityId:g,title:e,value:a,isNotEditable:n,inputType:r,options:i,displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:b}),ni=e=>{const a=me(),{entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:g}=et(),b=st();if(u!=="business")return null;const[h,m]=l.useState([]),[p,x]=l.useState(null),[S,v]=l.useState(null),[T,C]=l.useState(null),w=g;return l.useEffect(()=>{if(!b)return;const j=new AbortController;return b.fetchUsers({signal:j.signal}).then(W=>{j.signal.aborted||m(W??[])}).catch(()=>{j.signal.aborted||m([])}),()=>{j.abort()}},[b]),l.useEffect(()=>{const j=new AbortController,W=async E=>{if(!E||!b)return null;try{const B=await b.fetchUserTriiById({userId:E,signal:j.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const E=mt({userId:n.owner,users:h,currentUser:d})??(n.owner?await W(n.owner):null),B=mt({userId:n.createdBy??void 0,users:h,currentUser:d})??(n.createdBy?await W(n.createdBy):null),A=mt({userId:n.updatedBy??void 0,users:h,currentUser:d})??(n.updatedBy?await W(n.updatedBy):null);j.signal.aborted||(x(E),C(B),v(A))})(),()=>{j.abort()}},[b,n,h,d]),t.jsx(ea,{title:"General",children:t.jsxs(yn,{children:[t.jsx(Ia,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:p||"-",inputType:"select",options:h,constructUpdateObject:j=>({owner:typeof j=="string"?j:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:c}),t.jsx(Ia,{title:a("conversations.contactDetails.createdBy"),value:T||"-",isNotEditable:!0}),t.jsx(Ia,{title:a("conversations.contactDetails.modifiedBy"),value:S||"-",isNotEditable:!0}),w.field.customProperties.map(j=>t.jsx(wn,{property:j,entity:w,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:i,spaceId:o,onEntityUpdated:c},j.nameKey))]})})},ri=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(ai,{...e,entityData:n,entityType:"contact"}):t.jsx(ni,{...e,entityData:n,entityType:"business"})},si=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState("");return{isOpen:e,title:n,openModal:i=>{r(i),a(!0)},closeModal:()=>{a(!1),r("")}}},oi=we.styled(s.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"})),ii=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),li=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),di=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),ci=we.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ea=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),ui=we.styled(Ea)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),pi=we.styled(Ea)(({})=>({fontSize:14,fontWeight:500})),fi=we.styled(Ea)(({})=>({fontSize:14,fontWeight:500})),gi=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Et({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(oi,{children:[t.jsx(ii,{children:t.jsxs(di,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(pi,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(fi,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(ui,{children:e.note})})]})}),t.jsxs(li,{children:[a!==""&&t.jsx(ci,{src:n,alt:e.profileName,style:{cursor:"pointer"},children:e?.profileName?.charAt(0).toUpperCase()}),t.jsx(s.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(s.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(Be.Star,{sx:{color:"#fcac34"}}):t.jsx(Be.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},Da=Va.PhoneNumberUtil.getInstance(),mi=e=>{if(!e||!e.trim())return e;try{const a=Da.parse(e,void 0);return Da.isValidNumber(a)?Da.format(a,Va.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},hi=we.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),yi=we.styled(Cr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),bi=we.styled(s.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"})),xi=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),vi=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ci=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Tn=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Si=we.styled(Tn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),ji=we.styled(Tn)(({})=>({fontSize:14,fontWeight:500})),wi=({item:e})=>{const a=()=>{const r=e.address;if(!r)return;const i=new CustomEvent("call-contact-header",{detail:{phoneAddress:r}});window.dispatchEvent(i)},n=l.useMemo(()=>mi(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(bi,{children:[t.jsxs(xi,{children:[t.jsx(hi,{onClick:a,color:"primary",size:"small",children:t.jsx(yi,{})}),t.jsxs(Ci,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(ji,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Si,{children:e.note})})]})]}),t.jsx(vi,{children:t.jsx(s.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(s.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(Be.Star,{sx:{color:"#fcac34"}}):t.jsx(Be.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Ti=s.styled(s.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}})),ki=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),Ii=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Ei=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),Di=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Ai=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:i})=>t.jsxs(Ti,{children:[t.jsxs(Ii,{children:[t.jsx(ki,{children:e}),t.jsx(Di,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Ct,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(Ei,{children:a.map((o,d)=>n?t.jsx(wi,{item:o},d):t.jsx(gi,{item:o,owner:i},d))})]}),Fi=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),Bi={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ta=({title:e,handleAdd:a})=>{const n=me();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(s.Box,{sx:Bi.container,children:[t.jsx(s.Typography,{variant:"subtitle2",children:e}),t.jsx(s.Button,{onClick:a,size:"small",startIcon:t.jsx(Ha,{}),variant:"text",color:"primary",children:n("global.add")})]})},$i={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},At=({children:e})=>t.jsx(s.Box,{sx:$i.container,children:e}),kn={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Mi=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:i})=>{const o=me(),[d,c]=l.useState(null),u=!!d,{channelType:g,address:b}=a,[h,m]=l.useState(!1),[p,x]=l.useState(null),[S,v]=l.useState(!1),T=A=>{c(A.currentTarget)},C=()=>{c(null)},w=()=>{v(!1)},j=()=>{e(),C()},W=async()=>{m(!0);try{if(!i)return;const A=await i(13);if(!A)return;x(A),v(!0)}catch(A){console.error("Error verifying WhatsApp account:",A)}finally{m(!1)}C()},E=async()=>{m(!0);try{if(!i)return;const A=await i(21);if(!A)return;x(A),v(!0)}catch(A){console.error("Error verifying RCS account:",A)}finally{m(!1)}C()},B=async()=>{await n(),v(!1)};return t.jsxs(s.Box,{children:[t.jsx(s.IconButton,{"aria-controls":u?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:T,children:t.jsx(Sr,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:j,children:[t.jsx(s.ListItemIcon,{children:t.jsx(qt,{color:"error"})}),t.jsx(s.ListItemText,{children:o("global.delete")})]}),g===5&&t.jsxs(s.MenuItem,{onClick:W,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(jr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),g===21&&t.jsxs(s.MenuItem,{onClick:E,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(wr,{})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:S,onClose:w,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(s.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:A=>A.palette.background.default},children:p?.success?t.jsxs(t.Fragment,{children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.wspAccountFound")," ",b]}),t.jsx(s.Typography,{id:"modal-modal-description",sx:{mt:2},children:o("optionsMenu.wantToLinkContact")}),t.jsxs(s.Box,{sx:{marginTop:"10px"},children:[t.jsx(s.Button,{onClick:B,color:"primary",children:o("optionsMenu.yesLink")}),t.jsx(s.Button,{onClick:w,color:"secondary",children:"No"})]})]}):t.jsxs(s.Box,{sx:{position:"relative"},children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.noWspAccountFound")," ",b]}),t.jsx(s.Button,{onClick:w,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},Ft=e=>{const a=me(),n=st(),{editEntity:r,entityId:i}=et(),[o,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??i,{note:g,channelType:b,id:h,address:m}=e.addressData,p=!e.addressData.hasOwnProperty("isSaved"),x=e.replaceAddress??r.action.replaceAddress,S=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),v=async j=>{if(!n||!u)return null;const W=await n.setContactAddress({data:{address:m,contactId:u,type:j}});return x(h,W),W},T=async()=>{if(!n||!u)return;const j=await n.updateContactAddress({data:{contactAddressId:h,contactId:u,note:g??""}});x(h,j)},C=async()=>{d(!0),p?(await T(),d(!1)):await v(b)&&d(!1)},w=async()=>{d(!0);const j=await v(13);j&&S&&S(j),j&&d(!1)};return t.jsxs(s.Box,{sx:{...kn.container},children:[p&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:j=>e.handleNoteFieldChange(j,h,b),value:g,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:kn.noteTextField}),t.jsx(s.IconButton,{onClick:C,children:o?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{color:"primary"})}),t.jsx(Mi,{onDelete:()=>e.handleDeleteAddress(h,b),addressData:e.addressData,handleLinkAccountSave:w,checked:c&&!o,onCheckContactAddress:async j=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:m,type:j}})}catch{return null}}})]})},Pi={container:{display:"flex",gap:"100px",alignItems:"center"}},Bt=({children:e})=>t.jsx(s.Box,{sx:Pi.container,children:e}),Ui={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},$t=({children:e})=>t.jsx(s.Box,{sx:{...Ui.container},children:e}),Ri=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Ir,{size:20});case"available":return t.jsx(Tr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(kr,{style:{height:27,width:27},color:"error"});default:return null}},In=({status:e,text:a})=>t.jsxs(Er,{position:"end",children:[a?t.jsx(Dr,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(Ri,{status:e})})]}),Ni={code:{width:"60%",color:"gray"}},Li=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(At,{children:t.jsxs(Bt,{children:[t.jsx(s.Typography,{sx:Ni.code,variant:"body2",children:e.address}),t.jsx(Ft,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},Oi=({IMSs:e,editEntity:a})=>t.jsx($t,{children:e?.map(n=>t.jsx(Li,{data:n,editEntity:a},n.id))}),aa=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(Fi,{title:a}),t.jsx(Oi,{IMSs:n,editEntity:e})]}),zi={addressField:{}},Aa=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:i,address:o}=e,d=me(),c=st(),[u,g]=l.useState("idle"),[b,h]=l.useState(o),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let p=setTimeout(async()=>{if(o!==""&&o!==b){if(!c)return;g("loading"),h(o);const x={address:o,type:i};try{const S=await c.checkContactAddress({data:x}),{success:v,warnings:T}=S;n(T),g(v?"available":"unavailable")}catch{n([]),g("unavailable")}}},1700);return()=>clearTimeout(p)},[c,e,o,i,b,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:zi.addressField,size:"small",label:i===ft.ChannelType.WHATSAPP||i===ft.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:o,onChange:p=>{a(p,r,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(In,{status:u})})}})})},Wi={addressField:{}},_i=({data:e,onChange:a,setWarnings:n})=>{const r=st(),i=me(),{id:o,channelType:d,address:c}=e,[u,g]=l.useState("idle"),[b,h]=l.useState(c),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let p=setTimeout(async()=>{if(c!==""&&c!==b){if(!r)return;g("loading"),h(c);const x={address:c,type:d};try{const{success:S,warnings:v}=await r.checkContactAddress({data:x});n(v),g(S?"available":"unavailable")}catch{n([]),g("unavailable")}}},1700);return()=>clearTimeout(p)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:Wi.addressField,size:"small",label:i("global.number"),value:c,onChange:p=>{a(p,o,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(In,{status:u})})}})})},Fa={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Vi=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:Fa.secondaryContainer,children:t.jsx(Fr,{icon:t.jsx(Ar,{sx:Fa.icon}),sx:Fa.chip,label:e,color:"error",variant:"outlined"})})}),na=({warnings:e})=>{const a=me();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(Vi,{text:a(`contactAddressError.${n}`)},r))})})},Hi={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Gi=({data:e})=>{const a="edit",{editEntity:n}=et(),r=n.action,i=n.state,[o,d]=l.useState([]),[c,u]=l.useState(!0);return l.useEffect(()=>{u(o.length===0&&(e.address??"")!=="")},[o,e.address]),t.jsx(At,{children:t.jsxs(Bt,{children:[t.jsxs(s.Box,{sx:{...Hi.numberCountryContainer,flexDirection:"column"},children:[t.jsx(_i,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),o.length>0&&t.jsx(na,{warnings:o})]}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},Yi=({phoneNumbers:e})=>t.jsx($t,{variant:"large",children:e?.map(a=>t.jsx(Gi,{data:a},a.id))}),qi=({phoneNumbers:e,handleAdd:a})=>{const n=me();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:n("global.phones")}),t.jsx(Yi,{phoneNumbers:e})]})},En={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}=et(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(At,{children:[t.jsxs(Bt,{children:[t.jsx(s.Box,{sx:En.numberCountryContainer,children:t.jsx(s.Box,{sx:En.adressInputBox,children:t.jsx(Aa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},Ji=({emails:e})=>t.jsx($t,{variant:"large",children:e?.map(a=>t.jsx(Ki,{data:a},a.id))}),Qi=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"Emails"}),t.jsx(Ji,{emails:e})]}),Dn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Xi=({data:e})=>{const a="edit",{editEntity:n}=et(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(At,{children:[t.jsxs(Bt,{children:[t.jsx(s.Box,{sx:Dn.numberCountryContainer,children:t.jsx(s.Box,{sx:Dn.adressInputBox,children:t.jsx(Aa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},Zi=({whatsapps:e})=>t.jsx($t,{variant:"large",children:e?.map(a=>t.jsx(Xi,{data:a},a.id))}),el=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"WhatsApp"}),t.jsx(Zi,{whatsapps:e})]}),An={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},tl=({data:e})=>{const a="edit",{editEntity:n}=et(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(At,{children:[t.jsxs(Bt,{children:[t.jsx(s.Box,{sx:An.numberCountryContainer,children:t.jsx(s.Box,{sx:An.adressInputBox,children:t.jsx(Aa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Ft,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(na,{warnings:o})]})},al=({RCSs:e})=>t.jsx($t,{variant:"large",children:e?.map(a=>t.jsx(tl,{data:a},a.id))}),nl=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ta,{handleAdd:a,title:"RCS"}),t.jsx(al,{RCSs:e})]}),rl=we.styled(s.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.panel,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),sl=({open:e,onClose:a,title:n})=>{const r=me(),{editEntity:i}=et(),{emails:o,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=i.field,{addEmail:g,addPhone:b,addWhatsapp:h,resetToInitialContactInformation:m,addRCS:p}=i.action;function x(){a(),m()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(rl,{children:[(()=>{switch(n){case"Phones":return t.jsx(qi,{handleAdd:b,phoneNumbers:d});case"Emails":return t.jsx(Qi,{handleAdd:g,emails:o});case"Whatsapp":return t.jsx(el,{handleAdd:h,whatsapps:c});case"RCS":return t.jsx(nl,{handleAdd:p,RCSs:u});case"Facebook":return t.jsx(aa,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(aa,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(aa,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(aa,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(s.Typography,{children:"No information available for this section."})}})(),t.jsx(s.Box,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(s.Button,{variant:"contained",color:"primary",onClick:x,children:r("global.close")})})]})})},ol=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:i}=si(),{editEntity:o}=et(),d=me(),c=o.field.phoneNumbers,u=o.field.emails,g=o.field.imsFacebooks,b=o.field.imsWhatsapp,h=o.field.imsMercadolibre,m=o.field.imsWebchats,p=o.field.imsInstagrams,x=o.field.imsRCS,S=[{key:"phones",title:d("conversations.contactDetails.phones"),items:c,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:u,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:g,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:b,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:x,modalTitle:"RCS",visible:x.length>0},{key:"mercado-libre",title:"Mercado libre",items:h,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:m,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:p,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ea,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:S.filter(v=>v.visible).map(v=>t.jsx(Ai,{handleEdit:()=>r(v.modalTitle),title:v.title,methodItems:v.items,isPhone:v.isPhone,owner:e},v.key))})}),t.jsx(sl,{open:a,onClose:i,title:n})]})},il=({entityType:e,entityData:a,baseUrl:n,spaceId:r,onEntityUpdated:i,onDirectionSearchClick:o})=>{const d={baseUrl:n,spaceId:r,entityId:String(a.id),onEntityUpdated:i},c=me(),u=({addressNumber:g,title:b})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(s.Typography,{variant:"body2",children:b}),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(ot,{entityType:e,title:c("conversations.contactDetails.street"),value:a[g]?.street??"",...d,constructUpdateObject:h=>({[g]:{street:h}}),minWidth:"100%"})}),t.jsx(ot,{entityType:e,title:c("conversations.contactDetails.city"),value:a[g]?.city??"",...d,constructUpdateObject:h=>({[g]:{city:h}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:c("conversations.contactDetails.state"),value:a[g]?.state??"",...d,constructUpdateObject:h=>({[g]:{state:h}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[g]?.zipcode??"",...d,constructUpdateObject:h=>({[g]:{zipcode:h}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:c("conversations.contactDetails.country"),value:a[g]?.country??"",...d,constructUpdateObject:h=>({[g]:{country:h}}),minWidth:"100%"})]})]});return t.jsx(ea,{title:c("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:o,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(u,{addressNumber:"address1",title:c("conversations.contactDetails.primaryAddress")}),t.jsx(u,{addressNumber:"address2",title:c("conversations.contactDetails.secondaryAddress")})]})})},ll=({entity:e,setEntity:a})=>l.useCallback(n=>{if(!n||typeof n!="object")return;const r=n;if("id"in r){a(n);return}if(!e)return;const i={...e,...r};a(i)},[e,a]),dl=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:i,labels:o,selectedTags:d,onTagsUpdated:c})=>{const[u,g]=l.useState("main"),[b,h]=l.useState([]),[m,p]=l.useState(!1),[x,S]=l.useState(!1),[v,T]=l.useState([]),[C,w]=l.useState(!1),j=l.useMemo(()=>{const A=o??[],I=v??[],O=new Map;for(const V of A)V?.id&&O.set(String(V.id),V);for(const V of I)V?.id&&O.set(String(V.id),V);return Array.from(O.values())},[o,v]),W=l.useCallback(()=>{g("main"),h([]),p(!1),S(!1),T([]),w(!1)},[]);l.useEffect(()=>{e||W()},[e,W]),l.useEffect(()=>{if(u!=="tags"){p(!1);return}if(m||!j.length)return;const A=new Set(d.map(O=>String(O.id))),I=j.filter(O=>A.has(String(O?.id)));h(I),p(!0)},[u,m,j,d]);const E=l.useCallback(async A=>{if(C||!a||!n)return;const I=String(A??"").trim();if(!I)return;const O=I.toLowerCase(),V=j.find(_=>String(_?.name??"").trim().toLowerCase()===O);if(V?.id){h(_=>{const Y=_??[];return Y.some($=>String($?.id)===String(V.id))?Y:[...Y,V]});return}w(!0);try{const _=await on({baseUrl:a,spaceId:n,name:I});T(Y=>{const $=Y??[];return!_?.id||$.some(Z=>String(Z?.id)===String(_.id))?$:[...$,_]}),h(Y=>{const $=Y??[];return!_?.id||$.some(Z=>String(Z?.id)===String(_.id))?$:[...$,_]})}finally{w(!1)}},[C,a,n,j]),B=l.useCallback(async()=>{if(x||!a||!n||!r||i!=="contact"&&i!=="business")return;const A=b.filter(I=>I?.id&&I?.name).map(I=>({id:String(I.id),name:String(I.name)}));S(!0);try{await Je({baseUrl:a,spaceId:n,entityType:i,entityId:String(r.id),body:{tags:A}}),c(A),g("main")}finally{S(!1)}},[x,a,n,r,i,b,c]);return{view:u,setView:g,draftLabels:b,setDraftLabels:h,labelsOptions:j,isSaving:x,isCreatingLabel:C,handleCreateLabel:E,handleSaveTags:B}},cl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),ul={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},pl=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:i,onEntityUpdated:o,currentUser:d})=>{const c=me(),u=st(),g=l.useRef(null),b=l.useRef(null),[h,m]=l.useState(()=>r?.businessName??""),[p,x]=l.useState(!1),[S,v]=l.useState(!1),[T,C]=l.useState(!1),[w,j]=l.useState([]),[W,E]=l.useState(r??null),[B,A]=l.useState(1),[I,O]=l.useState(!1),[V,_]=l.useState(!1),Y=l.useMemo(()=>{const G=d?.display_name,te=d?.email;return String(G||te||"").trim()},[d]);l.useEffect(()=>()=>{g.current&&(clearTimeout(g.current),g.current=null),b.current?.abort()},[]),l.useEffect(()=>{E(r??null),m(r?.businessName??"")},[r]);const $=()=>{b.current?.abort(),b.current=null,g.current&&(clearTimeout(g.current),g.current=null),x(!1),_(!1),A(1),O(!1),j([])},Z=G=>G.filter(te=>!!te?.id).map(te=>({businessId:String(te.id),businessName:String(te.name??"")})),q=async({query:G,page:te})=>{if(!u)return;b.current?.abort();const de=new AbortController;b.current=de,v(!0);try{const pe={...ul,currentPage:te,filter:[{value:G,column:"name",condition:""}]},ve=await u.fetchBusinessTableData({pagination:pe,signal:de.signal});if(de.signal.aborted)return;const ye=Z(ve?.contactos??[]);x(!0);const N=ve?.paginacion?.total??0;j(Se=>{const le=te===1?ye:(()=>{const be=new Map;for(const fe of Se)be.set(fe.businessId,fe);for(const fe of ye)be.set(fe.businessId,fe);return Array.from(be.values())})();return N&&le.length>=N&&_(!0),le})}finally{v(!1),C(!1),O(!1)}},L=G=>{$(),G&&(g.current&&(clearTimeout(g.current),g.current=null),C(!0),g.current=setTimeout(()=>{q({query:G,page:1})},800))},k=G=>{const te=G.target;if(!(te.scrollHeight-te.scrollTop-te.clientHeight<1)||V||S||!h)return;const de=B+1;O(!0),A(de),q({query:h,page:de})},M=async()=>{if(!u||!Y)return;const G=String(h??"").trim();if(G){v(!0);try{const te={name:G,owner:Y,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},de=await u.createBusiness({business:te}),pe={businessId:String(de.id??""),businessName:String(de.name??G)};j([pe]),E(pe),x(!0)}finally{v(!1)}}},P=async()=>{if(!e||!a||!n)return;const G=W?.businessId??"",te=await Je({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:G}});o?.(te),i()},R=p&&w.length===0&&h?t.jsxs(s.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),t.jsx(Ze.LoadingButton,{size:"small",variant:"contained",onClick:M,loading:S,disabled:S||!Y,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),H=!n||!e||!a;return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(s.IconButton,{size:"small",onClick:i,"aria-label":c("global.back"),children:t.jsx(xa,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:c("conversations.contactDetails.business")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(dt,{}),onClick:P,loading:!1,disabled:H,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[S||T||I?t.jsx(s.Box,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(s.LinearProgress,{sx:{borderRadius:1}})}):null,t.jsx(s.Autocomplete,{fullWidth:!0,disablePortal:!0,value:W,onChange:(G,te)=>{E(te)},inputValue:h,onInputChange:(G,te,de)=>{m(te),de==="input"&&L(te)},options:w,getOptionLabel:G=>G?.businessName??"",isOptionEqualToValue:(G,te)=>G.businessId===te.businessId,noOptionsText:R,renderInput:G=>t.jsx(s.TextField,{...G,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{...G.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[S||T?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,G.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:k}})]})]})},fl=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:i,sx:o,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:g})=>{const{t:b,i18n:h}=Ge.useTranslation(),m=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 q=document.createElement("script");return q.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,q.async=!0,q.defer=!0,document.body.appendChild(q),()=>{}},[u]),l.useEffect(()=>{d&&h.changeLanguage(d)},[d,h]);const p=q=>b(q),x=l.useMemo(()=>!n||!r?null:cn(n,r),[n,r]),{state:S,selectors:v,actions:T}=To({open:e,baseUrl:n,spaceId:r,contactId:i}),C=ll({entity:S.contactData,setEntity:q=>{T.setContactData(q??void 0),q&&g&&g(q)}}),{view:w,setView:j,draftLabels:W,setDraftLabels:E,labelsOptions:B,isSaving:A,isCreatingLabel:I,handleCreateLabel:O,handleSaveTags:V}=dl({open:e,baseUrl:n,spaceId:r,contactData:S.contactData,contactType:v.contactType,labels:v.labels,selectedTags:v.tags,onTagsUpdated:q=>{if(!S.contactData)return;const L={...S.contactData,tags:q};T.setContactData(L),g&&g(L)}}),_=Et({baseUrl:n,spaceId:r,entityType:v.contactType==="business"||v.contactType==="contact"?v.contactType:void 0,entityId:S.contactData?String(S.contactData.id):void 0,initialImageUrl:S.contactData?.imageUrl,onEntityUpdated:C}),Y=cl({onClose:a}),$={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:q=>q.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},Z=Array.isArray(o)?[$,...o]:o?[$,o]:$;return t.jsx(qs,{value:x,children:t.jsx(Gs,{t:p,children:t.jsx(Wo,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:Y,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:e,timeout:200,children:t.jsxs(s.Box,{sx:Z,ref:m,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:Y,sx:{position:"absolute",right:5,top:5,color:q=>q.palette.grey[500],zIndex:1},size:"small",children:t.jsx(za,{sx:{fontSize:20}})}),S.isLoading&&!S.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):S.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):S.contactData?t.jsx(Oo,{value:{view:w,setView:j},children:t.jsx(Ro,{entityType:v.contactType==="business"?"business":"contact",entityData:S.contactData,customContactFields:v.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(s.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(s.Fade,{in:w==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(ao,{imgUrl:_.imageUrl,displayName:v.displayName,tags:v.tags,onEditTags:()=>{j("tags")},onUploadPhoto:_.action.uploadImage,onPhotoFileChange:_.inputAtributes.onChange,photoInputRef:_.inputAtributes.ref,isUploadingPhoto:_.isUploading,onDeletePhoto:_.action.deleteImage,isDeletingPhoto:_.isDeleting,contactType:v.contactType,entityId:S.contactData?.id,firstName:v.isContact?S.contactData.firstName:void 0,lastName:v.isContact?S.contactData.lastName:void 0,name:v.isBusiness?S.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(ri,{dateFormat:v.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:v.contactType==="contact"||v.contactType==="business"?v.contactType:"contact",entityData:S.contactData,customContactFields:v.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:C,currentUser:v.userTrii}),t.jsx(il,{entityType:v.contactType==="contact"||v.contactType==="business"?v.contactType:"contact",entityData:S.contactData,baseUrl:n,spaceId:r,onEntityUpdated:C,onDirectionSearchClick:()=>j("searchLocation")}),t.jsx(ol,{ownerData:S.contactData})]})]})}),t.jsx(s.Fade,{in:w==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(wo,{baseUrl:n,spaceId:r,entityType:v.contactType==="business"?"business":"contact",entityId:String(S.contactData.id),onBack:()=>j("main"),onEntityUpdated:C})})}),t.jsx(s.Fade,{in:w==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(ro,{value:W,options:B,onChange:E,onBack:()=>j("main"),onSave:V,isSaving:A,onCreateNew:O,isCreatingNew:I,popperContainer:m.current})})}),t.jsx(s.Fade,{in:w==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(pl,{baseUrl:n,spaceId:r,contactId:String(S.contactData.id),initialBusiness:v.isContact&&S.contactData?.businessId?{businessId:String(S.contactData.businessId),businessName:String(S.contactData.businessName??"")}:null,onBack:()=>j("main"),onEntityUpdated:C,currentUser:v.userTrii})})})]})})}):null]})})})})})})},gl=e=>t.jsx(Ge.I18nextProvider,{i18n:It,children:t.jsx(fl,{...e})}),Fn=l.createContext(null),ml=Fn.Provider,Bn=()=>l.useContext(Fn),hl={events:[],setEvents:()=>{},filteredEvents:[]},yl=(e,a)=>{const[n,r]=l.useState([]);l.useEffect(()=>{if(!a?.length){r([]);return}const o=a.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,allDay:d.allDay||!1,color:d.color,calendarId:d.calendarId,details:d.details,location:d.location,isPrivate:d.isPrivate,rule:d.rule,relatedContact:d.relatedContact,sharedWith:d.sharedWith,finalized:d.finalized,kind:"event",originalOccurrenceDate:d.originalOccurrenceDate,parentId:d.parentId}));r(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:r,filteredEvents:i}),[n,i])},$n={open:!1,handleOpen:()=>{},handleClose:()=>{}},Mn=()=>{const[e,a]=l.useState(!1),n=l.useCallback(()=>{a(!0)},[]),r=l.useCallback(()=>{a(!1)},[]);return l.useMemo(()=>({open:e,handleOpen:n,handleClose:r}),[e,n,r])},ct={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},ut=(e,a)=>{const[n,r]=l.useState(a||""),[i,o]=l.useState(!1),[d,c]=l.useState("");l.useEffect(()=>{r(a||"")},[a]);const u=l.useCallback(S=>{o(!0),c(S)},[]),g=l.useCallback(()=>{o(!1),c("")},[]),b=l.useCallback(S=>{r(S.target.value)},[]),h=l.useCallback(S=>{r(S)},[]),m=l.useCallback(()=>{r(a||"")},[a]),p=l.useMemo(()=>({onError:u,onSuccess:g,resetValue:m,changeValue:h}),[u,g,m,h]),x=l.useMemo(()=>({error:i,helperText:d,type:e,value:n,onChange:b}),[i,d,e,n,b]);return{actions:p,attributes:x}};function Pn(e){return typeof e=="number"}const bl={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function xl(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const b={id:Xt(),timeValue:0,timePeriod:Kt.EventNotificationPeriod.MINUTE,sendToContact:!1};n(h=>h.concat(b))},[]),i=l.useCallback(b=>{n(h=>h.filter(m=>m.id!==b))},[]),o=l.useCallback((b,h)=>{const m=Number(b.target.value);Pn(m)&&n(p=>p.map(x=>x.id===h?{...x,timeValue:m}:x))},[]),d=l.useCallback((b,h)=>{if(!Pn(b.target.value))return;const m=b.target.value;n(p=>p.map(x=>x.id===h?{...x,timePeriod:m}:x))},[]),c=l.useCallback((b,h)=>{const m=b.target.checked;n(p=>p.map(x=>x.id===h?{...x,sendToContact:m}:x))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{e&&n(e)},[e]);const g=l.useMemo(()=>({addNotification:r,deleteNotification:i,handleTimeFieldChange:o,handleTimePeriodChange:d,handleReminderChange:c,resetNotifications:u}),[r,i,o,d,c,u]);return{notifications:a,action:g}}const vl={state:{selectedStartDate:J(),selectedEndDate:J().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Cl={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Sl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},jl={titleField:ct,descriptionField:ct,locationField:ct,colorField:ct,date:vl,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:bl,shareWithUsers:Sl,linkContact:Cl,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},wl=(e,a)=>{const[n,r]=l.useState(e??J()),[i,o]=l.useState(a??J().add(30,"minute")),[d,c]=l.useState(!1),u=l.useCallback(h=>m=>{h(m)},[]),g=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),b=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:g,action:b}},Tl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),i=l.useCallback(b=>{r(h=>h.some(m=>m.id===b.id)?h:[...h,{id:b.id,name:b.name??""}]),a("")},[]),o=l.useCallback(b=>{r(h=>h.filter(m=>m.id!==b))},[]),d=l.useCallback(b=>{a(b)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),g=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:d,resetField:c}),[i,o,d,c]);return{state:u,action:g}},kl=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Il=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),r=ut("text",e?.details??e?.description??""),i=ut("text",e?.location??""),o=ut("text",e?.color??"#1976d2"),d=wl(e?.startAt?J(e.startAt):void 0,e?.endAt?J(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[g,b]=l.useState(e?.isPrivate??!1),[h,m]=l.useState(e?.rule??""),p=xl(e?.notifications),x=kl(),S=Tl(),v=l.useCallback(()=>({title:n.attributes.value,details:r.attributes.value,location:i.attributes.value,allDay:c,isPrivate:g,color:o.attributes.value,startAt:d.state.selectedStartDate.toISOString(),endAt:d.state.selectedEndDate.toISOString(),notifications:p.notifications.map(C=>({timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:x.field.userIds,rule:h,relatedContactId:S.state.selectedContacts[0]?.id??null}),[n.attributes.value,r.attributes.value,i.attributes.value,c,g,o.attributes.value,d.state.selectedStartDate,d.state.selectedEndDate,p.notifications,x.field.userIds,h,S.state.selectedContacts]),T=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),i.actions.resetValue(),o.actions.changeValue("#1976d2"),u(!1),b(!1),m(""),p.action.resetNotifications(),x.action.resetField(),S.action.resetField(),d.action.setError(!1)},[n.actions,r.actions,i.actions,o.actions,p.action,x.action,S.action,d.action]);return l.useEffect(()=>{const C=e?.id;!e||a.current===C||(a.current=C,u(e.allDay??!1),b(e.isPrivate??!1),m(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),o.actions.changeValue(e.color??"#1976d2"),e.startAt&&d.action.setSelectedStartDate(J(e.startAt)),e.endAt&&d.action.setSelectedEndDate(J(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:i,colorField:o,date:d,allDay:c,setAllDay:u,isPrivate:g,setIsPrivate:b,recurrenceRule:h,setRecurrenceRule:m,notifications:p,shareWithUsers:x,linkContact:S,create:v,resetFields:T}),[n,r,i,o,d,c,g,h,p,x,S,v,T])},El={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Dl={nameField:ct,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:El,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Al=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Fl=()=>{const e=ut("text",""),[a,n]=l.useState("#ffffff"),[r,i]=l.useState(null),o=Al(),d=l.useCallback(u=>{n(u)},[]),c=l.useCallback(u=>{i(u)},[]);return l.useMemo(()=>({nameField:e,color:a,handleColorChange:d,shareWithUsers:o,googleCalendar:r,handleGoogleCalendarChange:c}),[e,a,d,o,r,c])},Bl={tasks:[],setTasks:()=>{},filteredTasks:[]},$l=e=>{const[a,n]=l.useState([]),r=l.useMemo(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return l.useMemo(()=>({tasks:a,setTasks:n,filteredTasks:r}),[a,r])},Ml={state:{selectedStartDate:J(),selectedEndDate:J(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Pl={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Ul={titleField:ct,descriptionField:ct,date:Ml,linkContact:Pl,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},Rl=(e,a)=>{const[n,r]=l.useState(e??J()),[i,o]=l.useState(a??J()),[d,c]=l.useState(!1),u=l.useCallback(h=>m=>{h(m)},[]),g=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),b=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:g,action:b}},Nl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),i=l.useCallback(b=>{r(h=>h.some(m=>m.id===b.id)?h:[...h,{id:b.id,name:b.name??""}]),a("")},[]),o=l.useCallback(b=>{r(h=>h.filter(m=>m.id!==b))},[]),d=l.useCallback(b=>{a(b)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),g=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:d,resetField:c}),[i,o,d,c]);return{state:u,action:g}},Ll=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),r=ut("text",e?.description??""),i=Rl(e?.startAt?J(e.startAt):void 0,e?.startAt?J(e.startAt):void 0),o=Nl(),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:o.state.selectedContacts[0]?.id??null}),[n.attributes.value,r.attributes.value,i.state.selectedStartDate,o.state.selectedContacts]),c=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.action.resetField(),i.action.setError(!1)},[n.actions,r.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??""),r.actions.changeValue(e.description??""),e.startAt)){const g=J(e.startAt);i.action.setSelectedStartDate(g),i.action.setSelectedEndDate(g)}},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,date:i,linkContact:o,create:d,resetFields:c}),[n,r,i,o,d,c])},Ba=l.createContext({eventDialog:$n,createCalendarDialog:$n,event:jl,events:hl,calendar:Dl,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:Bl,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Ul,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:()=>{},hiddenTabs:!1}),Un=e=>e,Rn=l.createContext(Un),Ol=({t:e,children:a})=>t.jsx(Rn.Provider,{value:e,children:a}),Me=()=>{const e=l.useContext(Rn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Un)};var zl=Object.defineProperty,Wl=(e,a,n)=>a in e?zl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Nn=(e,a,n)=>Wl(e,typeof a!="symbol"?a+"":a,n);class _l extends Error{constructor(a,n,r){super(a),Nn(this,"status"),Nn(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function De({url:e,method:a="GET",headers:n,body:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new _l(c,o.status,d)}return d}function ke(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function ra(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 _e(e){return ra(e.baseUrl,e.spaceId).CALENDAR}async function Vl(e){const a=ra(e.baseUrl,e.spaceId);return De({url:ke(a.SETTINGS,"/user")})}async function Hl(e,a,n){const r=`${_e(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return De({url:r})}async function Gl(e,a){const n=_e(e);return De({url:ke(n,"/events"),method:"POST",body:a})}async function Ln(e,a){const n=_e(e),{activityId:r,updatedActivity:i,originalOccurrenceDate:o}=a;if(o){const d=o instanceof Date?o.toISOString():o,c=`${n}/events/occurrence/${r}?occurrence=${d}`;return De({url:c,method:"PUT",body:i})}return De({url:ke(n,`/events/${r}`),method:"PUT",body:i})}async function $a(e,a,n){const r=_e(e);if(n){const i=n instanceof Date?n.toISOString():n,o=`${r}/events/${a}?occurrence=${i}`;await De({url:o,method:"DELETE"})}else await De({url:ke(r,`/events/${a}`),method:"DELETE"})}async function Yl(e,a){const n=_e(e);return De({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function ql(e,a){const n=_e(e);return De({url:ke(n,`/Task/${a}`)})}async function Kl(e,a){const n=_e(e);return De({url:ke(n,"/Task"),method:"POST",body:a})}async function On(e,a,n){const r=_e(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:n})}async function Jl(e,a){const n=_e(e);await De({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function Ql(e,a,n){const r=_e(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Xl(e){const a=_e(e);return De({url:ke(a,"/Calendar")})}async function Zl(e,a){const n=_e(e);return De({url:ke(n,"/Calendar"),method:"POST",body:a})}async function ed(e,a,n){const r=_e(e);return De({url:ke(r,`/Calendar/${a}`),method:"PUT",body:n})}async function td({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=ra(e,a),o=ke(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return De({url:o,signal:r})}async function ad({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=ra(e,a),o=ke(i.CONTACTS,"/Search");return De({url:o,method:"POST",body:n,signal:r})}function Ma(e){const a=J(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 Mt=e=>{if(!e)return e;const a=e.indexOf("_");if(a===-1)return e;const n=e.substring(0,a),r=e.substring(a+1);return/^\d{14}$/.test(r)?n:e},Pt=e=>e?e.parentId?e.parentId:Mt(e.id):"",nd=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:i="event",externalEventCalendarId:o,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:g=!1,externalContactId:b,externalOnActionComplete:h})=>{const{t:m}=Ge.useTranslation(),p=Bn(),x=(y,...U)=>m(y,...U),[S,v]=l.useState(i),[T,C]=l.useState(null),[w,j]=l.useState(null),[W,E]=l.useState(r),[B,A]=l.useState(d||""),[I,O]=l.useState(o||""),[V,_]=l.useState(!1),[Y,$]=l.useState("create"),[Z,q]=l.useState(null),[L,k]=l.useState({open:!1,message:"",severity:"info"}),[M,P]=l.useState(!1),[R,H]=l.useState("event"),[G,te]=l.useState(!1),[de,pe]=l.useState(!1),[ve,ye]=l.useState(null),N="trii_calendar_last_view",Se=y=>y==="month"||y==="week"||y==="day",[le,be]=l.useState(()=>{try{const y=localStorage.getItem(N);return Se(y)?y:"month"}catch{return"month"}}),[fe,Ve]=l.useState(new Date),Q=y=>{Ve(y),be("day")},ue=Mn(),Ae=Mn(),ae=Il(T??void 0),K=Ll(w??void 0);l.useEffect(()=>{r!==void 0&&E(r)},[r]),l.useEffect(()=>{i!==void 0&&v(i)},[i]),l.useEffect(()=>{o!==void 0&&O(o)},[o]),l.useEffect(()=>{d!==void 0&&A(d)},[d]),l.useEffect(()=>{c!==void 0&&C(c)},[c]),l.useEffect(()=>{u!==void 0&&j(u)},[u]),l.useEffect(()=>{if(!b||!p||r!=="create"||!ue.open)return;let y=!1;return td({baseUrl:p.baseUrl,spaceId:p.spaceId,contactId:b}).then(U=>{y||!U||(ae.linkContact.action.resetField(),ae.linkContact.action.handleSelectContact(U),K.linkContact.action.resetField(),K.linkContact.action.handleSelectContact(U))}).catch(()=>{}),()=>{y=!0}},[b,ue.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!ue.open){if(r==="create"){ae.resetFields(),K.resetFields(),_(!1),C(null),j(null),ae.date.action.setError(!1),K.date.action.setError(!1);const y=Ma(new Date),U=y.add(30,"minute");if(i==="task"?(K.date.action.setSelectedStartDate(y),K.date.action.setSelectedEndDate(y)):(ae.date.action.setSelectedStartDate(y),ae.date.action.setSelectedEndDate(U)),!o){const F=Re?.[0]??at?.[0]?.id??Ue?.[0]?.id??"";F&&O(F)}if(!d){const F=Re?.[0]??Ue?.[0]?.id??"";F&&A(F)}}ue.handleOpen()}else!a&&ue.open&&ue.handleClose()},[a]);const We=()=>{(W==="edit"||W==="create")&&(ae.resetFields(),K.resetFields()),ae.date.action.setError(!1),K.date.action.setError(!1),n?n():ue.handleClose()},Ce=Fl(),pt=Y==="create",[Ue,da]=l.useState([]),[Rt,Nt]=l.useState([]),[qe,ca]=l.useState(""),yt="calendar_selected_ids",[Re,tt]=l.useState(()=>{try{const y=localStorage.getItem(yt);return y?JSON.parse(y):[]}catch{return[]}}),bt=yl(Re,Rt),Lt=$l(Re),ua=()=>{k(y=>({...y,open:!1}))},Qe=l.useCallback((y,U,F)=>{h?.(y,U,F)},[h]);function Ot(y){const U=y?.startAt??y?.start,F=y?.endAt??y?.end??U;return{startAt:U,endAt:F}}const{myCalendars:at,otherCalendars:pa}=l.useMemo(()=>{const y=Ue??[];if(!qe)return{myCalendars:y,otherCalendars:[]};const U=y.filter(X=>X.userId===qe),F=y.filter(X=>X.userId!==qe);return U.length===0&&y.length>0?{myCalendars:y,otherCalendars:[]}:{myCalendars:U,otherCalendars:F}},[Ue,qe]),He=l.useCallback(async()=>{if(p)try{const y=new Date,U=y.getUTCFullYear(),F=y.getUTCMonth(),X=new Date(Date.UTC(U,F-1,1,0,0,0)).toISOString(),oe=new Date(Date.UTC(U,F+2,1,0,0,0)).toISOString(),je=await Hl(p,X,oe);Nt(je)}catch(y){console.error("Error fetching activities:",y)}},[p]),nt=l.useCallback(async y=>{if(p)try{const U=await ql(p,y);Lt.setTasks(U.map(F=>({id:F.id,title:F.title||"",start:new Date(F.startAt),end:new Date(F.endAt||F.startAt),startAt:F.startAt,endAt:F.endAt,description:F.description,calendarId:F.calendarId,isCompleted:F.isCompleted||!1,relatedContact:F.relatedContact,kind:"task"})))}catch(U){console.error("Error fetching tasks:",U)}},[p]),Ke=l.useCallback(async()=>{if(p)try{const y=await Xl(p);da(y)}catch(y){console.error("Error fetching calendars:",y)}},[p]);l.useEffect(()=>{if(!ue.open||W!=="create")return;const y=at?.[0]?.id??Ue?.[0]?.id??"";y&&(I||O(y),B||A(y))},[Ue,at]),l.useEffect(()=>{if(!p)return;Ke(),He();let y=!1;return Vl(p).then(U=>{y||ca(U.uid)}).catch(()=>{}),()=>{y=!0}},[p,Ke,He]);function it(y,U,F){v(y),E("create"),C(null),j(null),ae.resetFields(),K.resetFields(),_(!1);const X=Ma(U??new Date),oe=F?Ma(F):X.add(30,"minute"),je=oe.isAfter(X)?oe:X.add(30,"minute");if(y==="task"){K.date.action.setSelectedStartDate(X),K.date.action.setSelectedEndDate(X),K.date.action.setError(!1);const Oe=Re?.[0]??Ue?.[0]?.id??"";A(Oe)}else{ae.date.action.setSelectedStartDate(X),ae.date.action.setSelectedEndDate(je),ae.date.action.setError(!1);const Oe=Re?.[0]??at?.[0]?.id??Ue?.[0]?.id??"";O(Oe);const Ie=at?.find(Ee=>Ee.id===Oe)??Ue?.find(Ee=>Ee.id===Oe);Ie?.color&&ae.colorField.actions.changeValue(Ie.color)}ue.handleOpen()}function xt(){it("event")}function zt(){ae.date.action.setError(!1),K.date.action.setError(!1),E("edit")}function fa(y){const{startAt:U,endAt:F}=Ot(y),X={...y,kind:"event",startAt:U,endAt:F,details:y?.details??""};v("event"),C(X),j(null),O(X.calendarId??""),E("view"),ae.date.action.setError(!1),K.date.action.setError(!1),ue.handleOpen()}async function Wt(y){if(!p)return;let U;if(y)U={title:y.title,details:y.description||y.details||"",startAt:new Date(y.startAt),endAt:new Date(y.endAt),allDay:y.allDay,location:y.location||"",isPrivate:y.isPrivate||!1,color:y.color||"",rule:y.rule||"",contactId:y.relatedContactId||b||null,sharedWith:y.sharedWith||[],notifications:(y.notifications||[]).map(oe=>({id:Xt(),timeValue:oe.value,timePeriod:oe.type,sendToContact:oe.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const oe=ae.create();if(!oe.title){k({open:!0,message:x("global.nameRequired"),severity:"error"});return}U={...oe,startAt:new Date(oe.startAt),endAt:new Date(oe.endAt),contactId:oe.relatedContactId||b||null,eventTypeId:"",repeatId:"",notifications:oe.notifications.map(je=>({...je,id:je.id||Xt()}))}}const F=I;if(!F){k({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const X={...U,calendarId:F};try{k({open:!0,message:x("global.savingChanges"),severity:"info"}),ae.resetFields(),We();const oe=await Gl(p,X);Re.includes(F)||tt(je=>[...je,F]),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("created","event",oe),He()}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}async function ga(){if(!T?.id)return;const y=ae.create(),U=I||T.calendarId||"";if(!U){k({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}T.originalOccurrenceDate!=null?(ye(()=>async F=>{await vt(y,U,F)}),pe(!0)):await vt(y,U,!1)}async function vt(y,U,F){const X=T?.originalOccurrenceDate!=null,oe={title:y.title,details:y.details,startAt:y.startAt,endAt:y.endAt,allDay:y.allDay,isPrivate:y.isPrivate,location:y.location,color:y.color,calendarId:U,notifications:y.notifications,sharedWith:y.sharedWith};(F||!X)&&(oe.rule=y.rule);const je=Pt(T),Oe={updatedActivity:oe,activityId:je};X&&!F&&(Oe.originalOccurrenceDate=T.originalOccurrenceDate);try{const Ie=await Ln(p,Oe);Ie&&C(Ie),We(),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("updated","event",Ie),He()}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}async function _t(y){pe(!1),ve&&(await ve(y),ye(null))}async function ma(){T?.originalOccurrenceDate!=null?te(!0):(H("event"),P(!0))}async function ha(){if(p)if(P(!1),R==="event")try{const y=Pt(T);We(),await $a(p,y),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:y}),He()}catch(y){console.error("Error deleting event:",y);const U=y?.message?.includes("duplicate key")?x("global.eventAlreadyDeleted","El evento ya fue eliminado"):x("global.errorSavingChanges");k({open:!0,message:U,severity:"error"})}else{if(!w?.id)return;try{const y=Mt(w.id),U=w.calendarId;We(),await Jl(p,y),j(null),K.resetFields(),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:y}),U&&nt(U)}catch(y){console.error("Error deleting task:",y);const U=y?.message?.includes("duplicate key")?x("global.taskAlreadyDeleted","La tarea ya fue eliminada"):x("global.errorSavingChanges");k({open:!0,message:U,severity:"error"})}}}async function Vt(y){te(!1);const U=Pt(T);We();try{y?await $a(p,U):await $a(p,U,T.originalOccurrenceDate),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:U}),He()}catch(F){console.error("Error deleting recurring event:",F);const X=F?.message?.includes("duplicate key")?x("global.eventAlreadyDeleted","El evento ya fue eliminado"):x("global.errorSavingChanges");k({open:!0,message:X,severity:"error"})}}async function Ht(){if(!p)return;const y=Pt(T);await Yl(p,y),We()}async function ya(y,U,F){const X=U instanceof Date?U:new Date(U),oe=F instanceof Date?F:new Date(F),je=X.toISOString(),Oe=oe.toISOString(),Ie=y.kind==="task";!Ie&&y.originalOccurrenceDate!=null?(C(y),ye(()=>async Ee=>{await Gt(y,je,Oe,X,oe,Ie,Ee)}),pe(!0)):await Gt(y,je,Oe,X,oe,Ie,!1)}async function Gt(y,U,F,X,oe,je,Oe){je||bt.setEvents(Ie=>Ie.map(Ee=>Ee.id===y.id?{...Ee,start:X,end:oe,startAt:X,endAt:oe}:Ee)),k({open:!0,message:x("global.savingChanges"),severity:"info"});try{if(je){const Ie=Mt(y.id),Ee={title:y.title,description:y.description,startAt:U,endAt:F,calendarId:y.calendarId,allDay:y.allDay||!1,isCompleted:y.isCompleted||!1};await On(p,Ie,Ee),await nt(y.calendarId)}else{const Ie=Pt(y),Ee=y.originalOccurrenceDate!=null,La={title:y.title,details:y.details,startAt:new Date(U),endAt:new Date(F),allDay:y.allDay,isPrivate:y.isPrivate,location:y.location,color:y.color,calendarId:y.calendarId};(Oe||!Ee)&&(La.rule=y.rule);const Oa={updatedActivity:La,activityId:Ie};Ee&&!Oe&&(Oa.originalOccurrenceDate=y.originalOccurrenceDate),await Ln(p,Oa)}k({open:!0,message:x("global.changesSaved"),severity:"success"}),He()}catch{je||bt.setEvents(Ie=>Ie.map(Ee=>Ee.id===y.id?{...Ee,start:y.start,end:y.end}:Ee)),k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}function ba(y,U){it("event",y,U)}function Yt(){Ce.nameField.actions.resetValue(),Ce.handleColorChange("#ffffff"),Ce.shareWithUsers.action.resetField(),Ce.handleGoogleCalendarChange(null)}function f(){Yt(),q(null),$("create"),Ae.handleClose()}function D(y){Ce.nameField.actions.changeValue(y.title??""),Ce.nameField.actions.onSuccess(),Ce.handleColorChange(y.color??"#ffffff"),Ce.shareWithUsers.action.setUserIds(y.sharedWith??[]),Ce.handleGoogleCalendarChange(y.googleCalendar??null)}function z(){$("create"),q(null),Yt(),Ae.handleOpen()}function ee(y){$("edit"),q(y),D(y),Ae.handleOpen()}async function ie(){if(!p)return;const y=(Ce.nameField.attributes.value??"").trim();if(!y){k({open:!0,message:x("global.nameRequired"),severity:"error"});return}const U=Ce.shareWithUsers.field.userIds,F={title:y,color:Ce.color,sharedWith:U.length?U:void 0,googleCalendar:Ce.googleCalendar};try{if(pt)await Zl(p,F);else{const X=Z?.id;if(!X)return;await ed(p,X,F)}f(),k({open:!0,message:x(pt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Ke()}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}async function ce(y){if(!p)return;let U;if(y?U={title:y.title,description:y.description||"",startAt:y.startAt,contactId:y.relatedContactId||null}:U=K.create(),!U.title){k({open:!0,message:x("global.nameRequired"),severity:"error"});return}const F=B;if(!F){k({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const X={...U,calendarId:F,contactId:U.contactId||U.relatedContactId||b||null};try{k({open:!0,message:x("global.savingChanges"),severity:"info"}),K.resetFields(),We();const oe=await Kl(p,X);Re.includes(F)||tt(je=>[...je,F]),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("created","task",oe),nt(F)}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}function se(){it("task")}async function re(){if(!p||!w?.id)return;const y=K.create();if(!y.title){k({open:!0,message:x("global.nameRequired"),severity:"error"});return}const U=B||w.calendarId;if(!U){k({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const F={...y,calendarId:U};try{k({open:!0,message:x("global.savingChanges"),severity:"info"});const X=Mt(w.id),oe=await On(p,X,F);oe&&j(oe),We(),k({open:!0,message:x("global.changesSaved"),severity:"success"}),Qe("updated","task",oe),nt(U)}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}async function Fe(){w?.id&&(H("task"),P(!0))}async function ge(){if(!p||!w?.id)return;const y=!w.isCompleted;try{const U=Mt(w.id),F=w.calendarId,X=await Ql(p,U,y);X&&j(X),k({open:!0,message:x("global.changesSaved"),severity:"success"}),F&&nt(F)}catch{k({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}function xe(){const y=S==="event",U=y?T:w;if(!U)return;const F={...U};y?(C(null),E("create"),_(!0),setTimeout(()=>{if(ae.titleField.actions.changeValue(F.title??""),ae.descriptionField.actions.changeValue(F.details??F.description??""),ae.locationField.actions.changeValue(F.location??""),ae.colorField.actions.changeValue(F.color??""),ae.setAllDay(F.allDay??!1),ae.setIsPrivate(F.isPrivate??!1),ae.setRecurrenceRule(F.rule??""),ae.date.action.setSelectedStartDate(J(F.startAt)),ae.date.action.setSelectedEndDate(J(F.endAt)),ae.date.action.setError(!1),ae.notifications.action.resetNotifications(),F.relatedContact?.id&&ae.linkContact.action.handleSelectContact(F.relatedContact),F.sharedWith){const X=F.sharedWith.map(oe=>oe.id);ae.shareWithUsers.action.setUserIds(X)}O(F.calendarId??I)},50)):(j(null),E("create"),setTimeout(()=>{K.titleField.actions.changeValue(F.title??""),K.descriptionField.actions.changeValue(F.description??""),K.date.action.setSelectedStartDate(J(F.startAt)),K.date.action.setSelectedEndDate(J(F.startAt)),K.date.action.setError(!1),F.relatedContact?.id&&K.linkContact.action.handleSelectContact(F.relatedContact),A(F.calendarId??B)},50))}function Le(y){const{startAt:U,endAt:F}=Ot(y),X={...y,kind:"task",startAt:U,endAt:F,description:y?.description??""};v("task"),j(X),A(X.calendarId??""),O(X.calendarId??""),C(null),E("view"),ae.date.action.setError(!1),K.date.action.setError(!1),ue.handleOpen()}function rt(y){return y?.kind==="task"?Le(y):fa(y)}l.useEffect(()=>{try{Re&&localStorage.setItem(yt,JSON.stringify(Re))}catch{}},[Re]),l.useEffect(()=>{Ue?.length&&tt(y=>{const U=new Set(Ue.map(X=>X.id)),F=(y??[]).filter(X=>U.has(X));return F.length?F:Ue.map(X=>X.id)})},[Ue]),l.useEffect(()=>{try{localStorage.setItem(N,le)}catch{}},[le]);const Xe={eventDialog:{...ue,handleClose:We},dialogMode:W,createCalendarDialog:Ae,event:ae,calendar:Ce,events:bt,handleCreateEvent:Wt,handleSelectEvent:rt,handleOpenEventCreate:xt,handleStartEditingEvent:zt,handleSaveUpdatedEvent:ga,handleEndEvent:Ht,handleDeleteEvent:ma,handleResizeEvent:ya,selectedEvent:T,savingSnackbar:L,handleCloseSnackbar:ua,dialogType:S,setDialogType:v,handleOpenTaskCreate:se,handleOpenCreateFromSlot:ba,handleCloseCreateCalendarDialog:f,calendarDialogMode:Y,editingCalendar:Z,handleOpenCreateCalendarDialog:z,handleOpenEditCalendarDialog:ee,handleSubmitCalendar:ie,tasks:Lt,activeCalendarIds:Re,setActiveCalendarIds:tt,handleCreateTask:ce,task:K,selectedTask:w,taskCalendarId:B,setTaskCalendarId:A,eventCalendarId:I,setEventCalendarId:O,userManuallyChangedColor:V,setUserManuallyChangedColor:_,myCalendars:at,otherCalendars:pa,handleSaveUpdatedTask:re,handleDeleteTask:Fe,handleToggleTaskCompleted:ge,handleDuplicateItem:xe,calendarView:le,setCalendarView:be,calendarDate:fe,setCalendarDate:Ve,navigateToDate:Q,confirmDeleteDialog:{open:M,handleClose:()=>P(!1),itemType:R},handleConfirmDelete:ha,deleteRecurringDialog:{open:G,handleClose:()=>te(!1)},handleConfirmDeleteRecurring:Vt,editRecurringDialog:{open:de,handleClose:()=>{pe(!1),ye(null)}},handleConfirmEditRecurring:_t,hiddenTabs:g};return t.jsx(Ol,{t:x,children:t.jsx(Ba.Provider,{value:Xe,children:e})})},sa=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),Pa=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Ua=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),ht="DD/MM/YYYY",oa="HH:mm",rd=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:i,disabled:o,hideLabel:d=!1,allDay:c=!1})=>{const u=Me(),g=l.useMemo(()=>a.diff(e,"minute"),[e,a]),b=l.useMemo(()=>{if(g===0)return"0 min";const v=Math.floor(g/60),T=g%60;return v===0?`${T} min`:T===0?`${v} h`:`${v}.${Math.round(T/60*10)} h`},[g]),h=v=>{if(!v)return;const T=v.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=v.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(T),r(C)},m=v=>{if(!v)return;const T=v.hour(0).minute(0).second(0).millisecond(0);n(T)},p=v=>{if(!v)return;const T=v.hour(23).minute(59).second(59).millisecond(999);r(T)},x=v=>{if(!v)return;const T=e.hour(v.hour()).minute(v.minute()).second(0).millisecond(0),C=T.add(g,"minute");n(T),r(C)},S=v=>{if(!v)return;let T=e.hour(v.hour()).minute(v.minute()).second(0).millisecond(0);(T.isBefore(e)||T.isSame(e))&&(T=T.add(1,"day")),r(T)};return o?t.jsxs(sa,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),c?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,marginTop:"10px"},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(ht)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ht)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(ht)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(oa)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(oa)}),g>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",b,")"]})]})]})]}):t.jsxs(sa,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(Ye.LocalizationProvider,{dateAdapter:Ga.AdapterDayjs,children:c?t.jsxs(Pa,{children:[t.jsx(Ye.DatePicker,{disabled:o,format:ht,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:m,minDate:J(),sx:{flex:1}}),t.jsx(Ua,{variant:"body1",children:"\u2013"}),t.jsx(Ye.DatePicker,{disabled:o,format:ht,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:a,onChange:p,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(s.Box,{sx:{mb:1},children:t.jsx(Ye.DatePicker,{disabled:o,format:ht,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:h,minDate:J()})}),t.jsxs(Pa,{children:[t.jsx(Ye.TimePicker,{disabled:o,format:oa,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:e,onChange:x,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Ua,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ye.TimePicker,{disabled:o,format:oa,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:v=>v.palette.background.panel}}}},value:a,onChange:S,sx:{alignSelf:"baseline",width:"100%"}}),g>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",b,")"]})]})]})]})}),i&&t.jsx(s.Fade,{in:i,children:t.jsx(s.Typography,{color:"red",variant:"caption",sx:{mt:1,ml:"10px"},children:u("calendarView.reminders.errorDate")})})]})};s.styled(s.Box)(()=>({display:"flex",gap:2,alignItems:"center"})),s.styled(s.Box)(({theme:e})=>({width:"15%",userSelect:"none",color:e.palette.text.secondary}));const ze=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Ra=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=Me(),{value:i,type:o,...d}=e.attributes,c=i||"";return n==="inline"?t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,placeholder:r("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(ze,{title:r("global.title"),children:t.jsx(s.Typography,{variant:"body1",sx:{py:.5,color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})}):t.jsx(ze,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},sd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),od=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),id=s.styled(s.TextField)(()=>({width:"13%"})),ld=s.styled(s.Select)(()=>({width:"23%"})),dd=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),cd=s.styled(s.IconButton)(()=>({ml:"auto"})),ud=[{title:"minute",value:Kt.EventNotificationPeriod.MINUTE},{title:"hour",value:Kt.EventNotificationPeriod.HOUR},{title:"day",value:Kt.EventNotificationPeriod.DAY}],pd=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:i})=>{const o=Me(),d=e.timeValue??0;return t.jsxs(sd,{children:[t.jsxs(od,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:o("calendarView.reminders.sendReminder.pt1")}),t.jsx(id,{onChange:c=>a(c,e.id),value:d,type:"text",variant:"outlined",size:"small"}),t.jsx(ld,{onChange:c=>n(c,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:c=>c.palette.background.panel}}},children:ud.map(c=>t.jsx(s.MenuItem,{value:c.value,children:o(`calendarView.reminders.timePeriod.${c.title}`)},c.value))}),t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:o("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(dd,{children:[t.jsx(s.FormControlLabel,{sx:{display:"flex",alignItems:"center"},label:o("calendarView.reminders.sendReminderToContact"),control:t.jsx(s.Checkbox,{checked:e.sendToContact,onChange:c=>r(c,e.id),color:"secondary"})}),t.jsx(cd,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(qt,{})})]})]})},fd=s.styled(s.Box)`
17
17
  display: 'flex',
18
18
  flexDirection: 'column',
19
19
  gap: 1,
20
- `,Gl=r.styled(r.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Yl=({notificationsField:e,disabled:a})=>{const n=Ue(),{addNotification:s,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:c,handleTimePeriodChange:d}=e.action,u=e.notifications.length>0;return t.jsxs(Hl,{children:[t.jsxs(Gl,{children:[t.jsx(r.Typography,{variant:"subtitle2",sx:{userSelect:"none"},children:n("calendarView.reminders.title")}),!a&&t.jsx(r.Button,{disabled:a,startIcon:t.jsx(Va,{}),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(m=>t.jsx(ql,{data:m,deleteHandler:i,sendToContactHandler:o,timePeriodHandler:d,timeValueHandler:c},m.id)):a?t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Ln=({descriptionField:e,disabled:a})=>{const n=Ue(),{value:s,type:i,...o}=e.attributes,c=s||"";return a?t.jsx(Oe,{title:n("global.description"),children:t.jsx(r.Typography,{variant:"body2",sx:{py:.5,whiteSpace:"pre-wrap",color:d=>d.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})}):t.jsx(Oe,{title:n("global.description"),children:t.jsx(r.TextField,{...o,value:c,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},Kl=({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),m=Ue();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 p=document.createElement("div");return s.current=new window.google.maps.places.PlacesService(p),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!g()){const p=setTimeout(()=>{g()},500);return()=>clearTimeout(p)}},[]);const x=g=>{const p=g.target.value;if(!p||p.length<3||!n.current){c([]),u(!1);return}n.current.getPlacePredictions({input:p,types:["geocode"],sessionToken:i.current||void 0},(b,j)=>{j===window.google.maps.places.PlacesServiceStatus.OK&&b?(c(b),u(!0)):(c([]),u(!1))})},y=(g,p)=>{s.current&&s.current.getDetails({placeId:g,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(b,j)=>{if(j===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const v=b.geometry.location.lat(),I=b.geometry.location.lng(),C=b.formatted_address??p;e({lat:v,lng:I},C),a.current&&(a.current.value=C),u(!1),c([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const g=p=>{a.current&&!a.current.contains(p.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:m("global.searchLocation","Buscar en Google Maps"),onChange:x,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:()=>y(g.place_id,g.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:p=>{p.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))})]})},zn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",On=["places"],Ra={apiKey:zn,libraries:On,loading:"async"},ia=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Wn=(e=zn,a=On)=>{if(ia())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++,ia()?(clearInterval(d),s()):o>=c&&(clearInterval(d),n(),Wn(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{ia()?s():setTimeout(()=>{ia()||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)}})},Mt=(e,a,n=18,s=400,i=400,o="red",c=Ra.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}`,Jl=({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,m]=l.useState(!1),[x,y]=l.useState(a||null),g=18,p=l.useCallback(C=>{y(C),e(C)},[e]);l.useEffect(()=>{let C=!0;(async()=>{try{if(await Wn(Ra.apiKey,Ra.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)}catch(w){console.error("Error al cargar Google Maps:",w),d(!1)}})(),a||navigator.geolocation.getCurrentPosition(w=>{const S=w.coords.latitude,W=w.coords.longitude,k=S.toString(),$=W.toString(),A=Mt(S,W,g);p({lat:k,lng:$,title:"",description:"",url:A})},w=>{console.error("Error getting location:",w);const S=-34.6037,W=-58.3816;p({lat:S.toString(),lng:W.toString(),title:"",description:"",url:Mt(S,W,g)})})},[a,p,g]),l.useEffect(()=>{if(c||s.current)return;const C=setTimeout(()=>{s.current||b()},50);return()=>clearTimeout(C)},[c]),l.useEffect(()=>{u&&x&&v()},[u,x]),l.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: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",w=>{j(w)}),m(!0)}catch(C){console.error("Error inicializando mapa:",C)}},j=C=>{if(!C.latLng||!o.current)return;const w={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(w):s.current&&(i.current=new window.google.maps.Marker({position:w,map:s.current})),o.current.geocode({location:w},(S,W)=>{if(W==="OK"&&S&&S[0]){const k=S[0].formatted_address,$=Mt(w.lat,w.lng,g);p({lat:w.lat.toString(),lng:w.lng.toString(),title:k||"",description:"",url:$})}else{const k=Mt(w.lat,w.lng,g);p({lat:w.lat.toString(),lng:w.lng.toString(),title:`${w.lat.toFixed(6)}, ${w.lng.toFixed(6)}`,description:"",url:k})}})},v=()=>{if(!(!s.current||!x))try{const C={lat:parseFloat(x.lat),lng:parseFloat(x.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,w)=>{const S=Mt(C.lat,C.lng,g);p({lat:C.lat.toString(),lng:C.lng.toString(),title:w||"",description:"",url:S})};return 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(Kl,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Ql=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const i=Ue(),[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(x=>{c(x)},[]),m=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:x=>x.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(za,{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(Jl,{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:m,disabled:!o,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},Xl=({locationField:e,disabled:a})=>{const n=Ue(),[s,i]=l.useState(!1),{value:o,type:c,...d}=e.attributes,u=o||"",m=()=>{a||i(!0)},x=()=>{i(!1)},y=g=>{e.actions.changeValue(g)};return a?t.jsx(r.Box,{children:t.jsx(Oe,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Ha,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body1",sx:{color:g=>g.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(r.Box,{children:[t.jsx(Oe,{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:m,InputProps:{startAdornment:t.jsx(Ha,{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:x,onSelectLocation:y,initialAddress:u})]})},Zl=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:s,search:i})=>{const o=Ue(),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.includes(d.id),children:[t.jsx(r.ListItemIcon,{children:t.jsx($e.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(r.ListItemText,{primary:o(d.name),secondary:d?.phone})]},d.id))})},ec={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function tc(e){const a=l.useRef(null),n=l.useRef(null),[s,i]=l.useState([]),[o,c]=l.useState(!1),[d,u]=l.useState(!1),[m,x]=l.useState(!1),[y,g]=l.useState(!1),[p,b]=l.useState(1),[j,v]=l.useState(!1),I=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),c(!1),v(!1),b(1),g(!1),i([])},[]),C=k=>k.filter($=>!!$?.id),w=l.useCallback(async({query:k,page:$})=>{if(!e)return;n.current?.abort();const A=new AbortController;n.current=A,u(!0);try{const E={...ec,currentPage:$,filter:[{value:k,column:"name",condition:""}]},z=await Pl({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:E,signal:A.signal});if(A.signal.aborted)return;const V=C(z?.contactos??[]);c(!0);const _=z?.paginacion?.total??0;i(G=>{const B=$===1?V:(()=>{const Z=new Map;for(const Y of G)Z.set(Y.id,Y);for(const Y of V)Z.set(Y.id,Y);return Array.from(Z.values())})();return _&&B.length>=_&&v(!0),B})}finally{u(!1),x(!1),g(!1)}},[e]),S=l.useCallback(k=>{I(),k&&(a.current&&(clearTimeout(a.current),a.current=null),x(!0),a.current=setTimeout(()=>{w({query:k,page:1})},800))},[w,I]),W=l.useCallback((k,$)=>{const A=k.target;if(!(A.scrollHeight-A.scrollTop-A.clientHeight<1)||j||d||!$)return;const E=p+1;g(!0),b(E),w({query:$,page:E})},[j,d,p,w]);return{contactList:s,hasSearched:o,isLoading:d,isLoadingTimer:m,isNextPage:y,handleQueryChanged:S,handleScroll:W,resetSearchState:I}}const _n=({linkContactsHandler:e,disabled:a=!1})=>{const n=Ue(),s=An(),i=l.useRef(null),[o,c]=l.useState(null),{action:{handleSearchChange:d,handleSelectContact:u,handleRemoveContact:m},state:{search:x,selectedContacts:y}}=e,{contactList:g,hasSearched:p,isLoading:b,isLoadingTimer:j,handleQueryChanged:v,handleScroll:I,resetSearchState:C}=tc(s),w=x||"",S=!!o&&w.length>0&&!a,W=y.map(E=>E.id);l.useEffect(()=>{w?v(w):C()},[w,v,C]);const k=E=>{d(E),E&&!o?c(i.current):E||c(null)},$=E=>{u(E),c(null),C()},A=()=>{c(null)};return a?t.jsx(Oe,{title:n("global.linkContacts"),children:y.length>0?t.jsx(r.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:y.map(E=>t.jsx(r.Chip,{icon:t.jsx(ba,{fontSize:"small"}),label:E.name,size:"small",variant:"outlined"},E.id))}):t.jsx(r.Typography,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(r.ClickAwayListener,{onClickAway:A,children:t.jsxs(r.Box,{children:[t.jsxs(Oe,{title:n("global.linkContacts"),children:[t.jsx(r.TextField,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:w,onChange:E=>k(E.target.value),onFocus:()=>{w&&c(i.current)},InputProps:{startAdornment:t.jsx(ba,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:b||j?t.jsx(r.CircularProgress,{size:18,sx:{mr:1}}):null}}),y.length>0&&t.jsx(r.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:y.map(E=>t.jsx(r.Chip,{icon:t.jsx(ba,{fontSize:"small"}),label:E.name,size:"small",onDelete:()=>m(E.id)},E.id))})]}),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:[p&&g.length>0&&t.jsx(Zl,{handleScroll:E=>I(E,w),contactList:g,handleSelectContact:$,selectedContactIds:W,search:w}),p&&g.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")})})]})})]})})},ac=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:o,handleEndEvent:c,dialogType:d,handleCreateTask:u,handleSaveUpdatedTask:m,selectedTask:x,handleToggleTaskCompleted:y}=l.useContext(Fa),g=Ue(),p=d==="event",b=!1,j=!1,v=!1,I=()=>{p?n():u()},C=(()=>{if(s==="view")return i;if(s==="edit")return p?()=>o?.():()=>m?.();if(s==="create")return I})(),w=g(s==="view"?p?"global.editEvent":"global.editTask":s==="edit"?p?"global.saveEvent":"global.saveTask":p?"global.createEvent":"global.createTask"),S=p?b:v,W=e,k=!p&&s==="view",$=x?.isCompleted||!1;return k?t.jsx(r.DialogActions,{children:t.jsx(Ze.LoadingButton,{startIcon:t.jsx($e.CheckCircleOutline,{}),size:"small",loading:v,disabled:v,onClick:y,variant:"contained",color:$?"inherit":"primary",children:$?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")}),p&&(s==="edit"||s==="view")&&t.jsx(Ze.LoadingButton,{startIcon:t.jsx($e.EventAvailable,{}),size:"small",disabled:e,loading:j,onClick:c,variant:"contained",children:g("global.finalizeEvent")}),t.jsx(Ze.LoadingButton,{startIcon:t.jsx($e.EditCalendar,{}),size:"small",loading:S,disabled:W,onClick:C,variant:"contained",children:w})]})},Vn={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},nc=({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:{...Vn},children:n.event}),t.jsx(r.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Vn},color:"secondary",children:n.task})]}),sc="DD/MM/YYYY",rc="HH:mm",oc=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const o=Ue(),c=u=>{if(!u)return;const m=u.hour(e.hour()).minute(e.minute());a(m)},d=u=>{if(!u)return;const m=e.hour(u.hour()).minute(u.minute());a(m)};return n?t.jsxs(ra,{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(sc)}),t.jsx(r.Typography,{variant:"body1",children:e.format(rc)})]})]}):t.jsxs(ra,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(Ua,{children:t.jsxs(Ge.LocalizationProvider,{dateAdapter:qa.AdapterDayjs,children:[t.jsx(Ge.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:J()}),t.jsx(Pa,{variant:"body1",children:"_"}),t.jsx(Ge.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")})})]})},qn=({disabled:e,calendars:a,userId:n,value:s,onChange:i})=>{const o=Ue(),c=l.useMemo(()=>a??[],[a]),d=l.useMemo(()=>c.find(u=>u.id===s)??null,[c,s]);return e?t.jsx(Oe,{title:o("global.calendar"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[d&&t.jsx(ps,{sx:{opacity:.5,color:u=>u.palette.text.secondary},fontSize:"small"}),t.jsx(r.Typography,{variant:"subtitle2",sx:{color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:d?.title||"-"})]})}):t.jsx(Oe,{title:o("global.calendar"),children:t.jsx(r.Autocomplete,{disabled:e,size:"small",fullWidth:!0,options:c,value:d,onChange:(u,m)=>i(m?.id??""),getOptionLabel:u=>u?.title??"",isOptionEqualToValue:(u,m)=>u.id===m.id,groupBy:n?u=>u.userId===n?o("calendarView.myCalendars"):o("calendarView.othersCalendars"):void 0,renderGroup:u=>t.jsxs("li",{children:[t.jsx(r.ListSubheader,{component:"div",sx:{lineHeight:"32px",fontSize:"0.75rem",fontWeight:600,color:"text.secondary",backgroundColor:m=>m.palette.background.panel},children:u.group}),t.jsx("ul",{style:{padding:0},children:u.children})]},u.key),slotProps:{popper:{sx:{zIndex:1400}},paper:{sx:{backgroundColor:u=>u.palette.background.panel}}},renderInput:u=>t.jsx(r.TextField,{...u,placeholder:o("global.selectCalendar")})})})},ic=({checked:e,onChange:a,disabled:n})=>{const s=Ue();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")})})},lc=({colorField:e,disabled:a,onColorChange:n})=>{const s=Ue(),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 m=parseInt(u[1]),x=parseInt(u[2]),y=parseInt(u[3]),g=p=>{const b=p.toString(16);return b.length===1?"0"+b:b};return`#${g(m)}${g(x)}${g(y)}`}return"#1976d2"})(i),c=d=>{const u=d.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(Oe,{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(Oe,{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"}})})})},Hn=[{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"}],cc=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const i=Ue(),o=m=>{a(m.target.value)},c=l.useMemo(()=>Hn.map(m=>t.jsx(r.MenuItem,{value:m.value,children:i(m.label,m.label)},m.value)),[i]),d=l.useMemo(()=>{const m=Hn.find(x=>x.value===e);return m?i(m.label,m.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(va,{sx:{opacity:.5},fontSize:"small"}),t.jsx(r.Typography,{variant:"body2",children:d})]}):t.jsx(Oe,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(r.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(va,{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(va,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}}},children:c});return s?u:t.jsx(Oe,{title:i("global.recurrence","Recurrencia"),children:u})},dc=({open:e,onClose:a,onConfirm:n,itemTitle:s,itemType:i})=>{const{t:o}=He.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:m=>m.palette.background.panel}},children:[t.jsxs(r.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(hs,{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")})]})]})},uc=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=He.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:m=>m.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:m=>c(m.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")})]})]})},pc=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=He.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:m=>m.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:m=>c(m.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")})]})]})},hc=()=>{const e=Ue(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:c,handleDuplicateItem:d,dialogType:u,setDialogType:m,selectedTask:x,taskCalendarId:y,setTaskCalendarId:g,eventCalendarId:p,setEventCalendarId:b,myCalendars:j,otherCalendars:v,handleDeleteTask:I,userManuallyChangedColor:C,setUserManuallyChangedColor:w,eventDialog:{open:S,handleClose:W},confirmDeleteDialog:k,handleConfirmDelete:$,deleteRecurringDialog:A,handleConfirmDeleteRecurring:E,editRecurringDialog:z,handleConfirmEditRecurring:V,hiddenTabs:_}=l.useContext(Fa);if(!a||!n)return t.jsx(r.Modal,{open:S,onClose:W,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:N=>N.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const G=u==="event",B=G?a:n,Z=G?i:x,Y=l.useRef(null),L=l.useRef(null);l.useEffect(()=>{S||(Y.current=null,L.current=null)},[S]);const{titleField:T,descriptionField:U,date:P,linkContact:R}=B,q=G?a.notifications:null,H=G?{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,te=e(s==="edit"?G?"global.editEvent":"global.editTask":s==="create"?G?"global.createEvent":"global.createTask":G?"global.showEvent":"global.showTask"),ce=(s==="edit"||s==="view")&&!!Z?.id,pe=s==="view";l.useEffect(()=>{if(s!=="create"||u!=="event"||!S||C||!p)return;const N=j.find(je=>je.id===p);N?.color&&a.colorField.actions.changeValue(N.color)},[s,u,S,p,C,j]),l.useEffect(()=>{if(!S||u!=="event"||s!=="edit")return;const N=P.state.selectedStartDate.isAfter(P.state.selectedEndDate)&&!P.state.selectedStartDate.isSame(P.state.selectedEndDate,"minute");L.current!==N&&(L.current=N,P.action.setError(N))},[S,u,s,P.state.selectedStartDate.valueOf(),P.state.selectedEndDate.valueOf()]),l.useEffect(()=>{if(!S||s==="create")return;const N=Z?.relatedContact;N?.id&&Y.current!==N.id&&(Y.current=N.id,R.action.resetField(),R.action.handleSelectContact({id:N.id,name:N.name}))},[S,s,Z?.id]);const ve=N=>{if(N==="task"){const je=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(je),n.date.action.setSelectedEndDate(je),n.date.action.setError(!1),a.date.action.setError(!1)}else{const je=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(je),a.date.action.setError(!1),n.date.action.setError(!1)}m(N)},fe=N=>{a.colorField.actions.changeValue(N),w(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(r.Modal,{open:S,onClose:W,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:N=>N.palette.background.panel,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:te}),t.jsxs(r.Box,{sx:{display:"flex",gap:1},children:[pe&&t.jsx(r.IconButton,{size:"small",onClick:c,"aria-label":e("global.edit","Editar"),children:t.jsx(Ct,{fontSize:"small"})}),ce&&t.jsx(r.IconButton,{size:"small",onClick:G?o:I,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(Yt,{fontSize:"small"})}),pe&&t.jsx(r.IconButton,{size:"small",onClick:d,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(ms,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Ma,{disabled:!1,titleField:T,variantMode:"inline"}),!_&&t.jsx(nc,{value:u,onChange:ve,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Ma,{disabled:s==="view",titleField:T}),t.jsx(Ln,{disabled:s==="view",descriptionField:U}),t.jsx(qn,{disabled:s==="view",calendars:[...j,...v],userId:j[0]?.userId,value:p,onChange:N=>b(N)}),t.jsxs(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:N=>N.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(Rl,{disabled:s==="view",selectedStartDate:P.state.selectedStartDate,selectedEndDate:P.state.selectedEndDate,handleSelectStart:P.action.handleSelect(P.action.setSelectedStartDate),handleSelectEnd:P.action.handleSelect(P.action.setSelectedEndDate),isError:P.state.error,hideLabel:!0,allDay:H?.allDay??!1})})}),H&&t.jsxs(r.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(ic,{checked:H.allDay,onChange:H.setAllDay,disabled:s==="view"}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(cc,{disabled:s==="view",value:H.recurrenceRule,onChange:H.setRecurrenceRule,hideLabel:!0})})]})]}),H&&t.jsx(t.Fragment,{children:t.jsx(lc,{disabled:s==="view",colorField:H.colorField,onColorChange:s==="create"?fe:void 0})}),q&&t.jsx(Yl,{disabled:s==="view",notificationsField:q}),t.jsx(_n,{linkContactsHandler:R,disabled:s==="view"}),H&&t.jsx(Xl,{disabled:s==="view",locationField:H.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(Ma,{disabled:s==="view",titleField:T}),t.jsx(Ln,{disabled:s==="view",descriptionField:U}),t.jsx(qn,{disabled:s==="view",calendars:[...j,...v],userId:j[0]?.userId,value:y,onChange:N=>g(N)}),t.jsx(r.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:N=>N.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(gs,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(r.Box,{sx:{flex:1},children:t.jsx(oc,{disabled:s==="view",selectedDateTime:P.state.selectedStartDate,handleSelect:N=>{P.action.setSelectedStartDate(N),P.action.setSelectedEndDate(N),P.action.setError(!1)},isError:P.state.error,hideLabel:!0})})]})}),t.jsx(_n,{linkContactsHandler:R,disabled:s==="view"})]})]}),t.jsx(r.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(ac,{isFinalized:i?.finalized})})]})})}),t.jsx(dc,{open:k.open,onClose:k.handleClose,onConfirm:$,itemTitle:k.itemType==="event"?i?.title:x?.title,itemType:k.itemType}),t.jsx(uc,{open:A.open,onClose:A.handleClose,onConfirm:E,eventTitle:i?.title}),t.jsx(pc,{open:z.open,onClose:z.handleClose,onConfirm:V,eventTitle:i?.title})]})},mc=e=>{const a=e.palette.background;return r.createTheme({...e,components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}}}},MuiAutocomplete:{styleOverrides:{popper:{zIndex:11,"& div":{backgroundColor:a.panel}}}},MuiPaper:{styleOverrides:{root:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiList:{styleOverrides:{root:{padding:0}}},MuiModal:{styleOverrides:{root:{}}},MuiTypography:{styleOverrides:{root:{color:e.palette.text.primary}}},MuiChip:{styleOverrides:{root:{color:e.palette.text.primary,border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:"4px",height:"20px",fontSize:"0.7125rem"}}},MuiListSubheader:{styleOverrides:{root:{backgroundColor:a.accordionHeader}}},MuiButton:{styleOverrides:{outlined:{color:e.palette.mode==="light"?e.palette.primary.dark:e.palette.info.dark,borderColor:e.palette.mode==="light"?e.palette.primary.dark:e.palette.info.dark,"&:hover":{borderColor:e.palette.mode==="light"?e.palette.primary.main:e.palette.info.main,color:e.palette.mode==="light"?e.palette.primary.main:e.palette.info.main}}}}}})},gc=e=>{const{open:a,onClose:n,baseUrl:s,spaceId:i,language:o="en",mode:c="create",type:d="event",eventCalendarId:u,taskCalendarId:m,selectedEvent:x,selectedTask:y,hiddenTabs:g=!1,onActionComplete:p,contactId:b}=e,{i18n:j}=He.useTranslation();return l.useEffect(()=>{o&&j.changeLanguage(o)},[o,j]),t.jsx(Yi,{value:{baseUrl:s,spaceId:i},children:t.jsx(Ml,{externalOpen:a,externalOnClose:n,externalMode:c,externalType:d,externalEventCalendarId:u,externalTaskCalendarId:m,externalSelectedEvent:x,externalSelectedTask:y,hiddenTabs:g,externalOnActionComplete:p,externalContactId:b,children:t.jsx(hc,{})})})},yc=e=>{const a=r.useTheme(),n=a?.palette?a:r.createTheme(),s=mc(n);return t.jsx(r.ThemeProvider,{theme:s,children:t.jsx(He.I18nextProvider,{i18n:Et,children:t.jsx(gc,{...e})})})};exports.ContactInfoPopup=Xa,exports.EditContactModal=Gi,exports.EventsDialog=yc,exports.i18n=Et;
20
+ `,gd=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),md=({notificationsField:e,disabled:a})=>{const n=Me(),{addNotification:r,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs(fd,{children:[t.jsxs(gd,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{userSelect:"none"},children:n("calendarView.reminders.title")}),!a&&t.jsx(s.Button,{disabled:a,startIcon:t.jsx(Ha,{}),size:"small",variant:"outlined",onClick:r,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(s.Box,{sx:{pt:1,px:.5},children:u?e.notifications.map(g=>t.jsx(pd,{data:g,deleteHandler:i,sendToContactHandler:o,timePeriodHandler:c,timeValueHandler:d},g.id)):a?t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},zn=({descriptionField:e,disabled:a})=>{const n=Me(),{value:r,type:i,...o}=e.attributes,d=r||"";return a?t.jsx(ze,{title:n("global.description"),children:t.jsx(s.Typography,{variant:"body2",sx:{py:.5,whiteSpace:"pre-wrap",color:c=>c.palette.text.secondary,fontSize:"0.9rem"},children:d||"-"})}):t.jsx(ze,{title:n("global.description"),children:t.jsx(s.TextField,{...o,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},hd=({onPlaceSelected:e})=>{const a=l.useRef(null),n=l.useRef(null),r=l.useRef(null),i=l.useRef(null),[o,d]=l.useState([]),[c,u]=l.useState(!1),g=Me();l.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 p=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(p),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!m()){const p=setTimeout(()=>{m()},500);return()=>clearTimeout(p)}},[]);const b=m=>{const p=m.target.value;if(!p||p.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:p,types:["geocode"],sessionToken:i.current||void 0},(x,S)=>{S===window.google.maps.places.PlacesServiceStatus.OK&&x?(d(x),u(!0)):(d([]),u(!1))})},h=(m,p)=>{r.current&&r.current.getDetails({placeId:m,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(x,S)=>{if(S===window.google.maps.places.PlacesServiceStatus.OK&&x?.geometry?.location){const v=x.geometry.location.lat(),T=x.geometry.location.lng(),C=x.formatted_address??p;e({lat:v,lng:T},C),a.current&&(a.current.value=C),u(!1),d([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const m=p=>{a.current&&!a.current.contains(p.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:g("global.searchLocation","Buscar en Google Maps"),onChange:b,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}}),c&&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:()=>h(m.place_id,m.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:p=>{p.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:p=>{p.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))})]})},Wn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",_n=["places"],Na={apiKey:Wn,libraries:_n,loading:"async"},ia=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Vn=(e=Wn,a=_n)=>{if(ia())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(r=>{r.parentNode?.removeChild(r)})};return document.getElementById("google-maps-script")?new Promise((r,i)=>{let o=0;const d=100,c=setInterval(()=>{o++,ia()?(clearInterval(c),r()):o>=d&&(clearInterval(c),n(),Vn(e,a).then(r).catch(i))},100)}):new Promise((r,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{ia()?r():setTimeout(()=>{ia()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),r()},500)};const d=document.createElement("script");d.id="google-maps-script",d.type="text/javascript";const c=Array.isArray(a)?a.join(","):a;d.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${c}&callback=${o}&loading=async`,d.async=!0,d.defer=!0,d.onerror=()=>{delete window[o],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(d)}catch(o){i(o)}})},Ut=(e,a,n=18,r=400,i=400,o="red",d=Na.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${r}x${i}&markers=color:${o}%7Clabel:A%7C${e},${a}&key=${d}`,yd=({onLocationChange:e,initialLocation:a})=>{const n=l.useRef(null),r=l.useRef(null),i=l.useRef(null),o=l.useRef(null),[d,c]=l.useState(!0),[u,g]=l.useState(!1),[b,h]=l.useState(a||null),m=18,p=l.useCallback(C=>{h(C),e(C)},[e]);l.useEffect(()=>{let C=!0;(async()=>{try{if(await Vn(Na.apiKey,Na.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),c(!1);return}window.google?.maps?.Geocoder&&(o.current=new window.google.maps.Geocoder),c(!1)}catch(w){console.error("Error al cargar Google Maps:",w),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(w=>{const j=w.coords.latitude,W=w.coords.longitude,E=j.toString(),B=W.toString(),A=Ut(j,W,m);p({lat:E,lng:B,title:"",description:"",url:A})},w=>{console.error("Error getting location:",w);const j=-34.6037,W=-58.3816;p({lat:j.toString(),lng:W.toString(),title:"",description:"",url:Ut(j,W,m)})})},[a,p,m]),l.useEffect(()=>{if(d||r.current)return;const C=setTimeout(()=>{r.current||x()},50);return()=>clearTimeout(C)},[d]),l.useEffect(()=>{u&&b&&v()},[u,b]),l.useEffect(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const x=()=>{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};r.current=new window.google.maps.Map(n.current,C),r.current.addListener("click",w=>{S(w)}),g(!0)}catch(C){console.error("Error inicializando mapa:",C)}},S=C=>{if(!C.latLng||!o.current)return;const w={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(w):r.current&&(i.current=new window.google.maps.Marker({position:w,map:r.current})),o.current.geocode({location:w},(j,W)=>{if(W==="OK"&&j&&j[0]){const E=j[0].formatted_address,B=Ut(w.lat,w.lng,m);p({lat:w.lat.toString(),lng:w.lng.toString(),title:E||"",description:"",url:B})}else{const E=Ut(w.lat,w.lng,m);p({lat:w.lat.toString(),lng:w.lng.toString(),title:`${w.lat.toFixed(6)}, ${w.lng.toFixed(6)}`,description:"",url:E})}})},v=()=>{if(!(!r.current||!b))try{const C={lat:parseFloat(b.lat),lng:parseFloat(b.lng)};r.current.setCenter(C),i.current?i.current.setPosition(C):i.current=new window.google.maps.Marker({position:C,map:r.current})}catch(C){console.error("Error actualizando mapa:",C)}},T=(C,w)=>{const j=Ut(C.lat,C.lng,m);p({lat:C.lat.toString(),lng:C.lng.toString(),title:w||"",description:"",url:j})};return d?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(s.CircularProgress,{})}):t.jsxs(s.Box,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(hd,{onPlaceSelected:T}),t.jsx("div",{style:{height:"100%"},ref:n})]})},bd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const i=Me(),[o,d]=l.useState(null),c=l.useRef(null);l.useEffect(()=>{e||d(null)},[e]),l.useEffect(()=>{c.current&&o&&(c.current.scrollTop=c.current.scrollHeight/4)},[o]);const u=l.useCallback(b=>{d(b)},[]),g=l.useCallback(()=>{o&&(n(o.title||`${o.lat}, ${o.lng}`,o.lat,o.lng),a())},[o,n,a]);return t.jsxs(s.Dialog,{open:e,onClose:a,maxWidth:"md",fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,PaperProps:{sx:{maxHeight:"80vh",height:"80vh"}},sx:{"& .MuiDialog-paper":{backgroundColor:b=>b.palette.background.panel}},children:[t.jsxs(s.Box,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(s.Typography,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(s.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(za,{fontSize:"small"})})]}),t.jsx(s.DialogContent,{sx:{p:0,display:"flex",flexDirection:"column",height:"100%"},children:t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflow:"hidden",width:"100%",height:"100%",position:"relative"},children:[t.jsx(s.Box,{ref:c,sx:{width:"100%",flex:1,overflow:"auto",zIndex:1},children:t.jsx(yd,{onLocationChange:u,initialLocation:void 0})}),t.jsx(s.Divider,{sx:{width:"100%",padding:0}}),t.jsxs(s.Box,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(s.Button,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:g,disabled:!o,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},xd=({locationField:e,disabled:a})=>{const n=Me(),[r,i]=l.useState(!1),{value:o,type:d,...c}=e.attributes,u=o||"",g=()=>{a||i(!0)},b=()=>{i(!1)},h=m=>{e.actions.changeValue(m)};return a?t.jsx(s.Box,{children:t.jsx(ze,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Ya,{sx:{opacity:.5},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:m=>m.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(ze,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(s.TextField,{...c,value:u,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:g,InputProps:{startAdornment:t.jsx(Ya,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(bd,{open:r,onClose:b,onSelectLocation:h,initialAddress:u})]})},vd=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:i})=>{const o=Me(),d=s.useTheme();return t.jsx(s.List,{sx:{width:"100%",height:"100%",overflow:"auto",border:`1px solid ${d.palette.divider}`,borderTop:"none",backgroundColor:d.palette.background.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12))"},onScroll:e,children:i&&a?.map(c=>t.jsxs(s.ListItemButton,{sx:{width:"100%"},onClick:()=>n(c),selected:r.includes(c.id),children:[t.jsx(s.ListItemIcon,{children:t.jsx(Be.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(s.ListItemText,{primary:o(c.name),secondary:c?.phone})]},c.id))})},Cd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function Sd(e){const a=l.useRef(null),n=l.useRef(null),[r,i]=l.useState([]),[o,d]=l.useState(!1),[c,u]=l.useState(!1),[g,b]=l.useState(!1),[h,m]=l.useState(!1),[p,x]=l.useState(1),[S,v]=l.useState(!1),T=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),v(!1),x(1),m(!1),i([])},[]),C=E=>E.filter(B=>!!B?.id),w=l.useCallback(async({query:E,page:B})=>{if(!e)return;n.current?.abort();const A=new AbortController;n.current=A,u(!0);try{const I={...Cd,currentPage:B,filter:[{value:E,column:"name",condition:""}]},O=await ad({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:I,signal:A.signal});if(A.signal.aborted)return;const V=C(O?.contactos??[]);d(!0);const _=O?.paginacion?.total??0;i(Y=>{const $=B===1?V:(()=>{const Z=new Map;for(const q of Y)Z.set(q.id,q);for(const q of V)Z.set(q.id,q);return Array.from(Z.values())})();return _&&$.length>=_&&v(!0),$})}finally{u(!1),b(!1),m(!1)}},[e]),j=l.useCallback(E=>{T(),E&&(a.current&&(clearTimeout(a.current),a.current=null),b(!0),a.current=setTimeout(()=>{w({query:E,page:1})},800))},[w,T]),W=l.useCallback((E,B)=>{const A=E.target;if(!(A.scrollHeight-A.scrollTop-A.clientHeight<1)||S||c||!B)return;const I=p+1;m(!0),x(I),w({query:B,page:I})},[S,c,p,w]);return{contactList:r,hasSearched:o,isLoading:c,isLoadingTimer:g,isNextPage:h,handleQueryChanged:j,handleScroll:W,resetSearchState:T}}const Hn=({linkContactsHandler:e,disabled:a=!1})=>{const n=Me(),r=Bn(),i=l.useRef(null),[o,d]=l.useState(null),{action:{handleSearchChange:c,handleSelectContact:u,handleRemoveContact:g},state:{search:b,selectedContacts:h}}=e,{contactList:m,hasSearched:p,isLoading:x,isLoadingTimer:S,handleQueryChanged:v,handleScroll:T,resetSearchState:C}=Sd(r),w=b||"",j=!!o&&w.length>0&&!a,W=h.map(I=>I.id);l.useEffect(()=>{w?v(w):C()},[w,v,C]);const E=I=>{c(I),I&&!o?d(i.current):I||d(null)},B=I=>{u(I),d(null),C()},A=()=>{d(null)};return a?t.jsx(ze,{title:n("global.linkContacts"),children:h.length>0?t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:h.map(I=>t.jsx(s.Chip,{icon:t.jsx(va,{fontSize:"small"}),label:I.name,size:"small",variant:"outlined"},I.id))}):t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(s.ClickAwayListener,{onClickAway:A,children:t.jsxs(s.Box,{children:[t.jsxs(ze,{title:n("global.linkContacts"),children:[t.jsx(s.TextField,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:w,onChange:I=>E(I.target.value),onFocus:()=>{w&&d(i.current)},InputProps:{startAdornment:t.jsx(va,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:x||S?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null}}),h.length>0&&t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:h.map(I=>t.jsx(s.Chip,{icon:t.jsx(va,{fontSize:"small"}),label:I.name,size:"small",onDelete:()=>g(I.id)},I.id))})]}),t.jsx(s.Popper,{open:j,anchorEl:o,placement:"bottom-start",style:{width:o?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(s.Paper,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[p&&m.length>0&&t.jsx(vd,{handleScroll:I=>T(I,w),contactList:m,handleSelectContact:B,selectedContactIds:W,search:w}),p&&m.length===0&&t.jsx(s.Box,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(s.Typography,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},jd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:i,handleSaveUpdatedEvent:o,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:g,selectedTask:b,handleToggleTaskCompleted:h}=l.useContext(Ba),m=Me(),p=c==="event",x=!1,S=!1,v=!1,T=()=>{p?n():u()},C=(()=>{if(r==="view")return i;if(r==="edit")return p?()=>o?.():()=>g?.();if(r==="create")return T})(),w=m(r==="view"?p?"global.editEvent":"global.editTask":r==="edit"?p?"global.saveEvent":"global.saveTask":p?"global.createEvent":"global.createTask"),j=p?x:v,W=e,E=!p&&r==="view",B=b?.isCompleted||!1;return E?t.jsx(s.DialogActions,{children:t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.CheckCircleOutline,{}),size:"small",loading:v,disabled:v,onClick:h,variant:"contained",color:B?"inherit":"primary",children:B?m("global.markAsIncomplete","Marcar como incompleta"):m("global.markAsCompleted","Marcar como completada")})}):t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:m("global.cancel")}),p&&(r==="edit"||r==="view")&&t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.EventAvailable,{}),size:"small",disabled:e,loading:S,onClick:d,variant:"contained",children:m("global.finalizeEvent")}),t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.EditCalendar,{}),size:"small",loading:j,disabled:W,onClick:C,variant:"contained",children:w})]})},Gn={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},wd=({value:e,onChange:a,labels:n})=>t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[t.jsx(s.Button,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"primary",sx:{...Gn},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Gn},color:"primary",children:n.task})]}),Td="DD/MM/YYYY",kd="HH:mm",Id=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:i=!1})=>{const o=Me(),d=u=>{if(!u)return;const g=u.hour(e.hour()).minute(e.minute());a(g)},c=u=>{if(!u)return;const g=e.hour(u.hour()).minute(u.minute());a(g)};return n?t.jsxs(sa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Td)}),t.jsx(s.Typography,{variant:"body1",children:e.format(kd)})]})]}):t.jsxs(sa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(Pa,{children:t.jsxs(Ye.LocalizationProvider,{dateAdapter:Ga.AdapterDayjs,children:[t.jsx(Ye.DatePicker,{disabled:n,value:e,onChange:d,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:J()}),t.jsx(Ua,{variant:"body1",children:"_"}),t.jsx(Ye.TimePicker,{disabled:n,value:e,onChange:c,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(s.Fade,{in:r,children:t.jsx(s.Typography,{color:"red",variant:"caption",children:o("conversations.sidebar.events.errorDate")})})]})},Yn=({disabled:e,calendars:a,userId:n,value:r,onChange:i})=>{const o=Me(),d=l.useMemo(()=>a??[],[a]),c=l.useMemo(()=>d.find(u=>u.id===r)??null,[d,r]);return e?t.jsx(ze,{title:o("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx(Br,{sx:{opacity:.5,color:u=>u.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:c?.title||"-"})]})}):t.jsx(ze,{title:o("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e,size:"small",fullWidth:!0,options:d,value:c,onChange:(u,g)=>i(g?.id??""),getOptionLabel:u=>u?.title??"",isOptionEqualToValue:(u,g)=>u.id===g.id,groupBy:n?u=>u.userId===n?o("calendarView.myCalendars"):o("calendarView.othersCalendars"):void 0,renderGroup:u=>t.jsxs("li",{children:[t.jsx(s.ListSubheader,{component:"div",sx:{lineHeight:"32px",fontSize:"0.75rem",fontWeight:600,color:"text.secondary",backgroundColor:g=>g.palette.background.panel},children:u.group}),t.jsx("ul",{style:{padding:0},children:u.children})]},u.key),slotProps:{popper:{sx:{zIndex:1400}},paper:{sx:{backgroundColor:u=>u.palette.background.panel}}},renderInput:u=>t.jsx(s.TextField,{...u,placeholder:o("global.selectCalendar")})})})},Ed=({checked:e,onChange:a,disabled:n})=>{const r=Me();return t.jsx(s.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(s.FormControlLabel,{control:t.jsx(s.Checkbox,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},Dd=({colorField:e,disabled:a,onColorChange:n})=>{const r=Me(),i=e.attributes.value||"#1976d2",o=(c=>{if(c.startsWith("#"))return c;const u=c.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(u&&u[1]&&u[2]&&u[3]){const g=parseInt(u[1]),b=parseInt(u[2]),h=parseInt(u[3]),m=p=>{const x=p.toString(16);return x.length===1?"0"+x:x};return`#${m(g)}${m(b)}${m(h)}`}return"#1976d2"})(i),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(ze,{title:r("global.color","Color"),children:t.jsxs(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(s.Box,{sx:{width:40,height:40,backgroundColor:o,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(s.Typography,{variant:"body2",sx:{color:"text.secondary"},children:o})]})}):t.jsx(ze,{title:r("global.color","Color"),children:t.jsx(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:o,onChange:d,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},qn=[{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"}],Ad=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const i=Me(),o=g=>{a(g.target.value)},d=l.useMemo(()=>qn.map(g=>t.jsx(s.MenuItem,{value:g.value,children:i(g.label,g.label)},g.value)),[i]),c=l.useMemo(()=>{const g=qn.find(b=>b.value===e);return g?i(g.label,g.label):i("global.noRepeat")},[e,i]);if(n)return r?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ca,{sx:{opacity:.5},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(ze,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ca,{sx:{opacity:.5},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",children:c})]})});const u=t.jsx(s.Select,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:o,startAdornment:t.jsx(Ca,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:g=>g.palette.background.panel}}},children:d});return r?u:t.jsx(ze,{title:i("global.recurrence","Recurrencia"),children:u})},Fd=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:i})=>{const{t:o}=Ge.useTranslation(),d=()=>{n(),a()},c=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(s.Dialog,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:g=>g.palette.background.panel}},children:[t.jsxs(s.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx($r,{color:"warning"}),c]}),t.jsxs(s.DialogContent,{children:[t.jsx(s.Typography,{variant:"body2",sx:{mb:2},children:u}),r&&t.jsx(s.Box,{sx:{p:1.5,bgcolor:"action.hover",borderRadius:1,borderLeft:3,borderColor:"warning.main"},children:t.jsxs(s.Typography,{variant:"body2",sx:{fontWeight:500},children:['"',r,'"']})})]}),t.jsxs(s.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(s.Button,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:d,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:o("global.delete","Eliminar")})]})]})},Bd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=Ge.useTranslation(),[o,d]=l.useState("single"),c=()=>{n(o==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:g=>g.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(s.DialogContent,{children:[r&&t.jsxs(s.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(s.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(s.RadioGroup,{value:o,onChange:g=>d(g.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(s.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(s.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},$d=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=Ge.useTranslation(),[o,d]=l.useState("single"),c=()=>{n(o==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:g=>g.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(s.DialogContent,{children:[r&&t.jsxs(s.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(s.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(s.RadioGroup,{value:o,onChange:g=>d(g.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(s.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(s.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},Md=()=>{const e=Me(),{event:a,task:n,dialogMode:r,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:g,selectedTask:b,taskCalendarId:h,setTaskCalendarId:m,eventCalendarId:p,setEventCalendarId:x,myCalendars:S,otherCalendars:v,handleDeleteTask:T,userManuallyChangedColor:C,setUserManuallyChangedColor:w,eventDialog:{open:j,handleClose:W},confirmDeleteDialog:E,handleConfirmDelete:B,deleteRecurringDialog:A,handleConfirmDeleteRecurring:I,editRecurringDialog:O,handleConfirmEditRecurring:V,hiddenTabs:_}=l.useContext(Ba);if(!a||!n)return t.jsx(s.Modal,{open:j,onClose:W,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:j,timeout:200,children:t.jsx(s.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:N=>N.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const Y=u==="event",$=Y?a:n,Z=Y?i:b,q=l.useRef(null),L=l.useRef(null);l.useEffect(()=>{j||(q.current=null,L.current=null)},[j]);const{titleField:k,descriptionField:M,date:P,linkContact:R}=$,H=Y?a.notifications:null,G=Y?{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,te=e(r==="edit"?Y?"global.editEvent":"global.editTask":r==="create"?Y?"global.createEvent":"global.createTask":Y?"global.showEvent":"global.showTask"),de=(r==="edit"||r==="view")&&!!Z?.id,pe=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!j||C||!p)return;const N=S.find(Se=>Se.id===p);N?.color&&a.colorField.actions.changeValue(N.color)},[r,u,j,p,C,S]),l.useEffect(()=>{if(!j||u!=="event"||r!=="edit")return;const N=P.state.selectedStartDate.isAfter(P.state.selectedEndDate)&&!P.state.selectedStartDate.isSame(P.state.selectedEndDate,"minute");L.current!==N&&(L.current=N,P.action.setError(N))},[j,u,r,P.state.selectedStartDate.valueOf(),P.state.selectedEndDate.valueOf()]),l.useEffect(()=>{if(!j||r==="create")return;const N=Z?.relatedContact;N?.id&&q.current!==N.id&&(q.current=N.id,R.action.resetField(),R.action.handleSelectContact({id:N.id,name:N.name}))},[j,r,Z?.id]);const ve=N=>{if(N==="task"){const Se=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(Se),n.date.action.setSelectedEndDate(Se),n.date.action.setError(!1),a.date.action.setError(!1)}else{const Se=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(Se),a.date.action.setError(!1),n.date.action.setError(!1)}g(N)},ye=N=>{a.colorField.actions.changeValue(N),w(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:j,onClose:W,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:j,timeout:200,children:t.jsxs(s.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",maxHeight:"calc(100vh - 64px)",bgcolor:N=>N.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:[t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:2,p:3,pt:4,overflowY:"auto",flex:1},children:[t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",justifyContent:r==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[r!=="create"&&t.jsx(s.Typography,{sx:{fontWeight:600},children:te}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[pe&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(Ct,{fontSize:"small"})}),de&&t.jsx(s.IconButton,{size:"small",onClick:Y?o:T,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(qt,{fontSize:"small"})}),pe&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Mr,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Ra,{disabled:!1,titleField:k,variantMode:"inline"}),!_&&t.jsx(wd,{value:u,onChange:ve,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Ra,{disabled:r==="view",titleField:k}),t.jsx(zn,{disabled:r==="view",descriptionField:M}),t.jsx(Yn,{disabled:r==="view",calendars:[...S,...v],userId:S[0]?.userId,value:p,onChange:N=>x(N)}),t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:N=>N.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsx(s.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:t.jsx(s.Box,{sx:{flex:1},children:t.jsx(rd,{disabled:r==="view",selectedStartDate:P.state.selectedStartDate,selectedEndDate:P.state.selectedEndDate,handleSelectStart:P.action.handleSelect(P.action.setSelectedStartDate),handleSelectEnd:P.action.handleSelect(P.action.setSelectedEndDate),isError:P.state.error,hideLabel:!0,allDay:G?.allDay??!1})})}),G&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(Ed,{checked:G.allDay,onChange:G.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Ad,{disabled:r==="view",value:G.recurrenceRule,onChange:G.setRecurrenceRule,hideLabel:!0})})]})]}),G&&t.jsx(t.Fragment,{children:t.jsx(Dd,{disabled:r==="view",colorField:G.colorField,onColorChange:r==="create"?ye:void 0})}),H&&t.jsx(md,{disabled:r==="view",notificationsField:H}),t.jsx(Hn,{linkContactsHandler:R,disabled:r==="view"}),G&&t.jsx(xd,{disabled:r==="view",locationField:G.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Ra,{disabled:r==="view",titleField:k}),t.jsx(zn,{disabled:r==="view",descriptionField:M}),t.jsx(Yn,{disabled:r==="view",calendars:[...S,...v],userId:S[0]?.userId,value:h,onChange:N=>m(N)}),t.jsx(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:N=>N.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(s.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(Pr,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Id,{disabled:r==="view",selectedDateTime:P.state.selectedStartDate,handleSelect:N=>{P.action.setSelectedStartDate(N),P.action.setSelectedEndDate(N),P.action.setError(!1)},isError:P.state.error,hideLabel:!0})})]})}),t.jsx(Hn,{linkContactsHandler:R,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(jd,{isFinalized:i?.finalized})})]})})}),t.jsx(Fd,{open:E.open,onClose:E.handleClose,onConfirm:B,itemTitle:E.itemType==="event"?i?.title:b?.title,itemType:E.itemType}),t.jsx(Bd,{open:A.open,onClose:A.handleClose,onConfirm:I,eventTitle:i?.title}),t.jsx($d,{open:O.open,onClose:O.handleClose,onConfirm:V,eventTitle:i?.title})]})},Kn=e=>{const a=e.palette.background;return s.createTheme({...e,components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}}}},MuiAutocomplete:{styleOverrides:{popper:{zIndex:11,"& div":{backgroundColor:a.panel}}}},MuiPaper:{styleOverrides:{root:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:a.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiList:{styleOverrides:{root:{padding:0}}},MuiModal:{styleOverrides:{root:{}}},MuiTypography:{styleOverrides:{root:{color:e.palette.text.primary}}},MuiChip:{styleOverrides:{root:{color:e.palette.text.primary,border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:"4px",height:"20px",fontSize:"0.7125rem"}}},MuiListSubheader:{styleOverrides:{root:{backgroundColor:a.accordionHeader}}},MuiButton:{styleOverrides:{outlined:{color:e.palette.mode==="light"?e.palette.primary.dark:e.palette.info.dark,borderColor:e.palette.mode==="light"?e.palette.primary.dark:e.palette.info.dark,"&:hover":{borderColor:e.palette.mode==="light"?e.palette.primary.main:e.palette.info.main,color:e.palette.mode==="light"?e.palette.primary.main:e.palette.info.main}}}}}})},Pd=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:i,language:o="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:g,selectedEvent:b,selectedTask:h,hiddenTabs:m=!1,onActionComplete:p,contactId:x}=e,{i18n:S}=Ge.useTranslation();return l.useEffect(()=>{o&&S.changeLanguage(o)},[o,S]),t.jsx(ml,{value:{baseUrl:r,spaceId:i},children:t.jsx(nd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:g,externalSelectedEvent:b,externalSelectedTask:h,hiddenTabs:m,externalOnActionComplete:p,externalContactId:x,children:t.jsx(Md,{})})})},Ud=e=>{const a=s.useTheme(),n=a?.palette?a:s.createTheme(),r=Kn(n);return t.jsx(s.ThemeProvider,{theme:r,children:t.jsx(Ge.I18nextProvider,{i18n:It,children:t.jsx(Pd,{...e})})})},la=s.createTheme({name:"lightBlueIndigo",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#ebf6fd",mainGradient:"linear-gradient(270deg, #215c97, #1976d2)",navMenu:"#1976d2",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#1976d2",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#1976d2",light:"#42a5f5",dark:"#1565c0",contrastText:"#fff"},secondary:{main:"#1976d2",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#ebf6fd",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#1976d2"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#1976d2"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),Jn=s.createTheme({name:"lightBlue",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#e3f2fd",mainGradient:"linear-gradient(270deg, #005cb2, #1e88e5)",navMenu:"#4fc354",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#1e88e5",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#1e88e5",light:"#6ab7ff",dark:"#005cb2",contrastText:"#fff"},secondary:{main:"#1e88e5",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#e3f2fd",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#1e88e5"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#1e88e5"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),Qn=s.createTheme({name:"lightRed",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#ffebee",mainGradient:"linear-gradient(270deg, #b61827, #ef5350)",navMenu:"#f44336",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#ef5350",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#ef5350",light:"#ff867c",dark:"#b61827",contrastText:"#fff"},secondary:{main:"#ef5350",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#ffebee",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#ef5350"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#ef5350"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),Xn=s.createTheme({name:"lightGreen",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#e8f5e9",mainGradient:"linear-gradient(270deg, #087f23, #4caf50)",navMenu:"#4fc354",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#4caf50",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#4caf50",light:"#80e27e",dark:"#087f23",contrastText:"#fff"},secondary:{main:"#4caf50",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#e8f5e9",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#4caf50"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#4caf50"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),Zn=s.createTheme({name:"lightPink",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#fce4ec",mainGradient:"linear-gradient(270deg, #b0003a, #e91e63)",navMenu:"#e91e63",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#e91e63",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#e91e63",light:"#ff6090",dark:"#b0003a",contrastText:"#fff"},secondary:{main:"#9c27b0",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#fce4ec",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#e91e63"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#e91e63"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),er=s.createTheme({name:"lightPurple",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#f3e5f5",mainGradient:"linear-gradient(270deg, #6a0080, #9c27b0)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#9c27b0",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#9c27b0",light:"#d05ce3",dark:"#6a0080",contrastText:"#fff"},secondary:{main:"#9c27b0",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#f3e5f5",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#9c27b0"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#9c27b0"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),tr=s.createTheme({name:"lightTeal",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#e0f2f1",mainGradient:"linear-gradient(270deg, #00675b, #009688)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#009688",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#009688",light:"#52c7b8",dark:"#00675b",contrastText:"#fff"},secondary:{main:"#009688",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#e0f2f1",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#009688"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#009688"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),ar=s.createTheme({name:"lightLime",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#f9fbe7",mainGradient:"linear-gradient(270deg, #99aa00, #cddc39)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#cddc39",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#cddc39",light:"#ffff6e",dark:"#99aa00",contrastText:"#fff"},secondary:{main:"#cddc39",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#f9fbe7",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#cddc39"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#cddc39"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),nr=s.createTheme({name:"lightYellow",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#fffde7",mainGradient:"linear-gradient(270deg, #c8b900, #ffeb3b)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#ffeb3b",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#ffeb3b",light:"#ffff72",dark:"#c8b900",contrastText:"#fff"},secondary:{main:"#ffeb3b",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#fffde7",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#ffeb3b"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#ffeb3b"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),rr=s.createTheme({name:"lightAmber",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#fff8e1",mainGradient:"linear-gradient(270deg, #c68400, #ffb300)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#ffb300",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#ffb300",light:"#ffe54c",dark:"#c68400",contrastText:"#fff"},secondary:{main:"#ffb300",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#fff8e1",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#ffb300"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#ffb300"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),sr=s.createTheme({name:"lightOrange",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#fff3e0",mainGradient:"linear-gradient(270deg, #c66900, #ff9800)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#ff9800",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#ff9800",light:"#ffc947",dark:"#c66900",contrastText:"#fff"},secondary:{main:"#ff9800",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#fff3e0",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#ff9800"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#ff9800"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),or=s.createTheme({name:"lightBrown",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#efebe9",mainGradient:"linear-gradient(270deg, #4b2c20, #795548)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#795548",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#795548",light:"#a98274",dark:"#4b2c20",contrastText:"#fff"},secondary:{main:"#795548",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#efebe9",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#795548"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#795548"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),ir=s.createTheme({name:"lightGray",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#fafafa",mainGradient:"linear-gradient(270deg, #707070, #9e9e9e)",navMenu:"#f8bbd0",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#9e9e9e",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#9e9e9e",light:"#cfcfcf",dark:"#707070",contrastText:"#fff"},secondary:{main:"#9e9e9e",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#fafafa",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#9e9e9e"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#9e9e9e"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),lr=s.createTheme({name:"darkBlue",palette:{mode:"dark",primary:{main:"#1f5c8e",light:"#2196f3",dark:"#0d47a1",contrastText:"#fff"},secondary:{light:"#FFEA41",main:"#90caf9",dark:"#DBBE01",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#f44336",light:"#e57373",dark:"#d32f2f"},warning:{main:"#ffa726",light:"#ffb74d",dark:"#f57c00"},info:{main:"#29b6f6",light:"#4fc3f7",dark:"#0288d1"},success:{main:"#66bb6a",light:"#81c784",dark:"#388e3c"},background:{default:"#222B45",mainGradient:"linear-gradient(270deg, #222B45, #222B45)",mainCenter:"#28324e",navMenu:"#222B45",panel:"#2d364e",dropdownMenu:"#484f65",tooltip:"#484f65",accordionHeader:"#2a3249e3",panelHeader:"#2a3249e3",panelCenter:"#484f65",panelGradient:"#384057",paper:"#2d364e"},containerBox:{default:"#2d354e",main:"#2d354e"},action:{active:"rgba(255, 255, 255, 0.2)",hover:"rgba(255, 255, 255, 0.08)",selected:"rgba(255, 255, 255, 0.16)",disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"#EEEEEF",secondary:"#AEB0B4",disabled:"rgba(255, 255, 255, 0.5)",colorMain:"#EEEEEF"},divider:"rgba(255, 255, 255, 0.12)",dropdownBox:"#2d354e",color:{icons:"#fff"},cellHeader:"#505050",Skeleton:{bg:"#f5f5f5"},messageBox:"#1f5c8e",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),dr=s.createTheme({name:"darkBlack",palette:{mode:"dark",background:{default:"#201f1e",mainGradient:"linear-gradient(270deg, #201f1e, #201f1e)",mainCenter:"#252423",navMenu:"#201f1e",panel:"#3B3A39",dropdownMenu:"#585858",tooltip:"#616161eb",accordionHeader:"#25242369",panelHeader:"#3b3a39ba",panelCenter:"#585858",panelGradient:"#454443",paper:"#3B3A39"},primary:{main:"#1976d2",light:"#2196f3",dark:"#42a5f5",contrastText:"#fff"},secondary:{light:"#FFEA41",main:"#90caf9",dark:"#DBBE01",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#f44336",light:"#e57373",dark:"#d32f2f"},warning:{main:"#ffa726",light:"#ffb74d",dark:"#f57c00"},info:{main:"#29b6f6",light:"#4fc3f7",dark:"#0288d1"},success:{main:"#66bb6a",light:"#81c784",dark:"#388e3c"},containerBox:{main:"#ffffffb3",default:"#3B3A39"},action:{active:"rgba(255, 255, 255, 0.2)",hover:"rgba(255, 255, 255, 0.08)",selected:"rgba(255, 255, 255, 0.16)",disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"#EEEEEF",secondary:"#AEB0B4",disabled:"rgba(255, 255, 255, 0.5)",colorMain:"#EEEEEF"},divider:"rgba(255, 255, 255, 0.12)",dropdownBox:"#3B3A39",color:{icons:"#fff"},cellHeader:"#505050",Skeleton:{bg:"#f5f5f5"},messageBox:"#1f5c8e",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),Rd="https://agent-api.trii.app/api/v1/settings/user/setTheme",Nd={themeSelected:la,darkMode:!1,toggleStatus:"idle"},cr=qa.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await Ur.put(Rd,r)).data}),ur=qa.createSlice({name:"Theme",initialState:Nd,reducers:{toggleTheme:(e,a)=>{const n=pr(a.payload);Object.assign(e,{themeSelected:n,toggleStatus:"toggled"})},toggleModeTheme:e=>{e.darkMode=!e.darkMode}},extraReducers:e=>{e.addCase(cr.fulfilled,(a,n)=>{const r=pr(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),pr=e=>{switch(e){case"lightBlueIndigo":return la;case"darkBlack":return dr;case"darkBlue":return lr;case"lightAmber":return rr;case"lightBlue":return Jn;case"lightBrown":return or;case"lightGray":return ir;case"lightGreen":return Xn;case"lightLime":return ar;case"lightOrange":return sr;case"lightPink":return Zn;case"lightPurple":return er;case"lightRed":return Qn;case"lightTeal":return tr;case"lightYellow":return nr;default:return la}},Ld=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:Od,toggleModeTheme:zd}=ur.actions,Wd=e=>e.Theme.toggleStatus,_d=e=>e.Theme.themeSelected,Vd=e=>e.Theme.darkMode;ur.reducer,exports.ContactInfoPopup=en,exports.EditContactModal=gl,exports.EventsDialog=Ud,exports.MuiComponentsConfig=Kn,exports.darkBlack=dr,exports.darkBlue=lr,exports.i18n=It,exports.isValidThemeName=Ld,exports.lightAmber=rr,exports.lightBlue=Jn,exports.lightBlueIndigo=la,exports.lightBrown=or,exports.lightGray=ir,exports.lightGreen=Xn,exports.lightLime=ar,exports.lightOrange=sr,exports.lightPink=Zn,exports.lightPurple=er,exports.lightRed=Qn,exports.lightTeal=tr,exports.lightYellow=nr,exports.selectThemeToggleStatus=Wd,exports.selectedDarkTheme=Vd,exports.selectedTheme=_d,exports.toggleModeTheme=zd,exports.toggleTheme=Od,exports.updateTheme=cr;
21
21
  //# sourceMappingURL=index.js.map