@trii/components 2.0.94 → 2.0.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/index.js +8 -12
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +8 -12
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index.d.ts +14 -5
  6. package/dist/types/components/ContactInfoPopup/components/ContactMethod/ContactMethod.d.ts +0 -1
  7. package/dist/types/components/EditContactModal/EditContactModal.d.ts +13 -4
  8. package/dist/types/components/EditContactModal/components/BusinessMembers/BusinessMembersEditor.d.ts +8 -0
  9. package/dist/types/components/EditContactModal/components/BusinessMembers/BusinessMembersSection.d.ts +10 -0
  10. package/dist/types/components/EditContactModal/components/BusinessMembers/index.d.ts +2 -0
  11. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/EditModal.d.ts +0 -1
  12. package/dist/types/components/EditContactModal/context/EditContactApiContext.d.ts +38 -39
  13. package/dist/types/components/EditContactModal/context/EditContactViewContext.d.ts +1 -2
  14. package/dist/types/components/EditContactModal/hooks/useEditContactModalController.d.ts +5 -1
  15. package/dist/types/components/EditContactModal/hooks/useTagsEditorController.d.ts +3 -2
  16. package/dist/types/components/EditContactModal/index.d.ts +1 -0
  17. package/dist/types/components/EditContactModal/layout/Section.d.ts +2 -1
  18. package/dist/types/components/EventsDialog/components/ConfirmDeleteDialog/ConfirmDeleteDialog.d.ts +0 -1
  19. package/dist/types/components/EventsDialog/components/DatePicker/styles.d.ts +4 -10
  20. package/dist/types/components/EventsDialog/components/DeleteRecurringEventDialog/DeleteRecurringEventDialog.d.ts +0 -1
  21. package/dist/types/components/EventsDialog/components/EditRecurringEventDialog/EditRecurringEventDialog.d.ts +0 -1
  22. package/dist/types/components/EventsDialog/components/LocationTextField/SendLocation/components/GoogleMap/components/LocationSearch/locationSearch.d.ts +0 -1
  23. package/dist/types/components/EventsDialog/components/ReminderNotifications/components/ReminderItem/style.d.ts +8 -20
  24. package/dist/types/components/EventsDialog/components/ReminderNotifications/styles.d.ts +3 -7
  25. package/dist/types/components/EventsDialog/context/CalendarContextProvider.d.ts +0 -1
  26. package/dist/types/components/EventsDialog/context/EventsDialogApiContext.d.ts +0 -1
  27. package/dist/types/components/EventsDialog/hooks/useCalendarEvents.d.ts +0 -1
  28. package/dist/types/components/EventsDialog/hooks/useCalendarTasks.d.ts +0 -1
  29. package/dist/types/components/EventsDialog/layout/BasicInputContainer/styles.d.ts +3 -7
  30. package/dist/types/components/index.d.ts +1 -0
  31. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -1,21 +1,17 @@
1
- "use strict";var l=require("react"),s=require("@mui/material"),Be=require("@mui/icons-material"),Ar=require("@mui/icons-material/ArrowForward"),Fr=require("@mui/icons-material/Message"),Ke=require("react-i18next"),ae=require("@trii/types/dist/Contacts"),mt=require("moment"),Br=require("i18next"),Bt=require("@trii/types"),ka=require("@mui/icons-material/Close"),Mt=require("@mui/icons-material/Edit"),Mr=require("@mui/icons-material/Label"),aa=require("@mui/icons-material/Delete"),$r=require("@mui/icons-material/PhotoCamera"),Ea=require("@mui/icons-material/ArrowBack"),ht=require("@mui/icons-material/Save"),Pr=require("@mui/material/Popper"),ot=require("@mui/lab"),Ct=require("@trii/types/dist/Common/Channels"),J=require("dayjs"),Ur=require("@mui/icons-material/AddLocationAlt"),$t=require("@mui/x-date-pickers/AdapterDayjs"),Pt=require("@mui/x-date-pickers/LocalizationProvider"),Ga=require("@mui/x-date-pickers"),Ut=require("@mui/material/Box"),qa=require("@mui/icons-material/Cancel"),Rr=require("@mui/x-date-pickers/TimePicker"),Je=require("@mui/x-date-pickers-pro"),Te=require("@mui/system"),Nr=require("@mui/icons-material/LocalPhone"),Ya=require("google-libphonenumber"),Ka=require("@mui/icons-material/Add"),Lr=require("@mui/icons-material/MoreVert"),Or=require("@mui/icons-material/WhatsApp"),zr=require("@mui/icons-material/Mms"),_r=require("@mui/icons-material/CheckRounded"),Wr=require("@mui/icons-material/CloseRounded"),Vr=require("@mui/material/CircularProgress"),Hr=require("@mui/material/InputAdornment"),Gr=require("@mui/material/Typography"),qr=require("@mui/icons-material/Warning"),Yr=require("@mui/material/Chip"),na=require("@trii/types/dist/Calendar"),Ja=require("@mui/x-date-pickers-pro/AdapterDayjs"),Xa=require("@mui/icons-material/Place"),Qa=require("@mui/icons-material/Person"),Kr=require("@mui/icons-material/CalendarMonth"),Da=require("@mui/icons-material/Repeat"),Jr=require("@mui/icons-material/WarningAmber"),Xr=require("@mui/icons-material/ContentCopy"),Qr=require("@mui/icons-material/AccessTime"),Za=require("@reduxjs/toolkit"),Zr=require("axios");function es(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Aa={exports:{}},Rt={},en;function ts(){if(en)return Rt;en=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function d(c,u,p){var g,y={},C=null,h=null;p!==void 0&&(C=""+p),u.key!==void 0&&(C=""+u.key),u.ref!==void 0&&(h=u.ref);for(g in u)r.call(u,g)&&!i.hasOwnProperty(g)&&(y[g]=u[g]);if(c&&c.defaultProps)for(g in u=c.defaultProps,u)y[g]===void 0&&(y[g]=u[g]);return{$$typeof:a,type:c,key:C,ref:h,props:y,_owner:o.current}}return Rt.Fragment=n,Rt.jsx=d,Rt.jsxs=d,Rt}var Nt={},tn;function as(){return tn||(tn=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"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),x=Symbol.iterator,m="@@iterator";function b(f){if(f===null||typeof f!="object")return null;var B=x&&f[x]||f[m];return typeof B=="function"?B:null}var j=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w(f){{for(var B=arguments.length,z=new Array(B>1?B-1:0),ee=1;ee<B;ee++)z[ee-1]=arguments[ee];T("error",f,z)}}function T(f,B,z){{var ee=j.ReactDebugCurrentFrame,de=ee.getStackAddendum();de!==""&&(B+="%s",z=z.concat([de]));var fe=z.map(function(ie){return String(ie)});fe.unshift("Warning: "+B),Function.prototype.apply.call(console[f],console,fe)}}var I=!1,k=!1,D=!1,U=!1,M=!1,F;F=Symbol.for("react.module.reference");function N(f){return!!(typeof f=="string"||typeof f=="function"||f===r||f===i||M||f===o||f===p||f===g||U||f===h||I||k||D||typeof f=="object"&&f!==null&&(f.$$typeof===C||f.$$typeof===y||f.$$typeof===d||f.$$typeof===c||f.$$typeof===u||f.$$typeof===F||f.getModuleId!==void 0))}function $(f,B,z){var ee=f.displayName;if(ee)return ee;var de=B.displayName||B.name||"";return de!==""?z+"("+de+")":z}function O(f){return f.displayName||"Context"}function G(f){if(f==null)return null;if(typeof f.tag=="number"&&w("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 i:return"Profiler";case o:return"StrictMode";case p:return"Suspense";case g:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case c:var B=f;return O(B)+".Consumer";case d:var z=f;return O(z._context)+".Provider";case u:return $(f,f.render,"ForwardRef");case y:var ee=f.displayName||null;return ee!==null?ee:G(f.type)||"Memo";case C:{var de=f,fe=de._payload,ie=de._init;try{return G(ie(fe))}catch{return null}}}return null}var P=Object.assign,V=0,X,me,H,_,S,A,E;function W(){}W.__reactDisabledLog=!0;function q(){{if(V===0){X=console.log,me=console.info,H=console.warn,_=console.error,S=console.group,A=console.groupCollapsed,E=console.groupEnd;var f={configurable:!0,enumerable:!0,value:W,writable:!0};Object.defineProperties(console,{info:f,log:f,warn:f,error:f,group:f,groupCollapsed:f,groupEnd:f})}V++}}function re(){{if(V--,V===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:P({},f,{value:X}),info:P({},f,{value:me}),warn:P({},f,{value:H}),error:P({},f,{value:_}),group:P({},f,{value:S}),groupCollapsed:P({},f,{value:A}),groupEnd:P({},f,{value:E})})}V<0&&w("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var oe=j.ReactCurrentDispatcher,je;function he(f,B,z){{if(je===void 0)try{throw Error()}catch(de){var ee=de.stack.trim().match(/\n( *(at )?)/);je=ee&&ee[1]||""}return`
2
- `+je+f}}var te=!1,Ae;{var Y=typeof WeakMap=="function"?WeakMap:Map;Ae=new Y}function ue(f,B){if(!f||te)return"";{var z=Ae.get(f);if(z!==void 0)return z}var ee;te=!0;var de=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var fe;fe=oe.current,oe.current=null,q();try{if(B){var ie=function(){throw Error()};if(Object.defineProperty(ie.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ie,[])}catch(Ne){ee=Ne}Reflect.construct(f,[],ie)}else{try{ie.call()}catch(Ne){ee=Ne}f.call(ie.prototype)}}else{try{throw Error()}catch(Ne){ee=Ne}f()}}catch(Ne){if(Ne&&ee&&typeof Ne.stack=="string"){for(var se=Ne.stack.split(`
1
+ "use strict";var l=require("react"),s=require("@mui/material"),Be=require("@mui/icons-material"),Mr=require("@mui/icons-material/ArrowForward"),$r=require("@mui/icons-material/Message"),Ke=require("react-i18next"),ae=require("@trii/types/dist/Contacts"),ht=require("moment"),Pr=require("i18next"),Mt=require("@trii/types"),Ea=require("@mui/icons-material/Close"),Ur=require("@mui/icons-material/ExpandMore"),na=require("@mui/icons-material/ArrowBack"),pt=require("@mui/icons-material/Save"),Ze=require("@mui/lab"),Ct=require("@mui/icons-material/Edit"),Rr=require("@mui/icons-material/AddLocationAlt"),Nr=require("@mui/icons-material/Label"),ra=require("@mui/icons-material/Delete"),Lr=require("@mui/icons-material/PhotoCamera"),Or=require("@mui/material/Popper"),St=require("@trii/types/dist/Common/Channels"),X=require("dayjs"),$t=require("@mui/x-date-pickers/AdapterDayjs"),Pt=require("@mui/x-date-pickers/LocalizationProvider"),Ya=require("@mui/x-date-pickers"),Ut=require("@mui/material/Box"),Ka=require("@mui/icons-material/Cancel"),zr=require("@mui/x-date-pickers/TimePicker"),Je=require("@mui/x-date-pickers-pro"),Te=require("@mui/system"),_r=require("@mui/icons-material/LocalPhone"),Ja=require("google-libphonenumber"),Xa=require("@mui/icons-material/Add"),Wr=require("@mui/icons-material/MoreVert"),Vr=require("@mui/icons-material/WhatsApp"),Hr=require("@mui/icons-material/Mms"),Gr=require("@mui/icons-material/CheckRounded"),qr=require("@mui/icons-material/CloseRounded"),Yr=require("@mui/material/CircularProgress"),Kr=require("@mui/material/InputAdornment"),Jr=require("@mui/material/Typography"),Xr=require("@mui/icons-material/Warning"),Qr=require("@mui/material/Chip"),sa=require("@trii/types/dist/Calendar"),Qa=require("@mui/x-date-pickers-pro/AdapterDayjs"),Za=require("@mui/icons-material/Place"),en=require("@mui/icons-material/Person"),Zr=require("@mui/icons-material/CalendarMonth"),Da=require("@mui/icons-material/Repeat"),es=require("@mui/icons-material/WarningAmber"),ts=require("@mui/icons-material/ContentCopy"),as=require("@mui/icons-material/AccessTime"),tn=require("@reduxjs/toolkit"),ns=require("axios");function rs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Aa={exports:{}},Rt={},an;function ss(){if(an)return Rt;an=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function d(c,u,p){var m,h={},y=null,g=null;p!==void 0&&(y=""+p),u.key!==void 0&&(y=""+u.key),u.ref!==void 0&&(g=u.ref);for(m in u)r.call(u,m)&&!i.hasOwnProperty(m)&&(h[m]=u[m]);if(c&&c.defaultProps)for(m in u=c.defaultProps,u)h[m]===void 0&&(h[m]=u[m]);return{$$typeof:a,type:c,key:y,ref:g,props:h,_owner:o.current}}return Rt.Fragment=n,Rt.jsx=d,Rt.jsxs=d,Rt}var Nt={},nn;function os(){return nn||(nn=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"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),C=Symbol.iterator,v="@@iterator";function x(f){if(f===null||typeof f!="object")return null;var P=C&&f[C]||f[v];return typeof P=="function"?P:null}var I=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function j(f){{for(var P=arguments.length,z=new Array(P>1?P-1:0),ee=1;ee<P;ee++)z[ee-1]=arguments[ee];k("error",f,z)}}function k(f,P,z){{var ee=I.ReactDebugCurrentFrame,ce=ee.getStackAddendum();ce!==""&&(P+="%s",z=z.concat([ce]));var ge=z.map(function(le){return String(le)});ge.unshift("Warning: "+P),Function.prototype.apply.call(console[f],console,ge)}}var S=!1,w=!1,E=!1,B=!1,F=!1,D;D=Symbol.for("react.module.reference");function U(f){return!!(typeof f=="string"||typeof f=="function"||f===r||f===i||F||f===o||f===p||f===m||B||f===g||S||w||E||typeof f=="object"&&f!==null&&(f.$$typeof===y||f.$$typeof===h||f.$$typeof===d||f.$$typeof===c||f.$$typeof===u||f.$$typeof===D||f.getModuleId!==void 0))}function R(f,P,z){var ee=f.displayName;if(ee)return ee;var ce=P.displayName||P.name||"";return ce!==""?z+"("+ce+")":z}function L(f){return f.displayName||"Context"}function W(f){if(f==null)return null;if(typeof f.tag=="number"&&j("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 i:return"Profiler";case o:return"StrictMode";case p:return"Suspense";case m:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case c:var P=f;return L(P)+".Consumer";case d:var z=f;return L(z._context)+".Provider";case u:return R(f,f.render,"ForwardRef");case h:var ee=f.displayName||null;return ee!==null?ee:W(f.type)||"Memo";case y:{var ce=f,ge=ce._payload,le=ce._init;try{return W(le(ge))}catch{return null}}}return null}var M=Object.assign,H=0,q,se,G,_,T,$,A;function V(){}V.__reactDisabledLog=!0;function Y(){{if(H===0){q=console.log,se=console.info,G=console.warn,_=console.error,T=console.group,$=console.groupCollapsed,A=console.groupEnd;var f={configurable:!0,enumerable:!0,value:V,writable:!0};Object.defineProperties(console,{info:f,log:f,warn:f,error:f,group:f,groupCollapsed:f,groupEnd:f})}H++}}function ne(){{if(H--,H===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:M({},f,{value:q}),info:M({},f,{value:se}),warn:M({},f,{value:G}),error:M({},f,{value:_}),group:M({},f,{value:T}),groupCollapsed:M({},f,{value:$}),groupEnd:M({},f,{value:A})})}H<0&&j("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ie=I.ReactCurrentDispatcher,je;function he(f,P,z){{if(je===void 0)try{throw Error()}catch(ce){var ee=ce.stack.trim().match(/\n( *(at )?)/);je=ee&&ee[1]||""}return`
2
+ `+je+f}}var te=!1,Ae;{var K=typeof WeakMap=="function"?WeakMap:Map;Ae=new K}function pe(f,P){if(!f||te)return"";{var z=Ae.get(f);if(z!==void 0)return z}var ee;te=!0;var ce=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ge;ge=ie.current,ie.current=null,Y();try{if(P){var le=function(){throw Error()};if(Object.defineProperty(le.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(le,[])}catch(Ne){ee=Ne}Reflect.construct(f,[],le)}else{try{le.call()}catch(Ne){ee=Ne}f.call(le.prototype)}}else{try{throw Error()}catch(Ne){ee=Ne}f()}}catch(Ne){if(Ne&&ee&&typeof Ne.stack=="string"){for(var oe=Ne.stack.split(`
3
3
  `),Fe=ee.stack.split(`
4
- `),be=se.length-1,ve=Fe.length-1;be>=1&&ve>=0&&se[be]!==Fe[ve];)ve--;for(;be>=1&&ve>=0;be--,ve--)if(se[be]!==Fe[ve]){if(be!==1||ve!==1)do if(be--,ve--,ve<0||se[be]!==Fe[ve]){var Ve=`
5
- `+se[be].replace(" at new "," at ");return f.displayName&&Ve.includes("<anonymous>")&&(Ve=Ve.replace("<anonymous>",f.displayName)),typeof f=="function"&&Ae.set(f,Ve),Ve}while(be>=1&&ve>=0);break}}}finally{te=!1,oe.current=fe,re(),Error.prepareStackTrace=de}var st=f?f.displayName||f.name:"",Qe=st?he(st):"";return typeof f=="function"&&Ae.set(f,Qe),Qe}function xe(f,B,z){return ue(f,!1)}function Ye(f){var B=f.prototype;return!!(B&&B.isReactComponent)}function Q(f,B,z){if(f==null)return"";if(typeof f=="function")return ue(f,Ye(f));if(typeof f=="string")return he(f);switch(f){case p:return he("Suspense");case g:return he("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return xe(f.render);case y:return Q(f.type,B,z);case C:{var ee=f,de=ee._payload,fe=ee._init;try{return Q(fe(de),B,z)}catch{}}}return""}var Pe=Object.prototype.hasOwnProperty,We={},Ge=j.ReactDebugCurrentFrame;function ce(f){if(f){var B=f._owner,z=Q(f.type,f._source,B?B.type:null);Ge.setExtraStackFrame(z)}else Ge.setExtraStackFrame(null)}function It(f,B,z,ee,de){{var fe=Function.call.bind(Pe);for(var ie in f)if(fe(f,ie)){var se=void 0;try{if(typeof f[ie]!="function"){var Fe=Error((ee||"React class")+": "+z+" type `"+ie+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[ie]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Fe.name="Invariant Violation",Fe}se=f[ie](B,ie,ee,z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(be){se=be}se&&!(se instanceof Error)&&(ce(de),w("%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,ie,typeof se),ce(null)),se instanceof Error&&!(se.message in We)&&(We[se.message]=!0,ce(de),w("Failed %s type: %s",z,se.message),ce(null))}}}var et=Array.isArray;function bt(f){return et(f)}function ya(f){{var B=typeof Symbol=="function"&&Symbol.toStringTag,z=B&&f[Symbol.toStringTag]||f.constructor.name||"Object";return z}}function Kt(f){try{return Jt(f),!1}catch{return!0}}function Jt(f){return""+f}function Ue(f){if(Kt(f))return w("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ya(f)),Jt(f)}var Xe=j.ReactCurrentOwner,le={key:!0,ref:!0,__self:!0,__source:!0},pe,qe,Ee;Ee={};function Xt(f){if(Pe.call(f,"ref")){var B=Object.getOwnPropertyDescriptor(f,"ref").get;if(B&&B.isReactWarning)return!1}return f.ref!==void 0}function Oe(f){if(Pe.call(f,"key")){var B=Object.getOwnPropertyDescriptor(f,"key").get;if(B&&B.isReactWarning)return!1}return f.key!==void 0}function xa(f,B){if(typeof f.ref=="string"&&Xe.current&&B&&Xe.current.stateNode!==B){var z=G(Xe.current.type);Ee[z]||(w('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(Xe.current.type),f.ref),Ee[z]=!0)}}function ba(f,B){{var z=function(){pe||(pe=!0,w("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",B))};z.isReactWarning=!0,Object.defineProperty(f,"key",{get:z,configurable:!0})}}function Qt(f,B){{var z=function(){qe||(qe=!0,w("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",B))};z.isReactWarning=!0,Object.defineProperty(f,"ref",{get:z,configurable:!0})}}var va=function(f,B,z,ee,de,fe,ie){var se={$$typeof:a,type:f,key:B,ref:z,props:ie,_owner:fe};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:de}),Object.freeze&&(Object.freeze(se.props),Object.freeze(se)),se};function Ca(f,B,z,ee,de){{var fe,ie={},se=null,Fe=null;z!==void 0&&(Ue(z),se=""+z),Oe(B)&&(Ue(B.key),se=""+B.key),Xt(B)&&(Fe=B.ref,xa(B,de));for(fe in B)Pe.call(B,fe)&&!le.hasOwnProperty(fe)&&(ie[fe]=B[fe]);if(f&&f.defaultProps){var be=f.defaultProps;for(fe in be)ie[fe]===void 0&&(ie[fe]=be[fe])}if(se||Fe){var ve=typeof f=="function"?f.displayName||f.name||"Unknown":f;se&&ba(ie,ve),Fe&&Qt(ie,ve)}return va(f,se,Fe,de,ee,Xe.current,ie)}}var lt=j.ReactCurrentOwner,Zt=j.ReactDebugCurrentFrame;function tt(f){if(f){var B=f._owner,z=Q(f.type,f._source,B?B.type:null);Zt.setExtraStackFrame(z)}else Zt.setExtraStackFrame(null)}var Re;Re=!1;function dt(f){return typeof f=="object"&&f!==null&&f.$$typeof===a}function ft(){{if(lt.current){var f=G(lt.current.type);if(f)return`
4
+ `),be=oe.length-1,ve=Fe.length-1;be>=1&&ve>=0&&oe[be]!==Fe[ve];)ve--;for(;be>=1&&ve>=0;be--,ve--)if(oe[be]!==Fe[ve]){if(be!==1||ve!==1)do if(be--,ve--,ve<0||oe[be]!==Fe[ve]){var Ve=`
5
+ `+oe[be].replace(" at new "," at ");return f.displayName&&Ve.includes("<anonymous>")&&(Ve=Ve.replace("<anonymous>",f.displayName)),typeof f=="function"&&Ae.set(f,Ve),Ve}while(be>=1&&ve>=0);break}}}finally{te=!1,ie.current=ge,ne(),Error.prepareStackTrace=ce}var it=f?f.displayName||f.name:"",Qe=it?he(it):"";return typeof f=="function"&&Ae.set(f,Qe),Qe}function xe(f,P,z){return pe(f,!1)}function Ye(f){var P=f.prototype;return!!(P&&P.isReactComponent)}function Q(f,P,z){if(f==null)return"";if(typeof f=="function")return pe(f,Ye(f));if(typeof f=="string")return he(f);switch(f){case p:return he("Suspense");case m:return he("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return xe(f.render);case h:return Q(f.type,P,z);case y:{var ee=f,ce=ee._payload,ge=ee._init;try{return Q(ge(ce),P,z)}catch{}}}return""}var Pe=Object.prototype.hasOwnProperty,We={},Ge=I.ReactDebugCurrentFrame;function ue(f){if(f){var P=f._owner,z=Q(f.type,f._source,P?P.type:null);Ge.setExtraStackFrame(z)}else Ge.setExtraStackFrame(null)}function kt(f,P,z,ee,ce){{var ge=Function.call.bind(Pe);for(var le in f)if(ge(f,le)){var oe=void 0;try{if(typeof f[le]!="function"){var Fe=Error((ee||"React class")+": "+z+" type `"+le+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[le]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Fe.name="Invariant Violation",Fe}oe=f[le](P,le,ee,z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(be){oe=be}oe&&!(oe instanceof Error)&&(ue(ce),j("%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,le,typeof oe),ue(null)),oe instanceof Error&&!(oe.message in We)&&(We[oe.message]=!0,ue(ce),j("Failed %s type: %s",z,oe.message),ue(null))}}}var at=Array.isArray;function bt(f){return at(f)}function xa(f){{var P=typeof Symbol=="function"&&Symbol.toStringTag,z=P&&f[Symbol.toStringTag]||f.constructor.name||"Object";return z}}function Jt(f){try{return Xt(f),!1}catch{return!0}}function Xt(f){return""+f}function Ue(f){if(Jt(f))return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",xa(f)),Xt(f)}var Xe=I.ReactCurrentOwner,de={key:!0,ref:!0,__self:!0,__source:!0},fe,qe,Ee;Ee={};function Qt(f){if(Pe.call(f,"ref")){var P=Object.getOwnPropertyDescriptor(f,"ref").get;if(P&&P.isReactWarning)return!1}return f.ref!==void 0}function Oe(f){if(Pe.call(f,"key")){var P=Object.getOwnPropertyDescriptor(f,"key").get;if(P&&P.isReactWarning)return!1}return f.key!==void 0}function ba(f,P){if(typeof f.ref=="string"&&Xe.current&&P&&Xe.current.stateNode!==P){var z=W(Xe.current.type);Ee[z]||(j('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',W(Xe.current.type),f.ref),Ee[z]=!0)}}function va(f,P){{var z=function(){fe||(fe=!0,j("%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)",P))};z.isReactWarning=!0,Object.defineProperty(f,"key",{get:z,configurable:!0})}}function Zt(f,P){{var z=function(){qe||(qe=!0,j("%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)",P))};z.isReactWarning=!0,Object.defineProperty(f,"ref",{get:z,configurable:!0})}}var Ca=function(f,P,z,ee,ce,ge,le){var oe={$$typeof:a,type:f,key:P,ref:z,props:le,_owner:ge};return oe._store={},Object.defineProperty(oe._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(oe,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.defineProperty(oe,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ce}),Object.freeze&&(Object.freeze(oe.props),Object.freeze(oe)),oe};function Sa(f,P,z,ee,ce){{var ge,le={},oe=null,Fe=null;z!==void 0&&(Ue(z),oe=""+z),Oe(P)&&(Ue(P.key),oe=""+P.key),Qt(P)&&(Fe=P.ref,ba(P,ce));for(ge in P)Pe.call(P,ge)&&!de.hasOwnProperty(ge)&&(le[ge]=P[ge]);if(f&&f.defaultProps){var be=f.defaultProps;for(ge in be)le[ge]===void 0&&(le[ge]=be[ge])}if(oe||Fe){var ve=typeof f=="function"?f.displayName||f.name||"Unknown":f;oe&&va(le,ve),Fe&&Zt(le,ve)}return Ca(f,oe,Fe,ce,ee,Xe.current,le)}}var dt=I.ReactCurrentOwner,ea=I.ReactDebugCurrentFrame;function nt(f){if(f){var P=f._owner,z=Q(f.type,f._source,P?P.type:null);ea.setExtraStackFrame(z)}else ea.setExtraStackFrame(null)}var Re;Re=!1;function ct(f){return typeof f=="object"&&f!==null&&f.$$typeof===a}function gt(){{if(dt.current){var f=W(dt.current.type);if(f)return`
6
6
 
7
- Check the render method of \``+f+"`."}return""}}function kt(f){{if(f!==void 0){var B=f.fileName.replace(/^.*[\\\/]/,""),z=f.lineNumber;return`
7
+ Check the render method of \``+f+"`."}return""}}function Et(f){{if(f!==void 0){var P=f.fileName.replace(/^.*[\\\/]/,""),z=f.lineNumber;return`
8
8
 
9
- Check your code at `+B+":"+z+"."}return""}}var ea={};function at(f){{var B=ft();if(!B){var z=typeof f=="string"?f:f.displayName||f.name;z&&(B=`
9
+ Check your code at `+P+":"+z+"."}return""}}var ta={};function rt(f){{var P=gt();if(!P){var z=typeof f=="string"?f:f.displayName||f.name;z&&(P=`
10
10
 
11
- Check the top-level render call using <`+z+">.")}return B}}function Et(f,B){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var z=at(B);if(ea[z])return;ea[z]=!0;var ee="";f&&f._owner&&f._owner!==lt.current&&(ee=" It was passed a child from "+G(f._owner.type)+"."),tt(f),w('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),tt(null)}}function nt(f,B){{if(typeof f!="object")return;if(bt(f))for(var z=0;z<f.length;z++){var ee=f[z];dt(ee)&&Et(ee,B)}else if(dt(f))f._store&&(f._store.validated=!0);else if(f){var de=b(f);if(typeof de=="function"&&de!==f.entries)for(var fe=de.call(f),ie;!(ie=fe.next()).done;)dt(ie.value)&&Et(ie.value,B)}}}function Sa(f){{var B=f.type;if(B==null||typeof B=="string")return;var z;if(typeof B=="function")z=B.propTypes;else if(typeof B=="object"&&(B.$$typeof===u||B.$$typeof===y))z=B.propTypes;else return;if(z){var ee=G(B);It(z,f.props,"prop",ee,f)}else if(B.PropTypes!==void 0&&!Re){Re=!0;var de=G(B);w("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",de||"Unknown")}typeof B.getDefaultProps=="function"&&!B.getDefaultProps.isReactClassApproved&&w("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function gt(f){{for(var B=Object.keys(f.props),z=0;z<B.length;z++){var ee=B[z];if(ee!=="children"&&ee!=="key"){tt(f),w("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ee),tt(null);break}}f.ref!==null&&(tt(f),w("Invalid attribute `ref` supplied to `React.Fragment`."),tt(null))}}var rt={};function vt(f,B,z,ee,de,fe){{var ie=N(f);if(!ie){var se="";(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).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=kt(de);Fe?se+=Fe:se+=ft();var be;f===null?be="null":bt(f)?be="array":f!==void 0&&f.$$typeof===a?(be="<"+(G(f.type)||"Unknown")+" />",se=" Did you accidentally export a JSX literal instead of a component?"):be=typeof f,w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",be,se)}var ve=Ca(f,B,z,de,fe);if(ve==null)return ve;if(ie){var Ve=B.children;if(Ve!==void 0)if(ee)if(bt(Ve)){for(var st=0;st<Ve.length;st++)nt(Ve[st],f);Object.freeze&&Object.freeze(Ve)}else w("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 nt(Ve,f)}if(Pe.call(B,"key")){var Qe=G(f),Ne=Object.keys(B).filter(function(Ia){return Ia!=="key"}),Ft=Ne.length>0?"{key: someKey, "+Ne.join(": ..., ")+": ...}":"{key: someKey}";if(!rt[Qe+Ft]){var Ta=Ne.length>0?"{"+Ne.join(": ..., ")+": ...}":"{}";w(`A props object containing a "key" prop is being spread into JSX:
11
+ Check the top-level render call using <`+z+">.")}return P}}function Dt(f,P){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var z=rt(P);if(ta[z])return;ta[z]=!0;var ee="";f&&f._owner&&f._owner!==dt.current&&(ee=" It was passed a child from "+W(f._owner.type)+"."),nt(f),j('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),nt(null)}}function st(f,P){{if(typeof f!="object")return;if(bt(f))for(var z=0;z<f.length;z++){var ee=f[z];ct(ee)&&Dt(ee,P)}else if(ct(f))f._store&&(f._store.validated=!0);else if(f){var ce=x(f);if(typeof ce=="function"&&ce!==f.entries)for(var ge=ce.call(f),le;!(le=ge.next()).done;)ct(le.value)&&Dt(le.value,P)}}}function ja(f){{var P=f.type;if(P==null||typeof P=="string")return;var z;if(typeof P=="function")z=P.propTypes;else if(typeof P=="object"&&(P.$$typeof===u||P.$$typeof===h))z=P.propTypes;else return;if(z){var ee=W(P);kt(z,f.props,"prop",ee,f)}else if(P.PropTypes!==void 0&&!Re){Re=!0;var ce=W(P);j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ce||"Unknown")}typeof P.getDefaultProps=="function"&&!P.getDefaultProps.isReactClassApproved&&j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function mt(f){{for(var P=Object.keys(f.props),z=0;z<P.length;z++){var ee=P[z];if(ee!=="children"&&ee!=="key"){nt(f),j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ee),nt(null);break}}f.ref!==null&&(nt(f),j("Invalid attribute `ref` supplied to `React.Fragment`."),nt(null))}}var ot={};function vt(f,P,z,ee,ce,ge){{var le=U(f);if(!le){var oe="";(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).length===0)&&(oe+=" 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=Et(ce);Fe?oe+=Fe:oe+=gt();var be;f===null?be="null":bt(f)?be="array":f!==void 0&&f.$$typeof===a?(be="<"+(W(f.type)||"Unknown")+" />",oe=" Did you accidentally export a JSX literal instead of a component?"):be=typeof f,j("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",be,oe)}var ve=Sa(f,P,z,ce,ge);if(ve==null)return ve;if(le){var Ve=P.children;if(Ve!==void 0)if(ee)if(bt(Ve)){for(var it=0;it<Ve.length;it++)st(Ve[it],f);Object.freeze&&Object.freeze(Ve)}else j("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 st(Ve,f)}if(Pe.call(P,"key")){var Qe=W(f),Ne=Object.keys(P).filter(function(ka){return ka!=="key"}),Bt=Ne.length>0?"{key: someKey, "+Ne.join(": ..., ")+": ...}":"{key: someKey}";if(!ot[Qe+Bt]){var Ia=Ne.length>0?"{"+Ne.join(": ..., ")+": ...}":"{}";j(`A props object containing a "key" prop is being spread into JSX:
12
12
  let props = %s;
13
13
  <%s {...props} />
14
14
  React keys must be passed directly to JSX without using spread:
15
15
  let props = %s;
16
- <%s key={someKey} {...props} />`,Ft,Qe,Ta,Qe),rt[Qe+Ft]=!0}}return f===r?gt(ve):Sa(ve),ve}}function Dt(f,B,z){return vt(f,B,z,!0)}function At(f,B,z){return vt(f,B,z,!1)}var ja=At,wa=Dt;Nt.Fragment=r,Nt.jsx=ja,Nt.jsxs=wa})()),Nt}process.env.NODE_ENV==="production"?Aa.exports=ts():Aa.exports=as();var t=Aa.exports;es(t);const ns=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})),an=s.styled(s.IconButton)({padding:4}),rs=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),ss=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),os=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),is=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),ls=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:o=!1,onError:i,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(m=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!m)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(m,"_blank","noopener,noreferrer"):r(m)}catch(j){i?.(j instanceof Error?j:new Error("Navigation failed"))}},[r,i]),{t:p}=Ke.useTranslation(),g=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),y=u(`/a/conversations/conversations?contactId=${n}`),C=!!a,h=a||p("contactName.noName"),x=`Avatar for ${h}`;return t.jsxs(rs,{children:[t.jsxs(ns,{children:[t.jsx(an,{color:"info",size:"small",onClick:m=>{g(m),d()},onMouseDown:m=>{m.button===1&&(g(m),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Ar,{fontSize:"small"})}),t.jsx(an,{color:"info",size:"small",onClick:m=>{y(m),d()},onMouseDown:m=>{m.button===1&&(y(m),d())},"aria-label":"Go to conversations",children:t.jsx(Fr,{fontSize:"small"})})]}),o?t.jsx(is,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(ss,{src:e,alt:x,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(os,{variant:"h6",title:h,sx:C?void 0:{color:"text.disabled",fontStyle:"italic"},children:h})]})},ds=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),cs=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),us=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),ps=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),fs=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),gs=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%",minWidth:0,overflow:"hidden"}),ms=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),hs=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const o=i=>t.jsx(us,{children:t.jsxs(fs,{children:[t.jsx(ps,{children:e}),t.jsxs(gs,{children:[t.jsx(s.Tooltip,{title:i.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:i.address})}),i.profileName&&t.jsx(s.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:i.profileName})]}),i.note&&t.jsx(ms,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(ds,{children:[r&&t.jsx(cs,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},ys=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),xs=s.styled(s.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),bs=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%",minWidth:0}),vs=s.styled(s.Typography)({fontSize:14,wordBreak:"break-word",overflowWrap:"anywhere",minWidth:0}),Cs=s.styled(Be.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Ss=({properties:e,title:a})=>{const n=o=>o.replace(/-/g," "),r=(o,i)=>{if(!o||Array.isArray(o)&&o.length===0)return"";if(Array.isArray(o))return o.map(d=>r(d,i)).join(", ");if(typeof o=="string"){const d=mt(o,mt.ISO_8601).isValid(),c=u=>mt(o).format(u);switch(i){case ae.ContactField_type.TIME:return d?c("HH:mm"):o;case ae.ContactField_type.DATE:return d?c("DD/MM/YYYY"):o;case ae.ContactField_type.TIMERANGE:case ae.ContactField_type.DATERANGE:if(d)return i===ae.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=o.split(" ");if(u.length===2){const[p,g]=u,y=i===ae.ContactField_type.TIMERANGE?mt(p).format("HH:mm"):mt(p).format("DD/MM/YYYY"),C=i===ae.ContactField_type.TIMERANGE?mt(g).format("HH:mm"):mt(g).format("DD/MM/YYYY");return`${y} - ${C}`}return o;default:return o}}return o};return t.jsxs(ys,{children:[t.jsx(xs,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value?.length>0&&t.jsxs(bs,{children:[t.jsx(Cs,{}),t.jsxs(vs,{children:[n(o.nameKey),":"," ",r(o.value,o.type)]})]},i))]})},js=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ws=s.styled(s.Box)({marginBottom:16}),Ts=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Is=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(js,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(ws,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Ts,{label:n.name,color:"primary",size:"small"},n.id))})]});function nn(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 ks=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Es=({contactData:e,title:a})=>!e||!nn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(ks,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function rn(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 Ds=({name:e,memberId:a,navigate:n})=>{const r=`/a/conversations/conversations?contactId=${a}`,o=i=>{i.preventDefault(),i.stopPropagation(),i.ctrlKey||i.metaKey||i.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:o,onMouseDown:i=>{i.button===1&&o(i)},onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&o(i)},children:e})},As=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Fs=({contactData:e,title:a,navigate:n})=>!e||!rn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(As,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(Ds,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var Bs="Labels",Ms="Phone",$s="Business",Ps="Business Members",Us="Properties",Rs="View",Ns="Tags",Ls={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"},Os={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"},zs={noName:"No name"},_s={100101:"The number length seems too short",100102:"It seems to be already associated with another contact",100103:"Incorrect format",100104:"WhatsApp account not found",100105:"RCS account not found"},Ws={verifyWspAccount:"Verify WhatsApp account",verifyRcsAccount:"Verify RCS account",wspAccountFound:"WhatsApp account found",wantToLinkContact:"Do you want to link this contact with the found WhatsApp account?",yesLink:"Yes, link",noWspAccountFound:"No WhatsApp account found"},Vs={upload:"Upload photo",delete:"Delete photo"},Hs={from:"From",to:"To"},Gs={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"}}},qs={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"},Ys={labels:Bs,phone:Ms,business:$s,businessMembers:Ps,properties:Us,view:Rs,tags:Ns,global:Ls,searchLocationModal:Os,contactName:zs,contactAddressError:_s,optionMenu:Ws,avatar:Vs,contactEdit:Hs,conversations:Gs,calendarView:qs},Ks="Etiquetas",Js="Tel\xE9fono",Xs="Empresa",Qs="Miembros de la empresa",Zs="Propiedades",eo="Ver",to="Etiquetas",ao={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"},no={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"},ro={noName:"Sin nombre"},so={100101:"La longitud del n\xFAmero parece demasiado corta",100102:"Parece que ya est\xE1 asociado a otro contacto",100103:"Formato incorrecto",100104:"Cuenta de WhatsApp no encontrada",100105:"Cuenta de RCS no encontrada"},oo={verifyWspAccount:"Verificar cuenta de WhatsApp",verifyRcsAccount:"Verificar cuenta de RCS",wspAccountFound:"Cuenta de WhatsApp encontrada",wantToLinkContact:"\xBFDesea vincular este contacto con la cuenta de WhatsApp encontrada?",yesLink:"S\xED, vincular",noWspAccountFound:"No se encontr\xF3 una cuenta de WhatsApp"},io={upload:"Subir foto",delete:"Eliminar foto"},lo={from:"Desde",to:"Hasta"},co={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"}}},uo={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"},po={labels:Ks,phone:Js,business:Xs,businessMembers:Qs,properties:Zs,view:eo,tags:to,global:ao,searchLocationModal:no,contactName:ro,contactAddressError:so,optionMenu:oo,avatar:io,contactEdit:lo,conversations:co,calendarView:uo};const fo={en:{translation:Ys},es:{translation:po}},St=Br.createInstance();St.use(Ke.initReactI18next).init({resources:fo,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const sn=(e="",a="",n=Bt.Spaces.nameFormat.FIRST_LAST)=>{const r=e?.trim()||"",o=a?.trim()||"";switch(n){case Bt.Spaces.nameFormat.FIRST_LAST:return`${r} ${o}`.trim();case Bt.Spaces.nameFormat.LAST_FIRST:return`${o} ${r}`.trim();case Bt.Spaces.nameFormat.FIRST_COMMA_LAST:return r&&o?`${r}, ${o}`:r||o;case Bt.Spaces.nameFormat.LAST_COMMA_FIRST:return r&&o?`${o}, ${r}`:o||r;default:return`${r} ${o}`.trim()}},go=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,maxWidth:300,boxSizing:"border-box",maxHeight:"calc(100vh - 500px)",overflowY:"auto",overflowX:"hidden",wordBreak:"break-word",overflowWrap:"anywhere",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"}})),mo=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:o,navigate:i,language:d="en",contactNameFormat:c})=>{const{t:u,i18n:p}=Ke.useTranslation();l.useEffect(()=>{d&&p.changeLanguage(d)},[d,p]);const g=u,y=rn(r),C=nn(r),h=r?C?sn(r.firstName,r.lastName,c):r.name:void 0,x=[{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 m=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},[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(go,{children:t.jsxs(s.CardContent,{children:[t.jsx(ls,{navigate:i,contactId:r?.id,imgUrl:o,name:h,onClose:n,isBusiness:y}),t.jsx(Is,{contactData:r,title:g("labels")}),C&&t.jsx(Es,{contactData:r,title:g("business")}),y&&t.jsx(Fs,{contactData:r,title:g("businessMembers"),navigate:i}),x.map((m,b)=>t.jsx(hs,{icon:m.icon,title:m.title,contactList:m.contactList,showTitle:m.showTitle},b)),t.jsx(Ss,{properties:r?.properties,title:g("properties")})]})})})})},on=e=>t.jsx(Ke.I18nextProvider,{i18n:St,children:t.jsx(mo,{...e})}),ln=e=>e,dn=l.createContext(ln),ho=({t:e,children:a})=>t.jsx(dn.Provider,{value:e,children:a}),ye=()=>{const e=l.useContext(dn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),ln)},yo=({tags:e,onEditTags:a})=>{const n=ye(),[r,o]=l.useState(null),i=l.useMemo(()=>e??[],[e]),d=i.slice(0,4),c=Math.max(i.length-d.length,0),u=y=>{o(y.currentTarget)},p=()=>{o(null)},g=!!r;return t.jsxs(s.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(s.Box,{sx:{maxWidth:320,position:"relative"},children:[t.jsxs(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[d.map(y=>t.jsx(s.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.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":i.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:y=>y.palette.background.panel,transition:"background-color 0.2s ease-in-out, color 0.2s ease-in-out","&:hover":{bgcolor:"action.selected",color:"text.primary"}},children:i.length?t.jsx(Mt,{fontSize:"small"}):t.jsx(Mr,{fontSize:"small"})})]}),t.jsx(s.Popover,{open:g,anchorEl:r,onClose:p,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:i.map(y=>t.jsx(s.Chip,{label:y.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},y.id))})]})})]})},cn=l.createContext(null),xo=cn.Provider,ut=()=>l.useContext(cn),bo=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),vo=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Co=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),So=s.styled(s.IconButton)(({alwaysVisible:e})=>({opacity:e?1:0,visibility:e?"visible":"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"})),jo=({displayName:e,contactType:a,firstName:n,lastName:r,name:o,entityId:i,onEntityUpdated:d})=>{const c=ut(),u=ye(),[p,g]=l.useState(!1),[y,C]=l.useState(!1),[h,x]=l.useState({firstName:n||"",lastName:r||"",name:o||""});l.useEffect(()=>{x({firstName:n||"",lastName:r||"",name:o||""})},[n,r,o]);const m=async()=>{if(!(!c||!i||!a||a==="unknown")){C(!0);try{let j={};a==="contact"?j={firstName:h.firstName,lastName:h.lastName}:a==="business"&&(j={name:h.name});const w=await c.updateEntity({entityType:a,entityId:i,body:j});w&&d&&d(w),g(!1)}catch(j){console.error("Failed to update name",j)}finally{C(!1)}}},b=a==="contact"||a==="business";return p?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:h.firstName,onChange:j=>x({...h,firstName:j.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:h.lastName,onChange:j=>x({...h,lastName:j.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:h.name,onChange:j=>x({...h,name:j.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:m,disabled:y,color:"primary",children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Be.Save,{})})]}):t.jsx(vo,{children:t.jsxs(Co,{children:[t.jsx(bo,{variant:"h6",title:e||u("contactName.noName"),sx:e?void 0:{color:"text.disabled",fontStyle:"italic"},children:e||u("contactName.noName")}),b&&t.jsx(So,{size:"small",onClick:()=>g(!0),className:"edit-icon",alwaysVisible:!e,sx:{ml:1},children:t.jsx(Be.Edit,{fontSize:"small"})})]})})},wo=({src:e,alt:a,onError:n,onUpload:r,onDelete:o,isUploading:i,isDeleting:d})=>{const c=ye();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:!!i,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx($r,{fontSize:"small"})}),t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.delete"),onClick:o,disabled:!!d,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(aa,{fontSize:"small"})})]})]})},To=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Io=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:g,contactType:y,firstName:C,lastName:h,name:x,entityId:m,onEntityUpdated:b})=>{const j=`Avatar for ${a}`;return t.jsxs(To,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(wo,{src:e,alt:j,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:u,onDelete:p,isDeleting:g}),t.jsx(jo,{displayName:a,contactType:y,firstName:C,lastName:h,name:x,entityId:m,onEntityUpdated:b}),t.jsx(yo,{tags:r,onEditTags:o})]})},Fa=20,ko=e=>{const{popperContainer:a,...n}=e;return t.jsx(Pr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Eo=({value:e,options:a,onChange:n,onBack:r,onSave:o,isSaving:i,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=ye(),[g,y]=l.useState(""),[C,h]=l.useState(Fa),x=l.useDeferredValue(g),m=l.useMemo(()=>a??[],[a]),b=l.useMemo(()=>{const D=String(x??"").trim().toLowerCase();return D?m.filter(U=>String(U?.name??"").toLowerCase().includes(D)):m},[m,x]),j=l.useMemo(()=>b.slice(0,C),[b,C]),w=l.useMemo(()=>{const D=new Map;for(const U of e??[])U?.id&&D.set(String(U.id),U);for(const U of j??[])U?.id&&(D.has(String(U.id))||D.set(String(U.id),U));return Array.from(D.values())},[e,j]),T=(D,U)=>{y(U??""),h(Fa)},I=D=>{const U=D;U.scrollTop+U.clientHeight>=U.scrollHeight-24&&h(M=>M+Fa)},k=()=>{const D=String(g??"").trim(),U=!D||i||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(ot.LoadingButton,{onClick:()=>d(D),loading:c,disabled:U,variant:"contained",size:"small",sx:{marginTop:1.3},children:p("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":p("global.back"),disabled:i,children:t.jsx(Ea,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:p("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(ot.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ht,{}),onClick:o,loading:i,disabled:i,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(D,U)=>n(U),options:w,filterOptions:D=>D,inputValue:g,onInputChange:T,getOptionLabel:D=>D?.name??"",isOptionEqualToValue:(D,U)=>String(D?.id)===String(U?.id),PopperComponent:D=>t.jsx(ko,{...D,popperContainer:u}),renderOption:(D,U)=>{const{key:M,...F}=D;return l.createElement("li",{...F,key:U?.id?String(U.id):String(M??U?.name??"")},U.name??"")},renderTags:(D,U)=>D.map((M,F)=>{const N=U({index:F}),{key:$,...O}=N;return t.jsx(s.Chip,{label:M.name??"",...O},M?.id?String(M.id):String($??M?.name??F))}),size:"small",renderInput:D=>t.jsx(s.TextField,{...D,size:"small"}),ListboxProps:{onScroll:I,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(k,{}),sx:{width:"100%"}})]})};var Do=Object.defineProperty,Ao=(e,a,n)=>a in e?Do(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,un=(e,a,n)=>Ao(e,typeof a!="symbol"?a+"":a,n);let pn=class extends Error{constructor(a,n,r){super(a),un(this,"status"),un(this,"body"),this.name="ApiError",this.status=n,this.body=r}};async function ze({url:e,method:a="GET",headers:n,body:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new pn(c,i.status,d)}return d}async function Fo({url:e,method:a="POST",headers:n,formData:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:r,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new pn(c,i.status,d)}return d}function Ie(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function Le(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`)}}async function Bo({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.CONTACTS,"/labels");return ze({url:o,signal:n})}async function fn({baseUrl:e,spaceId:a,name:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/labels");return ze({url:i,method:"POST",body:{name:n},signal:r})}async function Mo({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function $o({baseUrl:e,spaceId:a,businessId:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/business/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Po({baseUrl:e,spaceId:a,forType:n,signal:r}){const o=Le(e,a),i=`${Ie(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ze({url:i,signal:r})}async function Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Le(e,a),u=Ie(c.CONTACTS,d);return ze({url:u,method:"PUT",body:o,signal:i})}async function Uo({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/Search");return ze({url:i,method:"POST",body:n,signal:r})}async function Ro({baseUrl:e,spaceId:a,business:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/business");return ze({url:i,method:"POST",body:n,signal:r})}async function ra({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses");return ze({url:i,method:"DELETE",body:n,signal:r})}async function No({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses/check");return ze({url:i,method:"POST",body:n,signal:r})}async function Lo({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses/set");return ze({url:i,method:"POST",body:n,signal:r})}async function Oo({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return ze({url:i,method:"PUT",body:n,signal:r})}async function gn({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.SETTINGS,"/user");return ze({url:o,signal:n})}async function zo({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.SETTINGS,"/users");return ze({url:o,signal:n})}async function _o({baseUrl:e,spaceId:a,signal:n,userId:r}){const o=Le(e,a),i=Ie(o.SETTINGS,`/usersInfo/${r}`);return ze({url:i,signal:n})}async function mn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o}){const i=Le(e,a),d=new FormData;d.append("file",r,r.name);const c=Ie(i.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Fo({url:c,formData:d,signal:o})}const hn=(e,a)=>({fetchLabels:({signal:n}={})=>Bo({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>fn({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>Mo({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>$o({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>Uo({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>Ro({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:o,signal:i})=>Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}),deleteAddress:({data:n,signal:r})=>ra({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>ra({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>No({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>Lo({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Oo({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>gn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>zo({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>_o({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:o})=>mn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o})}),yn=()=>!!window?.google?.maps?.places?.Autocomplete,Wo=(e=1e4)=>new Promise(a=>{if(yn()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(yn()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),Vo=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[o,i]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await Wo(1e4);a(d),d||i("Google Maps API failed to load")}catch{i("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:o}},Ho=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=ye(),o=l.useRef(null),i=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:g}=Vo(),y=l.useMemo(()=>p?r("searchLocationModal.loadingGoogleMaps"):g?r("searchLocationModal.googleMapsUnavailable"):u?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[u,p,g,n,r]);return l.useEffect(()=>{d.current=e},[e]),l.useEffect(()=>{c.current=a},[a]),l.useEffect(()=>{if(!u||!o.current||i.current)return;const C=window?.google;if(!C?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let h=null;const x=()=>{document.querySelectorAll(".pac-container").forEach(b=>{const j=b;j.style.zIndex="20000",j.style.position="fixed"})};h=new MutationObserver(b=>{for(const j of b)for(const w of Array.from(j.addedNodes)){if(w.nodeType!==Node.ELEMENT_NODE)continue;const T=w;T.classList?.contains("pac-container")&&(T.style.zIndex="20000",T.style.position="fixed")}}),h.observe(document.body,{childList:!0,subtree:!0}),x(),window.setTimeout(x,100),i.current=new C.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const m=i.current.addListener?.("place_changed",()=>{const b=i.current?.getPlace?.();if(!b?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let j="",w="",T="",I="",k="",D="";const U=b.address_components??[];for(const $ of U){const O=$?.types??[];if(O.includes("locality")||O.includes("administrative_area_level_2")){j=$.long_name;continue}if(O.includes("administrative_area_level_1")){w=$.long_name;continue}if(O.includes("country")){T=$.long_name;continue}if(O.includes("postal_code")){I=$.long_name;continue}if(O.includes("route")){k=$.long_name;continue}O.includes("street_number")&&(D=$.long_name)}const M=typeof b.geometry.location.lat=="function"?b.geometry.location.lat():0,F=typeof b.geometry.location.lng=="function"?b.geometry.location.lng():0,N={location:{lat:M,lng:F},address:b.formatted_address??"",city:j,state:w,country:T,postalCode:I,streetName:k,streetNumber:D,shortAddress:[k,D].filter(Boolean).join(" ")};d.current(N)});return()=>{h&&h.disconnect(),m?.remove&&m.remove(),i.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:y,disabled:p||!u||!!g,error:!!g})},Go={street:"",city:"",state:"",zipcode:"",country:""},qo=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:o,onEntityUpdated:i})=>{const d=ye(),[c,u]=l.useState(Go),[p,g]=l.useState(""),[y,C]=l.useState(""),[h,x]=l.useState(!1),[m,b]=l.useState(!1),j=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),w=M=>{g(M.address??"");const F=String(M.shortAddress??"").trim()||[M.streetName,M.streetNumber].filter(Boolean).join(" ").trim();u({street:F,city:M.city??"",state:M.state??"",zipcode:M.postalCode??"",country:M.country??""}),C("")},T=M=>{C(String(M??""))},I=M=>F=>{const N=F.target.value;u($=>({...$,[M]:N}))},k=async()=>{if(!h&&!(!e||!a)&&r){x(!0);try{const M=await Ze({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??"")}}});i?.(M),o()}finally{x(!1)}}},D=async()=>{if(!m&&!(!e||!a)&&r){b(!0);try{const M=await Ze({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??"")}}});i?.(M),o()}finally{b(!1)}}},U=!j||h||m;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:o,"aria-label":d("global.back"),children:t.jsx(Ea,{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(Ho,{onPlaceSelected:w,onError:T,placeholder:d("searchLocationModal.enterLocation")}),y?t.jsx(s.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:y}):null]}),t.jsx(s.TextField,{label:d("conversations.contactDetails.street"),value:c.street,onChange:I("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:I("city"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.state"),value:c.state,onChange:I("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:I("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.country"),value:c.country,onChange:I("country"),fullWidth:!0,size:"medium"})]}),p?t.jsx(s.Typography,{variant:"caption",sx:{opacity:.7},children:p}):null,t.jsxs(s.Stack,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(ot.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(ht,{}),onClick:k,loading:h,disabled:U,children:d("searchLocationModal.saveMainAddress")}),t.jsx(ot.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(ht,{}),onClick:D,loading:m,disabled:U,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Ba(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 xn(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 Yo({open:e,baseUrl:a,spaceId:n,contactId:r,contactNameFormat:o}){const i=l.useRef(null),d=l.useMemo(()=>!a||!n?null:hn(a,n),[a,n]),[c,u]=l.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),p=l.useMemo(()=>!!(e&&d&&r),[e,d,r]);l.useEffect(()=>{e||(i.current?.abort(),u({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&&d),[e,d]);l.useEffect(()=>{if(!g||!d)return;const h=new AbortController;return u(x=>({...x,labelsLoading:!0,labelsError:null})),d.fetchLabels({signal:h.signal}).then(x=>{u(m=>({...m,labels:x,labelsLoading:!1,labelsError:null}))}).catch(x=>{h.signal.aborted||u(m=>({...m,labelsLoading:!1,labelsError:x}))}),()=>{h.abort()}},[d,g]),l.useEffect(()=>{if(!p||!d)return;i.current?.abort();const h=new AbortController;return i.current=h,u(x=>({...x,isLoading:!0,error:null,contactData:null})),d.fetchContact({contactId:r,signal:h.signal}).then(x=>{u(m=>({...m,isLoading:!1,error:null,contactData:x}))}).catch(x=>{h.signal.aborted||u(m=>({...m,isLoading:!1,error:x}))}),()=>{h.abort()}},[d,p,r]);const y=l.useMemo(()=>!!(e&&d),[e,d]);l.useEffect(()=>{if(!y||!d)return;const h=new AbortController;return u(x=>({...x,userLoading:!0,userError:null})),d.fetchUserTrii({signal:h.signal}).then(x=>{u(m=>({...m,userLoading:!1,userError:null,userTrii:x}))}).catch(x=>{h.signal.aborted||u(m=>({...m,userLoading:!1,userError:x}))}),()=>{h.abort()}},[d,y]);const C=l.useMemo(()=>{const h=c.contactData,x=Ba(h),m=xn(h);let b="unknown";x&&(b="business"),m&&(b="contact");let j="Unknown Contact";x?j=h.name:m&&(j=sn(h.firstName,h.lastName,o));const w=h?.tags??[];return{isBusiness:x,isContact:m,contactType:b,displayName:j,tags:w,labels:c.labels,contactFields:c.contactFields,userTrii:c.userTrii,userLoading:c.userLoading,userError:c.userError}},[c.contactData,c.labels,c.contactFields,c.userTrii,c.userLoading,c.userError,o]);return l.useEffect(()=>{if(!e||!d)return;const h=c.contactData,x=Ba(h),m=xn(h),b=x?"business":m?"contact":null;if(!b)return;const j=new AbortController;return u(w=>({...w,contactFieldsLoading:!0,contactFieldsError:null})),d.fetchContactFields({forType:b,signal:j.signal}).then(w=>{u(T=>({...T,contactFields:w,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(w=>{j.signal.aborted||u(T=>({...T,contactFieldsLoading:!1,contactFieldsError:w}))}),()=>{j.abort()}},[d,e,c.contactData]),{state:c,selectors:C,actions:{setContactData:h=>u(x=>({...x,contactData:h??null})),clearError:()=>u(h=>({...h,error:null}))}}}const Lt=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:o,onEntityUpdated:i})=>{const[d,c]=l.useState(o??""),[u,p]=l.useState(null),[g,y]=l.useState(!1),[C,h]=l.useState(!1),x=l.useRef(null),m=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function b(F){return F.split("?sv=")[0]}function j(F){return F.split("&cacheId=")[0]}function w(F){let N=b(F);return!N||(N=j(N),!N)?"":N}const T=async()=>{if(!e||!a)return null;const F=await gn({baseUrl:e,spaceId:a});return p(F),F},I=async F=>{const N=(u??await T())?.storageAzureSAS,$=N?.expireAt,O=$?new Date($):null;let G=N?.sas??"";if((!G||O&&O<new Date)&&(G=(await T())?.storageAzureSAS?.sas??""),!G)return F;const P=`${Date.now()}`;return`${F}${G}&cacheId=${P}`},k=async F=>{if(!F){c("");return}const N=b(F);if(!N)return;const $=await I(N);c($)},D=async F=>{const N=F.target.files?.[0];if(N&&m){x.current&&(x.current.value=""),y(!0);try{const $=await mn({baseUrl:e,spaceId:a,contactId:r,file:N}),O=await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:$}});i?.(O),await k($)}finally{y(!1)}}},U=()=>{x.current?.click()},M=async()=>{if(m&&!C){h(!0);try{await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),i?.({imageUrl:""}),c("")}finally{h(!1)}}};return l.useEffect(()=>{if(!o){c("");return}k(o)},[o]),{inputAtributes:{onChange:D,ref:x,type:"file",accept:"image/*"},action:{uploadImage:U,deleteImage:M},imageUrl:d,removeParams:w,isUploading:g,isDeleting:C}},Ce=(e,a)=>{const[n,r]=l.useState(a||""),[o,i]=l.useState(!1),[d,c]=l.useState("");return l.useEffect(()=>{r(a||"")},[a]),{actions:{onError:u=>{i(!0),c(u)},onSuccess:()=>{i(!1),c("")},resetValue:()=>{r(a||"")},changeValue:u=>{r(u)}},attributes:{error:o,helperText:d,type:e,value:n,onChange:u=>{r(u.target.value)}}}},bn=(e="")=>{const[a,n]=l.useState(e),r=d=>{n(d.target.value)},o=d=>{n(d)},i=()=>{n(e??"")};return l.useEffect(()=>{n(e)},[e]),{actions:{resetValue:i,changeValue:o},attributes:{value:a,onChange:r}}};let sa;const Ko=new Uint8Array(16);function Jo(){if(!sa&&(sa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!sa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return sa(Ko)}const Me=[];for(let e=0;e<256;++e)Me.push((e+256).toString(16).slice(1));function Xo(e,a=0){return Me[e[a+0]]+Me[e[a+1]]+Me[e[a+2]]+Me[e[a+3]]+"-"+Me[e[a+4]]+Me[e[a+5]]+"-"+Me[e[a+6]]+Me[e[a+7]]+"-"+Me[e[a+8]]+Me[e[a+9]]+"-"+Me[e[a+10]]+Me[e[a+11]]+Me[e[a+12]]+Me[e[a+13]]+Me[e[a+14]]+Me[e[a+15]]}const Qo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var vn={randomUUID:Qo};function Ot(e,a,n){if(vn.randomUUID&&!a&&!e)return vn.randomUUID();e=e||{};const r=e.random||(e.rng||Jo)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,a){n=n||0;for(let o=0;o<16;++o)a[n+o]=r[o];return a}return Xo(r)}function Zo(e){return{id:Ot(),address:"",note:"",channelType:e,isSaved:!1}}var oa={createNewAddress:Zo};const ei=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},ti=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var jt={getEditedField:ei,getAddressesWithUpdatedValues:ti};const Cn=({entityId:e,initial:a,dispatch:n,deleteAddress:r})=>{const[o,i]=l.useState(!1),[d,c]=l.useState(()=>a),[u,p]=l.useState(a?.ims_facebook||[]),[g,y]=l.useState(a?.ims_mercadolibre||[]),[C,h]=l.useState(a?.ims_webchat||[]),[x,m]=l.useState(a?.ims_instagram||[]),[b,j]=l.useState(a?.ims_whatsapp||[]),[w,T]=l.useState(a?.emails||[]),[I,k]=l.useState(a?.phones||[]),[D,U]=l.useState(a?.ims_rcs||[]),M=()=>{const H=oa.createNewAddress(Ct.ChannelType.PHONE),_=[...I,H];k(_)},F=()=>{const H=oa.createNewAddress(Ct.ChannelType.EMAIL),_=[...w,H];T(_)},N=()=>{const H=oa.createNewAddress(Ct.ChannelType.WHATSAPP),_=[...b,H];j(_)},$=()=>{const H=oa.createNewAddress(Ct.ChannelType.RCS),_=[...D,H];U(_)},O=H=>{const _=[...b,H];j(_),c(S=>({...S??{},ims_whatsapp:_}))},G=(H,_)=>{if(_){if(_.channelType===3){const S=w.map(A=>A.id===H?_:A);T(S),c(A=>({...A??{},emails:S}))}if(_.channelType===5){const S=I.map(A=>A.id===H?_:A);k(S),c(A=>({...A??{},phones:S}))}if(_.channelType===13){const S=b.map(A=>A.id===H?_:A);j(S),c(A=>({...A??{},ims_whatsapp:S}))}if(_.channelType===21){const S=D.map(A=>A.id===H?_:A);U(S),c(A=>({...A??{},ims_rcs:S}))}if(_.channelType===41){const S=g.map(A=>A.id===H?_:A);y(S),c(A=>({...A??{},ims_mercadolibre:S}))}}},P=async(H,_,S)=>{const A=H.target.value;if(S===3){const E=jt.getAddressesWithUpdatedValues(A,_,w);T(E)}else if(S===5){const E=jt.getAddressesWithUpdatedValues(A,_,I);k(E)}else if(S===13){const E=jt.getAddressesWithUpdatedValues(A,_,b);j(E)}else if(S===21){const E=jt.getAddressesWithUpdatedValues(A,_,D);U(E)}else if(S===41){const E=jt.getAddressesWithUpdatedValues(A,_,g);y(E)}},V=(H,_,S)=>{if(S===14){const A=u.map(E=>E.id===_?{...E,note:H.target.value}:E);p(A)}if(S===20){const A=C.map(E=>E.id===_?{...E,note:H.target.value}:E);h(A)}if(S===16){const A=x.map(E=>E.id===_?{...E,note:H.target.value}:E);m(A)}if(S===3){const A=w.map(E=>E.id===_?{...E,note:H.target.value}:E);T(A)}if(S===5){const A=I.map(E=>E.id===_?{...E,note:H.target.value}:E);k(A)}if(S===13){const A=b.map(E=>E.id===_?{...E,note:H.target.value}:E);j(A)}if(S===21){const A=D.map(E=>E.id===_?{...E,note:H.target.value}:E);U(A)}if(S===41){const A=g.map(E=>E.id===_?{...E,note:H.target.value}:E);y(A)}},X=async(H,_)=>{if(e&&(_===3||_===5||_===13||_===14||_===20||_===16||_===21||_===41)){i(H);const S={contactId:e,contactAddressId:H,type:_};switch(n?await n(r(S)):await r(S),i(!1),_){case 3:const A=w.filter(te=>te.id!==H);T(A),c(te=>({...te??{},emails:A}));break;case 5:const E=I.filter(te=>te.id!==H);k(E),c(te=>({...te??{},phones:E}));break;case 13:const W=b.filter(te=>te.id!==H);j(W),c(te=>({...te??{},ims_whatsapp:W}));break;case 21:const q=D.filter(te=>te.id!==H);U(q),c(te=>({...te??{},ims_rcs:q}));break;case 41:const re=g.filter(te=>te.id!==H);y(re),c(te=>({...te??{},ims_mercadolibre:re}));break;case 14:const oe=u.filter(te=>te.id!==H);p(oe),c(te=>({...te??{},ims_facebook:oe}));break;case 20:const je=C.filter(te=>te.id!==H);h(je),c(te=>({...te??{},ims_webchat:je}));break;case 16:const he=x.filter(te=>te.id!==H);m(he),c(te=>({...te??{},ims_instagram:he}));break}}};function me(){p(d?.ims_facebook||[]),y(d?.ims_mercadolibre||[]),h(d?.ims_webchat||[]),m(d?.ims_instagram||[]),j(d?.ims_whatsapp||[]),U(d?.ims_rcs||[]),T(d?.emails||[]),k(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(T(a.emails),k(a.phones)),j(a?.ims_whatsapp||[]),U(a?.ims_rcs||[]),p(a?.ims_facebook||[]),h(a?.ims_webchat||[]),m(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:b,imsRCS:D,imsMercadolibre:g,imsFacebooks:u,imsWebchats:C,imsInstagrams:x,emails:w,phoneNumbers:I},action:{handleAddressFieldChange:P,handleNoteFieldChange:V,handleDeleteAddress:X,addPhone:M,addEmail:F,addWhatsapp:N,addRCS:$,replaceAddress:G,addWhatsappVerified:O,resetToInitialContactInformation:me},state:{isDeletingAddress:o}}},Sn=({initialState:e=[]}={})=>{const[a,n]=l.useState(e);return{attributes:{value:a,onChange:(r,o)=>{const i=o.some(d=>!a.some(c=>d.id===c.id));(a.filter(d=>!o.some(c=>c.id===d.id)).length>0||i)&&n(o)}},actions:{addValue:r=>{n(o=>o.concat(r))},setValue:r=>{n(r)}}}},ai=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async Y=>{!n||!r||await ra({baseUrl:n,spaceId:r,data:Y})},[n,r]),i=async Y=>Y,[d,c]=l.useState([]),u=Ce("text",e?.name||""),p=Lt({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),g=bn(e?.owner),y=Sn({initialState:e?.tags??[]}),[C,h]=l.useState([]),{field:{imsFacebooks:x,imsMercadolibre:m,imsWebchats:b,imsInstagrams:j,imsWhatsapp:w,emails:T,phoneNumbers:I,imsRCS:k},action:{addPhone:D,addEmail:U,addWhatsapp:M,addRCS:F,addWhatsappVerified:N,replaceAddress:$,handleAddressFieldChange:O,handleNoteFieldChange:G,handleDeleteAddress:P,resetToInitialContactInformation:V},state:{isDeletingAddress:X}}=Cn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),me=Ce("text",e?.address1?.street||""),H=Ce("text",e?.address2?.street||""),_=Ce("text",e?.address1?.city||""),S=Ce("text",e?.address2?.city||""),A=Ce("text",e?.address1?.state||""),E=Ce("text",e?.address2?.state||""),W=Ce("text",e?.address1?.zipcode||""),q=Ce("text",e?.address2?.zipcode||""),re=Ce("text",e?.address1?.country||""),oe=Ce("text",e?.address2?.country||""),je=(Y,ue,xe)=>ue!==xe&&!(ue===null&&xe==="")?{[Y]:xe}:{},he=()=>{if(!e)return null;const Y={street:me.attributes.value,city:_.attributes.value,state:A.attributes.value,zipcode:W.attributes.value,country:re.attributes.value},ue={street:H.attributes.value,city:S.attributes.value,state:E.attributes.value,zipcode:q.attributes.value,country:oe.attributes.value};return{id:e.id,...je("owner",e.owner,g.attributes.value),...je("name",e.name,u.attributes.value),imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,tags:y.attributes.value,properties:d,members:C,phoneNumbers:I,emails:T,address1:Y,address2:ue}};function te(Y){if(!e)return;const ue=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===Y)??e.properties.find(Q=>ue(Q.nameKey)===ue(Y));if(!xe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Y}`);return}const Ye=d.map(Q=>Q.nameKey===Y?{...Q,value:xe.value}:Q);c(Ye)}const Ae=()=>e?a.map(Y=>{const ue=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===Y.nameKey)??e.properties.find(Q=>ue(Q.nameKey)===ue(Y.nameKey));if(xe)return{...xe,nameKey:Y.nameKey,type:xe.type??Y.type,value:xe.value};const Ye=d.find(Q=>Q.nameKey===Y.nameKey);return{nameKey:Y.nameKey,type:Y.type,value:Ye?Ye.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Ae())},[e,a]),l.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:w,imsRCS:k,contactImage:p,contactPropietary:g,imsMercadolibre:m,imsFacebooks:x,imsWebchats:b,imsInstagrams:j,emails:T,phoneNumbers:I,homeAddress:me,secondaryHomeAddress:H,city:_,secondaryCity:S,state:A,secondaryState:E,postalCode:W,secondaryPostalCode:q,country:re,secondaryCountry:oe,customProperties:d,labelMultipleSelect:y},action:{setCustomProperties:c,addWhatsapp:M,addRCS:F,getEditedBusiness:he,handleAddressFieldChange:O,handleNoteFieldChange:G,handleDeleteAddress:P,addPhone:D,addEmail:U,replaceAddress:$,addWhatsappVerified:N,resetToInitialContactInformation:V,resetCustomProperty:te},state:{isDeletingAddress:X},selectedContacts:C,setSelectedContacts:h}},ni=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async Q=>{!n||!r||await ra({baseUrl:n,spaceId:r,data:Q})},[n,r]),i=async Q=>Q,{getEditedField:d}=jt,[c,u]=l.useState([]),p=Ce("text",e?.firstName||""),g=Ce("text",e?.lastName||""),y=Lt({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[C,h]=l.useState(e?.birthDate?J(e.birthDate):null),x=Cn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:m,imsMercadolibre:b,imsWebchats:j,imsInstagrams:w,imsWhatsapp:T,emails:I,phoneNumbers:k,imsRCS:D},action:{addPhone:U,addEmail:M,addWhatsapp:F,addRCS:N,addWhatsappVerified:$,replaceAddress:O,handleAddressFieldChange:G,handleNoteFieldChange:P,handleDeleteAddress:V,resetToInitialContactInformation:X},state:{isDeletingAddress:me}}=x,H=Sn({initialState:e?.tags}),_=bn(e?.owner),S=Ce("text",e?.address1?.street),A=Ce("text",e?.address2?.street),E=Ce("text",e?.address1?.city),W=Ce("text",e?.address2?.city),q=Ce("text",e?.address1?.state),re=Ce("text",e?.address2?.state),oe=Ce("text",e?.address1?.zipcode),je=Ce("text",e?.address2?.zipcode),he=Ce("text",e?.address1?.country),te=Ce("text",e?.address2?.country),Ae=()=>{if(!e)return null;const Q=e,Pe=H.attributes.value.map(ce=>({id:ce.id,name:ce.name})),We=k.map(ce=>{const{id:It,...et}=ce;return et}),Ge=I.map(ce=>{const{id:It,...et}=ce;return et});return{id:Q.id,owner:_.attributes.value,firstName:p.attributes.value,lastName:g.attributes.value,address1:{...d("street",Q.address1?.street,S.attributes.value),...d("city",Q.address1?.street,E.attributes.value),...d("state",Q.address1?.street,q.attributes.value),...d("zipcode",Q.address1?.street,oe.attributes.value),...d("country",Q.address1?.street,he.attributes.value)},address2:{...d("street",Q.address2?.street,A.attributes.value),...d("city",Q.address2?.street,W.attributes.value),...d("state",Q.address2?.street,re.attributes.value),...d("zipcode",Q.address2?.street,je.attributes.value),...d("country",Q.address2?.street,te.attributes.value)},emails:Ge,phones:We,tags:Pe,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:c,birthDate:C?.toDate()}};function Y(){e&&(!e.businessId||e.businessName)}function ue(){h(e?.birthDate?J(e.birthDate):null)}function xe(Q){if(!e)return;const Pe=ce=>ce.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ce=>ce.nameKey===Q)??e.properties.find(ce=>Pe(ce.nameKey)===Pe(Q));if(!We){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Q}`);return}const Ge=c.map(ce=>ce.nameKey===Q?{...ce,value:We.value}:ce);u(Ge)}const Ye=()=>e?a.map(Q=>{const Pe=ce=>ce.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ce=>ce.nameKey===Q.nameKey)??e.properties.find(ce=>Pe(ce.nameKey)===Pe(Q.nameKey));if(We)return{...We,nameKey:Q.nameKey,type:We.type??Q.type,value:We.value};const Ge=c.find(ce=>ce.nameKey===Q.nameKey);return{nameKey:Q.nameKey,type:Q.type,value:Ge?Ge.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ye())},[e,a]),l.useEffect(()=>{e?.tags&&H.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:C,imsWhatsapp:T,imsRCS:D,contactFirstname:p,contactLastname:g,contactImage:y,contactPropietary:_,imsMercadolibre:b,imsFacebooks:m,imsWebchats:j,imsInstagrams:w,emails:I,phoneNumbers:k,homeAddress:S,secondaryHomeAddress:A,city:E,secondaryCity:W,state:q,secondaryState:re,postalCode:oe,secondaryPostalCode:je,country:he,secondaryCountry:te,customProperties:c,labelMultipleSelect:H},action:{setBirthDate:h,setCustomProperties:u,getEditedContact:Ae,handleAddressFieldChange:G,handleNoteFieldChange:P,handleDeleteAddress:V,addPhone:U,addEmail:M,addWhatsapp:F,addRCS:N,replaceAddress:O,addWhatsappVerified:$,resetToInitialContactInformation:X,resetSelectedBusiness:Y,resetBirthDate:ue,resetCustomProperty:xe},state:{isDeletingAddress:me}}},Ma=l.createContext(null),ri=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=ni({contact:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Ma.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},si=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=ai({business:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Ma.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},oi=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(ri,{contact:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}):t.jsx(si,{business:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}),it=()=>{const e=l.useContext(Ma);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},wt=({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(o=>o?.id===e);return r?.name?.trim()||r?.email||null},ia=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const o=ye();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(Ur,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>r&&r(),children:o("global.searchLocation")})]}),t.jsx(s.Divider,{sx:{my:1.5}}),a]})},jn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),ii=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ga.DatePicker,{value:e,onChange:o=>a(o),slotProps:{textField:{size:"small"}},format:r})})})},li={view:"main",setView:()=>{}},wn=l.createContext(null),di=wn.Provider,ci=()=>l.useContext(wn)||(console.warn("[useEditContactView] using noop, context value is missing"),li),Tn=()=>{},In=l.createContext(Tn),ui=({navigate:e,children:a})=>t.jsx(In.Provider,{value:e,children:a}),pi=()=>l.useContext(In)||(console.warn("[useNavigateContext] using noop, context value is falsy"),Tn);function fi({value:e,displayValue:a,businessId:n}){const r=ut(),o=pi(),[i,d]=l.useState(null),c=Lt({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[g,y]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async C=>{const h=C.currentTarget;if(y(!0),!r){console.error("API is null");return}const x=await r.fetchBusiness({businessId:n});if(x&&Ba(x)&&d(x),y(!1),!h){console.error("Target element is null");return}p(h)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:C=>C.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),i&&t.jsx(on,{contactData:i,open:!!u,anchorEl:u,onClose:()=>p(null),navigate:o,avatarImgUrl:c.imageUrl}),g&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const gi=e=>"email"in e,$a=e=>e.entityType==="contact"&&e.inputType==="birthday",mi=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),kn=s.styled(s.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),pt=e=>{const{title:a,value:n,isNotEditable:r,displayValue:o,baseUrl:i,spaceId:d,minWidth:c,onEntityUpdated:u}=e,p=ye(),{setView:g}=ci(),y=e.inputType??"text",[C,h]=l.useState(!1),[x,m]=l.useState(!1),b=l.useRef(null),[j,w]=l.useState(!1),[T,I]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const P=b.current;if(!P)return;const V=()=>{const X=P.scrollWidth>P.clientWidth;w(me=>me===X?me:X)};if(V(),typeof ResizeObserver<"u"){let X=0;const me=new ResizeObserver(()=>{if(typeof window>"u"){V();return}X&&window.cancelAnimationFrame(X),X=window.requestAnimationFrame(()=>{V()})});return me.observe(P),()=>{typeof window<"u"&&X&&window.cancelAnimationFrame(X),me.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",V),()=>{window.removeEventListener("resize",V)}},[a]),l.useEffect(()=>{e.entityType==="business"?I(n):I(typeof n=="string"?n:void 0)},[n,e.entityType]);const k=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){g("businessSelect");return}h(P=>!P)},D=P=>{I(P.target.value)},U=P=>{const V=P.target.value;I(V)},M=()=>{$a(e)&&e.contact.action.resetBirthDate(),h(!1)},F=async()=>{if(!e.constructUpdateObject){h(!1);return}if(e.entityType==="business"&&T===void 0){h(!1);return}m(!0);try{if(!i||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let P=T===void 0?null:T;if($a(e)){const H=J(e.contact.field.birthDate);H.isValid()&&(P=H.toISOString())}const V=e.constructUpdateObject(P),X=e.entityId??V?.id;if(!X)throw new Error("Missing contactId for updateEntity");const me=await Ze({baseUrl:i,spaceId:d,entityType:"contact",entityId:X,body:V});u?.(me)}else{const P=e.constructUpdateObject(T),V=e.entityId??P?.id;if(!V)throw new Error("Missing businessId for updateEntity");const X=await Ze({baseUrl:i,spaceId:d,entityType:"business",entityId:V,body:P});u?.(X)}}finally{m(!1),h(!1)}},N=typeof T=="string"?T:"",$=T instanceof Date?T.toISOString():typeof T=="string"?T:"",O=c??(e.entityType==="contact"?"45%":"200px"),G=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:P=>P.palette.mode==="dark"?"1e1e1e":P.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:O,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[j?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:b,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:C?1:0,color:P=>P.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:b,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:C?1:0,color:P=>P.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:C?t.jsxs(t.Fragment,{children:[t.jsx(kn,{size:"small",onClick:F,children:x?t.jsx(s.CircularProgress,{size:24}):t.jsx(ht,{})}),t.jsx(kn,{size:"small",onClick:M,children:t.jsx(qa,{})})]}):t.jsx(mi,{className:"edit-icon",size:"small",onClick:k,children:t.jsx(Mt,{})})]}),t.jsx(s.Box,{width:C?"100%":"50%",position:"relative",children:C&&y==="text"?t.jsx(s.TextField,{value:$,onChange:D,variant:"standard",size:"small",sx:{width:"100%"}}):C&&(y==="select"||y==="selectMembers")?t.jsxs(s.Select,{value:N,onChange:U,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(s.MenuItem,{value:"",children:p("conversations.contactDetails.contactInfo.emptySelection")}):null,G.map((P,V)=>t.jsx(s.MenuItem,{value:P.id,children:e.entityType==="contact"?P.name?.trim()||(gi(P)?P.email:"")||"Sin nombre":P.name?.trim()||P.email||"Sin nombre"},V))]}):C&&$a(e)?t.jsx(ii,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!C&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(fi,{value:String(n??""),displayValue:String(o??""),businessId:e.businessId}):t.jsx(s.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:P=>P.palette.text.primary,children:o||typeof n=="string"&&n||"-"})})]})},zt=e=>{const{title:a,value:n,isNotEditable:r,options:o=[],displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:g,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(pt,{entityType:"contact",entityId:g,title:a,value:n,isNotEditable:r,inputType:"birthday",options:o,displayValue:i,constructUpdateObject:d,contact:e.contact,businessId:c,baseUrl:u,spaceId:p,dateFormat:e.dateFormat,onEntityUpdated:y});const C=e.inputType??"text";return t.jsx(pt,{entityType:"contact",entityId:g,title:a,value:n,isNotEditable:r,inputType:C,options:o,displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:y})},hi=({nameKey:e,value:a,onChange:n,type:r,min:o,max:i})=>{const d=h=>{r===ae.ContactField_type.NUMBER_ACCOUNTING||r===ae.ContactField_type.NUMBER_DECIMAL||r===ae.ContactField_type.NUMBER_CURRENCY||r===ae.ContactField_type.CURRENCY?u(h):r===ae.ContactField_type.NUMBER_INTEGER?p(h):(r===ae.ContactField_type.LONGTEXT||r===ae.ContactField_type.TEXT||r===ae.ContactField_type.ADDRESS)&&c(h)},c=h=>{n(e,h.target.value)},u=h=>{const x=h.target.value.replace(/[^0-9.-]/g,"");if(x===""||x==="-"){n(e,x);return}const m=Number(x);Number.isNaN(m)||n(e,x)},p=h=>{const x=h.target.value;if(x===""){n(e,x);return}/^\d*$/.test(x)&&n(e,x)},g=()=>r===ae.ContactField_type.CURRENCY||r===ae.ContactField_type.NUMBER_ACCOUNTING||r===ae.ContactField_type.NUMBER_DECIMAL||r===ae.ContactField_type.NUMBER_INTEGER||r===ae.ContactField_type.NUMBER_CURRENCY,y=()=>{if(!g()||a===""||a==null)return!1;const h=Number(a);return Number.isNaN(h)?!1:o!=null&&h<o||i!=null&&h>i},C=()=>{if(g()){if(o!=null&&i!=null)return`${o} - ${i}`;if(o!=null)return`min: ${o}`;if(i!=null)return`max: ${i}`}};return t.jsx(s.TextField,{size:"small",variant:"standard",value:a,onChange:d,error:y(),helperText:C(),inputProps:{pattern:"[0-9]*"},multiline:r===ae.ContactField_type.LONGTEXT,rows:r===ae.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},yi=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ga.DatePicker,{value:e?J(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},xi=({handleChange:e,value:a,options:n})=>{const r=ye();return t.jsx(s.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(s.Select,{value:a,onChange:o=>e(o.target.value),size:"small",variant:"standard",children:[t.jsx(s.MenuItem,{value:"",children:r("global.noValue")}),n.map((o,i)=>t.jsx(s.MenuItem,{value:o,children:o},i))]})})},bi=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Rr.TimePicker,{value:e?J(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},vi=({value:e,handleChange:a,userTimeFormat:n})=>{const r=ye(),o=[J().set("hour",0).set("minute",0),J().set("hour",0).set("minute",0)],i=n==="24"?"HH:mm":"hh:mm";return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Je.MultiInputTimeRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:d=>a(d),format:i})})})},Ci=({value:e,handleChange:a,userDateFormat:n})=>{const r=ye(),o=[J(),J()],i=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Je.MultiInputDateRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:d=>a(d),format:i})})})},Si=s.styled(s.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),En=s.styled(s.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),ji=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),Dn=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})),wi=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"})),An=({property:e,entity:a,entityType:n,entityId:r,customContactFields:o,userTrii:i,baseUrl:d,spaceId:c,onEntityUpdated:u})=>{const{customProperties:p}=a.field,{setCustomProperties:g}=a.action,[y,C]=l.useState(!1),[h,x]=l.useState(!1),m=l.useRef(null),[b,j]=l.useState(!1),w=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),T=i?.regCon_timeFormat||"24",I=S=>S===ae.ContactField_type.NUMBER_INTEGER||S===ae.ContactField_type.NUMBER_DECIMAL||S===ae.ContactField_type.NUMBER_CURRENCY||S===ae.ContactField_type.NUMBER_ACCOUNTING||S===ae.ContactField_type.CURRENCY,k=(S,A)=>S.toLowerCase()==="dni"?!0:I(A),D=(S,A,E)=>{if(E===""||E===null||E===void 0)return null;if(k(S,A)){const W=Number(E);return Number.isNaN(W)?E:W}return E},U=()=>C(S=>!S),M=()=>{C(!1),a.action.resetCustomProperty(e.nameKey)},F=async()=>{if(!d||!c||!r)return;x(!0);const S=p.find(oe=>oe.nameKey===e.nameKey)||e,{nameKey:A,value:E}=S,W=o.find(oe=>oe.nameKey===A)?.type??S.type;let q;if(W===ae.ContactField_type.TIME){const oe=J(E);oe.isValid()?q=oe.format(T==="24"?"HH:mm":"hh:mm"):q=E}else if(W===ae.ContactField_type.DATE){const oe=J(E);oe.isValid()?q=oe.toISOString():q=E}else q=D(A,W,E);const re={properties:[{nameKey:A,type:W,value:q}]};try{const oe=await Ze({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:re}),je=p.map(he=>he.nameKey===A?{...he,type:W,value:q}:he);g(je),u?.(oe)}finally{x(!1),C(!1)}},N=S=>o.find(A=>A.nameKey===S)?.name||S;l.useEffect(()=>{const S=m.current;if(!S)return;const A=()=>{const E=S.scrollWidth>S.clientWidth;j(W=>W===E?W:E)};if(A(),typeof ResizeObserver<"u"){let E=0;const W=new ResizeObserver(()=>{if(typeof window>"u"){A();return}E&&window.cancelAnimationFrame(E),E=window.requestAnimationFrame(()=>{A()})});return W.observe(S),()=>{typeof window<"u"&&E&&window.cancelAnimationFrame(E),W.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",A),()=>{window.removeEventListener("resize",A)}},[o,e.nameKey]);const $=(S,A)=>{const E=e.type===ae.ContactField_type.DATERANGE?Array.isArray(A)&&A[0]&&A[1]?`${J(A[0]).toISOString()} - ${J(A[1]).toISOString()}`:"":e.type===ae.ContactField_type.DATE?J(A).isValid()?J(A).toISOString():"Invalid Date":e.type===ae.ContactField_type.TIME?J(A).isValid()?J(A).toISOString():"Invalid Time":A,W=p.map(q=>q.nameKey===S?{...q,value:E}:q);g(W)},{type:O,nameKey:G,value:P}=e,V=S=>S==null?!1:typeof S=="string"?S.trim().length>0:!0,X=(o.find(S=>S.nameKey===e.nameKey)?.requiredField??!1)&&!V(P),me=[ae.ContactField_type.NUMBER_INTEGER,ae.ContactField_type.NUMBER_DECIMAL,ae.ContactField_type.NUMBER_CURRENCY,ae.ContactField_type.NUMBER_ACCOUNTING,ae.ContactField_type.CURRENCY],H=()=>{const S=o.find(q=>q.nameKey===G);if(!S)return!1;const{min:A,max:E}=S;if(A==null&&E==null||!me.includes(O)||P===""||P==null)return!1;const W=Number(P);return Number.isNaN(W)?!1:A!=null&&W<A||E!=null&&W>E},_=()=>O===ae.ContactField_type.DATE?t.jsx(yi,{value:P?J(P):null,handleChange:S=>$(G,S?.toDate()),dateFormat:w}):O===ae.ContactField_type.TIME?t.jsx(bi,{value:e?.valueDate?J(e.valueDate):P?J(P):null,handleChange:S=>$(G,S),userTimeFormat:T}):O===ae.ContactField_type.DATERANGE?t.jsx(Ci,{value:P&&typeof P=="string"&&P.includes(" - ")?[J(P.split(" - ")[0]),J(P.split(" - ")[1])]:null,handleChange:S=>$(G,[S[0]?.toDate?.(),S[1]?.toDate?.()]),userDateFormat:w}):O===ae.ContactField_type.TIMERANGE?t.jsx(vi,{value:Array.isArray(P)&&P.length===2?[J(P[0]),J(P[1])]:null,handleChange:S=>$(G,[S[0]?.toDate?.(),S[1]?.toDate?.()]),userTimeFormat:T}):O===ae.ContactField_type.OPTIONS?t.jsx(xi,{value:typeof P=="string"?P:"",handleChange:S=>$(G,S),options:o.find(S=>S.nameKey===G)?.typeOptions??[]}):t.jsx(hi,{type:O,nameKey:G,value:P,onChange:$,min:o.find(S=>S.nameKey===G)?.min,max:o.find(S=>S.nameKey===G)?.max});return t.jsxs(ji,{className:`fadein ${e.type===ae.ContactField_type.LONGTEXT?"col-12":"col-5"}`,children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[b?t.jsx(s.Tooltip,{title:N(e.nameKey),arrow:!0,children:t.jsxs(Dn,{ref:m,flexGrow:1,noWrap:!0,children:[N(e.nameKey),X&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]})}):t.jsxs(Dn,{ref:m,flexGrow:1,noWrap:!0,children:[N(e.nameKey),X&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]}),y?t.jsxs(t.Fragment,{children:[t.jsx(En,{size:"small",onClick:F,disabled:h||H(),children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(ht,{})}),t.jsx(En,{size:"small",onClick:M,children:t.jsx(qa,{})})]}):t.jsx(Si,{className:"edit-icon",size:"small",onClick:U,children:t.jsx(Mt,{})})]}),t.jsx(s.Box,{width:y||e.type===ae.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?h?null:_():t.jsx(wi,{children:V(e?.value)?e.type===ae.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const S=e.value.split(" - ");if(S.length===2){const[A,E]=S,W=J(A),q=J(E);return`${W.isValid()?W.format(w):"-"} - ${q.isValid()?q.format(w):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${J(e.value[0]).format(w)} - ${J(e.value[1]).format(w)}`;return`${e.value}`})():e.type===ae.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${J(e.value[0]).format(T==="24"?"HH:mm":"hh:mm")} - ${J(e.value[1]).format(T==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ae.ContactField_type.TIME?(()=>{try{const S=e.valueDate||e.value;return`${J(S).format(T==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ae.ContactField_type.DATE?(()=>{try{return`${J(e.value).format(w)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Ti=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,u=ye(),{entityType:p,editEntity:g}=it(),y=ut();if(p!=="contact")return null;const[C,h]=l.useState([]),[x,m]=l.useState(null),[b,j]=l.useState(null),[w,T]=l.useState(null),I=g;l.useEffect(()=>{if(!y)return;const F=new AbortController;return y.fetchUsers({signal:F.signal}).then(N=>{F.signal.aborted||h(N??[])}).catch(()=>{F.signal.aborted||h([])}),()=>{F.abort()}},[y]),l.useEffect(()=>{const F=new AbortController,N=async $=>{if(!$||!y)return null;try{const O=await y.fetchUserTriiById({userId:$,signal:F.signal});return O?.display_name||O?.email||null}catch{return null}};return(async()=>{const $=wt({userId:n.owner,users:C,currentUser:d})??(n.owner?await N(n.owner):null),O=wt({userId:n.createdBy??void 0,users:C,currentUser:d})??(n.createdBy?await N(n.createdBy):null),G=wt({userId:n.updatedBy??void 0,users:C,currentUser:d})??(n.updatedBy?await N(n.updatedBy):null);F.signal.aborted||(m($),T(O),j(G))})(),()=>{F.abort()}},[y,n,C,d]);const k=(a||"YYYY/MM/DD").toUpperCase(),D=I.field.birthDate,U=D?.isValid()?D.format(k):null,M=F=>{const N=new Date;let $=N.getFullYear()-F.getFullYear();const O=N.getMonth()-F.getMonth();return(O<0||O===0&&N.getDate()<F.getDate())&&$--,$};return t.jsx(ia,{title:"General",children:t.jsxs(jn,{children:[t.jsx(zt,{title:u("conversations.contactDetails.contactOwner"),displayValue:x||"-",value:n.owner,inputType:"select",options:C,constructUpdateObject:F=>({owner:typeof F=="string"?F:""}),contact:I,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(zt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:I,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(zt,{title:u("conversations.contactDetails.createdBy"),value:w||"-",isNotEditable:!0,contact:I,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(zt,{title:u("conversations.contactDetails.modifiedBy"),value:b||"-",isNotEditable:!0,contact:I,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(zt,{title:u("global.birthdate"),inputType:"birthday",displayValue:D?`${U} (${M(D.toDate())})`:"-",value:D?D.toISOString():"",constructUpdateObject:F=>({birthDate:F}),contact:I,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:c}),I.field.customProperties.map(F=>t.jsx(An,{property:F,entity:I,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},F.nameKey))]})})},Pa=({title:e,value:a,isNotEditable:n,inputType:r="text",options:o=[],displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:p,onEntityUpdated:g})=>t.jsx(pt,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:o,displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:g}),Ii=e=>{const a=ye(),{entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=it(),g=ut();if(u!=="business")return null;const[y,C]=l.useState([]),[h,x]=l.useState(null),[m,b]=l.useState(null),[j,w]=l.useState(null),T=p;return l.useEffect(()=>{if(!g)return;const I=new AbortController;return g.fetchUsers({signal:I.signal}).then(k=>{I.signal.aborted||C(k??[])}).catch(()=>{I.signal.aborted||C([])}),()=>{I.abort()}},[g]),l.useEffect(()=>{const I=new AbortController,k=async D=>{if(!D||!g)return null;try{const U=await g.fetchUserTriiById({userId:D,signal:I.signal});return U?.display_name||U?.email||null}catch{return null}};return(async()=>{const D=wt({userId:n.owner,users:y,currentUser:d})??(n.owner?await k(n.owner):null),U=wt({userId:n.createdBy??void 0,users:y,currentUser:d})??(n.createdBy?await k(n.createdBy):null),M=wt({userId:n.updatedBy??void 0,users:y,currentUser:d})??(n.updatedBy?await k(n.updatedBy):null);I.signal.aborted||(x(D),w(U),b(M))})(),()=>{I.abort()}},[g,n,y,d]),t.jsx(ia,{title:"General",children:t.jsxs(jn,{children:[t.jsx(Pa,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:h||"-",inputType:"select",options:y,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:c}),t.jsx(Pa,{title:a("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0}),t.jsx(Pa,{title:a("conversations.contactDetails.modifiedBy"),value:m||"-",isNotEditable:!0}),T.field.customProperties.map(I=>t.jsx(An,{property:I,entity:T,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},I.nameKey))]})})},ki=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Ti,{...e,entityData:n,entityType:"contact"}):t.jsx(Ii,{...e,entityData:n,entityType:"business"})},Ei=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState("");return{isOpen:e,title:n,openModal:o=>{r(o),a(!0)},closeModal:()=>{a(!1),r("")}}},Di=Te.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"})),Ai=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Fi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Bi=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Mi=Te.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ua=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),$i=Te.styled(Ua)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Pi=Te.styled(Ua)(({})=>({fontSize:14,fontWeight:500})),Ui=Te.styled(Ua)(({})=>({fontSize:14,fontWeight:500})),Ri=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Lt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Di,{children:[t.jsx(Ai,{children:t.jsxs(Bi,{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(Ui,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx($i,{children:e.note})})]})}),t.jsxs(Fi,{children:[a!==""&&t.jsx(Mi,{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"}})})})]})]})})},Ra=Ya.PhoneNumberUtil.getInstance(),Ni=e=>{if(!e||!e.trim())return e;try{const a=Ra.parse(e,void 0);return Ra.isValidNumber(a)?Ra.format(a,Ya.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Li=Te.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Oi=Te.styled(Nr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),zi=Te.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"})),_i=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Wi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Vi=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Fn=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Hi=Te.styled(Fn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Gi=Te.styled(Fn)(({})=>({fontSize:14,fontWeight:500})),qi=({item:e})=>{const a=()=>{const r=e.address;if(!r)return;const o=new CustomEvent("call-contact-header",{detail:{phoneAddress:r}});window.dispatchEvent(o)},n=l.useMemo(()=>Ni(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(zi,{children:[t.jsxs(_i,{children:[t.jsx(Li,{onClick:a,color:"primary",size:"small",children:t.jsx(Oi,{})}),t.jsxs(Vi,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Gi,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Hi,{children:e.note})})]})]}),t.jsx(Wi,{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"}})})})})]})})},Yi=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})),Ji=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Xi=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),Qi=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Zi=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:o})=>t.jsxs(Yi,{children:[t.jsxs(Ji,{children:[t.jsx(Ki,{children:e}),t.jsx(Qi,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Mt,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(Xi,{children:a.map((i,d)=>n?t.jsx(qi,{item:i},d):t.jsx(Ri,{item:i,owner:o},d))})]}),el=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),tl={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},la=({title:e,handleAdd:a})=>{const n=ye();return t.jsxs(s.Box,{sx:tl.container,children:[t.jsx(s.Typography,{variant:"subtitle2",children:e}),t.jsx(s.Button,{onClick:a,size:"small",startIcon:t.jsx(Ka,{}),variant:"text",color:"primary",children:n("global.add")})]})},al={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},_t=({children:e})=>t.jsx(s.Box,{sx:al.container,children:e}),Bn={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},nl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:o})=>{const i=ye(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:g}=a,[y,C]=l.useState(!1),[h,x]=l.useState(null),[m,b]=l.useState(!1),j=M=>{c(M.currentTarget)},w=()=>{c(null)},T=()=>{b(!1)},I=()=>{e(),w()},k=async()=>{C(!0);try{if(!o)return;const M=await o(13);if(!M)return;x(M),b(!0)}catch(M){console.error("Error verifying WhatsApp account:",M)}finally{C(!1)}w()},D=async()=>{C(!0);try{if(!o)return;const M=await o(21);if(!M)return;x(M),b(!0)}catch(M){console.error("Error verifying RCS account:",M)}finally{C(!1)}w()},U=async()=>{await n(),b(!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:j,children:t.jsx(Lr,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:w,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:I,children:[t.jsx(s.ListItemIcon,{children:t.jsx(aa,{color:"error"})}),t.jsx(s.ListItemText,{children:i("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:k,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Or,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:D,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(zr,{})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:m,onClose:T,"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:M=>M.palette.background.default},children:h?.success?t.jsxs(t.Fragment,{children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.wspAccountFound")," ",g]}),t.jsx(s.Typography,{id:"modal-modal-description",sx:{mt:2},children:i("optionsMenu.wantToLinkContact")}),t.jsxs(s.Box,{sx:{marginTop:"10px"},children:[t.jsx(s.Button,{onClick:U,color:"primary",children:i("optionsMenu.yesLink")}),t.jsx(s.Button,{onClick:T,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:[i("optionsMenu.noWspAccountFound")," ",g]}),t.jsx(s.Button,{onClick:T,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Wt=e=>{const a=ye(),n=ut(),{editEntity:r,entityId:o}=it(),[i,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??o,{note:p,channelType:g,id:y,address:C}=e.addressData,h=!e.addressData.hasOwnProperty("isSaved"),x=e.replaceAddress??r.action.replaceAddress,m=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),b=async I=>{if(!n||!u)return null;const k=await n.setContactAddress({data:{address:C,contactId:u,type:I}});return x(y,k),k},j=async()=>{if(!n||!u)return;const I=await n.updateContactAddress({data:{contactAddressId:y,contactId:u,note:p??""}});x(y,I)},w=async()=>{d(!0),h?(await j(),d(!1)):await b(g)&&d(!1)},T=async()=>{d(!0);const I=await b(13);I&&m&&m(I),I&&d(!1)};return t.jsxs(s.Box,{sx:{...Bn.container},children:[h&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:I=>e.handleNoteFieldChange(I,y,g),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:Bn.noteTextField}),t.jsx(s.IconButton,{onClick:w,children:i?t.jsx(s.CircularProgress,{size:24}):t.jsx(ht,{color:"primary"})}),t.jsx(nl,{onDelete:()=>e.handleDeleteAddress(y,g),addressData:e.addressData,handleLinkAccountSave:T,checked:c&&!i,onCheckContactAddress:async I=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:C,type:I}})}catch{return null}}})]})},rl={container:{display:"flex",gap:"100px",alignItems:"center"}},Vt=({children:e})=>t.jsx(s.Box,{sx:rl.container,children:e}),sl={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Ht=({children:e})=>t.jsx(s.Box,{sx:{...sl.container},children:e}),ol=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Vr,{size:20});case"available":return t.jsx(_r,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Wr,{style:{height:27,width:27},color:"error"});default:return null}},Mn=({status:e,text:a})=>t.jsxs(Hr,{position:"end",children:[a?t.jsx(Gr,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(ol,{status:e})})]}),il={code:{width:"60%",color:"gray"}},ll=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(_t,{children:t.jsxs(Vt,{children:[t.jsx(s.Typography,{sx:il.code,variant:"body2",children:e.address}),t.jsx(Wt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},dl=({IMSs:e,editEntity:a})=>t.jsx(Ht,{children:e?.map(n=>t.jsx(ll,{data:n,editEntity:a},n.id))}),da=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(el,{title:a}),t.jsx(dl,{IMSs:n,editEntity:e})]}),cl={addressField:{}},Na=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:o,address:i}=e,d=ye(),c=ut(),[u,p]=l.useState("idle"),[g,y]=l.useState(i),C=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let h=setTimeout(async()=>{if(i!==""&&i!==g){if(!c)return;p("loading"),y(i);const x={address:i,type:o};try{const m=await c.checkContactAddress({data:x}),{success:b,warnings:j}=m;n(j),p(b?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[c,e,i,o,g,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:C,sx:cl.addressField,size:"small",label:o===Ct.ChannelType.WHATSAPP||o===Ct.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:i,onChange:h=>{a(h,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Mn,{status:u})})}})})},ul={addressField:{}},pl=({data:e,onChange:a,setWarnings:n})=>{const r=ut(),o=ye(),{id:i,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[g,y]=l.useState(c),C=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let h=setTimeout(async()=>{if(c!==""&&c!==g){if(!r)return;p("loading"),y(c);const x={address:c,type:d};try{const{success:m,warnings:b}=await r.checkContactAddress({data:x});n(b),p(m?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:C,sx:ul.addressField,size:"small",label:o("global.number"),value:c,onChange:h=>{a(h,i,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Mn,{status:u})})}})})},La={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},fl=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:La.secondaryContainer,children:t.jsx(Yr,{icon:t.jsx(qr,{sx:La.icon}),sx:La.chip,label:e,color:"error",variant:"outlined"})})}),ca=({warnings:e})=>{const a=ye();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(fl,{text:a(`contactAddressError.${n}`)},r))})})},gl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},ml=({data:e})=>{const a="edit",{editEntity:n}=it(),r=n.action,o=n.state,[i,d]=l.useState([]),[c,u]=l.useState(!0);return l.useEffect(()=>{u(i.length===0&&(e.address??"")!=="")},[i,e.address]),t.jsx(_t,{children:t.jsxs(Vt,{children:[t.jsxs(s.Box,{sx:{...gl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(pl,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),i.length>0&&t.jsx(ca,{warnings:i})]}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},hl=({phoneNumbers:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(ml,{data:a},a.id))}),yl=({phoneNumbers:e,handleAdd:a})=>{const n=ye();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(la,{handleAdd:a,title:n("global.phones")}),t.jsx(hl,{phoneNumbers:e})]})},$n={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},xl=({data:e})=>{const a="edit",{editEntity:n}=it(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Vt,{children:[t.jsx(s.Box,{sx:$n.numberCountryContainer,children:t.jsx(s.Box,{sx:$n.adressInputBox,children:t.jsx(Na,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ca,{warnings:i})]})},bl=({emails:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(xl,{data:a},a.id))}),vl=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(la,{handleAdd:a,title:"Emails"}),t.jsx(bl,{emails:e})]}),Pn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Cl=({data:e})=>{const a="edit",{editEntity:n}=it(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Vt,{children:[t.jsx(s.Box,{sx:Pn.numberCountryContainer,children:t.jsx(s.Box,{sx:Pn.adressInputBox,children:t.jsx(Na,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ca,{warnings:i})]})},Sl=({whatsapps:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(Cl,{data:a},a.id))}),jl=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(la,{handleAdd:a,title:"WhatsApp"}),t.jsx(Sl,{whatsapps:e})]}),Un={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},wl=({data:e})=>{const a="edit",{editEntity:n}=it(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Vt,{children:[t.jsx(s.Box,{sx:Un.numberCountryContainer,children:t.jsx(s.Box,{sx:Un.adressInputBox,children:t.jsx(Na,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ca,{warnings:i})]})},Tl=({RCSs:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(wl,{data:a},a.id))}),Il=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(la,{handleAdd:a,title:"RCS"}),t.jsx(Tl,{RCSs:e})]}),kl=Te.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})),El=({open:e,onClose:a,title:n})=>{const r=ye(),{editEntity:o}=it(),{emails:i,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=o.field,{addEmail:p,addPhone:g,addWhatsapp:y,resetToInitialContactInformation:C,addRCS:h}=o.action;function x(){a(),C()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(kl,{children:[(()=>{switch(n){case"Phones":return t.jsx(yl,{handleAdd:g,phoneNumbers:d});case"Emails":return t.jsx(vl,{handleAdd:p,emails:i});case"Whatsapp":return t.jsx(jl,{handleAdd:y,whatsapps:c});case"RCS":return t.jsx(Il,{handleAdd:h,RCSs:u});case"Facebook":return t.jsx(da,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(da,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(da,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(da,{title:"Mercado Libre",IMSs:o.field.imsMercadolibre,editEntity:o});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")})})]})})},Dl=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:o}=Ei(),{editEntity:i}=it(),d=ye(),c=i.field.phoneNumbers,u=i.field.emails,p=i.field.imsFacebooks,g=i.field.imsWhatsapp,y=i.field.imsMercadolibre,C=i.field.imsWebchats,h=i.field.imsInstagrams,x=i.field.imsRCS,m=[{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:p,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:g,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:x,modalTitle:"RCS",visible:x.length>0},{key:"mercado-libre",title:"Mercado libre",items:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:C,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:h,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ia,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:m.filter(b=>b.visible).map(b=>t.jsx(Zi,{handleEdit:()=>r(b.modalTitle),title:b.title,methodItems:b.items,isPhone:b.isPhone,owner:e},b.key))})}),t.jsx(El,{open:a,onClose:o,title:n})]})},Al=({entityType:e,entityData:a,baseUrl:n,spaceId:r,onEntityUpdated:o,onDirectionSearchClick:i})=>{const d={baseUrl:n,spaceId:r,entityId:String(a.id),onEntityUpdated:o},c=ye(),u=({addressNumber:p,title:g})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(s.Typography,{variant:"body2",children:g}),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(pt,{entityType:e,title:c("conversations.contactDetails.street"),value:a[p]?.street??"",...d,constructUpdateObject:y=>({[p]:{street:y}}),minWidth:"100%"})}),t.jsx(pt,{entityType:e,title:c("conversations.contactDetails.city"),value:a[p]?.city??"",...d,constructUpdateObject:y=>({[p]:{city:y}}),minWidth:"100%"}),t.jsx(pt,{entityType:e,title:c("conversations.contactDetails.state"),value:a[p]?.state??"",...d,constructUpdateObject:y=>({[p]:{state:y}}),minWidth:"100%"}),t.jsx(pt,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...d,constructUpdateObject:y=>({[p]:{zipcode:y}}),minWidth:"100%"}),t.jsx(pt,{entityType:e,title:c("conversations.contactDetails.country"),value:a[p]?.country??"",...d,constructUpdateObject:y=>({[p]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(ia,{title:c("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:i,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")})]})})},Fl=({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 o={...e,...r};a(o)},[e,a]),Bl=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:o,labels:i,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[g,y]=l.useState([]),[C,h]=l.useState(!1),[x,m]=l.useState(!1),[b,j]=l.useState([]),[w,T]=l.useState(!1),I=l.useMemo(()=>{const M=i??[],F=b??[],N=new Map;for(const $ of M)$?.id&&N.set(String($.id),$);for(const $ of F)$?.id&&N.set(String($.id),$);return Array.from(N.values())},[i,b]),k=l.useCallback(()=>{p("main"),y([]),h(!1),m(!1),j([]),T(!1)},[]);l.useEffect(()=>{e||k()},[e,k]),l.useEffect(()=>{if(u!=="tags"){h(!1);return}if(C||!I.length)return;const M=new Set(d.map(N=>String(N.id))),F=I.filter(N=>M.has(String(N?.id)));y(F),h(!0)},[u,C,I,d]);const D=l.useCallback(async M=>{if(w||!a||!n)return;const F=String(M??"").trim();if(!F)return;const N=F.toLowerCase(),$=I.find(O=>String(O?.name??"").trim().toLowerCase()===N);if($?.id){y(O=>{const G=O??[];return G.some(P=>String(P?.id)===String($.id))?G:[...G,$]});return}T(!0);try{const O=await fn({baseUrl:a,spaceId:n,name:F});j(G=>{const P=G??[];return!O?.id||P.some(V=>String(V?.id)===String(O.id))?P:[...P,O]}),y(G=>{const P=G??[];return!O?.id||P.some(V=>String(V?.id)===String(O.id))?P:[...P,O]})}finally{T(!1)}},[w,a,n,I]),U=l.useCallback(async()=>{if(x||!a||!n||!r||o!=="contact"&&o!=="business")return;const M=g.filter(F=>F?.id&&F?.name).map(F=>({id:String(F.id),name:String(F.name)}));m(!0);try{await Ze({baseUrl:a,spaceId:n,entityType:o,entityId:String(r.id),body:{tags:M}}),c(M),p("main")}finally{m(!1)}},[x,a,n,r,o,g,c]);return{view:u,setView:p,draftLabels:g,setDraftLabels:y,labelsOptions:I,isSaving:x,isCreatingLabel:w,handleCreateLabel:D,handleSaveTags:U}},Ml=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),$l={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},Pl=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:o,onEntityUpdated:i,currentUser:d})=>{const c=ye(),u=ut(),p=l.useRef(null),g=l.useRef(null),[y,C]=l.useState(()=>r?.businessName??""),[h,x]=l.useState(!1),[m,b]=l.useState(!1),[j,w]=l.useState(!1),[T,I]=l.useState([]),[k,D]=l.useState(r??null),[U,M]=l.useState(1),[F,N]=l.useState(!1),[$,O]=l.useState(!1),G=l.useMemo(()=>{const W=d?.display_name,q=d?.email;return String(W||q||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),g.current?.abort()},[]),l.useEffect(()=>{D(r??null),C(r?.businessName??"")},[r]);const P=()=>{g.current?.abort(),g.current=null,p.current&&(clearTimeout(p.current),p.current=null),x(!1),O(!1),M(1),N(!1),I([])},V=W=>W.filter(q=>!!q?.id).map(q=>({businessId:String(q.id),businessName:String(q.name??"")})),X=async({query:W,page:q})=>{if(!u)return;g.current?.abort();const re=new AbortController;g.current=re,b(!0);try{const oe={...$l,currentPage:q,filter:[{value:W,column:"name",condition:""}]},je=await u.fetchBusinessTableData({pagination:oe,signal:re.signal});if(re.signal.aborted)return;const he=V(je?.contactos??[]);x(!0);const te=je?.paginacion?.total??0;I(Ae=>{const Y=q===1?he:(()=>{const ue=new Map;for(const xe of Ae)ue.set(xe.businessId,xe);for(const xe of he)ue.set(xe.businessId,xe);return Array.from(ue.values())})();return te&&Y.length>=te&&O(!0),Y})}finally{b(!1),w(!1),N(!1)}},me=W=>{P(),W&&(p.current&&(clearTimeout(p.current),p.current=null),w(!0),p.current=setTimeout(()=>{X({query:W,page:1})},800))},H=W=>{const q=W.target;if(!(q.scrollHeight-q.scrollTop-q.clientHeight<1)||$||m||!y)return;const re=U+1;N(!0),M(re),X({query:y,page:re})},_=async()=>{if(!u||!G)return;const W=String(y??"").trim();if(W){b(!0);try{const q={name:W,owner:G,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},re=await u.createBusiness({business:q}),oe={businessId:String(re.id??""),businessName:String(re.name??W)};I([oe]),D(oe),x(!0)}finally{b(!1)}}},S=async()=>{if(!e||!a||!n)return;const W=k?.businessId??"",q=await Ze({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});i?.(q),o()},A=h&&T.length===0&&y?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(ot.LoadingButton,{size:"small",variant:"contained",onClick:_,loading:m,disabled:m||!G,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),E=!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:o,"aria-label":c("global.back"),children:t.jsx(Ea,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:c("conversations.contactDetails.business")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(ot.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ht,{}),onClick:S,loading:!1,disabled:E,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[m||j||F?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:k,onChange:(W,q)=>{D(q)},inputValue:y,onInputChange:(W,q,re)=>{C(q),re==="input"&&me(q)},options:T,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,q)=>W.businessId===q.businessId,noOptionsText:A,renderInput:W=>t.jsx(s.TextField,{...W,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{...W.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[m||j?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:H}})]})]})},Ul=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:o,sx:i,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:p,contactNameFormat:g})=>{const y=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 V=document.createElement("script");return V.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,V.async=!0,V.defer=!0,document.body.appendChild(V),()=>{}},[u]);const C=l.useMemo(()=>{const V=St.getFixedT(d);return X=>V(X)},[d]),h=l.useMemo(()=>!n||!r?null:hn(n,r),[n,r]),{state:x,selectors:m,actions:b}=Yo({open:e,baseUrl:n,spaceId:r,contactId:o,contactNameFormat:g}),j=Fl({entity:x.contactData,setEntity:V=>{b.setContactData(V??void 0),V&&p&&p(V)}}),{view:w,setView:T,draftLabels:I,setDraftLabels:k,labelsOptions:D,isSaving:U,isCreatingLabel:M,handleCreateLabel:F,handleSaveTags:N}=Bl({open:e,baseUrl:n,spaceId:r,contactData:x.contactData,contactType:m.contactType,labels:m.labels,selectedTags:m.tags,onTagsUpdated:V=>{if(!x.contactData)return;const X={...x.contactData,tags:V};b.setContactData(X),p&&p(X)}}),$=Lt({baseUrl:n,spaceId:r,entityType:m.contactType==="business"||m.contactType==="contact"?m.contactType:void 0,entityId:x.contactData?String(x.contactData.id):void 0,initialImageUrl:x.contactData?.imageUrl,onEntityUpdated:j}),O=Ml({onClose:a}),G={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:V=>V.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},P=Array.isArray(i)?[G,...i]:i?[G,i]:G;return t.jsx(xo,{value:h,children:t.jsx(ho,{t:C,children:t.jsx(ui,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:O,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:P,ref:y,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:O,sx:{position:"absolute",right:5,top:5,color:V=>V.palette.grey[500],zIndex:1},size:"small",children:t.jsx(ka,{sx:{fontSize:20}})}),x.isLoading&&!x.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):x.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):x.contactData?t.jsx(di,{value:{view:w,setView:T},children:t.jsx(oi,{entityType:m.contactType==="business"?"business":"contact",entityData:x.contactData,customContactFields:m.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(Io,{imgUrl:$.imageUrl,displayName:m.displayName,tags:m.tags,onEditTags:()=>{T("tags")},onUploadPhoto:$.action.uploadImage,onPhotoFileChange:$.inputAtributes.onChange,photoInputRef:$.inputAtributes.ref,isUploadingPhoto:$.isUploading,onDeletePhoto:$.action.deleteImage,isDeletingPhoto:$.isDeleting,contactType:m.contactType,entityId:x.contactData?.id,firstName:m.isContact?x.contactData.firstName:void 0,lastName:m.isContact?x.contactData.lastName:void 0,name:m.isBusiness?x.contactData.name:void 0,onEntityUpdated:j}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(ki,{dateFormat:m.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:m.contactType==="contact"||m.contactType==="business"?m.contactType:"contact",entityData:x.contactData,customContactFields:m.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:j,currentUser:m.userTrii}),t.jsx(Al,{entityType:m.contactType==="contact"||m.contactType==="business"?m.contactType:"contact",entityData:x.contactData,baseUrl:n,spaceId:r,onEntityUpdated:j,onDirectionSearchClick:()=>T("searchLocation")}),t.jsx(Dl,{ownerData:x.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(qo,{baseUrl:n,spaceId:r,entityType:m.contactType==="business"?"business":"contact",entityId:String(x.contactData.id),onBack:()=>T("main"),onEntityUpdated:j})})}),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(Eo,{value:I,options:D,onChange:k,onBack:()=>T("main"),onSave:N,isSaving:U,onCreateNew:F,isCreatingNew:M,popperContainer:y.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(x.contactData.id),initialBusiness:m.isContact&&x.contactData?.businessId?{businessId:String(x.contactData.businessId),businessName:String(x.contactData.businessName??"")}:null,onBack:()=>T("main"),onEntityUpdated:j,currentUser:m.userTrii})})})]})})}):null]})})})})})})},Rl=e=>t.jsx(Ke.I18nextProvider,{i18n:St,children:t.jsx(Ul,{...e})}),Rn=l.createContext(null),Nl=Rn.Provider,Nn=()=>l.useContext(Rn),Ll={events:[],setEvents:()=>{},filteredEvents:[]},Ol=(e,a)=>{const[n,r]=l.useState([]);l.useEffect(()=>{if(!a?.length){r([]);return}const i=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(i)},[a]);const o=l.useMemo(()=>e?.length?n.filter(i=>i.calendarId&&e.includes(i.calendarId)):n,[n,e]);return l.useMemo(()=>({events:n,setEvents:r,filteredEvents:o}),[n,o])},Ln={open:!1,handleOpen:()=>{},handleClose:()=>{}},On=()=>{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])},yt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},xt=(e,a)=>{const[n,r]=l.useState(a||""),[o,i]=l.useState(!1),[d,c]=l.useState("");l.useEffect(()=>{r(a||"")},[a]);const u=l.useCallback(m=>{i(!0),c(m)},[]),p=l.useCallback(()=>{i(!1),c("")},[]),g=l.useCallback(m=>{r(m.target.value)},[]),y=l.useCallback(m=>{r(m)},[]),C=l.useCallback(()=>{r(a||"")},[a]),h=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:C,changeValue:y}),[u,p,C,y]),x=l.useMemo(()=>({error:o,helperText:d,type:e,value:n,onChange:g}),[o,d,e,n,g]);return{actions:h,attributes:x}};function zn(e){return typeof e=="number"}const zl={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function _l(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const g={id:Ot(),timeValue:15,timePeriod:na.EventNotificationPeriod.MINUTE,sendToContact:!1};n(y=>y.concat(g))},[]),o=l.useCallback(g=>{n(y=>y.filter(C=>C.id!==g))},[]),i=l.useCallback((g,y)=>{const C=Number(g.target.value);zn(C)&&n(h=>h.map(x=>x.id===y?{...x,timeValue:C}:x))},[]),d=l.useCallback((g,y)=>{if(!zn(g.target.value))return;const C=g.target.value;n(h=>h.map(x=>x.id===y?{...x,timePeriod:C}:x))},[]),c=l.useCallback((g,y)=>{const C=g.target.checked;n(h=>h.map(x=>x.id===y?{...x,sendToContact:C}:x))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const g=e.map(y=>({...y,id:y.id||Ot()}));n(g)}},[e]);const p=l.useMemo(()=>({addNotification:r,deleteNotification:o,handleTimeFieldChange:i,handleTimePeriodChange:d,handleReminderChange:c,resetNotifications:u}),[r,o,i,d,c,u]);return{notifications:a,action:p}}const Wl={state:{selectedStartDate:J(),selectedEndDate:J().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Vl={state:{search:"",selectedContact:null},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Hl={titleField:yt,descriptionField:yt,locationField:yt,colorField:yt,date:Wl,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:zl,linkContact:Vl,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],rule:"",contactId:null}),resetFields:()=>{}},Gl=(e,a)=>{const[n,r]=l.useState(e??J()),[o,i]=l.useState(a??J().add(30,"minute")),[d,c]=l.useState(!1),u=l.useCallback(y=>C=>{y(C)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),g=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:g}},ql=e=>{const[a,n]=l.useState(""),[r,o]=l.useState(e?.id?{id:e.id,name:e.name}:null),i=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{o(e?.id?{id:e.id,name:e.name}:null)},[i,e]);const d=l.useCallback(C=>{o({id:C.id,name:C.name??""}),n("")},[]),c=l.useCallback(()=>{o(null)},[]),u=l.useCallback(C=>{n(C)},[]),p=l.useCallback(()=>{n(""),o(e?.id?{id:e.id,name:e.name}:null)},[e]),g=l.useMemo(()=>({search:a,selectedContact:r}),[a,r]),y=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:g,action:y}},Yl=e=>{const a=l.useRef(null),n=xt("text",e?.title??""),r=xt("text",e?.details??e?.description??""),o=xt("text",e?.location??""),i=xt("text",e?.color??"#1976d2"),d=Gl(e?.startAt?J(e.startAt):void 0,e?.endAt?J(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,g]=l.useState(e?.isPrivate??!1),[y,C]=l.useState(e?.rule??""),h=_l(e?.notifications),x=ql(e?.relatedContact??e?.raw?.relatedContact),m=l.useCallback(()=>({title:n.attributes.value,details:r.attributes.value,location:o.attributes.value,allDay:c,isPrivate:p,color:i.attributes.value,startAt:d.state.selectedStartDate.toISOString(),endAt:d.state.selectedEndDate.toISOString(),notifications:h.notifications.filter(j=>j.timeValue>0).map(j=>({id:j.id,timePeriod:j.timePeriod,timeValue:j.timeValue,sendToContact:j.sendToContact})),rule:y,contactId:x.state.selectedContact?.id||null}),[n.attributes.value,r.attributes.value,o.attributes.value,c,p,i.attributes.value,d.state.selectedStartDate,d.state.selectedEndDate,h.notifications,y,x.state.selectedContact]),b=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.actions.resetValue(),i.actions.changeValue("#1976d2"),u(!1),g(!1),C(""),h.action.resetNotifications(),x.action.resetField(),d.action.setError(!1),a.current=null},[n.actions,r.actions,o.actions,i.actions,h.action,x.action,d.action]);return l.useEffect(()=>{const j=e?.id;!e||a.current===j||(a.current=j,u(e.allDay??!1),g(e.isPrivate??!1),C(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),o.actions.changeValue(e.location??""),i.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:o,colorField:i,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:g,recurrenceRule:y,setRecurrenceRule:C,notifications:h,linkContact:x,create:m,resetFields:b}),[n,r,o,i,d,c,p,y,h,x,m,b])},Kl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Jl={nameField:yt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Kl,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Xl=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),o=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:o}},Ql=()=>{const e=xt("text",""),[a,n]=l.useState("#ffffff"),[r,o]=l.useState(null),i=Xl(),d=l.useCallback(u=>{n(u)},[]),c=l.useCallback(u=>{o(u)},[]);return l.useMemo(()=>({nameField:e,color:a,handleColorChange:d,shareWithUsers:i,googleCalendar:r,handleGoogleCalendarChange:c}),[e,a,d,i,r,c])},Zl={tasks:[],setTasks:()=>{},filteredTasks:[]},ed=e=>{const[a,n]=l.useState([]),r=l.useMemo(()=>e?.length?a.filter(o=>o.calendarId&&e.includes(o.calendarId)):a,[a,e]);return l.useMemo(()=>({tasks:a,setTasks:n,filteredTasks:r}),[a,r])},td={state:{selectedStartDate:J(),selectedEndDate:J(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},ad={state:{search:"",selectedContact:null},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},nd={titleField:yt,descriptionField:yt,date:td,linkContact:ad,create:()=>({title:"",description:"",startAt:"",endAt:"",contactId:null}),resetFields:()=>{}},rd=(e,a)=>{const[n,r]=l.useState(e??J()),[o,i]=l.useState(a??J()),[d,c]=l.useState(!1),u=l.useCallback(y=>C=>{y(C)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),g=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:g}},sd=e=>{const[a,n]=l.useState(""),[r,o]=l.useState(e?.id?{id:e.id,name:e.name}:null),i=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{o(e?.id?{id:e.id,name:e.name}:null)},[i,e]);const d=l.useCallback(C=>{o({id:C.id,name:C.name??""}),n("")},[]),c=l.useCallback(()=>{o(null)},[]),u=l.useCallback(C=>{n(C)},[]),p=l.useCallback(()=>{n(""),o(e?.id?{id:e.id,name:e.name}:null)},[e]),g=l.useMemo(()=>({search:a,selectedContact:r}),[a,r]),y=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:g,action:y}},od=e=>{const a=l.useRef(null),n=xt("text",e?.title??""),r=xt("text",e?.description??""),o=rd(e?.startAt?J(e.startAt):void 0,e?.startAt?J(e.startAt):void 0),i=sd(e?.relatedContact??e?.raw?.relatedContact),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedStartDate.toISOString(),contactId:i.state.selectedContact?.id||null}),[n.attributes.value,r.attributes.value,o.state.selectedStartDate,i.state.selectedContact]),c=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),i.action.resetField(),o.action.setError(!1),a.current=null},[n.actions,r.actions,i.action,o.action]);return l.useEffect(()=>{const u=e?.id;if(!(!e||a.current===u)&&(a.current=u,console.log("[useTask] Sincronizando tarea:",{id:e.id,title:e.title,description:e.description,startAt:e.startAt,relatedContact:e.relatedContact}),n.actions.changeValue(e.title??""),r.actions.changeValue(e.description??""),e.startAt)){const p=J(e.startAt);o.action.setSelectedStartDate(p),o.action.setSelectedEndDate(p)}},[e?.id]),l.useEffect(()=>{if(!e)return;const u=e.relatedContact??e.raw?.relatedContact,p=i.state.selectedContact?.id,g=u?.id;p!==g&&(g?i.action.handleSelectContact({id:g,name:u.name??""}):i.action.resetField())},[e?.relatedContact,e?.raw?.relatedContact]),l.useMemo(()=>({titleField:n,descriptionField:r,date:o,linkContact:i,create:d,resetFields:c}),[n,r,o,i,d,c])},Oa=l.createContext({eventDialog:Ln,createCalendarDialog:Ln,event:Hl,events:Ll,calendar:Jl,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:Zl,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:nd,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],isLoadingCalendars:!1,isCreatingEvent:!1,isUpdatingEvent:!1,isCreatingTask:!1,isUpdatingTask:!1,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}),_n=e=>e,Wn=l.createContext(_n),id=({t:e,children:a})=>t.jsx(Wn.Provider,{value:e,children:a}),$e=()=>{const e=l.useContext(Wn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),_n)};var ld=Object.defineProperty,dd=(e,a,n)=>a in e?ld(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Vn=(e,a,n)=>dd(e,typeof a!="symbol"?a+"":a,n);class cd extends Error{constructor(a,n,r){super(a),Vn(this,"status"),Vn(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function De({url:e,method:a="GET",headers:n,body:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new cd(c,i.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 ua(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 He(e){return ua(e.baseUrl,e.spaceId).CALENDAR}async function ud(e){const a=ua(e.baseUrl,e.spaceId);return De({url:ke(a.SETTINGS,"/user")})}async function pd(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return De({url:r})}async function fd(e,a){const n=He(e);return De({url:ke(n,"/events"),method:"POST",body:a})}async function Hn(e,a){const n=He(e),{activityId:r,updatedActivity:o,originalOccurrenceDate:i}=a;if(i){const d=i instanceof Date?i.toISOString():i,c=`${n}/events/occurrence/${r}?occurrence=${d}`;return De({url:c,method:"PUT",body:o})}return De({url:ke(n,`/events/${r}`),method:"PUT",body:o})}async function za(e,a,n){const r=He(e);if(n){const o=n instanceof Date?n.toISOString():n,i=`${r}/events/${a}?occurrence=${o}`;await De({url:i,method:"DELETE"})}else await De({url:ke(r,`/events/${a}`),method:"DELETE"})}async function gd(e,a){const n=He(e);return De({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function md(e,a){const n=He(e);return De({url:ke(n,`/Task/${a}`)})}async function hd(e,a){const n=He(e);return De({url:ke(n,"/Task"),method:"POST",body:a})}async function Gn(e,a,n){const r=He(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:n})}async function yd(e,a){const n=He(e);await De({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function xd(e,a,n){const r=He(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function bd(e){const a=He(e);return De({url:ke(a,"/Calendar")})}async function vd(e,a){const n=He(e);return De({url:ke(n,"/Calendar"),method:"POST",body:a})}async function Cd(e,a,n){const r=He(e);return De({url:ke(r,`/Calendar/${a}`),method:"PUT",body:n})}async function Sd({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=ua(e,a),i=ke(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return De({url:i,signal:r})}async function jd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=ua(e,a),i=ke(o.CONTACTS,"/Search");return De({url:i,method:"POST",body:n,signal:r})}function pa(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 Gt=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},qt=e=>e?e.parentId?e.parentId:Gt(e.id):"",wd=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:o="event",externalEventCalendarId:i,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:p=!1,externalContactId:g,externalOnActionComplete:y,externalInitialStartDate:C,externalInitialEndDate:h})=>{const{t:x}=Ke.useTranslation(),m=Nn(),b=(v,...L)=>x(v,...L),[j,w]=l.useState(o),[T,I]=l.useState(null),[k,D]=l.useState(null),[U,M]=l.useState(r),[F,N]=l.useState(d||""),[$,O]=l.useState(i||""),[G,P]=l.useState(!1),[V,X]=l.useState("create"),[me,H]=l.useState(null),[_,S]=l.useState({open:!1,message:"",severity:"info"}),[A,E]=l.useState(!1),[W,q]=l.useState("event"),[re,oe]=l.useState(!1),[je,he]=l.useState(!1),[te,Ae]=l.useState(null),[Y,ue]=l.useState(!1),[xe,Ye]=l.useState(!1),[Q,Pe]=l.useState(!1),[We,Ge]=l.useState(!1),ce="trii_calendar_last_view",It=v=>v==="month"||v==="week"||v==="day",[et,bt]=l.useState(()=>{try{const v=localStorage.getItem(ce);return It(v)?v:"month"}catch{return"month"}}),[ya,Kt]=l.useState(new Date),Jt=v=>{Kt(v),bt("day")},Ue=On(),Xe=On(),le=Yl(T??void 0),pe=od(k??void 0);l.useEffect(()=>{r!==void 0&&M(r)},[r]),l.useEffect(()=>{o!==void 0&&w(o)},[o]),l.useEffect(()=>{i!==void 0&&O(i)},[i]),l.useEffect(()=>{d!==void 0&&N(d)},[d]),l.useEffect(()=>{c!==void 0&&(I(c),c?.calendarId&&O(c.calendarId))},[c]),l.useEffect(()=>{u!==void 0&&(console.log("[CalendarContextProvider] Sincronizando externalSelectedTask:",u),D(u),u?.calendarId&&N(u.calendarId))},[u]),l.useEffect(()=>{if(!g||!m||r!=="create"||!Ue.open)return;let v=!1;return Sd({baseUrl:m.baseUrl,spaceId:m.spaceId,contactId:g}).then(L=>{v||!L||(le.linkContact.action.resetField(),le.linkContact.action.handleSelectContact(L),pe.linkContact.action.resetField(),pe.linkContact.action.handleSelectContact(L))}).catch(()=>{}),()=>{v=!0}},[g,Ue.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!Ue.open){if(r==="create"){le.resetFields(),pe.resetFields(),P(!1),I(null),D(null),le.date.action.setError(!1),pe.date.action.setError(!1);const v=pa(C??new Date),L=h?pa(h):v.add(30,"minute");if(o==="task"?(pe.date.action.setSelectedStartDate(v),pe.date.action.setSelectedEndDate(v)):(le.date.action.setSelectedStartDate(v),le.date.action.setSelectedEndDate(L)),!i){const R=Re?.[0]??nt?.[0]?.id??Oe?.[0]?.id??"";R&&O(R)}if(!d){const R=Re?.[0]??Oe?.[0]?.id??"";R&&N(R)}}Ue.handleOpen()}else!a&&Ue.open&&Ue.handleClose()},[a]);const qe=()=>{le.resetFields(),pe.resetFields(),le.date.action.setError(!1),pe.date.action.setError(!1),n?n():Ue.handleClose()},Ee=Ql(),Xt=V==="create",[Oe,xa]=l.useState([]),[ba,Qt]=l.useState(!1),[va,Ca]=l.useState([]),[lt,Zt]=l.useState(""),tt="calendar_selected_ids",[Re,dt]=l.useState(()=>{try{const v=localStorage.getItem(tt);return v?JSON.parse(v):[]}catch{return[]}}),ft=Ol(Re,va),kt=ed(Re),ea=()=>{S(v=>({...v,open:!1}))},at=l.useCallback((v,L,R)=>{y?.(v,L,R)},[y]);function Et(v){const L=v?.startAt??v?.start,R=v?.endAt??v?.end??L;return{startAt:L,endAt:R}}const{myCalendars:nt,otherCalendars:Sa}=l.useMemo(()=>{const v=Oe??[];if(!lt)return{myCalendars:v,otherCalendars:[]};const L=v.filter(Z=>Z.userId===lt),R=v.filter(Z=>Z.userId!==lt);return L.length===0&&v.length>0?{myCalendars:v,otherCalendars:[]}:{myCalendars:L,otherCalendars:R}},[Oe,lt]),gt=l.useCallback(async()=>{if(m)try{const v=new Date,L=v.getUTCFullYear(),R=v.getUTCMonth(),Z=new Date(Date.UTC(L,R-1,1,0,0,0)).toISOString(),K=new Date(Date.UTC(L,R+2,1,0,0,0)).toISOString(),ge=await pd(m,Z,K);Ca(ge)}catch(v){console.error("Error fetching activities:",v)}},[m]),rt=l.useCallback(async v=>{if(m)try{const L=await md(m,v);kt.setTasks(L.map(R=>({id:R.id,title:R.title||"",start:new Date(R.startAt),end:new Date(R.endAt||R.startAt),startAt:R.startAt,endAt:R.endAt,description:R.description,calendarId:R.calendarId,isCompleted:R.isCompleted||!1,relatedContact:R.relatedContact,kind:"task"})))}catch(L){console.error("Error fetching tasks:",L)}},[m]),vt=l.useCallback(async()=>{if(m){Qt(!0);try{const v=await bd(m);xa(v)}catch(v){console.error("Error fetching calendars:",v)}finally{Qt(!1)}}},[m]);l.useEffect(()=>{const v=nt?.[0]?.id??Oe?.[0]?.id??"";v&&Ue.open&&U==="create"&&($||O(v),F||N(v))},[Ue.open,U]);const Dt=l.useRef(!1);l.useEffect(()=>{a||(Dt.current=!1)},[a]),l.useEffect(()=>{if(!m||!a||Dt.current||(Dt.current=!0,vt(),r==="create"))return;let v=!1;return ud(m).then(L=>{v||Zt(L.uid)}).catch(()=>{}),()=>{v=!0}},[m,a,r,vt]);function At(v,L,R){w(v),M("create"),I(null),D(null),le.resetFields(),pe.resetFields(),P(!1);const Z=pa(L??new Date),K=R?pa(R):Z.add(30,"minute"),ge=K.isAfter(Z)?K:Z.add(30,"minute");if(v==="task"){pe.date.action.setSelectedStartDate(Z),pe.date.action.setSelectedEndDate(Z),pe.date.action.setError(!1);const we=Re?.[0]??Oe?.[0]?.id??"";N(we)}else{le.date.action.setSelectedStartDate(Z),le.date.action.setSelectedEndDate(ge),le.date.action.setError(!1);const we=Re?.[0]??nt?.[0]?.id??Oe?.[0]?.id??"";O(we);const ne=nt?.find(Se=>Se.id===we)??Oe?.find(Se=>Se.id===we);ne?.color&&le.colorField.actions.changeValue(ne.color)}Ue.handleOpen()}function ja(){At("event")}function wa(){le.date.action.setError(!1),pe.date.action.setError(!1),M("edit")}function f(v){const{startAt:L,endAt:R}=Et(v),Z={...v,kind:"event",startAt:L,endAt:R,details:v?.details??""};w("event"),I(Z),D(null);const K=Z.calendarId||nt?.[0]?.id||Oe?.[0]?.id||"";O(K),M("view"),le.date.action.setError(!1),pe.date.action.setError(!1),Ue.handleOpen()}async function B(v){if(!m)return;let L;if(v)L={title:v.title,details:v.description||v.details||"",startAt:new Date(v.startAt),endAt:new Date(v.endAt),allDay:v.allDay,location:v.location||"",isPrivate:v.isPrivate||!1,color:v.color||"",rule:v.rule||"",contactId:v.relatedContactId||g||null,notifications:(v.notifications||[]).map(K=>({id:Ot(),timeValue:K.value,timePeriod:K.type,sendToContact:K.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const K=le.create();if(!K.title){S({open:!0,message:b("global.nameRequired"),severity:"error"});return}L={...K,startAt:new Date(K.startAt),endAt:new Date(K.endAt),contactId:K.contactId||g||null,eventTypeId:"",repeatId:"",notifications:K.notifications.map(ge=>({...ge,id:ge.id||Ot()}))}}const R=$;if(!R){S({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const Z={...L,calendarId:R};ue(!0);try{S({open:!0,message:b("global.savingChanges"),severity:"info"});const K=await fd(m,Z);Re.includes(R)||dt(ge=>[...ge,R]),S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("created","event",K),le.resetFields(),qe(),setTimeout(()=>{gt()},500)}catch(K){console.error("Error creando evento:",K);const ge=K?.response?.data?.message||K?.message||b("global.errorSavingChanges");S({open:!0,message:ge,severity:"error"})}finally{ue(!1)}}async function z(){if(!T?.id)return;const v=le.create(),L=$||T.calendarId||"";if(!L){S({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}T.originalOccurrenceDate!=null?(Ae(()=>async R=>{await ee(v,L,R)}),he(!0)):await ee(v,L,!1)}async function ee(v,L,R){const Z=T?.originalOccurrenceDate!=null,K={title:v.title,details:v.details,startAt:v.startAt,endAt:v.endAt,allDay:v.allDay,isPrivate:v.isPrivate,location:v.location,color:v.color,calendarId:L,notifications:v.notifications,contactId:v.contactId??null};(R||!Z)&&(K.rule=v.rule);const ge=qt(T),we={updatedActivity:K,activityId:ge};Z&&!R&&(we.originalOccurrenceDate=T.originalOccurrenceDate),Ye(!0);try{const ne=await Hn(m,we);if(ne){const Se={...ne,relatedContact:ne.relatedContact??T.relatedContact};I(Se),ne.calendarId&&O(ne.calendarId),ft.setEvents(ta=>ta.map(ct=>ct.id===T?.id?{...ct,...ne,relatedContact:ne.relatedContact??ct.relatedContact,start:new Date(ne.startAt),end:new Date(ne.endAt||ne.startAt),originalOccurrenceDate:ne.originalOccurrenceDate?typeof ne.originalOccurrenceDate=="string"?ne.originalOccurrenceDate:ne.originalOccurrenceDate.toISOString():ct.originalOccurrenceDate}:ct))}S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("updated","event",ne),qe(),setTimeout(()=>{gt()},500)}catch(ne){console.error("Error actualizando evento:",ne);const Se=ne?.response?.data?.message||ne?.message||b("global.errorSavingChanges");S({open:!0,message:Se,severity:"error"})}finally{Ye(!1)}}async function de(v){he(!1),te&&(await te(v),Ae(null))}async function fe(){T?.originalOccurrenceDate!=null?oe(!0):(q("event"),E(!0))}async function ie(){if(m)if(E(!1),W==="event")try{const v=qt(T);qe(),await za(m,v),S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("deleted","event",{id:v}),setTimeout(()=>{gt()},500)}catch(v){console.error("Error deleting event:",v);const L=v?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");S({open:!0,message:L,severity:"error"})}else{if(!k?.id)return;try{const v=Gt(k.id),L=k.calendarId;qe(),await yd(m,v),D(null),pe.resetFields(),S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("deleted","task",{id:v}),L&&setTimeout(()=>{rt(L)},500)}catch(v){console.error("Error deleting task:",v);const L=v?.message?.includes("duplicate key")?b("global.taskAlreadyDeleted","La tarea ya fue eliminada"):b("global.errorSavingChanges");S({open:!0,message:L,severity:"error"})}}}async function se(v){oe(!1);const L=qt(T);qe();try{v?await za(m,L):await za(m,L,T.originalOccurrenceDate),S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("deleted","event",{id:L}),setTimeout(()=>{gt()},500)}catch(R){console.error("Error deleting recurring event:",R);const Z=R?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");S({open:!0,message:Z,severity:"error"})}}async function Fe(){if(!m)return;const v=qt(T);await gd(m,v),qe()}async function be(v,L,R){const Z=L instanceof Date?L:new Date(L),K=R instanceof Date?R:new Date(R),ge=Z.toISOString(),we=K.toISOString(),ne=v.kind==="task";!ne&&v.originalOccurrenceDate!=null?(I(v),Ae(()=>async Se=>{await ve(v,ge,we,Z,K,ne,Se)}),he(!0)):await ve(v,ge,we,Z,K,ne,!1)}async function ve(v,L,R,Z,K,ge,we){ge||ft.setEvents(ne=>ne.map(Se=>Se.id===v.id?{...Se,start:Z,end:K,startAt:Z,endAt:K}:Se)),S({open:!0,message:b("global.savingChanges"),severity:"info"});try{if(ge){const ne=Gt(v.id),Se={title:v.title,description:v.description,startAt:L,endAt:R,calendarId:v.calendarId,allDay:v.allDay||!1,isCompleted:v.isCompleted||!1};await Gn(m,ne,Se),await rt(v.calendarId)}else{const ne=qt(v),Se=v.originalOccurrenceDate!=null,ta={title:v.title,details:v.details,startAt:new Date(L),endAt:new Date(R),allDay:v.allDay,isPrivate:v.isPrivate,location:v.location,color:v.color,calendarId:v.calendarId};(we||!Se)&&(ta.rule=v.rule);const ct={updatedActivity:ta,activityId:ne};Se&&!we&&(ct.originalOccurrenceDate=v.originalOccurrenceDate),await Hn(m,ct)}S({open:!0,message:b("global.changesSaved"),severity:"success"}),setTimeout(()=>{gt()},500)}catch{ge||ft.setEvents(ne=>ne.map(Se=>Se.id===v.id?{...Se,start:v.start,end:v.end}:Se)),S({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function Ve(v,L){At("event",v,L)}function st(){Ee.nameField.actions.resetValue(),Ee.handleColorChange("#ffffff"),Ee.shareWithUsers.action.resetField(),Ee.handleGoogleCalendarChange(null)}function Qe(){st(),H(null),X("create"),Xe.handleClose()}function Ne(v){Ee.nameField.actions.changeValue(v.title??""),Ee.nameField.actions.onSuccess(),Ee.handleColorChange(v.color??"#ffffff"),Ee.shareWithUsers.action.setUserIds(v.sharedWith??[]),Ee.handleGoogleCalendarChange(v.googleCalendar??null)}function Ft(){X("create"),H(null),st(),Xe.handleOpen()}function Ta(v){X("edit"),H(v),Ne(v),Xe.handleOpen()}async function Ia(){if(!m)return;const v=(Ee.nameField.attributes.value??"").trim();if(!v){S({open:!0,message:b("global.nameRequired"),severity:"error"});return}const L=Ee.shareWithUsers.field.userIds,R={title:v,color:Ee.color,sharedWith:L.length?L:void 0,googleCalendar:Ee.googleCalendar};try{if(Xt)await vd(m,R);else{const Z=me?.id;if(!Z)return;await Cd(m,Z,R)}Qe(),S({open:!0,message:b(Xt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),vt()}catch{S({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function Cr(v){if(!m)return;let L;if(v?L={title:v.title,description:v.description||"",startAt:v.startAt,contactId:v.relatedContactId||null}:L=pe.create(),!L.title){S({open:!0,message:b("global.nameRequired"),severity:"error"});return}const R=F;if(!R){S({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const Z={...L,calendarId:R,contactId:L.contactId||g||null};Pe(!0);try{S({open:!0,message:b("global.savingChanges"),severity:"info"});const K=await hd(m,Z);Re.includes(R)||dt(ge=>[...ge,R]),S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("created","task",K),pe.resetFields(),qe(),setTimeout(()=>{rt(R)},500)}catch(K){console.error("Error creando tarea:",K);const ge=K?.response?.data?.message||K?.message||b("global.errorSavingChanges");S({open:!0,message:ge,severity:"error"})}finally{Pe(!1)}}function Sr(){At("task")}async function jr(){if(!m||!k?.id)return;const v=pe.create();if(!v.title){S({open:!0,message:b("global.nameRequired"),severity:"error"});return}const L=F||k.calendarId;if(!L){S({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const R={title:v.title,description:v.description,startAt:v.startAt,endAt:v.endAt,calendarId:L,contactId:v.contactId??null};Ge(!0);try{const Z=Gt(k.id),K=await Gn(m,Z,R);if(K){const ge={...K,relatedContact:K.relatedContact??k.relatedContact};D(ge),K.calendarId&&N(K.calendarId),kt.setTasks(we=>we.map(ne=>ne.id===k?.id?{...ne,...K,relatedContact:K.relatedContact??ne.relatedContact,start:K.startAt?new Date(K.startAt):ne.start,end:K.startAt?new Date(K.startAt):ne.end}:ne))}S({open:!0,message:b("global.changesSaved"),severity:"success"}),at("updated","task",K),qe(),setTimeout(()=>{const ge=k.calendarId,we=K?.calendarId||L;rt(we),ge&&ge!==we&&rt(ge)},500)}catch(Z){console.error("Error actualizando tarea:",Z);const K=Z?.response?.data?.message||Z?.message||b("global.errorSavingChanges");S({open:!0,message:K,severity:"error"})}finally{Ge(!1)}}async function wr(){k?.id&&(q("task"),E(!0))}async function Tr(){if(!m||!k?.id)return;const v=!k.isCompleted;try{const L=Gt(k.id),R=k.calendarId,Z=await xd(m,L,v);Z&&D(Z),S({open:!0,message:b("global.changesSaved"),severity:"success"}),R&&setTimeout(()=>{rt(R)},500)}catch{S({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function Ir(){const v=j==="event",L=v?T:k;if(!L)return;const R={...L};v?(I(null),M("create"),P(!0),setTimeout(()=>{le.titleField.actions.changeValue(R.title??""),le.descriptionField.actions.changeValue(R.details??R.description??""),le.locationField.actions.changeValue(R.location??""),le.colorField.actions.changeValue(R.color??""),le.setAllDay(R.allDay??!1),le.setIsPrivate(R.isPrivate??!1),le.setRecurrenceRule(R.rule??""),le.date.action.setSelectedStartDate(J(R.startAt)),le.date.action.setSelectedEndDate(J(R.endAt)),le.date.action.setError(!1),le.notifications.action.resetNotifications(),R.relatedContact?.id&&le.linkContact.action.handleSelectContact(R.relatedContact),O(R.calendarId??$)},50)):(D(null),M("create"),setTimeout(()=>{pe.titleField.actions.changeValue(R.title??""),pe.descriptionField.actions.changeValue(R.description??""),pe.date.action.setSelectedStartDate(J(R.startAt)),pe.date.action.setSelectedEndDate(J(R.startAt)),pe.date.action.setError(!1),R.relatedContact?.id&&pe.linkContact.action.handleSelectContact(R.relatedContact),N(R.calendarId??F)},50))}function kr(v){const{startAt:L,endAt:R}=Et(v),Z={...v,kind:"task",startAt:L,endAt:R,description:v?.description??""};w("task"),D(Z),N(Z.calendarId??""),O(Z.calendarId??""),I(null),M("view"),le.date.action.setError(!1),pe.date.action.setError(!1),Ue.handleOpen()}function Er(v){return v?.kind==="task"?kr(v):f(v)}l.useEffect(()=>{try{Re&&localStorage.setItem(tt,JSON.stringify(Re))}catch{}},[Re]),l.useEffect(()=>{Oe?.length&&dt(v=>{const L=new Set(Oe.map(Z=>Z.id)),R=(v??[]).filter(Z=>L.has(Z));return R.length?R:Oe.map(Z=>Z.id)})},[Oe]),l.useEffect(()=>{try{localStorage.setItem(ce,et)}catch{}},[et]);const Dr={eventDialog:{...Ue,handleClose:qe},dialogMode:U,createCalendarDialog:Xe,event:le,calendar:Ee,events:ft,handleCreateEvent:B,handleSelectEvent:Er,handleOpenEventCreate:ja,handleStartEditingEvent:wa,handleSaveUpdatedEvent:z,handleEndEvent:Fe,handleDeleteEvent:fe,handleResizeEvent:be,selectedEvent:T,savingSnackbar:_,handleCloseSnackbar:ea,dialogType:j,setDialogType:w,handleOpenTaskCreate:Sr,handleOpenCreateFromSlot:Ve,handleCloseCreateCalendarDialog:Qe,calendarDialogMode:V,editingCalendar:me,handleOpenCreateCalendarDialog:Ft,handleOpenEditCalendarDialog:Ta,handleSubmitCalendar:Ia,tasks:kt,activeCalendarIds:Re,setActiveCalendarIds:dt,handleCreateTask:Cr,task:pe,selectedTask:k,taskCalendarId:F,setTaskCalendarId:N,eventCalendarId:$,setEventCalendarId:O,userManuallyChangedColor:G,setUserManuallyChangedColor:P,myCalendars:nt,otherCalendars:Sa,isLoadingCalendars:ba,isCreatingEvent:Y,isUpdatingEvent:xe,isCreatingTask:Q,isUpdatingTask:We,handleSaveUpdatedTask:jr,handleDeleteTask:wr,handleToggleTaskCompleted:Tr,handleDuplicateItem:Ir,calendarView:et,setCalendarView:bt,calendarDate:ya,setCalendarDate:Kt,navigateToDate:Jt,confirmDeleteDialog:{open:A,handleClose:()=>E(!1),itemType:W},handleConfirmDelete:ie,deleteRecurringDialog:{open:re,handleClose:()=>oe(!1)},handleConfirmDeleteRecurring:se,editRecurringDialog:{open:je,handleClose:()=>{he(!1),Ae(null)}},handleConfirmEditRecurring:de,hiddenTabs:p};return t.jsx(id,{t:b,children:t.jsx(Oa.Provider,{value:Dr,children:e})})},fa=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),_a=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Wa=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),Tt="DD/MM/YYYY",ga="HH:mm",Td=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:o,disabled:i,hideLabel:d=!1,allDay:c=!1})=>{const u=$e(),p=l.useMemo(()=>a.diff(e,"minute"),[e,a]),g=l.useMemo(()=>{if(p===0)return"0 min";const b=Math.floor(p/60),j=p%60;return b===0?`${j} min`:j===0?`${b} h`:`${b}.${Math.round(j/60*10)} h`},[p]),y=b=>{if(!b)return;const j=b.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),w=b.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(j),r(w)},C=b=>{if(!b)return;const j=b.hour(0).minute(0).second(0).millisecond(0);n(j)},h=b=>{if(!b)return;const j=b.hour(23).minute(59).second(59).millisecond(999);r(j)},x=b=>{if(!b)return;const j=e.hour(b.hour()).minute(b.minute()).second(0).millisecond(0),w=j.add(p,"minute");n(j),r(w)},m=b=>{if(!b)return;let j=e.hour(b.hour()).minute(b.minute()).second(0).millisecond(0);(j.isBefore(e)||j.isSame(e))&&(j=j.add(1,"day")),r(j)};return i?t.jsxs(fa,{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(Tt)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(Tt)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Tt)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(ga)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ga)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",g,")"]})]})]})]}):t.jsxs(fa,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(Je.LocalizationProvider,{dateAdapter:Ja.AdapterDayjs,children:c?t.jsxs(_a,{children:[t.jsx(Je.DatePicker,{disabled:i,format:Tt,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:C,minDate:J(),sx:{flex:1}}),t.jsx(Wa,{variant:"body1",children:"\u2013"}),t.jsx(Je.DatePicker,{disabled:i,format:Tt,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:a,onChange:h,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(s.Box,{sx:{mb:1},children:t.jsx(Je.DatePicker,{disabled:i,format:Tt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:y,minDate:J()})}),t.jsxs(_a,{children:[t.jsx(Je.TimePicker,{disabled:i,format:ga,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:x,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Wa,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Je.TimePicker,{disabled:i,format:ga,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:a,onChange:m,sx:{alignSelf:"baseline",width:"100%"}}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",g,")"]})]})]})]})}),o&&t.jsx(s.Fade,{in:o,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 _e=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Va=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=$e(),{value:o,type:i,...d}=e.attributes,c=o||"";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(_e,{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(_e,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:i})})},Id=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),kd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"4px 0px"})),qn=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),Ed=s.styled(s.TextField)(()=>({width:"13%"})),Dd=s.styled(s.Select)(()=>({width:"23%"})),Ad=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),Fd=s.styled(s.IconButton)(()=>({ml:"auto",color:"error"})),Yn=[{title:"minute",value:na.EventNotificationPeriod.MINUTE},{title:"hour",value:na.EventNotificationPeriod.HOUR},{title:"day",value:na.EventNotificationPeriod.DAY}],Bd=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:o,disabled:i=!1})=>{const d=$e(),c=e.timeValue??0;return i?t.jsxs(kd,{children:[t.jsx(qn,{children:t.jsxs(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:[d("calendarView.reminders.sendReminder.pt1")," ",c," ",d(`calendarView.reminders.timePeriod.${Yn.find(u=>u.value===e.timePeriod)?.title||"minutes"}`)," ",d("calendarView.reminders.sendReminder.pt2")]})}),e.sendToContact&&t.jsxs(s.Typography,{variant:"body1",sx:{mt:.5,fontSize:"0.875rem",color:"text.secondary"},children:["*",d("calendarView.reminders.sendReminderToContact")]})]}):t.jsxs(Id,{children:[t.jsxs(qn,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(Ed,{disabled:i,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(Dd,{disabled:i,onChange:u=>n(u,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}}},children:Yn.map(u=>t.jsx(s.MenuItem,{value:u.value,children:d(`calendarView.reminders.timePeriod.${u.title}`)},u.value))}),t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(Ad,{children:[t.jsx(s.FormControlLabel,{sx:{display:"flex",alignItems:"center"},disabled:i,label:d("calendarView.reminders.sendReminderToContact"),control:t.jsx(s.Checkbox,{checked:e.sendToContact,onChange:u=>r(u,e.id),color:"secondary",disabled:i})}),t.jsx(Fd,{disabled:i,onClick:()=>o(e.id),sx:{ml:"auto"},children:t.jsx(aa,{})})]})]})},Md=s.styled(s.Box)`
17
- display: 'flex',
18
- flexDirection: 'column',
19
- gap: 1,
20
- `,$d=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Pd=({notificationsField:e,disabled:a})=>{const n=$e(),{addNotification:r,deleteNotification:o,handleReminderChange:i,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs(Md,{children:[t.jsxs($d,{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(Ka,{}),size:"small",variant:"outlined",onClick:r,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(s.Box,{sx:{pt:1},children:u?e.notifications.map(p=>t.jsx(Bd,{data:p,deleteHandler:o,sendToContactHandler:i,timePeriodHandler:c,timeValueHandler:d,disabled:a},p.id)):a?t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Kn=({descriptionField:e,disabled:a})=>{const n=$e(),{value:r,type:o,...i}=e.attributes,d=r||"";return a?t.jsx(_e,{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(_e,{title:n("global.description"),children:t.jsx(s.TextField,{...i,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},Ud=({onPlaceSelected:e})=>{const a=l.useRef(null),n=l.useRef(null),r=l.useRef(null),o=l.useRef(null),[i,d]=l.useState([]),[c,u]=l.useState(!1),p=$e();l.useEffect(()=>{if(!a.current)return;const C=()=>{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 h=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(h),o.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!C()){const h=setTimeout(()=>{C()},500);return()=>clearTimeout(h)}},[]);const g=C=>{const h=C.target.value;if(!h||h.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:h,types:["geocode"],sessionToken:o.current||void 0},(x,m)=>{m===window.google.maps.places.PlacesServiceStatus.OK&&x?(d(x),u(!0)):(d([]),u(!1))})},y=(C,h)=>{r.current&&r.current.getDetails({placeId:C,fields:["geometry","formatted_address"],sessionToken:o.current||void 0},(x,m)=>{if(m===window.google.maps.places.PlacesServiceStatus.OK&&x?.geometry?.location){const b=x.geometry.location.lat(),j=x.geometry.location.lng(),w=x.formatted_address??h;e({lat:b,lng:j},w),a.current&&(a.current.value=w),u(!1),d([]),o.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const C=h=>{a.current&&!a.current.contains(h.target)&&u(!1)};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[]),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:p("global.searchLocation","Buscar en Google Maps"),onChange:g,onFocus:()=>i.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&&i.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:i.map(C=>t.jsxs("div",{onClick:()=>y(C.place_id,C.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:h=>{h.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:C.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:C.structured_formatting.secondary_text})]},C.place_id))})]})},Jn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Xn=["places"],Ha={apiKey:Jn,libraries:Xn,loading:"async"},ma=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Qn=(e=Jn,a=Xn)=>{if(ma())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,o)=>{let i=0;const d=100,c=setInterval(()=>{i++,ma()?(clearInterval(c),r()):i>=d&&(clearInterval(c),n(),Qn(e,a).then(r).catch(o))},100)}):new Promise((r,o)=>{try{n();const i="initGoogleMaps";window[i]=()=>{ma()?r():setTimeout(()=>{ma()||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=${i}&loading=async`,d.async=!0,d.defer=!0,d.onerror=()=>{delete window[i],o(new Error("Error al cargar Google Maps API"))},document.head.appendChild(d)}catch(i){o(i)}})},Yt=(e,a,n=18,r=400,o=400,i="red",d=Ha.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${r}x${o}&markers=color:${i}%7Clabel:A%7C${e},${a}&key=${d}`,Rd=({onLocationChange:e,initialLocation:a})=>{const n=l.useRef(null),r=l.useRef(null),o=l.useRef(null),i=l.useRef(null),[d,c]=l.useState(!0),[u,p]=l.useState(!1),[g,y]=l.useState(a||null),C=18,h=l.useCallback(w=>{y(w),e(w)},[e]);l.useEffect(()=>{let w=!0;(async()=>{try{if(await Qn(Ha.apiKey,Ha.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&&(i.current=new window.google.maps.Geocoder),c(!1)}catch(T){console.error("Error al cargar Google Maps:",T),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(T=>{const I=T.coords.latitude,k=T.coords.longitude,D=I.toString(),U=k.toString(),M=Yt(I,k,C);h({lat:D,lng:U,title:"",description:"",url:M})},T=>{console.error("Error getting location:",T);const I=-34.6037,k=-58.3816;h({lat:I.toString(),lng:k.toString(),title:"",description:"",url:Yt(I,k,C)})})},[a,h,C]),l.useEffect(()=>{if(d||r.current)return;const w=setTimeout(()=>{r.current||x()},50);return()=>clearTimeout(w)},[d]),l.useEffect(()=>{u&&g&&b()},[u,g]),l.useEffect(()=>()=>{o.current&&(o.current.setMap(null),o.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 w={zoom:C,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,w),r.current.addListener("click",T=>{m(T)}),p(!0)}catch(w){console.error("Error inicializando mapa:",w)}},m=w=>{if(!w.latLng||!i.current)return;const T={lat:w.latLng.lat(),lng:w.latLng.lng()};o.current?o.current.setPosition(T):r.current&&(o.current=new window.google.maps.Marker({position:T,map:r.current})),i.current.geocode({location:T},(I,k)=>{if(k==="OK"&&I&&I[0]){const D=I[0].formatted_address,U=Yt(T.lat,T.lng,C);h({lat:T.lat.toString(),lng:T.lng.toString(),title:D||"",description:"",url:U})}else{const D=Yt(T.lat,T.lng,C);h({lat:T.lat.toString(),lng:T.lng.toString(),title:`${T.lat.toFixed(6)}, ${T.lng.toFixed(6)}`,description:"",url:D})}})},b=()=>{if(!(!r.current||!g))try{const w={lat:parseFloat(g.lat),lng:parseFloat(g.lng)};r.current.setCenter(w),o.current?o.current.setPosition(w):o.current=new window.google.maps.Marker({position:w,map:r.current})}catch(w){console.error("Error actualizando mapa:",w)}},j=(w,T)=>{const I=Yt(w.lat,w.lng,C);h({lat:w.lat.toString(),lng:w.lng.toString(),title:T||"",description:"",url:I})};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(Ud,{onPlaceSelected:j}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Nd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const o=$e(),[i,d]=l.useState(null),c=l.useRef(null);l.useEffect(()=>{e||d(null)},[e]),l.useEffect(()=>{c.current&&i&&(c.current.scrollTop=c.current.scrollHeight/4)},[i]);const u=l.useCallback(g=>{d(g)},[]),p=l.useCallback(()=>{i&&(n(i.title||`${i.lat}, ${i.lng}`,i.lat,i.lng),a())},[i,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:g=>g.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:o("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(s.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(ka,{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(Rd,{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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:p,disabled:!i,children:o("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},Ld=({locationField:e,disabled:a})=>{const n=$e(),[r,o]=l.useState(!1),{value:i,type:d,...c}=e.attributes,u=i||"",p=()=>{a||o(!0)},g=()=>{o(!1)},y=C=>{e.actions.changeValue(C)};return a?t.jsx(s.Box,{children:t.jsx(_e,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Xa,{sx:{opacity:.5,color:C=>C.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:C=>C.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(_e,{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:p,InputProps:{startAdornment:t.jsx(Xa,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(Nd,{open:r,onClose:g,onSelectLocation:y,initialAddress:u})]})},Od=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:o})=>{const i=$e(),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:o&&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:i(c.name),secondary:c?.phone})]},c.id))})},zd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function _d(e){const a=l.useRef(null),n=l.useRef(null),[r,o]=l.useState([]),[i,d]=l.useState(!1),[c,u]=l.useState(!1),[p,g]=l.useState(!1),[y,C]=l.useState(!1),[h,x]=l.useState(1),[m,b]=l.useState(!1),j=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),b(!1),x(1),C(!1),o([])},[]),w=D=>D.filter(U=>!!U?.id),T=l.useCallback(async({query:D,page:U})=>{if(!e)return;n.current?.abort();const M=new AbortController;n.current=M,u(!0);try{const F={...zd,currentPage:U,filter:[{value:D,column:"name",condition:""}]},N=await jd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:F,signal:M.signal});if(M.signal.aborted)return;const $=w(N?.contactos??[]);d(!0);const O=N?.paginacion?.total??0;o(G=>{const P=U===1?$:(()=>{const V=new Map;for(const X of G)V.set(X.id,X);for(const X of $)V.set(X.id,X);return Array.from(V.values())})();return O&&P.length>=O&&b(!0),P})}finally{u(!1),g(!1),C(!1)}},[e]),I=l.useCallback(D=>{j(),D&&(a.current&&(clearTimeout(a.current),a.current=null),g(!0),a.current=setTimeout(()=>{T({query:D,page:1})},800))},[T,j]),k=l.useCallback((D,U)=>{const M=D.target;if(!(M.scrollHeight-M.scrollTop-M.clientHeight<1)||m||c||!U)return;const F=h+1;C(!0),x(F),T({query:U,page:F})},[m,c,h,T]);return{contactList:r,hasSearched:i,isLoading:c,isLoadingTimer:p,isNextPage:y,handleQueryChanged:I,handleScroll:k,resetSearchState:j}}const Zn=({linkContactsHandler:e,disabled:a=!1})=>{const n=$e(),r=Nn(),o=l.useRef(null),[i,d]=l.useState(null),[c,u]=l.useState(""),{action:{handleSearchChange:p,handleSelectContact:g,handleRemoveContact:y},state:{search:C,selectedContact:h}}=e,{contactList:x,hasSearched:m,isLoading:b,isLoadingTimer:j,handleQueryChanged:w,handleScroll:T,resetSearchState:I}=_d(r),k=C||"",D=!!i&&k.length>0&&!a&&!h;l.useEffect(()=>{u(h?h.name:k)},[h?.id,h?.name,k]),l.useEffect(()=>{k?w(k):I()},[k,w,I]);const U=$=>{u($),h&&$!==h.name&&y(),p($),$&&!i?d(o.current):$||d(null)},M=$=>{u($.name),g($),d(null),I()},F=()=>{u(""),y()},N=()=>{d(null)};return a?t.jsx(_e,{title:n("global.linkContacts"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[h&&t.jsx(Qa,{sx:{opacity:.5,color:$=>$.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:$=>$.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})]})}):t.jsx(s.ClickAwayListener,{onClickAway:N,children:t.jsxs(s.Box,{children:[t.jsx(_e,{title:n("global.linkContacts"),children:t.jsx(s.TextField,{ref:o,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:c,onChange:$=>U($.target.value),onFocus:()=>{c&&!h&&d(o.current)},InputProps:{startAdornment:t.jsx(s.InputAdornment,{position:"start",children:t.jsx(Qa,{sx:{opacity:.5},fontSize:"small"})}),endAdornment:h?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.IconButton,{size:"small",edge:"end",onClick:F,children:t.jsx(ka,{fontSize:"small"})})}):b||j?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.CircularProgress,{size:18})}):null}})}),t.jsx(s.Popper,{open:D,anchorEl:i,placement:"bottom-start",style:{width:i?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(s.Paper,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[m&&x.length>0&&t.jsx(Od,{handleScroll:$=>T($,k),contactList:x,handleSelectContact:M,selectedContactIds:[],search:k}),m&&x.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")})})]})})]})})},Wd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:o,handleSaveUpdatedEvent:i,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:p,selectedTask:g,handleToggleTaskCompleted:y,event:C,task:h,eventCalendarId:x,taskCalendarId:m,isCreatingEvent:b,isUpdatingEvent:j,isCreatingTask:w,isUpdatingTask:T}=l.useContext(Oa),I=$e(),k=c==="event",D=b,U=j,M=!1,F=w,N=T,$=()=>{k?n():u()},O=(()=>{if(r==="view")return o;if(r==="edit")return k?()=>i?.():()=>p?.();if(r==="create")return $})(),G=I(r==="view"?k?"global.editEvent":"global.editTask":r==="edit"?k?"global.saveEvent":"global.saveTask":k?"global.createEvent":"global.createTask"),P=k?D||U:F||N,V=()=>{if(r==="view")return!0;const _=k?C:h,S=k?x:m;return _?.titleField?.attributes?.value?.trim().length>0&&!!S},X=k?D||U||e||!V():F||N||e||!V(),me=!k&&r==="view",H=g?.isCompleted||!1;return me?t.jsx(s.DialogActions,{children:t.jsx(ot.LoadingButton,{startIcon:t.jsx(Be.CheckCircleOutline,{}),size:"small",loading:N,disabled:N,onClick:y,variant:"contained",color:H?"inherit":"primary",children:H?I("global.markAsIncomplete","Marcar como incompleta"):I("global.markAsCompleted","Marcar como completada")})}):t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:I("global.cancel")}),k&&(r==="edit"||r==="view")&&t.jsx(ot.LoadingButton,{startIcon:t.jsx(Be.EventAvailable,{}),size:"small",disabled:e,loading:M,onClick:d,variant:"contained",children:I("global.finalizeEvent")}),t.jsx(ot.LoadingButton,{startIcon:t.jsx(Be.EditCalendar,{}),size:"small",loading:P,disabled:X,onClick:O,variant:"contained",children:G})]})},er={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},Vd=({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:{...er},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...er},color:"primary",children:n.task})]}),Hd="DD/MM/YYYY",Gd="HH:mm",qd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:o=!1})=>{const i=$e(),d=u=>{if(!u)return;const p=u.hour(e.hour()).minute(e.minute());a(p)},c=u=>{if(!u)return;const p=e.hour(u.hour()).minute(u.minute());a(p)};return n?t.jsxs(fa,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Hd)}),t.jsx(s.Typography,{variant:"body1",children:e.format(Gd)})]})]}):t.jsxs(fa,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsx(_a,{children:t.jsxs(Je.LocalizationProvider,{dateAdapter:Ja.AdapterDayjs,children:[t.jsx(Je.DatePicker,{disabled:n,value:e,onChange:d,slotProps:{textField:()=>({label:i("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(Wa,{variant:"body1",children:"_"}),t.jsx(Je.TimePicker,{disabled:n,value:e,onChange:c,ampm:!1,slotProps:{textField:()=>({label:i("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:i("conversations.sidebar.events.errorDate")})})]})},tr=({disabled:e,calendars:a,userId:n,value:r,onChange:o,loading:i=!1})=>{const d=$e(),c=l.useMemo(()=>a??[],[a]),u=l.useMemo(()=>{const p=c.find(g=>g.id===r);return e&&r&&!p&&!i&&console.warn("TaskCalendarSelect: Calendario no encontrado",{calendarId:r,availableCalendars:c.map(g=>({id:g.id,title:g.title})),totalCalendars:c.length}),p??null},[c,r,e,i]);if(e){if(i)return t.jsx(_e,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(s.CircularProgress,{size:16,sx:{opacity:.5}}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:g=>g.palette.text.secondary,fontSize:"0.9rem"},children:d("global.loading","Cargando...")})]})});const p=u?u.title:r?d("global.calendarNotFound","Calendario no disponible"):"-";return t.jsx(_e,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Kr,{sx:{opacity:.5,color:g=>g.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:g=>g.palette.text.secondary,fontSize:"0.9rem"},children:p})]})})}return t.jsx(_e,{title:d("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e||i,size:"small",fullWidth:!0,options:c,value:u,onChange:(p,g)=>o(g?.id??""),getOptionLabel:p=>p?.title??"",isOptionEqualToValue:(p,g)=>p.id===g.id,loading:i,groupBy:n?p=>p.userId===n?d("calendarView.myCalendars"):d("calendarView.othersCalendars"):void 0,renderGroup:p=>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:p.group}),t.jsx("ul",{style:{padding:0},children:p.children})]},p.key),slotProps:{popper:{sx:{zIndex:1400}},paper:{sx:{backgroundColor:p=>p.palette.background.panel}}},renderInput:p=>t.jsx(s.TextField,{...p,placeholder:d("global.selectCalendar"),InputProps:{...p.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[i?t.jsx(s.CircularProgress,{color:"inherit",size:20}):null,p.InputProps.endAdornment]})}})})})},Yd=({checked:e,onChange:a,disabled:n})=>{const r=$e();return t.jsx(s.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(s.FormControlLabel,{control:t.jsx(s.Checkbox,{checked:e,onChange:o=>a(o.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},Kd=({colorField:e,disabled:a,onColorChange:n})=>{const r=$e(),o=e.attributes.value||"#1976d2",i=(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 p=parseInt(u[1]),g=parseInt(u[2]),y=parseInt(u[3]),C=h=>{const x=h.toString(16);return x.length===1?"0"+x:x};return`#${C(p)}${C(g)}${C(y)}`}return"#1976d2"})(o),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(_e,{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:i,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(s.Typography,{variant:"body2",sx:{color:"text.secondary"},children:i})]})}):t.jsx(_e,{title:r("global.color","Color"),children:t.jsx(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:i,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"}})})})},ar=[{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"}],Jd=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const o=$e(),i=p=>{a(p.target.value)},d=l.useMemo(()=>ar.map(p=>t.jsx(s.MenuItem,{value:p.value,children:o(p.label,p.label)},p.value)),[o]),c=l.useMemo(()=>{const p=ar.find(g=>g.value===e);return p?o(p.label,p.label):o("global.noRepeat")},[e,o]);if(n)return r?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Da,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(_e,{title:o("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Da,{sx:{opacity:.5,color:p=>p.palette.text.secondary},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:i,startAdornment:t.jsx(Da,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}}},children:d});return r?u:t.jsx(_e,{title:o("global.recurrence","Recurrencia"),children:u})},Xd=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:o})=>{const{t:i}=Ke.useTranslation(),d=()=>{n(),a()},c=o==="event"?i("calendar.deleteEvent","Eliminar evento"):i("calendar.deleteTask","Eliminar tarea"),u=o==="event"?i("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):i("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:p=>p.palette.background.panel}},children:[t.jsxs(s.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Jr,{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:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:d,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},Qd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:o}=Ke.useTranslation(),[i,d]=l.useState("single"),c=()=>{n(i==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:o("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:i,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:o("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:o("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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:o("global.delete","Eliminar")})]})]})},Zd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:o}=Ke.useTranslation(),[i,d]=l.useState("single"),c=()=>{n(i==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:o("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:i,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:o("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:o("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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:o("global.save","Guardar")})]})]})},ec=()=>{const e=$e(),{event:a,task:n,dialogMode:r,selectedEvent:o,handleDeleteEvent:i,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:g,taskCalendarId:y,setTaskCalendarId:C,eventCalendarId:h,setEventCalendarId:x,myCalendars:m,otherCalendars:b,isLoadingCalendars:j,handleDeleteTask:w,userManuallyChangedColor:T,setUserManuallyChangedColor:I,eventDialog:{open:k,handleClose:D},confirmDeleteDialog:U,handleConfirmDelete:M,deleteRecurringDialog:F,handleConfirmDeleteRecurring:N,editRecurringDialog:$,handleConfirmEditRecurring:O,hiddenTabs:G,savingSnackbar:P,handleCloseSnackbar:V}=l.useContext(Oa);if(!a||!n)return t.jsx(s.Modal,{open:k,onClose:D,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:k,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:Y=>Y.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const X=u==="event",me=X?a:n,H=X?o:g,_=l.useRef(null);l.useEffect(()=>{k||(_.current=null)},[k]);const{titleField:S,descriptionField:A,date:E,linkContact:W}=me,q=X?a.notifications:null,re=X?{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,oe=e(r==="edit"?X?"global.editEvent":"global.editTask":r==="create"?X?"global.createEvent":"global.createTask":X?"global.showEvent":"global.showTask"),je=(r==="edit"||r==="view")&&!!H?.id,he=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!k||T||!h)return;const Y=m.find(ue=>ue.id===h);Y?.color&&a.colorField.actions.changeValue(Y.color)},[r,u,k,h,T,m]),l.useEffect(()=>{if(!k||u!=="event"||r!=="edit")return;const Y=E.state.selectedStartDate.isAfter(E.state.selectedEndDate)&&!E.state.selectedStartDate.isSame(E.state.selectedEndDate,"minute");_.current!==Y&&(_.current=Y,E.action.setError(Y))},[k,u,r,E.state.selectedStartDate.valueOf(),E.state.selectedEndDate.valueOf()]);const te=Y=>{if(Y==="task"){const ue=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(ue),n.date.action.setSelectedEndDate(ue),n.date.action.setError(!1),a.date.action.setError(!1)}else{const ue=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(ue),a.date.action.setError(!1),n.date.action.setError(!1)}p(Y)},Ae=Y=>{a.colorField.actions.changeValue(Y),I(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:k,onClose:D,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:k,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:Y=>Y.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:oe}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[he&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(Mt,{fontSize:"small"})}),je&&t.jsx(s.IconButton,{size:"small",onClick:X?i:w,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(aa,{fontSize:"small"})}),he&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Xr,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Va,{disabled:!1,titleField:S,variantMode:"inline"}),!G&&t.jsx(Vd,{value:u,onChange:te,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Va,{disabled:r==="view",titleField:S}),t.jsx(Kn,{disabled:r==="view",descriptionField:A}),t.jsx(tr,{disabled:r==="view",calendars:[...m,...b],userId:m[0]?.userId,value:h,onChange:Y=>x(Y),loading:j}),t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:Y=>Y.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(Td,{disabled:r==="view",selectedStartDate:E.state.selectedStartDate,selectedEndDate:E.state.selectedEndDate,handleSelectStart:E.action.handleSelect(E.action.setSelectedStartDate),handleSelectEnd:E.action.handleSelect(E.action.setSelectedEndDate),isError:E.state.error,hideLabel:!0,allDay:re?.allDay??!1})})}),re&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(Yd,{checked:re.allDay,onChange:re.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Jd,{disabled:r==="view",value:re.recurrenceRule,onChange:re.setRecurrenceRule,hideLabel:!0})})]})]}),re&&t.jsx(t.Fragment,{children:t.jsx(Kd,{disabled:r==="view",colorField:re.colorField,onColorChange:r==="create"?Ae:void 0})}),q&&t.jsx(Pd,{disabled:r==="view",notificationsField:q}),t.jsx(Zn,{linkContactsHandler:W,disabled:r==="view"}),re&&t.jsx(Ld,{disabled:r==="view",locationField:re.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Va,{disabled:r==="view",titleField:S}),t.jsx(Kn,{disabled:r==="view",descriptionField:A}),t.jsx(tr,{disabled:r==="view",calendars:[...m,...b],userId:m[0]?.userId,value:y,onChange:Y=>C(Y),loading:j}),t.jsx(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:Y=>Y.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(Qr,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(qd,{disabled:r==="view",selectedDateTime:E.state.selectedStartDate,handleSelect:Y=>{E.action.setSelectedStartDate(Y),E.action.setSelectedEndDate(Y),E.action.setError(!1)},isError:E.state.error,hideLabel:!0})})]})}),t.jsx(Zn,{linkContactsHandler:W,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(Wd,{isFinalized:o?.finalized})})]})})}),t.jsx(Xd,{open:U.open,onClose:U.handleClose,onConfirm:M,itemTitle:U.itemType==="event"?o?.title:g?.title,itemType:U.itemType}),t.jsx(Qd,{open:F.open,onClose:F.handleClose,onConfirm:N,eventTitle:o?.title}),t.jsx(Zd,{open:$.open,onClose:$.handleClose,onConfirm:O,eventTitle:o?.title}),t.jsx(s.Snackbar,{open:P.open,autoHideDuration:6e3,onClose:V,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:V,severity:P.severity,sx:{width:"100%"},variant:"filled",children:P.message})})]})},nr=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}}}}}})},tc=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:o,language:i="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:p,selectedEvent:g,selectedTask:y,hiddenTabs:C=!1,onActionComplete:h,contactId:x,initialStartDate:m,initialEndDate:b}=e,{i18n:j}=Ke.useTranslation();l.useEffect(()=>{i&&j.changeLanguage(i)},[i,j]);const w=l.useMemo(()=>({baseUrl:r,spaceId:o}),[r,o]);return t.jsx(Nl,{value:w,children:t.jsx(wd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:g,externalSelectedTask:y,hiddenTabs:C,externalOnActionComplete:h,externalContactId:x,externalInitialStartDate:m,externalInitialEndDate:b,children:t.jsx(ec,{})})})},ac=e=>{const a=s.useTheme(),n=a?.palette?a:s.createTheme(),r=nr(n);return t.jsx(s.ThemeProvider,{theme:r,children:t.jsx(Ke.I18nextProvider,{i18n:St,children:t.jsx(tc,{...e})})})},ha=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)"}}),rr=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)"}}),sr=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)"}}),or=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)"}}),ir=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)"}}),lr=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)"}}),dr=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)"}}),cr=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)"}}),ur=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)"}}),pr=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)"}}),fr=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)"}}),gr=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)"}}),mr=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)"}}),hr=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)"}}),yr=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)"}}),nc="https://agent-api.trii.app/api/v1/settings/user/setTheme",rc={themeSelected:ha,darkMode:!1,toggleStatus:"idle"},xr=Za.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await Zr.put(nc,r)).data}),br=Za.createSlice({name:"Theme",initialState:rc,reducers:{toggleTheme:(e,a)=>{const n=vr(a.payload);Object.assign(e,{themeSelected:n,toggleStatus:"toggled"})},toggleModeTheme:e=>{e.darkMode=!e.darkMode}},extraReducers:e=>{e.addCase(xr.fulfilled,(a,n)=>{const r=vr(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),vr=e=>{switch(e){case"lightBlueIndigo":return ha;case"darkBlack":return yr;case"darkBlue":return hr;case"lightAmber":return pr;case"lightBlue":return rr;case"lightBrown":return gr;case"lightGray":return mr;case"lightGreen":return or;case"lightLime":return cr;case"lightOrange":return fr;case"lightPink":return ir;case"lightPurple":return lr;case"lightRed":return sr;case"lightTeal":return dr;case"lightYellow":return ur;default:return ha}},sc=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:oc,toggleModeTheme:ic}=br.actions,lc=e=>e.Theme.toggleStatus,dc=e=>e.Theme.themeSelected,cc=e=>e.Theme.darkMode;br.reducer,exports.ContactInfoPopup=on,exports.EditContactModal=Rl,exports.EventsDialog=ac,exports.MuiComponentsConfig=nr,exports.darkBlack=yr,exports.darkBlue=hr,exports.i18n=St,exports.isValidThemeName=sc,exports.lightAmber=pr,exports.lightBlue=rr,exports.lightBlueIndigo=ha,exports.lightBrown=gr,exports.lightGray=mr,exports.lightGreen=or,exports.lightLime=cr,exports.lightOrange=fr,exports.lightPink=ir,exports.lightPurple=lr,exports.lightRed=sr,exports.lightTeal=dr,exports.lightYellow=ur,exports.selectThemeToggleStatus=lc,exports.selectedDarkTheme=cc,exports.selectedTheme=dc,exports.toggleModeTheme=ic,exports.toggleTheme=oc,exports.updateTheme=xr;
16
+ <%s key={someKey} {...props} />`,Bt,Qe,Ia,Qe),ot[Qe+Bt]=!0}}return f===r?mt(ve):ja(ve),ve}}function At(f,P,z){return vt(f,P,z,!0)}function Ft(f,P,z){return vt(f,P,z,!1)}var wa=Ft,Ta=At;Nt.Fragment=r,Nt.jsx=wa,Nt.jsxs=Ta})()),Nt}process.env.NODE_ENV==="production"?Aa.exports=ss():Aa.exports=os();var t=Aa.exports;rs(t);const is=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})),rn=s.styled(s.IconButton)({padding:4}),ls=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),ds=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),cs=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),us=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),ps=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:o=!1,onError:i,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(v=>x=>{try{if(x.preventDefault(),x.stopPropagation(),!v)throw new Error("Navigation URL is required");x.ctrlKey||x.metaKey||x.button===1?window.open(v,"_blank","noopener,noreferrer"):r(v)}catch(I){i?.(I instanceof Error?I:new Error("Navigation failed"))}},[r,i]),{t:p}=Ke.useTranslation(),m=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),h=u(`/a/conversations/conversations?contactId=${n}`),y=!!a,g=a||p("contactName.noName"),C=`Avatar for ${g}`;return t.jsxs(ls,{children:[t.jsxs(is,{children:[t.jsx(rn,{color:"info",size:"small",onClick:v=>{m(v),d()},onMouseDown:v=>{v.button===1&&(m(v),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Mr,{fontSize:"small"})}),t.jsx(rn,{color:"info",size:"small",onClick:v=>{h(v),d()},onMouseDown:v=>{v.button===1&&(h(v),d())},"aria-label":"Go to conversations",children:t.jsx($r,{fontSize:"small"})})]}),o?t.jsx(us,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(ds,{src:e,alt:C,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(cs,{variant:"h6",title:g,sx:y?void 0:{color:"text.disabled",fontStyle:"italic"},children:g})]})},fs=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),gs=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),ms=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),hs=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),ys=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),xs=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%",minWidth:0,overflow:"hidden"}),bs=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),vs=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const o=i=>t.jsx(ms,{children:t.jsxs(ys,{children:[t.jsx(hs,{children:e}),t.jsxs(xs,{children:[t.jsx(s.Tooltip,{title:i.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:i.address})}),i.profileName&&t.jsx(s.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:i.profileName})]}),i.note&&t.jsx(bs,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(fs,{children:[r&&t.jsx(gs,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},Cs=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Ss=s.styled(s.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),js=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%",minWidth:0}),ws=s.styled(s.Typography)({fontSize:14,wordBreak:"break-word",overflowWrap:"anywhere",minWidth:0}),Ts=s.styled(Be.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Is=({properties:e,title:a})=>{const n=o=>o.replace(/-/g," "),r=(o,i)=>{if(!o||Array.isArray(o)&&o.length===0)return"";if(Array.isArray(o))return o.map(d=>r(d,i)).join(", ");if(typeof o=="string"){const d=ht(o,ht.ISO_8601).isValid(),c=u=>ht(o).format(u);switch(i){case ae.ContactField_type.TIME:return d?c("HH:mm"):o;case ae.ContactField_type.DATE:return d?c("DD/MM/YYYY"):o;case ae.ContactField_type.TIMERANGE:case ae.ContactField_type.DATERANGE:if(d)return i===ae.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=o.split(" ");if(u.length===2){const[p,m]=u,h=i===ae.ContactField_type.TIMERANGE?ht(p).format("HH:mm"):ht(p).format("DD/MM/YYYY"),y=i===ae.ContactField_type.TIMERANGE?ht(m).format("HH:mm"):ht(m).format("DD/MM/YYYY");return`${h} - ${y}`}return o;default:return o}}return o};return t.jsxs(Cs,{children:[t.jsx(Ss,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value?.length>0&&t.jsxs(js,{children:[t.jsx(Ts,{}),t.jsxs(ws,{children:[n(o.nameKey),":"," ",r(o.value,o.type)]})]},i))]})},ks=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Es=s.styled(s.Box)({marginBottom:16}),Ds=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),As=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ks,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Es,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Ds,{label:n.name,color:"primary",size:"small"},n.id))})]});function sn(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 Fs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Bs=({contactData:e,title:a})=>!e||!sn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(Fs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function on(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 Ms=({name:e,memberId:a,navigate:n})=>{const r=`/a/conversations/conversations?contactId=${a}`,o=i=>{i.preventDefault(),i.stopPropagation(),i.ctrlKey||i.metaKey||i.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:o,onMouseDown:i=>{i.button===1&&o(i)},onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&o(i)},children:e})},$s=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Ps=({contactData:e,title:a,navigate:n})=>!e||!on(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx($s,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(Ms,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var Us="Labels",Rs="Phone",Ns="Business",Ls="Business Members",Os="Properties",zs="View",_s="Tags",Ws={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"},Vs={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"},Hs={noName:"No name"},Gs={100101:"The number length seems too short",100102:"It seems to be already associated with another contact",100103:"Incorrect format",100104:"WhatsApp account not found",100105:"RCS account not found"},qs={verifyWspAccount:"Verify WhatsApp account",verifyRcsAccount:"Verify RCS account",wspAccountFound:"WhatsApp account found",wantToLinkContact:"Do you want to link this contact with the found WhatsApp account?",yesLink:"Yes, link",noWspAccountFound:"No WhatsApp account found"},Ys={upload:"Upload photo",delete:"Delete photo"},Ks={businessMembers:{title:"Members",edit:"Edit members",empty:"No members",searchLabel:"Members",searchPlaceholder:"Search contacts",searchPrompt:"Search contacts",noOptions:"No contacts found"}},Js={from:"From",to:"To"},Xs={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"}}},Qs={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"},Zs={labels:Us,phone:Rs,business:Ns,businessMembers:Ls,properties:Os,view:zs,tags:_s,global:Ws,searchLocationModal:Vs,contactName:Hs,contactAddressError:Gs,optionMenu:qs,avatar:Ys,editContactModal:Ks,contactEdit:Js,conversations:Xs,calendarView:Qs},eo="Etiquetas",to="Tel\xE9fono",ao="Empresa",no="Miembros de la empresa",ro="Propiedades",so="Ver",oo="Etiquetas",io={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"},lo={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"},co={noName:"Sin nombre"},uo={100101:"La longitud del n\xFAmero parece demasiado corta",100102:"Parece que ya est\xE1 asociado a otro contacto",100103:"Formato incorrecto",100104:"Cuenta de WhatsApp no encontrada",100105:"Cuenta de RCS no encontrada"},po={verifyWspAccount:"Verificar cuenta de WhatsApp",verifyRcsAccount:"Verificar cuenta de RCS",wspAccountFound:"Cuenta de WhatsApp encontrada",wantToLinkContact:"\xBFDesea vincular este contacto con la cuenta de WhatsApp encontrada?",yesLink:"S\xED, vincular",noWspAccountFound:"No se encontr\xF3 una cuenta de WhatsApp"},fo={upload:"Subir foto",delete:"Eliminar foto"},go={businessMembers:{title:"Miembros",edit:"Editar miembros",empty:"Sin miembros",searchLabel:"Miembros",searchPlaceholder:"Buscar contactos",searchPrompt:"Buscar contactos",noOptions:"No se encontraron contactos"}},mo={from:"Desde",to:"Hasta"},ho={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"}}},yo={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"},xo={labels:eo,phone:to,business:ao,businessMembers:no,properties:ro,view:so,tags:oo,global:io,searchLocationModal:lo,contactName:co,contactAddressError:uo,optionMenu:po,avatar:fo,editContactModal:go,contactEdit:mo,conversations:ho,calendarView:yo};const bo={en:{translation:Zs},es:{translation:xo}},jt=Pr.createInstance();jt.use(Ke.initReactI18next).init({resources:bo,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ln=(e="",a="",n=Mt.Spaces.nameFormat.FIRST_LAST)=>{const r=e?.trim()||"",o=a?.trim()||"";switch(n){case Mt.Spaces.nameFormat.FIRST_LAST:return`${r} ${o}`.trim();case Mt.Spaces.nameFormat.LAST_FIRST:return`${o} ${r}`.trim();case Mt.Spaces.nameFormat.FIRST_COMMA_LAST:return r&&o?`${r}, ${o}`:r||o;case Mt.Spaces.nameFormat.LAST_COMMA_FIRST:return r&&o?`${o}, ${r}`:o||r;default:return`${r} ${o}`.trim()}},vo=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,maxWidth:300,boxSizing:"border-box",maxHeight:"calc(100vh - 500px)",overflowY:"auto",overflowX:"hidden",wordBreak:"break-word",overflowWrap:"anywhere",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"}})),Co=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:o,navigate:i,language:d="en",contactNameFormat:c})=>{const{t:u,i18n:p}=Ke.useTranslation();l.useEffect(()=>{d&&p.changeLanguage(d)},[d,p]);const m=u,h=on(r),y=sn(r),g=r?y?ln(r.firstName,r.lastName,c):r.name:void 0,C=[{icon:t.jsx(Be.PhoneEnabled,{fontSize:"small"}),title:m("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Be.Email,{fontSize:"small"}),title:m("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 v=x=>{x.key==="Escape"&&n()};return e&&window.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}},[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(vo,{children:t.jsxs(s.CardContent,{children:[t.jsx(ps,{navigate:i,contactId:r?.id,imgUrl:o,name:g,onClose:n,isBusiness:h}),t.jsx(As,{contactData:r,title:m("labels")}),y&&t.jsx(Bs,{contactData:r,title:m("business")}),h&&t.jsx(Ps,{contactData:r,title:m("businessMembers"),navigate:i}),C.map((v,x)=>t.jsx(vs,{icon:v.icon,title:v.title,contactList:v.contactList,showTitle:v.showTitle},x)),t.jsx(Is,{properties:r?.properties,title:m("properties")})]})})})})},Fa=e=>t.jsx(Ke.I18nextProvider,{i18n:jt,children:t.jsx(Co,{...e})}),dn=l.createContext(null),So=dn.Provider,et=()=>l.useContext(dn),cn=e=>e,un=l.createContext(cn),jo=({t:e,children:a})=>t.jsx(un.Provider,{value:e,children:a}),ye=()=>{const e=l.useContext(un);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),cn)};var wo=Object.defineProperty,To=(e,a,n)=>a in e?wo(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,pn=(e,a,n)=>To(e,typeof a!="symbol"?a+"":a,n);let fn=class extends Error{constructor(a,n,r){super(a),pn(this,"status"),pn(this,"body"),this.name="ApiError",this.status=n,this.body=r}};async function ze({url:e,method:a="GET",headers:n,body:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new fn(c,i.status,d)}return d}async function Io({url:e,method:a="POST",headers:n,formData:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:r,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new fn(c,i.status,d)}return d}function Ie(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function Le(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`)}}async function ko({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.CONTACTS,"/labels");return ze({url:o,signal:n})}async function gn({baseUrl:e,spaceId:a,name:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/labels");return ze({url:i,method:"POST",body:{name:n},signal:r})}async function Eo({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Do({baseUrl:e,spaceId:a,businessId:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/business/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Ao({baseUrl:e,spaceId:a,forType:n,signal:r}){const o=Le(e,a),i=`${Ie(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ze({url:i,signal:r})}async function tt({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Le(e,a),u=Ie(c.CONTACTS,d);return ze({url:u,method:"PUT",body:o,signal:i})}async function Fo({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/Search");return ze({url:i,method:"POST",body:n,signal:r})}async function Bo({baseUrl:e,spaceId:a,business:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/business");return ze({url:i,method:"POST",body:n,signal:r})}async function oa({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses");return ze({url:i,method:"DELETE",body:n,signal:r})}async function Mo({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses/check");return ze({url:i,method:"POST",body:n,signal:r})}async function $o({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,"/contactAddresses/set");return ze({url:i,method:"POST",body:n,signal:r})}async function Po({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Le(e,a),i=Ie(o.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return ze({url:i,method:"PUT",body:n,signal:r})}async function mn({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.SETTINGS,"/user");return ze({url:o,signal:n})}async function Uo({baseUrl:e,spaceId:a,signal:n}){const r=Le(e,a),o=Ie(r.SETTINGS,"/users");return ze({url:o,signal:n})}async function Ro({baseUrl:e,spaceId:a,signal:n,userId:r}){const o=Le(e,a),i=Ie(o.SETTINGS,`/usersInfo/${r}`);return ze({url:i,signal:n})}async function hn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o}){const i=Le(e,a),d=new FormData;d.append("file",r,r.name);const c=Ie(i.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Io({url:c,formData:d,signal:o})}const yn=(e,a)=>({fetchLabels:({signal:n}={})=>ko({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>gn({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>Eo({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>Do({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})=>Bo({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>Ao({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:o,signal:i})=>tt({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}),deleteAddress:({data:n,signal:r})=>oa({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>oa({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})=>$o({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Po({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>mn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Uo({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>Ro({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:o})=>hn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o})}),No={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},Lo=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:o,onEntityUpdated:i,currentUser:d})=>{const c=ye(),u=et(),p=l.useRef(null),m=l.useRef(null),[h,y]=l.useState(()=>r?.businessName??""),[g,C]=l.useState(!1),[v,x]=l.useState(!1),[I,j]=l.useState(!1),[k,S]=l.useState([]),[w,E]=l.useState(r??null),[B,F]=l.useState(1),[D,U]=l.useState(!1),[R,L]=l.useState(!1),W=l.useMemo(()=>{const V=d?.display_name,Y=d?.email;return String(V||Y||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),m.current?.abort()},[]),l.useEffect(()=>{E(r??null),y(r?.businessName??"")},[r]);const M=()=>{m.current?.abort(),m.current=null,p.current&&(clearTimeout(p.current),p.current=null),C(!1),L(!1),F(1),U(!1),S([])},H=V=>V.filter(Y=>!!Y?.id).map(Y=>({businessId:String(Y.id),businessName:String(Y.name??"")})),q=async({query:V,page:Y})=>{if(!u)return;m.current?.abort();const ne=new AbortController;m.current=ne,x(!0);try{const ie={...No,currentPage:Y,filter:[{value:V,column:"name",condition:""}]},je=await u.fetchBusinessTableData({pagination:ie,signal:ne.signal});if(ne.signal.aborted)return;const he=H(je?.contactos??[]);C(!0);const te=je?.paginacion?.total??0;S(Ae=>{const K=Y===1?he:(()=>{const pe=new Map;for(const xe of Ae)pe.set(xe.businessId,xe);for(const xe of he)pe.set(xe.businessId,xe);return Array.from(pe.values())})();return te&&K.length>=te&&L(!0),K})}finally{x(!1),j(!1),U(!1)}},se=V=>{M(),V&&(p.current&&(clearTimeout(p.current),p.current=null),j(!0),p.current=setTimeout(()=>{q({query:V,page:1})},800))},G=V=>{const Y=V.target;if(!(Y.scrollHeight-Y.scrollTop-Y.clientHeight<1)||R||v||!h)return;const ne=B+1;U(!0),F(ne),q({query:h,page:ne})},_=async()=>{if(!u||!W)return;const V=String(h??"").trim();if(V){x(!0);try{const Y={name:V,owner:W,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ne=await u.createBusiness({business:Y}),ie={businessId:String(ne.id??""),businessName:String(ne.name??V)};S([ie]),E(ie),C(!0)}finally{x(!1)}}},T=async()=>{if(!e||!a||!n)return;const V=w?.businessId??"",Y=await tt({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:V}});i?.(Y),o()},$=g&&k.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:_,loading:v,disabled:v||!W,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),A=!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:o,"aria-label":c("global.back"),children:t.jsx(na,{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(pt,{}),onClick:T,loading:!1,disabled:A,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[v||I||D?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:(V,Y)=>{E(Y)},inputValue:h,onInputChange:(V,Y,ne)=>{y(Y),ne==="input"&&se(Y)},options:k,getOptionLabel:V=>V?.businessName??"",isOptionEqualToValue:(V,Y)=>V.businessId===Y.businessId,noOptionsText:$,renderInput:V=>t.jsx(s.TextField,{...V,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{...V.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||I?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,V.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:G}})]})]})},Oo={format:"IContactInfo",total:0,lastPage:1,perPage:10,order:"DESC",orderColumn:"name"},xn=e=>String(e.name||e.profileName||e.address||""),zo=({business:e,onBack:a,onEntityUpdated:n})=>{const r=ye(),o=et(),i=l.useRef(null),d=l.useRef(null),[c,u]=l.useState([]),[p,m]=l.useState(""),[h,y]=l.useState([]),[g,C]=l.useState(!1),[v,x]=l.useState(!1),[I,j]=l.useState(!1),[k,S]=l.useState(!1),[w,E]=l.useState(1),[B,F]=l.useState(!1);l.useEffect(()=>{u(e?.members??[])},[e]),l.useEffect(()=>()=>{i.current&&clearTimeout(i.current),d.current?.abort()},[]);const D=()=>{d.current?.abort(),d.current=null,i.current&&(clearTimeout(i.current),i.current=null),C(!1),F(!1),E(1),y([])},U=async({query:H,page:q})=>{if(!o)return;d.current?.abort();const se=new AbortController;d.current=se,x(!0);try{const G={...Oo,currentPage:q,filter:[{column:"Name",condition:"",value:H}]},_=await o.fetchBusinessTableData({pagination:G,signal:se.signal});if(se.signal.aborted)return;const T=_?.contactos??[],$=_?.paginacion?.total??0;C(!0),y(A=>{const V=q===1?T:(()=>{const Y=new Map;for(const ne of A)Y.set(ne.id,ne);for(const ne of T)Y.set(ne.id,ne);return Array.from(Y.values())})();return $&&V.length>=$&&F(!0),V})}finally{x(!1),j(!1)}},R=H=>{D(),H&&(j(!0),i.current=setTimeout(()=>{U({query:H,page:1})},800))},L=H=>{const q=H.target;if(!(q.scrollHeight-q.scrollTop-q.clientHeight<1)||B||v||!p)return;const se=w+1;E(se),U({query:p,page:se})},W=async()=>{if(!(!o||!e?.id||k)){S(!0);try{const H=await o.updateEntity({entityType:"business",entityId:e.id,body:{members:c}});n?.(H),a()}finally{S(!1)}}},M=g&&p?t.jsx(s.Typography,{variant:"body2",children:r("editContactModal.businessMembers.noOptions")}):t.jsx(s.Typography,{variant:"body2",children:r("editContactModal.businessMembers.searchPrompt")});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:a,"aria-label":r("global.back"),children:t.jsx(na,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:r("editContactModal.businessMembers.edit")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(pt,{}),onClick:W,loading:k,disabled:!o||!e?.id,children:r("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[v||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,{multiple:!0,fullWidth:!0,disablePortal:!0,disableCloseOnSelect:!0,value:c,onChange:(H,q)=>{u(q)},inputValue:p,onInputChange:(H,q,se)=>{m(q),se==="input"&&R(q)},options:h,filterOptions:H=>H,getOptionLabel:xn,isOptionEqualToValue:(H,q)=>H.id===q.id,noOptionsText:M,renderTags:(H,q)=>H.map((se,G)=>l.createElement(s.Chip,{label:xn(se),size:"small",...q({index:G}),key:se.id})),renderInput:H=>t.jsx(s.TextField,{...H,size:"small",label:r("editContactModal.businessMembers.searchLabel"),placeholder:r("editContactModal.businessMembers.searchPlaceholder"),InputProps:{...H.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||I?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,H.InputProps.endAdornment]})},InputLabelProps:{shrink:!0}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:L}})]})]})},bn=()=>{},vn=l.createContext(bn),_o=({navigate:e,children:a})=>t.jsx(vn.Provider,{value:e,children:a}),Cn=()=>l.useContext(vn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),bn),Lt=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r,action:o})=>{const i=ye();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}),t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,children:[o,n&&t.jsx(s.Button,{startIcon:t.jsx(Rr,{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]})},Sn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e});function Ba(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 Wo=e=>String(e.name||e.profileName||e.address||"-"),Vo=({business:e,onEdit:a,language:n,contactNameFormat:r})=>{const o=ye(),i=et(),d=Cn(),[c,u]=l.useState(null),[p,m]=l.useState(null),[h,y]=l.useState(""),[g,C]=l.useState(null),v=e.members??[],x=I=>async j=>{const k=j.currentTarget;if(!(!i||!I?.id)){C(I.id);try{const S=await i.fetchContact({contactId:I.id});Ba(S)&&(m(S),y(String(I.imageUrl||S.imageUrl||"")),u(k))}finally{C(null)}}};return t.jsxs(Lt,{title:o("editContactModal.businessMembers.title"),action:t.jsx(s.IconButton,{"aria-label":o("editContactModal.businessMembers.edit"),size:"small",onClick:a,children:t.jsx(Ct,{sx:{fontSize:18}})}),children:[v.length>0?t.jsx(s.Box,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(2, minmax(0, 1fr))"},gap:1.5},children:v.map(I=>{const j=Wo(I),k=String(I.imageUrl||""),S=g===I.id;return t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1.5,sx:{minWidth:0,py:.5},children:[t.jsx(s.Avatar,{src:k,alt:j,onClick:x(I),sx:{width:32,height:32,cursor:i?"pointer":"default",bgcolor:w=>w.palette.background.default,color:w=>w.palette.text.secondary}}),t.jsx(s.Typography,{variant:"body2",fontWeight:600,noWrap:!0,sx:{minWidth:0,flex:1},children:j}),S?t.jsx(s.CircularProgress,{size:18}):null]},I.id)})}):t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:o("editContactModal.businessMembers.empty")}),t.jsx(Fa,{contactData:p??void 0,open:!!c,anchorEl:c,onClose:()=>u(null),navigate:d,avatarImgUrl:h,language:n,contactNameFormat:r})]})},Ho=({tags:e,onEditTags:a})=>{const n=ye(),[r,o]=l.useState(null),i=l.useMemo(()=>e??[],[e]),d=i.slice(0,4),c=Math.max(i.length-d.length,0),u=h=>{o(h.currentTarget)},p=()=>{o(null)},m=!!r;return t.jsxs(s.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(s.Box,{sx:{maxWidth:320,position:"relative"},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":i.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:h=>h.palette.background.panel,transition:"background-color 0.2s ease-in-out, color 0.2s ease-in-out","&:hover":{bgcolor:"action.selected",color:"text.primary"}},children:i.length?t.jsx(Ct,{fontSize:"small"}):t.jsx(Nr,{fontSize:"small"})})]}),t.jsx(s.Popover,{open:m,anchorEl:r,onClose:p,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:i.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))})]})})]})},Go=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),qo=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Yo=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Ko=s.styled(s.IconButton)(({alwaysVisible:e})=>({opacity:e?1:0,visibility:e?"visible":"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"})),Jo=({displayName:e,contactType:a,firstName:n,lastName:r,name:o,entityId:i,onEntityUpdated:d})=>{const c=et(),u=ye(),[p,m]=l.useState(!1),[h,y]=l.useState(!1),[g,C]=l.useState({firstName:n||"",lastName:r||"",name:o||""});l.useEffect(()=>{C({firstName:n||"",lastName:r||"",name:o||""})},[n,r,o]);const v=async()=>{if(!(!c||!i||!a||a==="unknown")){y(!0);try{let I={};a==="contact"?I={firstName:g.firstName,lastName:g.lastName}:a==="business"&&(I={name:g.name});const j=await c.updateEntity({entityType:a,entityId:i,body:I});j&&d&&d(j),m(!1)}catch(I){console.error("Failed to update name",I)}finally{y(!1)}}},x=a==="contact"||a==="business";return p?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:g.firstName,onChange:I=>C({...g,firstName:I.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:g.lastName,onChange:I=>C({...g,lastName:I.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:g.name,onChange:I=>C({...g,name:I.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:v,disabled:h,color:"primary",children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(Be.Save,{})})]}):t.jsx(qo,{children:t.jsxs(Yo,{children:[t.jsx(Go,{variant:"h6",title:e||u("contactName.noName"),sx:e?void 0:{color:"text.disabled",fontStyle:"italic"},children:e||u("contactName.noName")}),x&&t.jsx(Ko,{size:"small",onClick:()=>m(!0),className:"edit-icon",alwaysVisible:!e,sx:{ml:1},children:t.jsx(Be.Edit,{fontSize:"small"})})]})})},Xo=({src:e,alt:a,onError:n,onUpload:r,onDelete:o,isUploading:i,isDeleting:d})=>{const c=ye();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:!!i,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Lr,{fontSize:"small"})}),t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.delete"),onClick:o,disabled:!!d,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(ra,{fontSize:"small"})})]})]})},Qo=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Zo=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:m,contactType:h,firstName:y,lastName:g,name:C,entityId:v,onEntityUpdated:x})=>{const I=`Avatar for ${a}`;return t.jsxs(Qo,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(Xo,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:u,onDelete:p,isDeleting:m}),t.jsx(Jo,{displayName:a,contactType:h,firstName:y,lastName:g,name:C,entityId:v,onEntityUpdated:x}),t.jsx(Ho,{tags:r,onEditTags:o})]})},Ma=20,ei=e=>{const{popperContainer:a,...n}=e;return t.jsx(Or,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},ti=({value:e,options:a,onChange:n,onBack:r,onSave:o,isSaving:i,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=ye(),[m,h]=l.useState(""),[y,g]=l.useState(Ma),C=l.useDeferredValue(m),v=l.useMemo(()=>a??[],[a]),x=l.useMemo(()=>{const E=String(C??"").trim().toLowerCase();return E?v.filter(B=>String(B?.name??"").toLowerCase().includes(E)):v},[v,C]),I=l.useMemo(()=>x.slice(0,y),[x,y]),j=l.useMemo(()=>{const E=new Map;for(const B of e??[])B?.id&&E.set(String(B.id),B);for(const B of I??[])B?.id&&(E.has(String(B.id))||E.set(String(B.id),B));return Array.from(E.values())},[e,I]),k=(E,B)=>{h(B??""),g(Ma)},S=E=>{const B=E;B.scrollTop+B.clientHeight>=B.scrollHeight-24&&g(F=>F+Ma)},w=()=>{const E=String(m??"").trim(),B=!E||i||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(Ze.LoadingButton,{onClick:()=>d(E),loading:c,disabled:B,variant:"contained",size:"small",sx:{marginTop:1.3},children:p("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":p("global.back"),disabled:i,children:t.jsx(na,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:p("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(Ze.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(pt,{}),onClick:o,loading:i,disabled:i,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(E,B)=>n(B),options:j,filterOptions:E=>E,inputValue:m,onInputChange:k,getOptionLabel:E=>E?.name??"",isOptionEqualToValue:(E,B)=>String(E?.id)===String(B?.id),PopperComponent:E=>t.jsx(ei,{...E,popperContainer:u}),renderOption:(E,B)=>{const{key:F,...D}=E;return l.createElement("li",{...D,key:B?.id?String(B.id):String(F??B?.name??"")},B.name??"")},renderTags:(E,B)=>E.map((F,D)=>{const U=B({index:D}),{key:R,...L}=U;return t.jsx(s.Chip,{label:F.name??"",...L},F?.id?String(F.id):String(R??F?.name??D))}),size:"small",renderInput:E=>t.jsx(s.TextField,{...E,size:"small"}),ListboxProps:{onScroll:S,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(w,{}),sx:{width:"100%"}})]})},jn=()=>!!window?.google?.maps?.places?.Autocomplete,ai=(e=1e4)=>new Promise(a=>{if(jn()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(jn()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),ni=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[o,i]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await ai(1e4);a(d),d||i("Google Maps API failed to load")}catch{i("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:o}},ri=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=ye(),o=l.useRef(null),i=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:m}=ni(),h=l.useMemo(()=>p?r("searchLocationModal.loadingGoogleMaps"):m?r("searchLocationModal.googleMapsUnavailable"):u?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[u,p,m,n,r]);return l.useEffect(()=>{d.current=e},[e]),l.useEffect(()=>{c.current=a},[a]),l.useEffect(()=>{if(!u||!o.current||i.current)return;const y=window?.google;if(!y?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let g=null;const C=()=>{document.querySelectorAll(".pac-container").forEach(x=>{const I=x;I.style.zIndex="20000",I.style.position="fixed"})};g=new MutationObserver(x=>{for(const I of x)for(const j of Array.from(I.addedNodes)){if(j.nodeType!==Node.ELEMENT_NODE)continue;const k=j;k.classList?.contains("pac-container")&&(k.style.zIndex="20000",k.style.position="fixed")}}),g.observe(document.body,{childList:!0,subtree:!0}),C(),window.setTimeout(C,100),i.current=new y.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=i.current.addListener?.("place_changed",()=>{const x=i.current?.getPlace?.();if(!x?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let I="",j="",k="",S="",w="",E="";const B=x.address_components??[];for(const R of B){const L=R?.types??[];if(L.includes("locality")||L.includes("administrative_area_level_2")){I=R.long_name;continue}if(L.includes("administrative_area_level_1")){j=R.long_name;continue}if(L.includes("country")){k=R.long_name;continue}if(L.includes("postal_code")){S=R.long_name;continue}if(L.includes("route")){w=R.long_name;continue}L.includes("street_number")&&(E=R.long_name)}const F=typeof x.geometry.location.lat=="function"?x.geometry.location.lat():0,D=typeof x.geometry.location.lng=="function"?x.geometry.location.lng():0,U={location:{lat:F,lng:D},address:x.formatted_address??"",city:I,state:j,country:k,postalCode:S,streetName:w,streetNumber:E,shortAddress:[w,E].filter(Boolean).join(" ")};d.current(U)});return()=>{g&&g.disconnect(),v?.remove&&v.remove(),i.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:h,disabled:p||!u||!!m,error:!!m})},si={street:"",city:"",state:"",zipcode:"",country:""},oi=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:o,onEntityUpdated:i})=>{const d=ye(),[c,u]=l.useState(si),[p,m]=l.useState(""),[h,y]=l.useState(""),[g,C]=l.useState(!1),[v,x]=l.useState(!1),I=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),j=F=>{m(F.address??"");const D=String(F.shortAddress??"").trim()||[F.streetName,F.streetNumber].filter(Boolean).join(" ").trim();u({street:D,city:F.city??"",state:F.state??"",zipcode:F.postalCode??"",country:F.country??""}),y("")},k=F=>{y(String(F??""))},S=F=>D=>{const U=D.target.value;u(R=>({...R,[F]:U}))},w=async()=>{if(!g&&!(!e||!a)&&r){C(!0);try{const F=await tt({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??"")}}});i?.(F),o()}finally{C(!1)}}},E=async()=>{if(!v&&!(!e||!a)&&r){x(!0);try{const F=await tt({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??"")}}});i?.(F),o()}finally{x(!1)}}},B=!I||g||v;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:o,"aria-label":d("global.back"),children:t.jsx(na,{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(ri,{onPlaceSelected:j,onError:k,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:S("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:S("city"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.state"),value:c.state,onChange:S("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:S("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.country"),value:c.country,onChange:S("country"),fullWidth:!0,size:"medium"})]}),p?t.jsx(s.Typography,{variant:"caption",sx:{opacity:.7},children:p}):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(pt,{}),onClick:w,loading:g,disabled:B,children:d("searchLocationModal.saveMainAddress")}),t.jsx(Ze.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(pt,{}),onClick:E,loading:v,disabled:B,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})},Ce=(e,a)=>{const[n,r]=l.useState(a||""),[o,i]=l.useState(!1),[d,c]=l.useState("");return l.useEffect(()=>{r(a||"")},[a]),{actions:{onError:u=>{i(!0),c(u)},onSuccess:()=>{i(!1),c("")},resetValue:()=>{r(a||"")},changeValue:u=>{r(u)}},attributes:{error:o,helperText:d,type:e,value:n,onChange:u=>{r(u.target.value)}}}},Ot=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:o,onEntityUpdated:i})=>{const[d,c]=l.useState(o??""),[u,p]=l.useState(null),[m,h]=l.useState(!1),[y,g]=l.useState(!1),C=l.useRef(null),v=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function x(D){return D.split("?sv=")[0]}function I(D){return D.split("&cacheId=")[0]}function j(D){let U=x(D);return!U||(U=I(U),!U)?"":U}const k=async()=>{if(!e||!a)return null;const D=await mn({baseUrl:e,spaceId:a});return p(D),D},S=async D=>{const U=(u??await k())?.storageAzureSAS,R=U?.expireAt,L=R?new Date(R):null;let W=U?.sas??"";if((!W||L&&L<new Date)&&(W=(await k())?.storageAzureSAS?.sas??""),!W)return D;const M=`${Date.now()}`;return`${D}${W}&cacheId=${M}`},w=async D=>{if(!D){c("");return}const U=x(D);if(!U)return;const R=await S(U);c(R)},E=async D=>{const U=D.target.files?.[0];if(U&&v){C.current&&(C.current.value=""),h(!0);try{const R=await hn({baseUrl:e,spaceId:a,contactId:r,file:U}),L=await tt({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:R}});i?.(L),await w(R)}finally{h(!1)}}},B=()=>{C.current?.click()},F=async()=>{if(v&&!y){g(!0);try{await tt({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),i?.({imageUrl:""}),c("")}finally{g(!1)}}};return l.useEffect(()=>{if(!o){c("");return}w(o)},[o]),{inputAtributes:{onChange:E,ref:C,type:"file",accept:"image/*"},action:{uploadImage:B,deleteImage:F},imageUrl:d,removeParams:j,isUploading:m,isDeleting:y}},wn=(e="")=>{const[a,n]=l.useState(e),r=d=>{n(d.target.value)},o=d=>{n(d)},i=()=>{n(e??"")};return l.useEffect(()=>{n(e)},[e]),{actions:{resetValue:i,changeValue:o},attributes:{value:a,onChange:r}}};let ia;const ii=new Uint8Array(16);function li(){if(!ia&&(ia=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ia))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ia(ii)}const Me=[];for(let e=0;e<256;++e)Me.push((e+256).toString(16).slice(1));function di(e,a=0){return Me[e[a+0]]+Me[e[a+1]]+Me[e[a+2]]+Me[e[a+3]]+"-"+Me[e[a+4]]+Me[e[a+5]]+"-"+Me[e[a+6]]+Me[e[a+7]]+"-"+Me[e[a+8]]+Me[e[a+9]]+"-"+Me[e[a+10]]+Me[e[a+11]]+Me[e[a+12]]+Me[e[a+13]]+Me[e[a+14]]+Me[e[a+15]]}const ci=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var Tn={randomUUID:ci};function zt(e,a,n){if(Tn.randomUUID&&!a&&!e)return Tn.randomUUID();e=e||{};const r=e.random||(e.rng||li)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,a){n=n||0;for(let o=0;o<16;++o)a[n+o]=r[o];return a}return di(r)}function ui(e){return{id:zt(),address:"",note:"",channelType:e,isSaved:!1}}var la={createNewAddress:ui};const pi=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},fi=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var wt={getEditedField:pi,getAddressesWithUpdatedValues:fi};const In=({entityId:e,initial:a,dispatch:n,deleteAddress:r})=>{const[o,i]=l.useState(!1),[d,c]=l.useState(()=>a),[u,p]=l.useState(a?.ims_facebook||[]),[m,h]=l.useState(a?.ims_mercadolibre||[]),[y,g]=l.useState(a?.ims_webchat||[]),[C,v]=l.useState(a?.ims_instagram||[]),[x,I]=l.useState(a?.ims_whatsapp||[]),[j,k]=l.useState(a?.emails||[]),[S,w]=l.useState(a?.phones||[]),[E,B]=l.useState(a?.ims_rcs||[]),F=()=>{const G=la.createNewAddress(St.ChannelType.PHONE),_=[...S,G];w(_)},D=()=>{const G=la.createNewAddress(St.ChannelType.EMAIL),_=[...j,G];k(_)},U=()=>{const G=la.createNewAddress(St.ChannelType.WHATSAPP),_=[...x,G];I(_)},R=()=>{const G=la.createNewAddress(St.ChannelType.RCS),_=[...E,G];B(_)},L=G=>{const _=[...x,G];I(_),c(T=>({...T??{},ims_whatsapp:_}))},W=(G,_)=>{if(_){if(_.channelType===3){const T=j.map($=>$.id===G?_:$);k(T),c($=>({...$??{},emails:T}))}if(_.channelType===5){const T=S.map($=>$.id===G?_:$);w(T),c($=>({...$??{},phones:T}))}if(_.channelType===13){const T=x.map($=>$.id===G?_:$);I(T),c($=>({...$??{},ims_whatsapp:T}))}if(_.channelType===21){const T=E.map($=>$.id===G?_:$);B(T),c($=>({...$??{},ims_rcs:T}))}if(_.channelType===41){const T=m.map($=>$.id===G?_:$);h(T),c($=>({...$??{},ims_mercadolibre:T}))}}},M=async(G,_,T)=>{const $=G.target.value;if(T===3){const A=wt.getAddressesWithUpdatedValues($,_,j);k(A)}else if(T===5){const A=wt.getAddressesWithUpdatedValues($,_,S);w(A)}else if(T===13){const A=wt.getAddressesWithUpdatedValues($,_,x);I(A)}else if(T===21){const A=wt.getAddressesWithUpdatedValues($,_,E);B(A)}else if(T===41){const A=wt.getAddressesWithUpdatedValues($,_,m);h(A)}},H=(G,_,T)=>{if(T===14){const $=u.map(A=>A.id===_?{...A,note:G.target.value}:A);p($)}if(T===20){const $=y.map(A=>A.id===_?{...A,note:G.target.value}:A);g($)}if(T===16){const $=C.map(A=>A.id===_?{...A,note:G.target.value}:A);v($)}if(T===3){const $=j.map(A=>A.id===_?{...A,note:G.target.value}:A);k($)}if(T===5){const $=S.map(A=>A.id===_?{...A,note:G.target.value}:A);w($)}if(T===13){const $=x.map(A=>A.id===_?{...A,note:G.target.value}:A);I($)}if(T===21){const $=E.map(A=>A.id===_?{...A,note:G.target.value}:A);B($)}if(T===41){const $=m.map(A=>A.id===_?{...A,note:G.target.value}:A);h($)}},q=async(G,_)=>{if(e&&(_===3||_===5||_===13||_===14||_===20||_===16||_===21||_===41)){i(G);const T={contactId:e,contactAddressId:G,type:_};switch(n?await n(r(T)):await r(T),i(!1),_){case 3:const $=j.filter(te=>te.id!==G);k($),c(te=>({...te??{},emails:$}));break;case 5:const A=S.filter(te=>te.id!==G);w(A),c(te=>({...te??{},phones:A}));break;case 13:const V=x.filter(te=>te.id!==G);I(V),c(te=>({...te??{},ims_whatsapp:V}));break;case 21:const Y=E.filter(te=>te.id!==G);B(Y),c(te=>({...te??{},ims_rcs:Y}));break;case 41:const ne=m.filter(te=>te.id!==G);h(ne),c(te=>({...te??{},ims_mercadolibre:ne}));break;case 14:const ie=u.filter(te=>te.id!==G);p(ie),c(te=>({...te??{},ims_facebook:ie}));break;case 20:const je=y.filter(te=>te.id!==G);g(je),c(te=>({...te??{},ims_webchat:je}));break;case 16:const he=C.filter(te=>te.id!==G);v(he),c(te=>({...te??{},ims_instagram:he}));break}}};function se(){p(d?.ims_facebook||[]),h(d?.ims_mercadolibre||[]),g(d?.ims_webchat||[]),v(d?.ims_instagram||[]),I(d?.ims_whatsapp||[]),B(d?.ims_rcs||[]),k(d?.emails||[]),w(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(k(a.emails),w(a.phones)),I(a?.ims_whatsapp||[]),B(a?.ims_rcs||[]),p(a?.ims_facebook||[]),g(a?.ims_webchat||[]),v(a?.ims_instagram||[]),h(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:x,imsRCS:E,imsMercadolibre:m,imsFacebooks:u,imsWebchats:y,imsInstagrams:C,emails:j,phoneNumbers:S},action:{handleAddressFieldChange:M,handleNoteFieldChange:H,handleDeleteAddress:q,addPhone:F,addEmail:D,addWhatsapp:U,addRCS:R,replaceAddress:W,addWhatsappVerified:L,resetToInitialContactInformation:se},state:{isDeletingAddress:o}}},kn=({initialState:e=[]}={})=>{const[a,n]=l.useState(e);return{attributes:{value:a,onChange:(r,o)=>{const i=o.some(d=>!a.some(c=>d.id===c.id));(a.filter(d=>!o.some(c=>c.id===d.id)).length>0||i)&&n(o)}},actions:{addValue:r=>{n(o=>o.concat(r))},setValue:r=>{n(r)}}}},gi=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async K=>{!n||!r||await oa({baseUrl:n,spaceId:r,data:K})},[n,r]),i=async K=>K,[d,c]=l.useState([]),u=Ce("text",e?.name||""),p=Ot({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),m=wn(e?.owner),h=kn({initialState:e?.tags??[]}),[y,g]=l.useState([]),{field:{imsFacebooks:C,imsMercadolibre:v,imsWebchats:x,imsInstagrams:I,imsWhatsapp:j,emails:k,phoneNumbers:S,imsRCS:w},action:{addPhone:E,addEmail:B,addWhatsapp:F,addRCS:D,addWhatsappVerified:U,replaceAddress:R,handleAddressFieldChange:L,handleNoteFieldChange:W,handleDeleteAddress:M,resetToInitialContactInformation:H},state:{isDeletingAddress:q}}=In({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),se=Ce("text",e?.address1?.street||""),G=Ce("text",e?.address2?.street||""),_=Ce("text",e?.address1?.city||""),T=Ce("text",e?.address2?.city||""),$=Ce("text",e?.address1?.state||""),A=Ce("text",e?.address2?.state||""),V=Ce("text",e?.address1?.zipcode||""),Y=Ce("text",e?.address2?.zipcode||""),ne=Ce("text",e?.address1?.country||""),ie=Ce("text",e?.address2?.country||""),je=(K,pe,xe)=>pe!==xe&&!(pe===null&&xe==="")?{[K]:xe}:{},he=()=>{if(!e)return null;const K={street:se.attributes.value,city:_.attributes.value,state:$.attributes.value,zipcode:V.attributes.value,country:ne.attributes.value},pe={street:G.attributes.value,city:T.attributes.value,state:A.attributes.value,zipcode:Y.attributes.value,country:ie.attributes.value};return{id:e.id,...je("owner",e.owner,m.attributes.value),...je("name",e.name,u.attributes.value),imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,tags:h.attributes.value,properties:d,members:y,phoneNumbers:S,emails:k,address1:K,address2:pe}};function te(K){if(!e)return;const pe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===K)??e.properties.find(Q=>pe(Q.nameKey)===pe(K));if(!xe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${K}`);return}const Ye=d.map(Q=>Q.nameKey===K?{...Q,value:xe.value}:Q);c(Ye)}const Ae=()=>e?a.map(K=>{const pe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===K.nameKey)??e.properties.find(Q=>pe(Q.nameKey)===pe(K.nameKey));if(xe)return{...xe,nameKey:K.nameKey,type:xe.type??K.type,value:xe.value};const Ye=d.find(Q=>Q.nameKey===K.nameKey);return{nameKey:K.nameKey,type:K.type,value:Ye?Ye.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Ae())},[e,a]),l.useEffect(()=>{e&&h.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:j,imsRCS:w,contactImage:p,contactPropietary:m,imsMercadolibre:v,imsFacebooks:C,imsWebchats:x,imsInstagrams:I,emails:k,phoneNumbers:S,homeAddress:se,secondaryHomeAddress:G,city:_,secondaryCity:T,state:$,secondaryState:A,postalCode:V,secondaryPostalCode:Y,country:ne,secondaryCountry:ie,customProperties:d,labelMultipleSelect:h},action:{setCustomProperties:c,addWhatsapp:F,addRCS:D,getEditedBusiness:he,handleAddressFieldChange:L,handleNoteFieldChange:W,handleDeleteAddress:M,addPhone:E,addEmail:B,replaceAddress:R,addWhatsappVerified:U,resetToInitialContactInformation:H,resetCustomProperty:te},state:{isDeletingAddress:q},selectedContacts:y,setSelectedContacts:g}},mi=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async Q=>{!n||!r||await oa({baseUrl:n,spaceId:r,data:Q})},[n,r]),i=async Q=>Q,{getEditedField:d}=wt,[c,u]=l.useState([]),p=Ce("text",e?.firstName||""),m=Ce("text",e?.lastName||""),h=Ot({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[y,g]=l.useState(e?.birthDate?X(e.birthDate):null),C=In({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:v,imsMercadolibre:x,imsWebchats:I,imsInstagrams:j,imsWhatsapp:k,emails:S,phoneNumbers:w,imsRCS:E},action:{addPhone:B,addEmail:F,addWhatsapp:D,addRCS:U,addWhatsappVerified:R,replaceAddress:L,handleAddressFieldChange:W,handleNoteFieldChange:M,handleDeleteAddress:H,resetToInitialContactInformation:q},state:{isDeletingAddress:se}}=C,G=kn({initialState:e?.tags}),_=wn(e?.owner),T=Ce("text",e?.address1?.street),$=Ce("text",e?.address2?.street),A=Ce("text",e?.address1?.city),V=Ce("text",e?.address2?.city),Y=Ce("text",e?.address1?.state),ne=Ce("text",e?.address2?.state),ie=Ce("text",e?.address1?.zipcode),je=Ce("text",e?.address2?.zipcode),he=Ce("text",e?.address1?.country),te=Ce("text",e?.address2?.country),Ae=()=>{if(!e)return null;const Q=e,Pe=G.attributes.value.map(ue=>({id:ue.id,name:ue.name})),We=w.map(ue=>{const{id:kt,...at}=ue;return at}),Ge=S.map(ue=>{const{id:kt,...at}=ue;return at});return{id:Q.id,owner:_.attributes.value,firstName:p.attributes.value,lastName:m.attributes.value,address1:{...d("street",Q.address1?.street,T.attributes.value),...d("city",Q.address1?.street,A.attributes.value),...d("state",Q.address1?.street,Y.attributes.value),...d("zipcode",Q.address1?.street,ie.attributes.value),...d("country",Q.address1?.street,he.attributes.value)},address2:{...d("street",Q.address2?.street,$.attributes.value),...d("city",Q.address2?.street,V.attributes.value),...d("state",Q.address2?.street,ne.attributes.value),...d("zipcode",Q.address2?.street,je.attributes.value),...d("country",Q.address2?.street,te.attributes.value)},emails:Ge,phones:We,tags:Pe,imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,properties:c,birthDate:y?.toDate()}};function K(){e&&(!e.businessId||e.businessName)}function pe(){g(e?.birthDate?X(e.birthDate):null)}function xe(Q){if(!e)return;const Pe=ue=>ue.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ue=>ue.nameKey===Q)??e.properties.find(ue=>Pe(ue.nameKey)===Pe(Q));if(!We){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Q}`);return}const Ge=c.map(ue=>ue.nameKey===Q?{...ue,value:We.value}:ue);u(Ge)}const Ye=()=>e?a.map(Q=>{const Pe=ue=>ue.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ue=>ue.nameKey===Q.nameKey)??e.properties.find(ue=>Pe(ue.nameKey)===Pe(Q.nameKey));if(We)return{...We,nameKey:Q.nameKey,type:We.type??Q.type,value:We.value};const Ge=c.find(ue=>ue.nameKey===Q.nameKey);return{nameKey:Q.nameKey,type:Q.type,value:Ge?Ge.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ye())},[e,a]),l.useEffect(()=>{e?.tags&&G.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:y,imsWhatsapp:k,imsRCS:E,contactFirstname:p,contactLastname:m,contactImage:h,contactPropietary:_,imsMercadolibre:x,imsFacebooks:v,imsWebchats:I,imsInstagrams:j,emails:S,phoneNumbers:w,homeAddress:T,secondaryHomeAddress:$,city:A,secondaryCity:V,state:Y,secondaryState:ne,postalCode:ie,secondaryPostalCode:je,country:he,secondaryCountry:te,customProperties:c,labelMultipleSelect:G},action:{setBirthDate:g,setCustomProperties:u,getEditedContact:Ae,handleAddressFieldChange:W,handleNoteFieldChange:M,handleDeleteAddress:H,addPhone:B,addEmail:F,addWhatsapp:D,addRCS:U,replaceAddress:L,addWhatsappVerified:R,resetToInitialContactInformation:q,resetSelectedBusiness:K,resetBirthDate:pe,resetCustomProperty:xe},state:{isDeletingAddress:se}}},$a=l.createContext(null),hi=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=mi({contact:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx($a.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},yi=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=gi({business:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx($a.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},xi=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(hi,{contact:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}):t.jsx(yi,{business:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}),lt=()=>{const e=l.useContext($a);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Tt=({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(o=>o?.id===e);return r?.name?.trim()||r?.email||null},bi=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ya.DatePicker,{value:e,onChange:o=>a(o),slotProps:{textField:{size:"small"}},format:r})})})},vi={view:"main",setView:()=>{}},En=l.createContext(null),Ci=En.Provider,Si=()=>l.useContext(En)||(console.warn("[useEditContactView] using noop, context value is missing"),vi);function Pa(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 ji({value:e,displayValue:a,businessId:n}){const r=et(),o=Cn(),[i,d]=l.useState(null),c=Ot({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[m,h]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async y=>{const g=y.currentTarget;if(h(!0),!r){console.error("API is null");return}const C=await r.fetchBusiness({businessId:n});if(C&&Pa(C)&&d(C),h(!1),!g){console.error("Target element is null");return}p(g)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:y=>y.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),i&&t.jsx(Fa,{contactData:i,open:!!u,anchorEl:u,onClose:()=>p(null),navigate:o,avatarImgUrl:c.imageUrl}),m&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const wi=e=>"email"in e,Ua=e=>e.entityType==="contact"&&e.inputType==="birthday",Ti=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Dn=s.styled(s.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ft=e=>{const{title:a,value:n,isNotEditable:r,displayValue:o,baseUrl:i,spaceId:d,minWidth:c,onEntityUpdated:u}=e,p=ye(),{setView:m}=Si(),h=e.inputType??"text",[y,g]=l.useState(!1),[C,v]=l.useState(!1),x=l.useRef(null),[I,j]=l.useState(!1),[k,S]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const M=x.current;if(!M)return;const H=()=>{const q=M.scrollWidth>M.clientWidth;j(se=>se===q?se:q)};if(H(),typeof ResizeObserver<"u"){let q=0;const se=new ResizeObserver(()=>{if(typeof window>"u"){H();return}q&&window.cancelAnimationFrame(q),q=window.requestAnimationFrame(()=>{H()})});return se.observe(M),()=>{typeof window<"u"&&q&&window.cancelAnimationFrame(q),se.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",H),()=>{window.removeEventListener("resize",H)}},[a]),l.useEffect(()=>{e.entityType==="business"?S(n):S(typeof n=="string"?n:void 0)},[n,e.entityType]);const w=()=>{if(e.entityType==="contact"&&h==="selectBusiness"){m("businessSelect");return}g(M=>!M)},E=M=>{S(M.target.value)},B=M=>{const H=M.target.value;S(H)},F=()=>{Ua(e)&&e.contact.action.resetBirthDate(),g(!1)},D=async()=>{if(!e.constructUpdateObject){g(!1);return}if(e.entityType==="business"&&k===void 0){g(!1);return}v(!0);try{if(!i||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let M=k===void 0?null:k;if(Ua(e)){const G=X(e.contact.field.birthDate);G.isValid()&&(M=G.toISOString())}const H=e.constructUpdateObject(M),q=e.entityId??H?.id;if(!q)throw new Error("Missing contactId for updateEntity");const se=await tt({baseUrl:i,spaceId:d,entityType:"contact",entityId:q,body:H});u?.(se)}else{const M=e.constructUpdateObject(k),H=e.entityId??M?.id;if(!H)throw new Error("Missing businessId for updateEntity");const q=await tt({baseUrl:i,spaceId:d,entityType:"business",entityId:H,body:M});u?.(q)}}finally{v(!1),g(!1)}},U=typeof k=="string"?k:"",R=k instanceof Date?k.toISOString():typeof k=="string"?k:"",L=c??(e.entityType==="contact"?"45%":"200px"),W=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:M=>M.palette.mode==="dark"?"1e1e1e":M.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:L,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[I?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:y?1:0,color:M=>M.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:y?1:0,color:M=>M.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:y?t.jsxs(t.Fragment,{children:[t.jsx(Dn,{size:"small",onClick:D,children:C?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{})}),t.jsx(Dn,{size:"small",onClick:F,children:t.jsx(Ka,{})})]}):t.jsx(Ti,{className:"edit-icon",size:"small",onClick:w,children:t.jsx(Ct,{})})]}),t.jsx(s.Box,{width:y?"100%":"50%",position:"relative",children:y&&h==="text"?t.jsx(s.TextField,{value:R,onChange:E,variant:"standard",size:"small",sx:{width:"100%"}}):y&&(h==="select"||h==="selectMembers")?t.jsxs(s.Select,{value:U,onChange:B,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(s.MenuItem,{value:"",children:p("conversations.contactDetails.contactInfo.emptySelection")}):null,W.map((M,H)=>t.jsx(s.MenuItem,{value:M.id,children:e.entityType==="contact"?M.name?.trim()||(wi(M)?M.email:"")||"Sin nombre":M.name?.trim()||M.email||"Sin nombre"},H))]}):y&&Ua(e)?t.jsx(bi,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!y&&e.entityType==="contact"&&h==="selectBusiness"&&e.businessId?t.jsx(ji,{value:String(n??""),displayValue:String(o??""),businessId:e.businessId}):t.jsx(s.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:M=>M.palette.text.primary,children:o||typeof n=="string"&&n||"-"})})]})},_t=e=>{const{title:a,value:n,isNotEditable:r,options:o=[],displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:m,onEntityUpdated:h}=e;if(e.inputType==="birthday")return t.jsx(ft,{entityType:"contact",entityId:m,title:a,value:n,isNotEditable:r,inputType:"birthday",options:o,displayValue:i,constructUpdateObject:d,contact:e.contact,businessId:c,baseUrl:u,spaceId:p,dateFormat:e.dateFormat,onEntityUpdated:h});const y=e.inputType??"text";return t.jsx(ft,{entityType:"contact",entityId:m,title:a,value:n,isNotEditable:r,inputType:y,options:o,displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:h})},Ii=({nameKey:e,value:a,onChange:n,type:r,min:o,max:i})=>{const d=g=>{r===ae.ContactField_type.NUMBER_ACCOUNTING||r===ae.ContactField_type.NUMBER_DECIMAL||r===ae.ContactField_type.NUMBER_CURRENCY||r===ae.ContactField_type.CURRENCY?u(g):r===ae.ContactField_type.NUMBER_INTEGER?p(g):(r===ae.ContactField_type.LONGTEXT||r===ae.ContactField_type.TEXT||r===ae.ContactField_type.ADDRESS)&&c(g)},c=g=>{n(e,g.target.value)},u=g=>{const C=g.target.value.replace(/[^0-9.-]/g,"");if(C===""||C==="-"){n(e,C);return}const v=Number(C);Number.isNaN(v)||n(e,C)},p=g=>{const C=g.target.value;if(C===""){n(e,C);return}/^\d*$/.test(C)&&n(e,C)},m=()=>r===ae.ContactField_type.CURRENCY||r===ae.ContactField_type.NUMBER_ACCOUNTING||r===ae.ContactField_type.NUMBER_DECIMAL||r===ae.ContactField_type.NUMBER_INTEGER||r===ae.ContactField_type.NUMBER_CURRENCY,h=()=>{if(!m()||a===""||a==null)return!1;const g=Number(a);return Number.isNaN(g)?!1:o!=null&&g<o||i!=null&&g>i},y=()=>{if(m()){if(o!=null&&i!=null)return`${o} - ${i}`;if(o!=null)return`min: ${o}`;if(i!=null)return`max: ${i}`}};return t.jsx(s.TextField,{size:"small",variant:"standard",value:a,onChange:d,error:h(),helperText:y(),inputProps:{pattern:"[0-9]*"},multiline:r===ae.ContactField_type.LONGTEXT,rows:r===ae.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},ki=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ya.DatePicker,{value:e?X(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ei=({handleChange:e,value:a,options:n})=>{const r=ye();return t.jsx(s.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(s.Select,{value:a,onChange:o=>e(o.target.value),size:"small",variant:"standard",children:[t.jsx(s.MenuItem,{value:"",children:r("global.noValue")}),n.map((o,i)=>t.jsx(s.MenuItem,{value:o,children:o},i))]})})},Di=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zr.TimePicker,{value:e?X(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Ai=({value:e,handleChange:a,userTimeFormat:n})=>{const r=ye(),o=[X().set("hour",0).set("minute",0),X().set("hour",0).set("minute",0)],i=n==="24"?"HH:mm":"hh:mm";return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Je.MultiInputTimeRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:d=>a(d),format:i})})})},Fi=({value:e,handleChange:a,userDateFormat:n})=>{const r=ye(),o=[X(),X()],i=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Pt.LocalizationProvider,{dateAdapter:$t.AdapterDayjs,children:t.jsx(Ut,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Je.MultiInputDateRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:i}})},value:e||o,onChange:d=>a(d),format:i})})})},Bi=s.styled(s.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),An=s.styled(s.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Mi=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),Fn=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})),$i=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"})),Bn=({property:e,entity:a,entityType:n,entityId:r,customContactFields:o,userTrii:i,baseUrl:d,spaceId:c,onEntityUpdated:u})=>{const{customProperties:p}=a.field,{setCustomProperties:m}=a.action,[h,y]=l.useState(!1),[g,C]=l.useState(!1),v=l.useRef(null),[x,I]=l.useState(!1),j=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),k=i?.regCon_timeFormat||"24",S=T=>T===ae.ContactField_type.NUMBER_INTEGER||T===ae.ContactField_type.NUMBER_DECIMAL||T===ae.ContactField_type.NUMBER_CURRENCY||T===ae.ContactField_type.NUMBER_ACCOUNTING||T===ae.ContactField_type.CURRENCY,w=(T,$)=>T.toLowerCase()==="dni"?!0:S($),E=(T,$,A)=>{if(A===""||A===null||A===void 0)return null;if(w(T,$)){const V=Number(A);return Number.isNaN(V)?A:V}return A},B=()=>y(T=>!T),F=()=>{y(!1),a.action.resetCustomProperty(e.nameKey)},D=async()=>{if(!d||!c||!r)return;C(!0);const T=p.find(ie=>ie.nameKey===e.nameKey)||e,{nameKey:$,value:A}=T,V=o.find(ie=>ie.nameKey===$)?.type??T.type;let Y;if(V===ae.ContactField_type.TIME){const ie=X(A);ie.isValid()?Y=ie.format(k==="24"?"HH:mm":"hh:mm"):Y=A}else if(V===ae.ContactField_type.DATE){const ie=X(A);ie.isValid()?Y=ie.toISOString():Y=A}else Y=E($,V,A);const ne={properties:[{nameKey:$,type:V,value:Y}]};try{const ie=await tt({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:ne}),je=p.map(he=>he.nameKey===$?{...he,type:V,value:Y}:he);m(je),u?.(ie)}finally{C(!1),y(!1)}},U=T=>o.find($=>$.nameKey===T)?.name||T;l.useEffect(()=>{const T=v.current;if(!T)return;const $=()=>{const A=T.scrollWidth>T.clientWidth;I(V=>V===A?V:A)};if($(),typeof ResizeObserver<"u"){let A=0;const V=new ResizeObserver(()=>{if(typeof window>"u"){$();return}A&&window.cancelAnimationFrame(A),A=window.requestAnimationFrame(()=>{$()})});return V.observe(T),()=>{typeof window<"u"&&A&&window.cancelAnimationFrame(A),V.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",$),()=>{window.removeEventListener("resize",$)}},[o,e.nameKey]);const R=(T,$)=>{const A=e.type===ae.ContactField_type.DATERANGE?Array.isArray($)&&$[0]&&$[1]?`${X($[0]).toISOString()} - ${X($[1]).toISOString()}`:"":e.type===ae.ContactField_type.DATE?X($).isValid()?X($).toISOString():"Invalid Date":e.type===ae.ContactField_type.TIME?X($).isValid()?X($).toISOString():"Invalid Time":$,V=p.map(Y=>Y.nameKey===T?{...Y,value:A}:Y);m(V)},{type:L,nameKey:W,value:M}=e,H=T=>T==null?!1:typeof T=="string"?T.trim().length>0:!0,q=(o.find(T=>T.nameKey===e.nameKey)?.requiredField??!1)&&!H(M),se=[ae.ContactField_type.NUMBER_INTEGER,ae.ContactField_type.NUMBER_DECIMAL,ae.ContactField_type.NUMBER_CURRENCY,ae.ContactField_type.NUMBER_ACCOUNTING,ae.ContactField_type.CURRENCY],G=()=>{const T=o.find(Y=>Y.nameKey===W);if(!T)return!1;const{min:$,max:A}=T;if($==null&&A==null||!se.includes(L)||M===""||M==null)return!1;const V=Number(M);return Number.isNaN(V)?!1:$!=null&&V<$||A!=null&&V>A},_=()=>L===ae.ContactField_type.DATE?t.jsx(ki,{value:M?X(M):null,handleChange:T=>R(W,T?.toDate()),dateFormat:j}):L===ae.ContactField_type.TIME?t.jsx(Di,{value:e?.valueDate?X(e.valueDate):M?X(M):null,handleChange:T=>R(W,T),userTimeFormat:k}):L===ae.ContactField_type.DATERANGE?t.jsx(Fi,{value:M&&typeof M=="string"&&M.includes(" - ")?[X(M.split(" - ")[0]),X(M.split(" - ")[1])]:null,handleChange:T=>R(W,[T[0]?.toDate?.(),T[1]?.toDate?.()]),userDateFormat:j}):L===ae.ContactField_type.TIMERANGE?t.jsx(Ai,{value:Array.isArray(M)&&M.length===2?[X(M[0]),X(M[1])]:null,handleChange:T=>R(W,[T[0]?.toDate?.(),T[1]?.toDate?.()]),userTimeFormat:k}):L===ae.ContactField_type.OPTIONS?t.jsx(Ei,{value:typeof M=="string"?M:"",handleChange:T=>R(W,T),options:o.find(T=>T.nameKey===W)?.typeOptions??[]}):t.jsx(Ii,{type:L,nameKey:W,value:M,onChange:R,min:o.find(T=>T.nameKey===W)?.min,max:o.find(T=>T.nameKey===W)?.max});return t.jsxs(Mi,{className:`fadein ${e.type===ae.ContactField_type.LONGTEXT?"col-12":"col-5"}`,children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[x?t.jsx(s.Tooltip,{title:U(e.nameKey),arrow:!0,children:t.jsxs(Fn,{ref:v,flexGrow:1,noWrap:!0,children:[U(e.nameKey),q&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]})}):t.jsxs(Fn,{ref:v,flexGrow:1,noWrap:!0,children:[U(e.nameKey),q&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]}),h?t.jsxs(t.Fragment,{children:[t.jsx(An,{size:"small",onClick:D,disabled:g||G(),children:g?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{})}),t.jsx(An,{size:"small",onClick:F,children:t.jsx(Ka,{})})]}):t.jsx(Bi,{className:"edit-icon",size:"small",onClick:B,children:t.jsx(Ct,{})})]}),t.jsx(s.Box,{width:h||e.type===ae.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:h?g?null:_():t.jsx($i,{children:H(e?.value)?e.type===ae.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const T=e.value.split(" - ");if(T.length===2){const[$,A]=T,V=X($),Y=X(A);return`${V.isValid()?V.format(j):"-"} - ${Y.isValid()?Y.format(j):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${X(e.value[0]).format(j)} - ${X(e.value[1]).format(j)}`;return`${e.value}`})():e.type===ae.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${X(e.value[0]).format(k==="24"?"HH:mm":"hh:mm")} - ${X(e.value[1]).format(k==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ae.ContactField_type.TIME?(()=>{try{const T=e.valueDate||e.value;return`${X(T).format(k==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ae.ContactField_type.DATE?(()=>{try{return`${X(e.value).format(j)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Pi=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,u=ye(),{entityType:p,editEntity:m}=lt(),h=et();if(p!=="contact")return null;const[y,g]=l.useState([]),[C,v]=l.useState(null),[x,I]=l.useState(null),[j,k]=l.useState(null),S=m;l.useEffect(()=>{if(!h)return;const D=new AbortController;return h.fetchUsers({signal:D.signal}).then(U=>{D.signal.aborted||g(U??[])}).catch(()=>{D.signal.aborted||g([])}),()=>{D.abort()}},[h]),l.useEffect(()=>{const D=new AbortController,U=async R=>{if(!R||!h)return null;try{const L=await h.fetchUserTriiById({userId:R,signal:D.signal});return L?.display_name||L?.email||null}catch{return null}};return(async()=>{const R=Tt({userId:n.owner,users:y,currentUser:d})??(n.owner?await U(n.owner):null),L=Tt({userId:n.createdBy??void 0,users:y,currentUser:d})??(n.createdBy?await U(n.createdBy):null),W=Tt({userId:n.updatedBy??void 0,users:y,currentUser:d})??(n.updatedBy?await U(n.updatedBy):null);D.signal.aborted||(v(R),k(L),I(W))})(),()=>{D.abort()}},[h,n,y,d]);const w=(a||"YYYY/MM/DD").toUpperCase(),E=S.field.birthDate,B=E?.isValid()?E.format(w):null,F=D=>{const U=new Date;let R=U.getFullYear()-D.getFullYear();const L=U.getMonth()-D.getMonth();return(L<0||L===0&&U.getDate()<D.getDate())&&R--,R};return t.jsx(Lt,{title:"General",children:t.jsxs(Sn,{children:[t.jsx(_t,{title:u("conversations.contactDetails.contactOwner"),displayValue:C||"-",value:n.owner,inputType:"select",options:y,constructUpdateObject:D=>({owner:typeof D=="string"?D:""}),contact:S,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(_t,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:S,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(_t,{title:u("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0,contact:S,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(_t,{title:u("conversations.contactDetails.modifiedBy"),value:x||"-",isNotEditable:!0,contact:S,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(_t,{title:u("global.birthdate"),inputType:"birthday",displayValue:E?`${B} (${F(E.toDate())})`:"-",value:E?E.toISOString():"",constructUpdateObject:D=>({birthDate:D}),contact:S,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:c}),S.field.customProperties.map(D=>t.jsx(Bn,{property:D,entity:S,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},D.nameKey))]})})},Ra=({title:e,value:a,isNotEditable:n,inputType:r="text",options:o=[],displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:p,onEntityUpdated:m})=>t.jsx(ft,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:o,displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:m}),Ui=e=>{const a=ye(),{entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=lt(),m=et();if(u!=="business")return null;const[h,y]=l.useState([]),[g,C]=l.useState(null),[v,x]=l.useState(null),[I,j]=l.useState(null),k=p;return l.useEffect(()=>{if(!m)return;const S=new AbortController;return m.fetchUsers({signal:S.signal}).then(w=>{S.signal.aborted||y(w??[])}).catch(()=>{S.signal.aborted||y([])}),()=>{S.abort()}},[m]),l.useEffect(()=>{const S=new AbortController,w=async E=>{if(!E||!m)return null;try{const B=await m.fetchUserTriiById({userId:E,signal:S.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const E=Tt({userId:n.owner,users:h,currentUser:d})??(n.owner?await w(n.owner):null),B=Tt({userId:n.createdBy??void 0,users:h,currentUser:d})??(n.createdBy?await w(n.createdBy):null),F=Tt({userId:n.updatedBy??void 0,users:h,currentUser:d})??(n.updatedBy?await w(n.updatedBy):null);S.signal.aborted||(C(E),j(B),x(F))})(),()=>{S.abort()}},[m,n,h,d]),t.jsx(Lt,{title:"General",children:t.jsxs(Sn,{children:[t.jsx(Ra,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:g||"-",inputType:"select",options:h,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:c}),t.jsx(Ra,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(Ra,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),k.field.customProperties.map(S=>t.jsx(Bn,{property:S,entity:k,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},S.nameKey))]})})},Ri=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Pi,{...e,entityData:n,entityType:"contact"}):t.jsx(Ui,{...e,entityData:n,entityType:"business"})},Ni=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState("");return{isOpen:e,title:n,openModal:o=>{r(o),a(!0)},closeModal:()=>{a(!1),r("")}}},Li=Te.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"})),Oi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),zi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),_i=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Wi=Te.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Na=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Vi=Te.styled(Na)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Hi=Te.styled(Na)(({})=>({fontSize:14,fontWeight:500})),Gi=Te.styled(Na)(({})=>({fontSize:14,fontWeight:500})),qi=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Ot({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(Li,{children:[t.jsx(Oi,{children:t.jsxs(_i,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(Hi,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Gi,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Vi,{children:e.note})})]})}),t.jsxs(zi,{children:[a!==""&&t.jsx(Wi,{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"}})})})]})]})})},La=Ja.PhoneNumberUtil.getInstance(),Yi=e=>{if(!e||!e.trim())return e;try{const a=La.parse(e,void 0);return La.isValidNumber(a)?La.format(a,Ja.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Ki=Te.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Ji=Te.styled(_r)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Xi=Te.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"})),Qi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Zi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),el=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Mn=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),tl=Te.styled(Mn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),al=Te.styled(Mn)(({})=>({fontSize:14,fontWeight:500})),nl=({item:e})=>{const a=()=>{const r=e.address;if(!r)return;const o=new CustomEvent("call-contact-header",{detail:{phoneAddress:r}});window.dispatchEvent(o)},n=l.useMemo(()=>Yi(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Xi,{children:[t.jsxs(Qi,{children:[t.jsx(Ki,{onClick:a,color:"primary",size:"small",children:t.jsx(Ji,{})}),t.jsxs(el,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(al,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(tl,{children:e.note})})]})]}),t.jsx(Zi,{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"}})})})})]})})},rl=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}})),sl=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),ol=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),il=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),ll=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),dl=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:o})=>t.jsxs(rl,{children:[t.jsxs(ol,{children:[t.jsx(sl,{children:e}),t.jsx(ll,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Ct,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(il,{children:a.map((i,d)=>n?t.jsx(nl,{item:i},d):t.jsx(qi,{item:i,owner:o},d))})]}),cl=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),ul={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},da=({title:e,handleAdd:a})=>{const n=ye();return t.jsxs(s.Box,{sx:ul.container,children:[t.jsx(s.Typography,{variant:"subtitle2",children:e}),t.jsx(s.Button,{onClick:a,size:"small",startIcon:t.jsx(Xa,{}),variant:"text",color:"primary",children:n("global.add")})]})},pl={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Wt=({children:e})=>t.jsx(s.Box,{sx:pl.container,children:e}),$n={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},fl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:o})=>{const i=ye(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:m}=a,[h,y]=l.useState(!1),[g,C]=l.useState(null),[v,x]=l.useState(!1),I=F=>{c(F.currentTarget)},j=()=>{c(null)},k=()=>{x(!1)},S=()=>{e(),j()},w=async()=>{y(!0);try{if(!o)return;const F=await o(13);if(!F)return;C(F),x(!0)}catch(F){console.error("Error verifying WhatsApp account:",F)}finally{y(!1)}j()},E=async()=>{y(!0);try{if(!o)return;const F=await o(21);if(!F)return;C(F),x(!0)}catch(F){console.error("Error verifying RCS account:",F)}finally{y(!1)}j()},B=async()=>{await n(),x(!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:I,children:t.jsx(Wr,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:j,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:S,children:[t.jsx(s.ListItemIcon,{children:t.jsx(ra,{color:"error"})}),t.jsx(s.ListItemText,{children:i("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:w,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(Vr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:E,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(Hr,{})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:v,onClose:k,"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:F=>F.palette.background.default},children:g?.success?t.jsxs(t.Fragment,{children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.wspAccountFound")," ",m]}),t.jsx(s.Typography,{id:"modal-modal-description",sx:{mt:2},children:i("optionsMenu.wantToLinkContact")}),t.jsxs(s.Box,{sx:{marginTop:"10px"},children:[t.jsx(s.Button,{onClick:B,color:"primary",children:i("optionsMenu.yesLink")}),t.jsx(s.Button,{onClick:k,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:[i("optionsMenu.noWspAccountFound")," ",m]}),t.jsx(s.Button,{onClick:k,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Vt=e=>{const a=ye(),n=et(),{editEntity:r,entityId:o}=lt(),[i,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??o,{note:p,channelType:m,id:h,address:y}=e.addressData,g=!e.addressData.hasOwnProperty("isSaved"),C=e.replaceAddress??r.action.replaceAddress,v=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),x=async S=>{if(!n||!u)return null;const w=await n.setContactAddress({data:{address:y,contactId:u,type:S}});return C(h,w),w},I=async()=>{if(!n||!u)return;const S=await n.updateContactAddress({data:{contactAddressId:h,contactId:u,note:p??""}});C(h,S)},j=async()=>{d(!0),g?(await I(),d(!1)):await x(m)&&d(!1)},k=async()=>{d(!0);const S=await x(13);S&&v&&v(S),S&&d(!1)};return t.jsxs(s.Box,{sx:{...$n.container},children:[g&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:S=>e.handleNoteFieldChange(S,h,m),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:$n.noteTextField}),t.jsx(s.IconButton,{onClick:j,children:i?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{color:"primary"})}),t.jsx(fl,{onDelete:()=>e.handleDeleteAddress(h,m),addressData:e.addressData,handleLinkAccountSave:k,checked:c&&!i,onCheckContactAddress:async S=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:y,type:S}})}catch{return null}}})]})},gl={container:{display:"flex",gap:"100px",alignItems:"center"}},Ht=({children:e})=>t.jsx(s.Box,{sx:gl.container,children:e}),ml={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Gt=({children:e})=>t.jsx(s.Box,{sx:{...ml.container},children:e}),hl=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Yr,{size:20});case"available":return t.jsx(Gr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(qr,{style:{height:27,width:27},color:"error"});default:return null}},Pn=({status:e,text:a})=>t.jsxs(Kr,{position:"end",children:[a?t.jsx(Jr,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(hl,{status:e})})]}),yl={code:{width:"60%",color:"gray"}},xl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Wt,{children:t.jsxs(Ht,{children:[t.jsx(s.Typography,{sx:yl.code,variant:"body2",children:e.address}),t.jsx(Vt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},bl=({IMSs:e,editEntity:a})=>t.jsx(Gt,{children:e?.map(n=>t.jsx(xl,{data:n,editEntity:a},n.id))}),ca=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(cl,{title:a}),t.jsx(bl,{IMSs:n,editEntity:e})]}),vl={addressField:{}},Oa=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:o,address:i}=e,d=ye(),c=et(),[u,p]=l.useState("idle"),[m,h]=l.useState(i),y=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(i!==""&&i!==m){if(!c)return;p("loading"),h(i);const C={address:i,type:o};try{const v=await c.checkContactAddress({data:C}),{success:x,warnings:I}=v;n(I),p(x?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[c,e,i,o,m,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:y,sx:vl.addressField,size:"small",label:o===St.ChannelType.WHATSAPP||o===St.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:i,onChange:g=>{a(g,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Pn,{status:u})})}})})},Cl={addressField:{}},Sl=({data:e,onChange:a,setWarnings:n})=>{const r=et(),o=ye(),{id:i,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[m,h]=l.useState(c),y=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(c!==""&&c!==m){if(!r)return;p("loading"),h(c);const C={address:c,type:d};try{const{success:v,warnings:x}=await r.checkContactAddress({data:C});n(x),p(v?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:y,sx:Cl.addressField,size:"small",label:o("global.number"),value:c,onChange:g=>{a(g,i,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Pn,{status:u})})}})})},za={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},jl=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:za.secondaryContainer,children:t.jsx(Qr,{icon:t.jsx(Xr,{sx:za.icon}),sx:za.chip,label:e,color:"error",variant:"outlined"})})}),ua=({warnings:e})=>{const a=ye();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(jl,{text:a(`contactAddressError.${n}`)},r))})})},wl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Tl=({data:e})=>{const a="edit",{editEntity:n}=lt(),r=n.action,o=n.state,[i,d]=l.useState([]),[c,u]=l.useState(!0);return l.useEffect(()=>{u(i.length===0&&(e.address??"")!=="")},[i,e.address]),t.jsx(Wt,{children:t.jsxs(Ht,{children:[t.jsxs(s.Box,{sx:{...wl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(Sl,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),i.length>0&&t.jsx(ua,{warnings:i})]}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},Il=({phoneNumbers:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(Tl,{data:a},a.id))}),kl=({phoneNumbers:e,handleAdd:a})=>{const n=ye();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(da,{handleAdd:a,title:n("global.phones")}),t.jsx(Il,{phoneNumbers:e})]})},Un={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},El=({data:e})=>{const a="edit",{editEntity:n}=lt(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(Wt,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:Un.numberCountryContainer,children:t.jsx(s.Box,{sx:Un.adressInputBox,children:t.jsx(Oa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ua,{warnings:i})]})},Dl=({emails:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(El,{data:a},a.id))}),Al=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(da,{handleAdd:a,title:"Emails"}),t.jsx(Dl,{emails:e})]}),Rn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Fl=({data:e})=>{const a="edit",{editEntity:n}=lt(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(Wt,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:Rn.numberCountryContainer,children:t.jsx(s.Box,{sx:Rn.adressInputBox,children:t.jsx(Oa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ua,{warnings:i})]})},Bl=({whatsapps:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(Fl,{data:a},a.id))}),Ml=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(da,{handleAdd:a,title:"WhatsApp"}),t.jsx(Bl,{whatsapps:e})]}),Nn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},$l=({data:e})=>{const a="edit",{editEntity:n}=lt(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(Wt,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:Nn.numberCountryContainer,children:t.jsx(s.Box,{sx:Nn.adressInputBox,children:t.jsx(Oa,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(ua,{warnings:i})]})},Pl=({RCSs:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx($l,{data:a},a.id))}),Ul=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(da,{handleAdd:a,title:"RCS"}),t.jsx(Pl,{RCSs:e})]}),Rl=Te.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})),Nl=({open:e,onClose:a,title:n})=>{const r=ye(),{editEntity:o}=lt(),{emails:i,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=o.field,{addEmail:p,addPhone:m,addWhatsapp:h,resetToInitialContactInformation:y,addRCS:g}=o.action;function C(){a(),y()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(Rl,{children:[(()=>{switch(n){case"Phones":return t.jsx(kl,{handleAdd:m,phoneNumbers:d});case"Emails":return t.jsx(Al,{handleAdd:p,emails:i});case"Whatsapp":return t.jsx(Ml,{handleAdd:h,whatsapps:c});case"RCS":return t.jsx(Ul,{handleAdd:g,RCSs:u});case"Facebook":return t.jsx(ca,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(ca,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(ca,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(ca,{title:"Mercado Libre",IMSs:o.field.imsMercadolibre,editEntity:o});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:C,children:r("global.close")})})]})})},Ll=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:o}=Ni(),{editEntity:i}=lt(),d=ye(),c=i.field.phoneNumbers,u=i.field.emails,p=i.field.imsFacebooks,m=i.field.imsWhatsapp,h=i.field.imsMercadolibre,y=i.field.imsWebchats,g=i.field.imsInstagrams,C=i.field.imsRCS,v=[{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:p,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:m,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:C,modalTitle:"RCS",visible:C.length>0},{key:"mercado-libre",title:"Mercado libre",items:h,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:y,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:g,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(Lt,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(x=>x.visible).map(x=>t.jsx(dl,{handleEdit:()=>r(x.modalTitle),title:x.title,methodItems:x.items,isPhone:x.isPhone,owner:e},x.key))})}),t.jsx(Nl,{open:a,onClose:o,title:n})]})},Ol=({entityType:e,entityData:a,baseUrl:n,spaceId:r,onEntityUpdated:o,onDirectionSearchClick:i})=>{const d={baseUrl:n,spaceId:r,entityId:String(a.id),onEntityUpdated:o},c=ye(),u=({addressNumber:p,title:m})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(s.Typography,{variant:"body2",children:m}),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(ft,{entityType:e,title:c("conversations.contactDetails.street"),value:a[p]?.street??"",...d,constructUpdateObject:h=>({[p]:{street:h}}),minWidth:"100%"})}),t.jsx(ft,{entityType:e,title:c("conversations.contactDetails.city"),value:a[p]?.city??"",...d,constructUpdateObject:h=>({[p]:{city:h}}),minWidth:"100%"}),t.jsx(ft,{entityType:e,title:c("conversations.contactDetails.state"),value:a[p]?.state??"",...d,constructUpdateObject:h=>({[p]:{state:h}}),minWidth:"100%"}),t.jsx(ft,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...d,constructUpdateObject:h=>({[p]:{zipcode:h}}),minWidth:"100%"}),t.jsx(ft,{entityType:e,title:c("conversations.contactDetails.country"),value:a[p]?.country??"",...d,constructUpdateObject:h=>({[p]:{country:h}}),minWidth:"100%"})]})]});return t.jsx(Lt,{title:c("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:i,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")})]})})};function zl({open:e,baseUrl:a,spaceId:n,contactId:r,entityId:o,entityType:i,initialContactData:d,initialEntityData:c,contactNameFormat:u,resetOnClose:p=!0}){const m=l.useRef(null),h=l.useMemo(()=>!a||!n?null:yn(a,n),[a,n]),[y,g]=l.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),C=o??r,v=c??d,x=l.useMemo(()=>!!(e&&h&&C&&!v),[e,h,C,v]);l.useEffect(()=>{!e||!v||g(S=>({...S,isLoading:!1,error:null,contactData:v}))},[e,v]),l.useEffect(()=>{e||p&&(m.current?.abort(),g({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e,p]);const I=l.useMemo(()=>!!(e&&h),[e,h]);l.useEffect(()=>{if(!I||!h)return;const S=new AbortController;return g(w=>({...w,labelsLoading:!0,labelsError:null})),h.fetchLabels({signal:S.signal}).then(w=>{g(E=>({...E,labels:w,labelsLoading:!1,labelsError:null}))}).catch(w=>{S.signal.aborted||g(E=>({...E,labelsLoading:!1,labelsError:w}))}),()=>{S.abort()}},[h,I]),l.useEffect(()=>{if(!x||!h)return;m.current?.abort();const S=new AbortController;return m.current=S,g(w=>({...w,isLoading:!0,error:null,contactData:null})),(i==="business"?h.fetchBusiness({businessId:C,signal:S.signal}):h.fetchContact({contactId:C,signal:S.signal})).then(w=>{g(E=>({...E,isLoading:!1,error:null,contactData:w}))}).catch(w=>{S.signal.aborted||g(E=>({...E,isLoading:!1,error:w}))}),()=>{S.abort()}},[h,x,C,i]);const j=l.useMemo(()=>!!(e&&h),[e,h]);l.useEffect(()=>{if(!j||!h)return;const S=new AbortController;return g(w=>({...w,userLoading:!0,userError:null})),h.fetchUserTrii({signal:S.signal}).then(w=>{g(E=>({...E,userLoading:!1,userError:null,userTrii:w}))}).catch(w=>{S.signal.aborted||g(E=>({...E,userLoading:!1,userError:w}))}),()=>{S.abort()}},[h,j]);const k=l.useMemo(()=>{const S=y.contactData,w=Pa(S),E=Ba(S);let B="unknown";w&&(B="business"),E&&(B="contact");let F="Unknown Contact";w?F=S.name:E&&(F=ln(S.firstName,S.lastName,u));const D=S?.tags??[];return{isBusiness:w,isContact:E,contactType:B,displayName:F,tags:D,labels:y.labels,contactFields:y.contactFields,userTrii:y.userTrii,userLoading:y.userLoading,userError:y.userError}},[y.contactData,y.labels,y.contactFields,y.userTrii,y.userLoading,y.userError,u]);return l.useEffect(()=>{if(!e||!h)return;const S=y.contactData,w=Pa(S),E=Ba(S),B=w?"business":E?"contact":null;if(!B)return;const F=new AbortController;return g(D=>({...D,contactFieldsLoading:!0,contactFieldsError:null})),h.fetchContactFields({forType:B,signal:F.signal}).then(D=>{g(U=>({...U,contactFields:D,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(D=>{F.signal.aborted||g(U=>({...U,contactFieldsLoading:!1,contactFieldsError:D}))}),()=>{F.abort()}},[h,e,y.contactData]),{state:y,selectors:k,actions:{setContactData:S=>g(w=>({...w,contactData:S??null})),clearError:()=>g(S=>({...S,error:null}))}}}const _l=({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 o={...e,...r};a(o)},[e,a]),Wl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Vl=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:o,labels:i,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[m,h]=l.useState([]),[y,g]=l.useState(!1),[C,v]=l.useState(!1),[x,I]=l.useState([]),[j,k]=l.useState(!1),S=l.useMemo(()=>{const F=i??[],D=x??[],U=new Map;for(const R of F)R?.id&&U.set(String(R.id),R);for(const R of D)R?.id&&U.set(String(R.id),R);return Array.from(U.values())},[i,x]),w=l.useCallback(()=>{p("main"),h([]),g(!1),v(!1),I([]),k(!1)},[]);l.useEffect(()=>{e||w()},[e,w]),l.useEffect(()=>{if(u!=="tags"){g(!1);return}if(y||!S.length)return;const F=new Set(d.map(U=>String(U.id))),D=S.filter(U=>F.has(String(U?.id)));h(D),g(!0)},[u,y,S,d]);const E=l.useCallback(async F=>{if(j||!a||!n)return;const D=String(F??"").trim();if(!D)return;const U=D.toLowerCase(),R=S.find(L=>String(L?.name??"").trim().toLowerCase()===U);if(R?.id){h(L=>{const W=L??[];return W.some(M=>String(M?.id)===String(R.id))?W:[...W,R]});return}k(!0);try{const L=await gn({baseUrl:a,spaceId:n,name:D});I(W=>{const M=W??[];return!L?.id||M.some(H=>String(H?.id)===String(L.id))?M:[...M,L]}),h(W=>{const M=W??[];return!L?.id||M.some(H=>String(H?.id)===String(L.id))?M:[...M,L]})}finally{k(!1)}},[j,a,n,S]),B=l.useCallback(async()=>{if(C||!a||!n||!r||o!=="contact"&&o!=="business")return;const F=m.filter(D=>D?.id&&D?.name).map(D=>({id:String(D.id),name:String(D.name)}));v(!0);try{await tt({baseUrl:a,spaceId:n,entityType:o,entityId:String(r.id),body:{tags:F}}),c(F),p("main")}finally{v(!1)}},[C,a,n,r,o,m,c]);return{view:u,setView:p,draftLabels:m,setDraftLabels:h,labelsOptions:S,isSaving:C,isCreatingLabel:j,handleCreateLabel:E,handleSaveTags:B}},Hl=e=>e.palette.background.panel??e.palette.background.paper,Gl=e=>e.palette.background.accordionHeader??e.palette.background.panel??e.palette.background.paper,Ln=(e,a)=>Array.isArray(a)?[e,...a]:a?[e,a]:e,ql=({title:e="Details",expanded:a,onExpandedChange:n,children:r})=>{const o={m:2,border:"1px solid",borderColor:"divider",overflow:"hidden"};return a!==void 0?t.jsx(s.Card,{sx:o,id:"details",children:t.jsxs(s.Accordion,{expanded:a,onChange:()=>n?.(!a),sx:{boxShadow:"none","&:before":{display:"none"}},children:[t.jsx(s.AccordionSummary,{expandIcon:t.jsx(Ur,{}),children:t.jsx(s.Box,{sx:{width:"100%",py:1,px:2,display:"flex",justifyContent:"space-between",alignItems:"center",color:i=>i.palette.text.primary},children:t.jsx(s.Typography,{variant:"subtitle2",children:e})})}),t.jsx(s.AccordionDetails,{sx:{p:2,borderTop:"1px solid rgba(0, 0, 0, .125)"},children:r})]})}):t.jsxs(s.Card,{sx:o,id:"details",children:[t.jsx(s.Box,{sx:{backgroundColor:Gl,px:2,py:1.5,display:"flex",justifyContent:"space-between",alignItems:"center"},children:t.jsx(s.Typography,{variant:"subtitle2",sx:{fontWeight:600},children:e})}),t.jsx(s.Box,{sx:{p:2},children:r})]})},Yl=({active:e,mode:a,children:n})=>a==="card"?e?t.jsx(s.Fade,{in:!0,timeout:200,children:t.jsx(s.Box,{sx:{pt:.5},children:n})}):null:t.jsx(s.Fade,{in:e,timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:n})}),Kl=({open:e,mode:a,baseUrl:n,spaceId:r,contactId:o,language:i,googleMapsApiKey:d,onEntityUpdated:c,contactNameFormat:u,entityType:p,entityId:m,initialEntityData:h,contentRef:y})=>{l.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!d){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const W=document.createElement("script");return W.src=`https://maps.googleapis.com/maps/api/js?key=${d}&libraries=places`,W.async=!0,W.defer=!0,document.body.appendChild(W),()=>{}},[d]);const{state:g,selectors:C,actions:v}=zl({open:e,baseUrl:n,spaceId:r,contactId:o,contactNameFormat:u,entityType:p,entityId:m,initialEntityData:h,resetOnClose:a==="modal"}),x=_l({entity:g.contactData,setEntity:W=>{v.setContactData(W??void 0),W&&c&&c(W)}}),{view:I,setView:j,draftLabels:k,setDraftLabels:S,labelsOptions:w,isSaving:E,isCreatingLabel:B,handleCreateLabel:F,handleSaveTags:D}=Vl({open:e,baseUrl:n,spaceId:r,contactData:g.contactData,contactType:C.contactType,labels:C.labels,selectedTags:C.tags,onTagsUpdated:W=>{if(!g.contactData)return;const M={...g.contactData,tags:W};v.setContactData(M),c&&c(M)}}),U=Ot({baseUrl:n,spaceId:r,entityType:C.contactType==="business"||C.contactType==="contact"?C.contactType:void 0,entityId:g.contactData?String(g.contactData.id):void 0,initialImageUrl:g.contactData?.imageUrl,onEntityUpdated:x});if(g.isLoading&&!g.contactData)return t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})});if(g.error)return t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"});if(!g.contactData)return null;const R=C.contactType==="business"?"business":"contact",L=(W,M)=>t.jsx(Yl,{active:I===W,mode:a,children:M});return t.jsx(Ci,{value:{view:I,setView:j},children:t.jsx(xi,{entityType:R,entityData:g.contactData,customContactFields:C.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(s.Box,{sx:{position:"relative",height:a==="modal"?"100%":"auto"},children:[L("main",t.jsxs(t.Fragment,{children:[a==="modal"?t.jsx(Zo,{imgUrl:U.imageUrl,displayName:C.displayName,tags:C.tags,onEditTags:()=>{j("tags")},onUploadPhoto:U.action.uploadImage,onPhotoFileChange:U.inputAtributes.onChange,photoInputRef:U.inputAtributes.ref,isUploadingPhoto:U.isUploading,onDeletePhoto:U.action.deleteImage,isDeletingPhoto:U.isDeleting,contactType:C.contactType,entityId:String(g.contactData.id),firstName:C.isContact?String(g.contactData.firstName??""):void 0,lastName:C.isContact?String(g.contactData.lastName??""):void 0,name:C.isBusiness?String(g.contactData.name??""):void 0,onEntityUpdated:x}):null,t.jsxs(s.Box,{sx:a==="modal"?{px:1,pb:2}:void 0,children:[t.jsx(Ri,{dateFormat:C.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:R,entityData:g.contactData,customContactFields:C.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:x,currentUser:C.userTrii}),a==="card"&&C.isBusiness?t.jsx(Vo,{business:g.contactData,onEdit:()=>j("businessMembers"),language:i,contactNameFormat:u}):null,t.jsx(Ol,{entityType:R,entityData:g.contactData,baseUrl:n,spaceId:r,onEntityUpdated:x,onDirectionSearchClick:()=>j("searchLocation")}),t.jsx(Ll,{ownerData:g.contactData})]})]})),L("searchLocation",t.jsx(oi,{baseUrl:n,spaceId:r,entityType:R,entityId:String(g.contactData.id),onBack:()=>j("main"),onEntityUpdated:x})),L("tags",t.jsx(ti,{value:k,options:w,onChange:S,onBack:()=>j("main"),onSave:D,isSaving:E,onCreateNew:F,isCreatingNew:B,popperContainer:y.current})),L("businessSelect",t.jsx(Lo,{baseUrl:n,spaceId:r,contactId:String(g.contactData.id),initialBusiness:C.isContact&&g.contactData?.businessId?{businessId:String(g.contactData.businessId),businessName:String(g.contactData.businessName??"")}:null,onBack:()=>j("main"),onEntityUpdated:x,currentUser:C.userTrii})),L("businessMembers",t.jsx(zo,{business:C.isBusiness?g.contactData:null,onBack:()=>j("main"),onEntityUpdated:x}))]})})})},Jl=({mode:e="modal",open:a,onClose:n,baseUrl:r,spaceId:o,contactId:i,sx:d,language:c="en",navigate:u,googleMapsApiKey:p,onEntityUpdated:m,contactNameFormat:h,title:y,expanded:g,onExpandedChange:C,entityType:v,entityId:x,initialEntityData:I})=>{const j=l.useRef(null),k=e==="card"?!0:!!a,S=n??(()=>{}),w=l.useMemo(()=>{const D=jt.getFixedT(c);return U=>D(U)},[c]),E=l.useMemo(()=>!r||!o?null:yn(r,o),[r,o]),B=Wl({onClose:S}),F=t.jsx(Kl,{mode:e,open:k,baseUrl:r,spaceId:o,contactId:i,language:c,googleMapsApiKey:p,onEntityUpdated:m,contactNameFormat:h,entityType:v,entityId:x,initialEntityData:I,contentRef:j});return t.jsx(So,{value:E,children:t.jsx(jo,{t:w,children:t.jsx(_o,{navigate:u,children:e==="card"?t.jsx(ql,{title:y,expanded:g,onExpandedChange:C,children:t.jsx(s.Box,{ref:j,sx:Ln({minHeight:0},d),children:F})}):t.jsx(s.Modal,{open:k,onClose:B,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:k,timeout:200,children:t.jsxs(s.Box,{sx:Ln({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:Hl,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},d),ref:j,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:B,sx:{position:"absolute",right:5,top:5,color:D=>D.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ea,{sx:{fontSize:20}})}),F]})})})})})})},Xl=e=>t.jsx(Ke.I18nextProvider,{i18n:jt,children:t.jsx(Jl,{...e})}),On=l.createContext(null),Ql=On.Provider,zn=()=>l.useContext(On),Zl={events:[],setEvents:()=>{},filteredEvents:[]},ed=(e,a)=>{const[n,r]=l.useState([]);l.useEffect(()=>{if(!a?.length){r([]);return}const i=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(i)},[a]);const o=l.useMemo(()=>e?.length?n.filter(i=>i.calendarId&&e.includes(i.calendarId)):n,[n,e]);return l.useMemo(()=>({events:n,setEvents:r,filteredEvents:o}),[n,o])},_n={open:!1,handleOpen:()=>{},handleClose:()=>{}},Wn=()=>{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])},yt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},xt=(e,a)=>{const[n,r]=l.useState(a||""),[o,i]=l.useState(!1),[d,c]=l.useState("");l.useEffect(()=>{r(a||"")},[a]);const u=l.useCallback(v=>{i(!0),c(v)},[]),p=l.useCallback(()=>{i(!1),c("")},[]),m=l.useCallback(v=>{r(v.target.value)},[]),h=l.useCallback(v=>{r(v)},[]),y=l.useCallback(()=>{r(a||"")},[a]),g=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:y,changeValue:h}),[u,p,y,h]),C=l.useMemo(()=>({error:o,helperText:d,type:e,value:n,onChange:m}),[o,d,e,n,m]);return{actions:g,attributes:C}};function Vn(e){return typeof e=="number"}const td={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function ad(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const m={id:zt(),timeValue:15,timePeriod:sa.EventNotificationPeriod.MINUTE,sendToContact:!1};n(h=>h.concat(m))},[]),o=l.useCallback(m=>{n(h=>h.filter(y=>y.id!==m))},[]),i=l.useCallback((m,h)=>{const y=Number(m.target.value);Vn(y)&&n(g=>g.map(C=>C.id===h?{...C,timeValue:y}:C))},[]),d=l.useCallback((m,h)=>{if(!Vn(m.target.value))return;const y=m.target.value;n(g=>g.map(C=>C.id===h?{...C,timePeriod:y}:C))},[]),c=l.useCallback((m,h)=>{const y=m.target.checked;n(g=>g.map(C=>C.id===h?{...C,sendToContact:y}:C))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const m=e.map(h=>({...h,id:h.id||zt()}));n(m)}},[e]);const p=l.useMemo(()=>({addNotification:r,deleteNotification:o,handleTimeFieldChange:i,handleTimePeriodChange:d,handleReminderChange:c,resetNotifications:u}),[r,o,i,d,c,u]);return{notifications:a,action:p}}const nd={state:{selectedStartDate:X(),selectedEndDate:X().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},rd={state:{search:"",selectedContact:null},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},sd={titleField:yt,descriptionField:yt,locationField:yt,colorField:yt,date:nd,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:td,linkContact:rd,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],rule:"",contactId:null}),resetFields:()=>{}},od=(e,a)=>{const[n,r]=l.useState(e??X()),[o,i]=l.useState(a??X().add(30,"minute")),[d,c]=l.useState(!1),u=l.useCallback(h=>y=>{h(y)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),m=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:m}},id=e=>{const[a,n]=l.useState(""),[r,o]=l.useState(e?.id?{id:e.id,name:e.name}:null),i=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{o(e?.id?{id:e.id,name:e.name}:null)},[i,e]);const d=l.useCallback(y=>{o({id:y.id,name:y.name??""}),n("")},[]),c=l.useCallback(()=>{o(null)},[]),u=l.useCallback(y=>{n(y)},[]),p=l.useCallback(()=>{n(""),o(e?.id?{id:e.id,name:e.name}:null)},[e]),m=l.useMemo(()=>({search:a,selectedContact:r}),[a,r]),h=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:m,action:h}},ld=e=>{const a=l.useRef(null),n=xt("text",e?.title??""),r=xt("text",e?.details??e?.description??""),o=xt("text",e?.location??""),i=xt("text",e?.color??"#1976d2"),d=od(e?.startAt?X(e.startAt):void 0,e?.endAt?X(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,m]=l.useState(e?.isPrivate??!1),[h,y]=l.useState(e?.rule??""),g=ad(e?.notifications),C=id(e?.relatedContact??e?.raw?.relatedContact),v=l.useCallback(()=>({title:n.attributes.value,details:r.attributes.value,location:o.attributes.value,allDay:c,isPrivate:p,color:i.attributes.value,startAt:d.state.selectedStartDate.toISOString(),endAt:d.state.selectedEndDate.toISOString(),notifications:g.notifications.filter(I=>I.timeValue>0).map(I=>({id:I.id,timePeriod:I.timePeriod,timeValue:I.timeValue,sendToContact:I.sendToContact})),rule:h,contactId:C.state.selectedContact?.id||null}),[n.attributes.value,r.attributes.value,o.attributes.value,c,p,i.attributes.value,d.state.selectedStartDate,d.state.selectedEndDate,g.notifications,h,C.state.selectedContact]),x=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.actions.resetValue(),i.actions.changeValue("#1976d2"),u(!1),m(!1),y(""),g.action.resetNotifications(),C.action.resetField(),d.action.setError(!1),a.current=null},[n.actions,r.actions,o.actions,i.actions,g.action,C.action,d.action]);return l.useEffect(()=>{const I=e?.id;!e||a.current===I||(a.current=I,u(e.allDay??!1),m(e.isPrivate??!1),y(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),o.actions.changeValue(e.location??""),i.actions.changeValue(e.color??"#1976d2"),e.startAt&&d.action.setSelectedStartDate(X(e.startAt)),e.endAt&&d.action.setSelectedEndDate(X(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:o,colorField:i,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:m,recurrenceRule:h,setRecurrenceRule:y,notifications:g,linkContact:C,create:v,resetFields:x}),[n,r,o,i,d,c,p,h,g,C,v,x])},dd={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},cd={nameField:yt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:dd,googleCalendar:null,handleGoogleCalendarChange:()=>{}},ud=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),o=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:o}},pd=()=>{const e=xt("text",""),[a,n]=l.useState("#ffffff"),[r,o]=l.useState(null),i=ud(),d=l.useCallback(u=>{n(u)},[]),c=l.useCallback(u=>{o(u)},[]);return l.useMemo(()=>({nameField:e,color:a,handleColorChange:d,shareWithUsers:i,googleCalendar:r,handleGoogleCalendarChange:c}),[e,a,d,i,r,c])},fd={tasks:[],setTasks:()=>{},filteredTasks:[]},gd=e=>{const[a,n]=l.useState([]),r=l.useMemo(()=>e?.length?a.filter(o=>o.calendarId&&e.includes(o.calendarId)):a,[a,e]);return l.useMemo(()=>({tasks:a,setTasks:n,filteredTasks:r}),[a,r])},md={state:{selectedStartDate:X(),selectedEndDate:X(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},hd={state:{search:"",selectedContact:null},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},yd={titleField:yt,descriptionField:yt,date:md,linkContact:hd,create:()=>({title:"",description:"",startAt:"",endAt:"",contactId:null}),resetFields:()=>{}},xd=(e,a)=>{const[n,r]=l.useState(e??X()),[o,i]=l.useState(a??X()),[d,c]=l.useState(!1),u=l.useCallback(h=>y=>{h(y)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),m=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:m}},bd=e=>{const[a,n]=l.useState(""),[r,o]=l.useState(e?.id?{id:e.id,name:e.name}:null),i=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{o(e?.id?{id:e.id,name:e.name}:null)},[i,e]);const d=l.useCallback(y=>{o({id:y.id,name:y.name??""}),n("")},[]),c=l.useCallback(()=>{o(null)},[]),u=l.useCallback(y=>{n(y)},[]),p=l.useCallback(()=>{n(""),o(e?.id?{id:e.id,name:e.name}:null)},[e]),m=l.useMemo(()=>({search:a,selectedContact:r}),[a,r]),h=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:m,action:h}},vd=e=>{const a=l.useRef(null),n=xt("text",e?.title??""),r=xt("text",e?.description??""),o=xd(e?.startAt?X(e.startAt):void 0,e?.startAt?X(e.startAt):void 0),i=bd(e?.relatedContact??e?.raw?.relatedContact),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedStartDate.toISOString(),contactId:i.state.selectedContact?.id||null}),[n.attributes.value,r.attributes.value,o.state.selectedStartDate,i.state.selectedContact]),c=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),i.action.resetField(),o.action.setError(!1),a.current=null},[n.actions,r.actions,i.action,o.action]);return l.useEffect(()=>{const u=e?.id;if(!(!e||a.current===u)&&(a.current=u,console.log("[useTask] Sincronizando tarea:",{id:e.id,title:e.title,description:e.description,startAt:e.startAt,relatedContact:e.relatedContact}),n.actions.changeValue(e.title??""),r.actions.changeValue(e.description??""),e.startAt)){const p=X(e.startAt);o.action.setSelectedStartDate(p),o.action.setSelectedEndDate(p)}},[e?.id]),l.useEffect(()=>{if(!e)return;const u=e.relatedContact??e.raw?.relatedContact,p=i.state.selectedContact?.id,m=u?.id;p!==m&&(m?i.action.handleSelectContact({id:m,name:u.name??""}):i.action.resetField())},[e?.relatedContact,e?.raw?.relatedContact]),l.useMemo(()=>({titleField:n,descriptionField:r,date:o,linkContact:i,create:d,resetFields:c}),[n,r,o,i,d,c])},_a=l.createContext({eventDialog:_n,createCalendarDialog:_n,event:sd,events:Zl,calendar:cd,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:fd,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:yd,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],isLoadingCalendars:!1,isCreatingEvent:!1,isUpdatingEvent:!1,isCreatingTask:!1,isUpdatingTask:!1,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}),Hn=e=>e,Gn=l.createContext(Hn),Cd=({t:e,children:a})=>t.jsx(Gn.Provider,{value:e,children:a}),$e=()=>{const e=l.useContext(Gn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Hn)};var Sd=Object.defineProperty,jd=(e,a,n)=>a in e?Sd(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,qn=(e,a,n)=>jd(e,typeof a!="symbol"?a+"":a,n);class wd extends Error{constructor(a,n,r){super(a),qn(this,"status"),qn(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function De({url:e,method:a="GET",headers:n,body:r,signal:o}){const i=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:o}),d=(i.headers.get("content-type")||"").includes("application/json")?await i.json().catch(()=>null):await i.text().catch(()=>null);if(!i.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${i.status}`;throw new wd(c,i.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 pa(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 He(e){return pa(e.baseUrl,e.spaceId).CALENDAR}async function Td(e){const a=pa(e.baseUrl,e.spaceId);return De({url:ke(a.SETTINGS,"/user")})}async function Id(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return De({url:r})}async function kd(e,a){const n=He(e);return De({url:ke(n,"/events"),method:"POST",body:a})}async function Yn(e,a){const n=He(e),{activityId:r,updatedActivity:o,originalOccurrenceDate:i}=a;if(i){const d=i instanceof Date?i.toISOString():i,c=`${n}/events/occurrence/${r}?occurrence=${d}`;return De({url:c,method:"PUT",body:o})}return De({url:ke(n,`/events/${r}`),method:"PUT",body:o})}async function Wa(e,a,n){const r=He(e);if(n){const o=n instanceof Date?n.toISOString():n,i=`${r}/events/${a}?occurrence=${o}`;await De({url:i,method:"DELETE"})}else await De({url:ke(r,`/events/${a}`),method:"DELETE"})}async function Ed(e,a){const n=He(e);return De({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Dd(e,a){const n=He(e);return De({url:ke(n,`/Task/${a}`)})}async function Ad(e,a){const n=He(e);return De({url:ke(n,"/Task"),method:"POST",body:a})}async function Kn(e,a,n){const r=He(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:n})}async function Fd(e,a){const n=He(e);await De({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function Bd(e,a,n){const r=He(e);return De({url:ke(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Md(e){const a=He(e);return De({url:ke(a,"/Calendar")})}async function $d(e,a){const n=He(e);return De({url:ke(n,"/Calendar"),method:"POST",body:a})}async function Pd(e,a,n){const r=He(e);return De({url:ke(r,`/Calendar/${a}`),method:"PUT",body:n})}async function Ud({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=pa(e,a),i=ke(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return De({url:i,signal:r})}async function Rd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=pa(e,a),i=ke(o.CONTACTS,"/Search");return De({url:i,method:"POST",body:n,signal:r})}function fa(e){const a=X(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const qt=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},Yt=e=>e?e.parentId?e.parentId:qt(e.id):"",Nd=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:o="event",externalEventCalendarId:i,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:p=!1,externalContactId:m,externalOnActionComplete:h,externalInitialStartDate:y,externalInitialEndDate:g})=>{const{t:C}=Ke.useTranslation(),v=zn(),x=(b,...O)=>C(b,...O),[I,j]=l.useState(o),[k,S]=l.useState(null),[w,E]=l.useState(null),[B,F]=l.useState(r),[D,U]=l.useState(d||""),[R,L]=l.useState(i||""),[W,M]=l.useState(!1),[H,q]=l.useState("create"),[se,G]=l.useState(null),[_,T]=l.useState({open:!1,message:"",severity:"info"}),[$,A]=l.useState(!1),[V,Y]=l.useState("event"),[ne,ie]=l.useState(!1),[je,he]=l.useState(!1),[te,Ae]=l.useState(null),[K,pe]=l.useState(!1),[xe,Ye]=l.useState(!1),[Q,Pe]=l.useState(!1),[We,Ge]=l.useState(!1),ue="trii_calendar_last_view",kt=b=>b==="month"||b==="week"||b==="day",[at,bt]=l.useState(()=>{try{const b=localStorage.getItem(ue);return kt(b)?b:"month"}catch{return"month"}}),[xa,Jt]=l.useState(new Date),Xt=b=>{Jt(b),bt("day")},Ue=Wn(),Xe=Wn(),de=ld(k??void 0),fe=vd(w??void 0);l.useEffect(()=>{r!==void 0&&F(r)},[r]),l.useEffect(()=>{o!==void 0&&j(o)},[o]),l.useEffect(()=>{i!==void 0&&L(i)},[i]),l.useEffect(()=>{d!==void 0&&U(d)},[d]),l.useEffect(()=>{c!==void 0&&(S(c),c?.calendarId&&L(c.calendarId))},[c]),l.useEffect(()=>{u!==void 0&&(console.log("[CalendarContextProvider] Sincronizando externalSelectedTask:",u),E(u),u?.calendarId&&U(u.calendarId))},[u]),l.useEffect(()=>{if(!m||!v||r!=="create"||!Ue.open)return;let b=!1;return Ud({baseUrl:v.baseUrl,spaceId:v.spaceId,contactId:m}).then(O=>{b||!O||(de.linkContact.action.resetField(),de.linkContact.action.handleSelectContact(O),fe.linkContact.action.resetField(),fe.linkContact.action.handleSelectContact(O))}).catch(()=>{}),()=>{b=!0}},[m,Ue.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!Ue.open){if(r==="create"){de.resetFields(),fe.resetFields(),M(!1),S(null),E(null),de.date.action.setError(!1),fe.date.action.setError(!1);const b=fa(y??new Date),O=g?fa(g):b.add(30,"minute");if(o==="task"?(fe.date.action.setSelectedStartDate(b),fe.date.action.setSelectedEndDate(b)):(de.date.action.setSelectedStartDate(b),de.date.action.setSelectedEndDate(O)),!i){const N=Re?.[0]??st?.[0]?.id??Oe?.[0]?.id??"";N&&L(N)}if(!d){const N=Re?.[0]??Oe?.[0]?.id??"";N&&U(N)}}Ue.handleOpen()}else!a&&Ue.open&&Ue.handleClose()},[a]);const qe=()=>{de.resetFields(),fe.resetFields(),de.date.action.setError(!1),fe.date.action.setError(!1),n?n():Ue.handleClose()},Ee=pd(),Qt=H==="create",[Oe,ba]=l.useState([]),[va,Zt]=l.useState(!1),[Ca,Sa]=l.useState([]),[dt,ea]=l.useState(""),nt="calendar_selected_ids",[Re,ct]=l.useState(()=>{try{const b=localStorage.getItem(nt);return b?JSON.parse(b):[]}catch{return[]}}),gt=ed(Re,Ca),Et=gd(Re),ta=()=>{T(b=>({...b,open:!1}))},rt=l.useCallback((b,O,N)=>{h?.(b,O,N)},[h]);function Dt(b){const O=b?.startAt??b?.start,N=b?.endAt??b?.end??O;return{startAt:O,endAt:N}}const{myCalendars:st,otherCalendars:ja}=l.useMemo(()=>{const b=Oe??[];if(!dt)return{myCalendars:b,otherCalendars:[]};const O=b.filter(Z=>Z.userId===dt),N=b.filter(Z=>Z.userId!==dt);return O.length===0&&b.length>0?{myCalendars:b,otherCalendars:[]}:{myCalendars:O,otherCalendars:N}},[Oe,dt]),mt=l.useCallback(async()=>{if(v)try{const b=new Date,O=b.getUTCFullYear(),N=b.getUTCMonth(),Z=new Date(Date.UTC(O,N-1,1,0,0,0)).toISOString(),J=new Date(Date.UTC(O,N+2,1,0,0,0)).toISOString(),me=await Id(v,Z,J);Sa(me)}catch(b){console.error("Error fetching activities:",b)}},[v]),ot=l.useCallback(async b=>{if(v)try{const O=await Dd(v,b);Et.setTasks(O.map(N=>({id:N.id,title:N.title||"",start:new Date(N.startAt),end:new Date(N.endAt||N.startAt),startAt:N.startAt,endAt:N.endAt,description:N.description,calendarId:N.calendarId,isCompleted:N.isCompleted||!1,relatedContact:N.relatedContact,kind:"task"})))}catch(O){console.error("Error fetching tasks:",O)}},[v]),vt=l.useCallback(async()=>{if(v){Zt(!0);try{const b=await Md(v);ba(b)}catch(b){console.error("Error fetching calendars:",b)}finally{Zt(!1)}}},[v]);l.useEffect(()=>{const b=st?.[0]?.id??Oe?.[0]?.id??"";b&&Ue.open&&B==="create"&&(R||L(b),D||U(b))},[Ue.open,B]);const At=l.useRef(!1);l.useEffect(()=>{a||(At.current=!1)},[a]),l.useEffect(()=>{if(!v||!a||At.current||(At.current=!0,vt(),r==="create"))return;let b=!1;return Td(v).then(O=>{b||ea(O.uid)}).catch(()=>{}),()=>{b=!0}},[v,a,r,vt]);function Ft(b,O,N){j(b),F("create"),S(null),E(null),de.resetFields(),fe.resetFields(),M(!1);const Z=fa(O??new Date),J=N?fa(N):Z.add(30,"minute"),me=J.isAfter(Z)?J:Z.add(30,"minute");if(b==="task"){fe.date.action.setSelectedStartDate(Z),fe.date.action.setSelectedEndDate(Z),fe.date.action.setError(!1);const we=Re?.[0]??Oe?.[0]?.id??"";U(we)}else{de.date.action.setSelectedStartDate(Z),de.date.action.setSelectedEndDate(me),de.date.action.setError(!1);const we=Re?.[0]??st?.[0]?.id??Oe?.[0]?.id??"";L(we);const re=st?.find(Se=>Se.id===we)??Oe?.find(Se=>Se.id===we);re?.color&&de.colorField.actions.changeValue(re.color)}Ue.handleOpen()}function wa(){Ft("event")}function Ta(){de.date.action.setError(!1),fe.date.action.setError(!1),F("edit")}function f(b){const{startAt:O,endAt:N}=Dt(b),Z={...b,kind:"event",startAt:O,endAt:N,details:b?.details??""};j("event"),S(Z),E(null);const J=Z.calendarId||st?.[0]?.id||Oe?.[0]?.id||"";L(J),F("view"),de.date.action.setError(!1),fe.date.action.setError(!1),Ue.handleOpen()}async function P(b){if(!v)return;let O;if(b)O={title:b.title,details:b.description||b.details||"",startAt:new Date(b.startAt),endAt:new Date(b.endAt),allDay:b.allDay,location:b.location||"",isPrivate:b.isPrivate||!1,color:b.color||"",rule:b.rule||"",contactId:b.relatedContactId||m||null,notifications:(b.notifications||[]).map(J=>({id:zt(),timeValue:J.value,timePeriod:J.type,sendToContact:J.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const J=de.create();if(!J.title){T({open:!0,message:x("global.nameRequired"),severity:"error"});return}O={...J,startAt:new Date(J.startAt),endAt:new Date(J.endAt),contactId:J.contactId||m||null,eventTypeId:"",repeatId:"",notifications:J.notifications.map(me=>({...me,id:me.id||zt()}))}}const N=R;if(!N){T({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const Z={...O,calendarId:N};pe(!0);try{T({open:!0,message:x("global.savingChanges"),severity:"info"});const J=await kd(v,Z);Re.includes(N)||ct(me=>[...me,N]),T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("created","event",J),de.resetFields(),qe(),setTimeout(()=>{mt()},500)}catch(J){console.error("Error creando evento:",J);const me=J?.response?.data?.message||J?.message||x("global.errorSavingChanges");T({open:!0,message:me,severity:"error"})}finally{pe(!1)}}async function z(){if(!k?.id)return;const b=de.create(),O=R||k.calendarId||"";if(!O){T({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}k.originalOccurrenceDate!=null?(Ae(()=>async N=>{await ee(b,O,N)}),he(!0)):await ee(b,O,!1)}async function ee(b,O,N){const Z=k?.originalOccurrenceDate!=null,J={title:b.title,details:b.details,startAt:b.startAt,endAt:b.endAt,allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:O,notifications:b.notifications,contactId:b.contactId??null};(N||!Z)&&(J.rule=b.rule);const me=Yt(k),we={updatedActivity:J,activityId:me};Z&&!N&&(we.originalOccurrenceDate=k.originalOccurrenceDate),Ye(!0);try{const re=await Yn(v,we);if(re){const Se={...re,relatedContact:re.relatedContact??k.relatedContact};S(Se),re.calendarId&&L(re.calendarId),gt.setEvents(aa=>aa.map(ut=>ut.id===k?.id?{...ut,...re,relatedContact:re.relatedContact??ut.relatedContact,start:new Date(re.startAt),end:new Date(re.endAt||re.startAt),originalOccurrenceDate:re.originalOccurrenceDate?typeof re.originalOccurrenceDate=="string"?re.originalOccurrenceDate:re.originalOccurrenceDate.toISOString():ut.originalOccurrenceDate}:ut))}T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("updated","event",re),qe(),setTimeout(()=>{mt()},500)}catch(re){console.error("Error actualizando evento:",re);const Se=re?.response?.data?.message||re?.message||x("global.errorSavingChanges");T({open:!0,message:Se,severity:"error"})}finally{Ye(!1)}}async function ce(b){he(!1),te&&(await te(b),Ae(null))}async function ge(){k?.originalOccurrenceDate!=null?ie(!0):(Y("event"),A(!0))}async function le(){if(v)if(A(!1),V==="event")try{const b=Yt(k);qe(),await Wa(v,b),T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("deleted","event",{id:b}),setTimeout(()=>{mt()},500)}catch(b){console.error("Error deleting event:",b);const O=b?.message?.includes("duplicate key")?x("global.eventAlreadyDeleted","El evento ya fue eliminado"):x("global.errorSavingChanges");T({open:!0,message:O,severity:"error"})}else{if(!w?.id)return;try{const b=qt(w.id),O=w.calendarId;qe(),await Fd(v,b),E(null),fe.resetFields(),T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("deleted","task",{id:b}),O&&setTimeout(()=>{ot(O)},500)}catch(b){console.error("Error deleting task:",b);const O=b?.message?.includes("duplicate key")?x("global.taskAlreadyDeleted","La tarea ya fue eliminada"):x("global.errorSavingChanges");T({open:!0,message:O,severity:"error"})}}}async function oe(b){ie(!1);const O=Yt(k);qe();try{b?await Wa(v,O):await Wa(v,O,k.originalOccurrenceDate),T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("deleted","event",{id:O}),setTimeout(()=>{mt()},500)}catch(N){console.error("Error deleting recurring event:",N);const Z=N?.message?.includes("duplicate key")?x("global.eventAlreadyDeleted","El evento ya fue eliminado"):x("global.errorSavingChanges");T({open:!0,message:Z,severity:"error"})}}async function Fe(){if(!v)return;const b=Yt(k);await Ed(v,b),qe()}async function be(b,O,N){const Z=O instanceof Date?O:new Date(O),J=N instanceof Date?N:new Date(N),me=Z.toISOString(),we=J.toISOString(),re=b.kind==="task";!re&&b.originalOccurrenceDate!=null?(S(b),Ae(()=>async Se=>{await ve(b,me,we,Z,J,re,Se)}),he(!0)):await ve(b,me,we,Z,J,re,!1)}async function ve(b,O,N,Z,J,me,we){me||gt.setEvents(re=>re.map(Se=>Se.id===b.id?{...Se,start:Z,end:J,startAt:Z,endAt:J}:Se)),T({open:!0,message:x("global.savingChanges"),severity:"info"});try{if(me){const re=qt(b.id),Se={title:b.title,description:b.description,startAt:O,endAt:N,calendarId:b.calendarId,allDay:b.allDay||!1,isCompleted:b.isCompleted||!1};await Kn(v,re,Se),await ot(b.calendarId)}else{const re=Yt(b),Se=b.originalOccurrenceDate!=null,aa={title:b.title,details:b.details,startAt:new Date(O),endAt:new Date(N),allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:b.calendarId};(we||!Se)&&(aa.rule=b.rule);const ut={updatedActivity:aa,activityId:re};Se&&!we&&(ut.originalOccurrenceDate=b.originalOccurrenceDate),await Yn(v,ut)}T({open:!0,message:x("global.changesSaved"),severity:"success"}),setTimeout(()=>{mt()},500)}catch{me||gt.setEvents(re=>re.map(Se=>Se.id===b.id?{...Se,start:b.start,end:b.end}:Se)),T({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}function Ve(b,O){Ft("event",b,O)}function it(){Ee.nameField.actions.resetValue(),Ee.handleColorChange("#ffffff"),Ee.shareWithUsers.action.resetField(),Ee.handleGoogleCalendarChange(null)}function Qe(){it(),G(null),q("create"),Xe.handleClose()}function Ne(b){Ee.nameField.actions.changeValue(b.title??""),Ee.nameField.actions.onSuccess(),Ee.handleColorChange(b.color??"#ffffff"),Ee.shareWithUsers.action.setUserIds(b.sharedWith??[]),Ee.handleGoogleCalendarChange(b.googleCalendar??null)}function Bt(){q("create"),G(null),it(),Xe.handleOpen()}function Ia(b){q("edit"),G(b),Ne(b),Xe.handleOpen()}async function ka(){if(!v)return;const b=(Ee.nameField.attributes.value??"").trim();if(!b){T({open:!0,message:x("global.nameRequired"),severity:"error"});return}const O=Ee.shareWithUsers.field.userIds,N={title:b,color:Ee.color,sharedWith:O.length?O:void 0,googleCalendar:Ee.googleCalendar};try{if(Qt)await $d(v,N);else{const Z=se?.id;if(!Z)return;await Pd(v,Z,N)}Qe(),T({open:!0,message:x(Qt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),vt()}catch{T({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}async function wr(b){if(!v)return;let O;if(b?O={title:b.title,description:b.description||"",startAt:b.startAt,contactId:b.relatedContactId||null}:O=fe.create(),!O.title){T({open:!0,message:x("global.nameRequired"),severity:"error"});return}const N=D;if(!N){T({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const Z={...O,calendarId:N,contactId:O.contactId||m||null};Pe(!0);try{T({open:!0,message:x("global.savingChanges"),severity:"info"});const J=await Ad(v,Z);Re.includes(N)||ct(me=>[...me,N]),T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("created","task",J),fe.resetFields(),qe(),setTimeout(()=>{ot(N)},500)}catch(J){console.error("Error creando tarea:",J);const me=J?.response?.data?.message||J?.message||x("global.errorSavingChanges");T({open:!0,message:me,severity:"error"})}finally{Pe(!1)}}function Tr(){Ft("task")}async function Ir(){if(!v||!w?.id)return;const b=fe.create();if(!b.title){T({open:!0,message:x("global.nameRequired"),severity:"error"});return}const O=D||w.calendarId;if(!O){T({open:!0,message:x("global.errorSavingChanges"),severity:"error"});return}const N={title:b.title,description:b.description,startAt:b.startAt,endAt:b.endAt,calendarId:O,contactId:b.contactId??null};Ge(!0);try{const Z=qt(w.id),J=await Kn(v,Z,N);if(J){const me={...J,relatedContact:J.relatedContact??w.relatedContact};E(me),J.calendarId&&U(J.calendarId),Et.setTasks(we=>we.map(re=>re.id===w?.id?{...re,...J,relatedContact:J.relatedContact??re.relatedContact,start:J.startAt?new Date(J.startAt):re.start,end:J.startAt?new Date(J.startAt):re.end}:re))}T({open:!0,message:x("global.changesSaved"),severity:"success"}),rt("updated","task",J),qe(),setTimeout(()=>{const me=w.calendarId,we=J?.calendarId||O;ot(we),me&&me!==we&&ot(me)},500)}catch(Z){console.error("Error actualizando tarea:",Z);const J=Z?.response?.data?.message||Z?.message||x("global.errorSavingChanges");T({open:!0,message:J,severity:"error"})}finally{Ge(!1)}}async function kr(){w?.id&&(Y("task"),A(!0))}async function Er(){if(!v||!w?.id)return;const b=!w.isCompleted;try{const O=qt(w.id),N=w.calendarId,Z=await Bd(v,O,b);Z&&E(Z),T({open:!0,message:x("global.changesSaved"),severity:"success"}),N&&setTimeout(()=>{ot(N)},500)}catch{T({open:!0,message:x("global.errorSavingChanges"),severity:"error"})}}function Dr(){const b=I==="event",O=b?k:w;if(!O)return;const N={...O};b?(S(null),F("create"),M(!0),setTimeout(()=>{de.titleField.actions.changeValue(N.title??""),de.descriptionField.actions.changeValue(N.details??N.description??""),de.locationField.actions.changeValue(N.location??""),de.colorField.actions.changeValue(N.color??""),de.setAllDay(N.allDay??!1),de.setIsPrivate(N.isPrivate??!1),de.setRecurrenceRule(N.rule??""),de.date.action.setSelectedStartDate(X(N.startAt)),de.date.action.setSelectedEndDate(X(N.endAt)),de.date.action.setError(!1),de.notifications.action.resetNotifications(),N.relatedContact?.id&&de.linkContact.action.handleSelectContact(N.relatedContact),L(N.calendarId??R)},50)):(E(null),F("create"),setTimeout(()=>{fe.titleField.actions.changeValue(N.title??""),fe.descriptionField.actions.changeValue(N.description??""),fe.date.action.setSelectedStartDate(X(N.startAt)),fe.date.action.setSelectedEndDate(X(N.startAt)),fe.date.action.setError(!1),N.relatedContact?.id&&fe.linkContact.action.handleSelectContact(N.relatedContact),U(N.calendarId??D)},50))}function Ar(b){const{startAt:O,endAt:N}=Dt(b),Z={...b,kind:"task",startAt:O,endAt:N,description:b?.description??""};j("task"),E(Z),U(Z.calendarId??""),L(Z.calendarId??""),S(null),F("view"),de.date.action.setError(!1),fe.date.action.setError(!1),Ue.handleOpen()}function Fr(b){return b?.kind==="task"?Ar(b):f(b)}l.useEffect(()=>{try{Re&&localStorage.setItem(nt,JSON.stringify(Re))}catch{}},[Re]),l.useEffect(()=>{Oe?.length&&ct(b=>{const O=new Set(Oe.map(Z=>Z.id)),N=(b??[]).filter(Z=>O.has(Z));return N.length?N:Oe.map(Z=>Z.id)})},[Oe]),l.useEffect(()=>{try{localStorage.setItem(ue,at)}catch{}},[at]);const Br={eventDialog:{...Ue,handleClose:qe},dialogMode:B,createCalendarDialog:Xe,event:de,calendar:Ee,events:gt,handleCreateEvent:P,handleSelectEvent:Fr,handleOpenEventCreate:wa,handleStartEditingEvent:Ta,handleSaveUpdatedEvent:z,handleEndEvent:Fe,handleDeleteEvent:ge,handleResizeEvent:be,selectedEvent:k,savingSnackbar:_,handleCloseSnackbar:ta,dialogType:I,setDialogType:j,handleOpenTaskCreate:Tr,handleOpenCreateFromSlot:Ve,handleCloseCreateCalendarDialog:Qe,calendarDialogMode:H,editingCalendar:se,handleOpenCreateCalendarDialog:Bt,handleOpenEditCalendarDialog:Ia,handleSubmitCalendar:ka,tasks:Et,activeCalendarIds:Re,setActiveCalendarIds:ct,handleCreateTask:wr,task:fe,selectedTask:w,taskCalendarId:D,setTaskCalendarId:U,eventCalendarId:R,setEventCalendarId:L,userManuallyChangedColor:W,setUserManuallyChangedColor:M,myCalendars:st,otherCalendars:ja,isLoadingCalendars:va,isCreatingEvent:K,isUpdatingEvent:xe,isCreatingTask:Q,isUpdatingTask:We,handleSaveUpdatedTask:Ir,handleDeleteTask:kr,handleToggleTaskCompleted:Er,handleDuplicateItem:Dr,calendarView:at,setCalendarView:bt,calendarDate:xa,setCalendarDate:Jt,navigateToDate:Xt,confirmDeleteDialog:{open:$,handleClose:()=>A(!1),itemType:V},handleConfirmDelete:le,deleteRecurringDialog:{open:ne,handleClose:()=>ie(!1)},handleConfirmDeleteRecurring:oe,editRecurringDialog:{open:je,handleClose:()=>{he(!1),Ae(null)}},handleConfirmEditRecurring:ce,hiddenTabs:p};return t.jsx(Cd,{t:x,children:t.jsx(_a.Provider,{value:Br,children:e})})},ga=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),Va=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Ha=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),It="DD/MM/YYYY",ma="HH:mm",Ld=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:o,disabled:i,hideLabel:d=!1,allDay:c=!1})=>{const u=$e(),p=l.useMemo(()=>a.diff(e,"minute"),[e,a]),m=l.useMemo(()=>{if(p===0)return"0 min";const x=Math.floor(p/60),I=p%60;return x===0?`${I} min`:I===0?`${x} h`:`${x}.${Math.round(I/60*10)} h`},[p]),h=x=>{if(!x)return;const I=x.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),j=x.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),r(j)},y=x=>{if(!x)return;const I=x.hour(0).minute(0).second(0).millisecond(0);n(I)},g=x=>{if(!x)return;const I=x.hour(23).minute(59).second(59).millisecond(999);r(I)},C=x=>{if(!x)return;const I=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0),j=I.add(p,"minute");n(I),r(j)},v=x=>{if(!x)return;let I=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),r(I)};return i?t.jsxs(ga,{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(It)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(It)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(It)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(ma)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ma)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",m,")"]})]})]})]}):t.jsxs(ga,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(Je.LocalizationProvider,{dateAdapter:Qa.AdapterDayjs,children:c?t.jsxs(Va,{children:[t.jsx(Je.DatePicker,{disabled:i,format:It,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:y,minDate:X(),sx:{flex:1}}),t.jsx(Ha,{variant:"body1",children:"\u2013"}),t.jsx(Je.DatePicker,{disabled:i,format:It,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:g,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(s.Box,{sx:{mb:1},children:t.jsx(Je.DatePicker,{disabled:i,format:It,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:h,minDate:X()})}),t.jsxs(Va,{children:[t.jsx(Je.TimePicker,{disabled:i,format:ma,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:C,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Ha,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Je.TimePicker,{disabled:i,format:ma,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:v,sx:{alignSelf:"baseline",width:"100%"}}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",m,")"]})]})]})]})}),o&&t.jsx(s.Fade,{in:o,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 _e=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Ga=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=$e(),{value:o,type:i,...d}=e.attributes,c=o||"";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(_e,{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(_e,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:i})})},Od=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),zd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"4px 0px"})),Jn=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),_d=s.styled(s.TextField)(()=>({width:"13%"})),Wd=s.styled(s.Select)(()=>({width:"23%"})),Vd=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),Hd=s.styled(s.IconButton)(()=>({ml:"auto",color:"error"})),Xn=[{title:"minute",value:sa.EventNotificationPeriod.MINUTE},{title:"hour",value:sa.EventNotificationPeriod.HOUR},{title:"day",value:sa.EventNotificationPeriod.DAY}],Gd=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:o,disabled:i=!1})=>{const d=$e(),c=e.timeValue??0;return i?t.jsxs(zd,{children:[t.jsx(Jn,{children:t.jsxs(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:[d("calendarView.reminders.sendReminder.pt1")," ",c," ",d(`calendarView.reminders.timePeriod.${Xn.find(u=>u.value===e.timePeriod)?.title||"minutes"}`)," ",d("calendarView.reminders.sendReminder.pt2")]})}),e.sendToContact&&t.jsxs(s.Typography,{variant:"body1",sx:{mt:.5,fontSize:"0.875rem",color:"text.secondary"},children:["*",d("calendarView.reminders.sendReminderToContact")]})]}):t.jsxs(Od,{children:[t.jsxs(Jn,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(_d,{disabled:i,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(Wd,{disabled:i,onChange:u=>n(u,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}}},children:Xn.map(u=>t.jsx(s.MenuItem,{value:u.value,children:d(`calendarView.reminders.timePeriod.${u.title}`)},u.value))}),t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(Vd,{children:[t.jsx(s.FormControlLabel,{sx:{display:"flex",alignItems:"center"},disabled:i,label:d("calendarView.reminders.sendReminderToContact"),control:t.jsx(s.Checkbox,{checked:e.sendToContact,onChange:u=>r(u,e.id),color:"secondary",disabled:i})}),t.jsx(Hd,{disabled:i,onClick:()=>o(e.id),sx:{ml:"auto"},children:t.jsx(ra,{})})]})]})},qd=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:1})),Yd=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Kd=({notificationsField:e,disabled:a})=>{const n=$e(),{addNotification:r,deleteNotification:o,handleReminderChange:i,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs(qd,{children:[t.jsxs(Yd,{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(Xa,{}),size:"small",variant:"outlined",onClick:r,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(s.Box,{sx:{pt:1},children:u?e.notifications.map(p=>t.jsx(Gd,{data:p,deleteHandler:o,sendToContactHandler:i,timePeriodHandler:c,timeValueHandler:d,disabled:a},p.id)):a?t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Qn=({descriptionField:e,disabled:a})=>{const n=$e(),{value:r,type:o,...i}=e.attributes,d=r||"";return a?t.jsx(_e,{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(_e,{title:n("global.description"),children:t.jsx(s.TextField,{...i,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},Jd=({onPlaceSelected:e})=>{const a=l.useRef(null),n=l.useRef(null),r=l.useRef(null),o=l.useRef(null),[i,d]=l.useState([]),[c,u]=l.useState(!1),p=$e();l.useEffect(()=>{if(!a.current)return;const y=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const g=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(g),o.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!y()){const g=setTimeout(()=>{y()},500);return()=>clearTimeout(g)}},[]);const m=y=>{const g=y.target.value;if(!g||g.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:g,types:["geocode"],sessionToken:o.current||void 0},(C,v)=>{v===window.google.maps.places.PlacesServiceStatus.OK&&C?(d(C),u(!0)):(d([]),u(!1))})},h=(y,g)=>{r.current&&r.current.getDetails({placeId:y,fields:["geometry","formatted_address"],sessionToken:o.current||void 0},(C,v)=>{if(v===window.google.maps.places.PlacesServiceStatus.OK&&C?.geometry?.location){const x=C.geometry.location.lat(),I=C.geometry.location.lng(),j=C.formatted_address??g;e({lat:x,lng:I},j),a.current&&(a.current.value=j),u(!1),d([]),o.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const y=g=>{a.current&&!a.current.contains(g.target)&&u(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[]),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:p("global.searchLocation","Buscar en Google Maps"),onChange:m,onFocus:()=>i.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&&i.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:i.map(y=>t.jsxs("div",{onClick:()=>h(y.place_id,y.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:g=>{g.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:g=>{g.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:y.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:y.structured_formatting.secondary_text})]},y.place_id))})]})},Zn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",er=["places"],qa={apiKey:Zn,libraries:er,loading:"async"},ha=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),tr=(e=Zn,a=er)=>{if(ha())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,o)=>{let i=0;const d=100,c=setInterval(()=>{i++,ha()?(clearInterval(c),r()):i>=d&&(clearInterval(c),n(),tr(e,a).then(r).catch(o))},100)}):new Promise((r,o)=>{try{n();const i="initGoogleMaps";window[i]=()=>{ha()?r():setTimeout(()=>{ha()||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=${i}&loading=async`,d.async=!0,d.defer=!0,d.onerror=()=>{delete window[i],o(new Error("Error al cargar Google Maps API"))},document.head.appendChild(d)}catch(i){o(i)}})},Kt=(e,a,n=18,r=400,o=400,i="red",d=qa.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${r}x${o}&markers=color:${i}%7Clabel:A%7C${e},${a}&key=${d}`,Xd=({onLocationChange:e,initialLocation:a})=>{const n=l.useRef(null),r=l.useRef(null),o=l.useRef(null),i=l.useRef(null),[d,c]=l.useState(!0),[u,p]=l.useState(!1),[m,h]=l.useState(a||null),y=18,g=l.useCallback(j=>{h(j),e(j)},[e]);l.useEffect(()=>{let j=!0;(async()=>{try{if(await tr(qa.apiKey,qa.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&&(i.current=new window.google.maps.Geocoder),c(!1)}catch(k){console.error("Error al cargar Google Maps:",k),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(k=>{const S=k.coords.latitude,w=k.coords.longitude,E=S.toString(),B=w.toString(),F=Kt(S,w,y);g({lat:E,lng:B,title:"",description:"",url:F})},k=>{console.error("Error getting location:",k);const S=-34.6037,w=-58.3816;g({lat:S.toString(),lng:w.toString(),title:"",description:"",url:Kt(S,w,y)})})},[a,g,y]),l.useEffect(()=>{if(d||r.current)return;const j=setTimeout(()=>{r.current||C()},50);return()=>clearTimeout(j)},[d]),l.useEffect(()=>{u&&m&&x()},[u,m]),l.useEffect(()=>()=>{o.current&&(o.current.setMap(null),o.current=null)},[]);const C=()=>{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 j={zoom:y,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,j),r.current.addListener("click",k=>{v(k)}),p(!0)}catch(j){console.error("Error inicializando mapa:",j)}},v=j=>{if(!j.latLng||!i.current)return;const k={lat:j.latLng.lat(),lng:j.latLng.lng()};o.current?o.current.setPosition(k):r.current&&(o.current=new window.google.maps.Marker({position:k,map:r.current})),i.current.geocode({location:k},(S,w)=>{if(w==="OK"&&S&&S[0]){const E=S[0].formatted_address,B=Kt(k.lat,k.lng,y);g({lat:k.lat.toString(),lng:k.lng.toString(),title:E||"",description:"",url:B})}else{const E=Kt(k.lat,k.lng,y);g({lat:k.lat.toString(),lng:k.lng.toString(),title:`${k.lat.toFixed(6)}, ${k.lng.toFixed(6)}`,description:"",url:E})}})},x=()=>{if(!(!r.current||!m))try{const j={lat:parseFloat(m.lat),lng:parseFloat(m.lng)};r.current.setCenter(j),o.current?o.current.setPosition(j):o.current=new window.google.maps.Marker({position:j,map:r.current})}catch(j){console.error("Error actualizando mapa:",j)}},I=(j,k)=>{const S=Kt(j.lat,j.lng,y);g({lat:j.lat.toString(),lng:j.lng.toString(),title:k||"",description:"",url:S})};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(Jd,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Qd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const o=$e(),[i,d]=l.useState(null),c=l.useRef(null);l.useEffect(()=>{e||d(null)},[e]),l.useEffect(()=>{c.current&&i&&(c.current.scrollTop=c.current.scrollHeight/4)},[i]);const u=l.useCallback(m=>{d(m)},[]),p=l.useCallback(()=>{i&&(n(i.title||`${i.lat}, ${i.lng}`,i.lat,i.lng),a())},[i,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:m=>m.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:o("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(s.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(Ea,{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(Xd,{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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:p,disabled:!i,children:o("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},Zd=({locationField:e,disabled:a})=>{const n=$e(),[r,o]=l.useState(!1),{value:i,type:d,...c}=e.attributes,u=i||"",p=()=>{a||o(!0)},m=()=>{o(!1)},h=y=>{e.actions.changeValue(y)};return a?t.jsx(s.Box,{children:t.jsx(_e,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Za,{sx:{opacity:.5,color:y=>y.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:y=>y.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(_e,{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:p,InputProps:{startAdornment:t.jsx(Za,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(Qd,{open:r,onClose:m,onSelectLocation:h,initialAddress:u})]})},ec=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:o})=>{const i=$e(),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:o&&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:i(c.name),secondary:c?.phone})]},c.id))})},tc={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function ac(e){const a=l.useRef(null),n=l.useRef(null),[r,o]=l.useState([]),[i,d]=l.useState(!1),[c,u]=l.useState(!1),[p,m]=l.useState(!1),[h,y]=l.useState(!1),[g,C]=l.useState(1),[v,x]=l.useState(!1),I=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),x(!1),C(1),y(!1),o([])},[]),j=E=>E.filter(B=>!!B?.id),k=l.useCallback(async({query:E,page:B})=>{if(!e)return;n.current?.abort();const F=new AbortController;n.current=F,u(!0);try{const D={...tc,currentPage:B,filter:[{value:E,column:"name",condition:""}]},U=await Rd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:D,signal:F.signal});if(F.signal.aborted)return;const R=j(U?.contactos??[]);d(!0);const L=U?.paginacion?.total??0;o(W=>{const M=B===1?R:(()=>{const H=new Map;for(const q of W)H.set(q.id,q);for(const q of R)H.set(q.id,q);return Array.from(H.values())})();return L&&M.length>=L&&x(!0),M})}finally{u(!1),m(!1),y(!1)}},[e]),S=l.useCallback(E=>{I(),E&&(a.current&&(clearTimeout(a.current),a.current=null),m(!0),a.current=setTimeout(()=>{k({query:E,page:1})},800))},[k,I]),w=l.useCallback((E,B)=>{const F=E.target;if(!(F.scrollHeight-F.scrollTop-F.clientHeight<1)||v||c||!B)return;const D=g+1;y(!0),C(D),k({query:B,page:D})},[v,c,g,k]);return{contactList:r,hasSearched:i,isLoading:c,isLoadingTimer:p,isNextPage:h,handleQueryChanged:S,handleScroll:w,resetSearchState:I}}const ar=({linkContactsHandler:e,disabled:a=!1})=>{const n=$e(),r=zn(),o=l.useRef(null),[i,d]=l.useState(null),[c,u]=l.useState(""),{action:{handleSearchChange:p,handleSelectContact:m,handleRemoveContact:h},state:{search:y,selectedContact:g}}=e,{contactList:C,hasSearched:v,isLoading:x,isLoadingTimer:I,handleQueryChanged:j,handleScroll:k,resetSearchState:S}=ac(r),w=y||"",E=!!i&&w.length>0&&!a&&!g;l.useEffect(()=>{u(g?g.name:w)},[g?.id,g?.name,w]),l.useEffect(()=>{w?j(w):S()},[w,j,S]);const B=R=>{u(R),g&&R!==g.name&&h(),p(R),R&&!i?d(o.current):R||d(null)},F=R=>{u(R.name),m(R),d(null),S()},D=()=>{u(""),h()},U=()=>{d(null)};return a?t.jsx(_e,{title:n("global.linkContacts"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[g&&t.jsx(en,{sx:{opacity:.5,color:R=>R.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:R=>R.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})]})}):t.jsx(s.ClickAwayListener,{onClickAway:U,children:t.jsxs(s.Box,{children:[t.jsx(_e,{title:n("global.linkContacts"),children:t.jsx(s.TextField,{ref:o,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:c,onChange:R=>B(R.target.value),onFocus:()=>{c&&!g&&d(o.current)},InputProps:{startAdornment:t.jsx(s.InputAdornment,{position:"start",children:t.jsx(en,{sx:{opacity:.5},fontSize:"small"})}),endAdornment:g?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.IconButton,{size:"small",edge:"end",onClick:D,children:t.jsx(Ea,{fontSize:"small"})})}):x||I?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.CircularProgress,{size:18})}):null}})}),t.jsx(s.Popper,{open:E,anchorEl:i,placement:"bottom-start",style:{width:i?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(s.Paper,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[v&&C.length>0&&t.jsx(ec,{handleScroll:R=>k(R,w),contactList:C,handleSelectContact:F,selectedContactIds:[],search:w}),v&&C.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")})})]})})]})})},nc=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:o,handleSaveUpdatedEvent:i,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:p,selectedTask:m,handleToggleTaskCompleted:h,event:y,task:g,eventCalendarId:C,taskCalendarId:v,isCreatingEvent:x,isUpdatingEvent:I,isCreatingTask:j,isUpdatingTask:k}=l.useContext(_a),S=$e(),w=c==="event",E=x,B=I,F=!1,D=j,U=k,R=()=>{w?n():u()},L=(()=>{if(r==="view")return o;if(r==="edit")return w?()=>i?.():()=>p?.();if(r==="create")return R})(),W=S(r==="view"?w?"global.editEvent":"global.editTask":r==="edit"?w?"global.saveEvent":"global.saveTask":w?"global.createEvent":"global.createTask"),M=w?E||B:D||U,H=()=>{if(r==="view")return!0;const _=w?y:g,T=w?C:v;return _?.titleField?.attributes?.value?.trim().length>0&&!!T},q=w?E||B||e||!H():D||U||e||!H(),se=!w&&r==="view",G=m?.isCompleted||!1;return se?t.jsx(s.DialogActions,{children:t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.CheckCircleOutline,{}),size:"small",loading:U,disabled:U,onClick:h,variant:"contained",color:G?"inherit":"primary",children:G?S("global.markAsIncomplete","Marcar como incompleta"):S("global.markAsCompleted","Marcar como completada")})}):t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:S("global.cancel")}),w&&(r==="edit"||r==="view")&&t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.EventAvailable,{}),size:"small",disabled:e,loading:F,onClick:d,variant:"contained",children:S("global.finalizeEvent")}),t.jsx(Ze.LoadingButton,{startIcon:t.jsx(Be.EditCalendar,{}),size:"small",loading:M,disabled:q,onClick:L,variant:"contained",children:W})]})},nr={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},rc=({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:{...nr},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...nr},color:"primary",children:n.task})]}),sc="DD/MM/YYYY",oc="HH:mm",ic=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:o=!1})=>{const i=$e(),d=u=>{if(!u)return;const p=u.hour(e.hour()).minute(e.minute());a(p)},c=u=>{if(!u)return;const p=e.hour(u.hour()).minute(u.minute());a(p)};return n?t.jsxs(ga,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(sc)}),t.jsx(s.Typography,{variant:"body1",children:e.format(oc)})]})]}):t.jsxs(ga,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsx(Va,{children:t.jsxs(Je.LocalizationProvider,{dateAdapter:Qa.AdapterDayjs,children:[t.jsx(Je.DatePicker,{disabled:n,value:e,onChange:d,slotProps:{textField:()=>({label:i("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:X()}),t.jsx(Ha,{variant:"body1",children:"_"}),t.jsx(Je.TimePicker,{disabled:n,value:e,onChange:c,ampm:!1,slotProps:{textField:()=>({label:i("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:i("conversations.sidebar.events.errorDate")})})]})},rr=({disabled:e,calendars:a,userId:n,value:r,onChange:o,loading:i=!1})=>{const d=$e(),c=l.useMemo(()=>a??[],[a]),u=l.useMemo(()=>{const p=c.find(m=>m.id===r);return e&&r&&!p&&!i&&console.warn("TaskCalendarSelect: Calendario no encontrado",{calendarId:r,availableCalendars:c.map(m=>({id:m.id,title:m.title})),totalCalendars:c.length}),p??null},[c,r,e,i]);if(e){if(i)return t.jsx(_e,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(s.CircularProgress,{size:16,sx:{opacity:.5}}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:m=>m.palette.text.secondary,fontSize:"0.9rem"},children:d("global.loading","Cargando...")})]})});const p=u?u.title:r?d("global.calendarNotFound","Calendario no disponible"):"-";return t.jsx(_e,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Zr,{sx:{opacity:.5,color:m=>m.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:m=>m.palette.text.secondary,fontSize:"0.9rem"},children:p})]})})}return t.jsx(_e,{title:d("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e||i,size:"small",fullWidth:!0,options:c,value:u,onChange:(p,m)=>o(m?.id??""),getOptionLabel:p=>p?.title??"",isOptionEqualToValue:(p,m)=>p.id===m.id,loading:i,groupBy:n?p=>p.userId===n?d("calendarView.myCalendars"):d("calendarView.othersCalendars"):void 0,renderGroup:p=>t.jsxs("li",{children:[t.jsx(s.ListSubheader,{component:"div",sx:{lineHeight:"32px",fontSize:"0.75rem",fontWeight:600,color:"text.secondary",backgroundColor:m=>m.palette.background.panel},children:p.group}),t.jsx("ul",{style:{padding:0},children:p.children})]},p.key),slotProps:{popper:{sx:{zIndex:1400}},paper:{sx:{backgroundColor:p=>p.palette.background.panel}}},renderInput:p=>t.jsx(s.TextField,{...p,placeholder:d("global.selectCalendar"),InputProps:{...p.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[i?t.jsx(s.CircularProgress,{color:"inherit",size:20}):null,p.InputProps.endAdornment]})}})})})},lc=({checked:e,onChange:a,disabled:n})=>{const r=$e();return t.jsx(s.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(s.FormControlLabel,{control:t.jsx(s.Checkbox,{checked:e,onChange:o=>a(o.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},dc=({colorField:e,disabled:a,onColorChange:n})=>{const r=$e(),o=e.attributes.value||"#1976d2",i=(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 p=parseInt(u[1]),m=parseInt(u[2]),h=parseInt(u[3]),y=g=>{const C=g.toString(16);return C.length===1?"0"+C:C};return`#${y(p)}${y(m)}${y(h)}`}return"#1976d2"})(o),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(_e,{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:i,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(s.Typography,{variant:"body2",sx:{color:"text.secondary"},children:i})]})}):t.jsx(_e,{title:r("global.color","Color"),children:t.jsx(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:i,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"}})})})},sr=[{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:r=!1})=>{const o=$e(),i=p=>{a(p.target.value)},d=l.useMemo(()=>sr.map(p=>t.jsx(s.MenuItem,{value:p.value,children:o(p.label,p.label)},p.value)),[o]),c=l.useMemo(()=>{const p=sr.find(m=>m.value===e);return p?o(p.label,p.label):o("global.noRepeat")},[e,o]);if(n)return r?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Da,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(_e,{title:o("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Da,{sx:{opacity:.5,color:p=>p.palette.text.secondary},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:i,startAdornment:t.jsx(Da,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}}},children:d});return r?u:t.jsx(_e,{title:o("global.recurrence","Recurrencia"),children:u})},uc=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:o})=>{const{t:i}=Ke.useTranslation(),d=()=>{n(),a()},c=o==="event"?i("calendar.deleteEvent","Eliminar evento"):i("calendar.deleteTask","Eliminar tarea"),u=o==="event"?i("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):i("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:p=>p.palette.background.panel}},children:[t.jsxs(s.DialogTitle,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(es,{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:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:d,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},pc=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:o}=Ke.useTranslation(),[i,d]=l.useState("single"),c=()=>{n(i==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:o("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:i,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:o("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:o("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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:o("global.delete","Eliminar")})]})]})},fc=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:o}=Ke.useTranslation(),[i,d]=l.useState("single"),c=()=>{n(i==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:o("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:i,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:o("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:o("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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:o("global.save","Guardar")})]})]})},gc=()=>{const e=$e(),{event:a,task:n,dialogMode:r,selectedEvent:o,handleDeleteEvent:i,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:m,taskCalendarId:h,setTaskCalendarId:y,eventCalendarId:g,setEventCalendarId:C,myCalendars:v,otherCalendars:x,isLoadingCalendars:I,handleDeleteTask:j,userManuallyChangedColor:k,setUserManuallyChangedColor:S,eventDialog:{open:w,handleClose:E},confirmDeleteDialog:B,handleConfirmDelete:F,deleteRecurringDialog:D,handleConfirmDeleteRecurring:U,editRecurringDialog:R,handleConfirmEditRecurring:L,hiddenTabs:W,savingSnackbar:M,handleCloseSnackbar:H}=l.useContext(_a);if(!a||!n)return t.jsx(s.Modal,{open:w,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:w,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:K=>K.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const q=u==="event",se=q?a:n,G=q?o:m,_=l.useRef(null);l.useEffect(()=>{w||(_.current=null)},[w]);const{titleField:T,descriptionField:$,date:A,linkContact:V}=se,Y=q?a.notifications:null,ne=q?{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,ie=e(r==="edit"?q?"global.editEvent":"global.editTask":r==="create"?q?"global.createEvent":"global.createTask":q?"global.showEvent":"global.showTask"),je=(r==="edit"||r==="view")&&!!G?.id,he=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!w||k||!g)return;const K=v.find(pe=>pe.id===g);K?.color&&a.colorField.actions.changeValue(K.color)},[r,u,w,g,k,v]),l.useEffect(()=>{if(!w||u!=="event"||r!=="edit")return;const K=A.state.selectedStartDate.isAfter(A.state.selectedEndDate)&&!A.state.selectedStartDate.isSame(A.state.selectedEndDate,"minute");_.current!==K&&(_.current=K,A.action.setError(K))},[w,u,r,A.state.selectedStartDate.valueOf(),A.state.selectedEndDate.valueOf()]);const te=K=>{if(K==="task"){const pe=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(pe),n.date.action.setSelectedEndDate(pe),n.date.action.setError(!1),a.date.action.setError(!1)}else{const pe=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(pe),a.date.action.setError(!1),n.date.action.setError(!1)}p(K)},Ae=K=>{a.colorField.actions.changeValue(K),S(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:w,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:w,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:K=>K.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:ie}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[he&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(Ct,{fontSize:"small"})}),je&&t.jsx(s.IconButton,{size:"small",onClick:q?i:j,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(ra,{fontSize:"small"})}),he&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(ts,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Ga,{disabled:!1,titleField:T,variantMode:"inline"}),!W&&t.jsx(rc,{value:u,onChange:te,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Ga,{disabled:r==="view",titleField:T}),t.jsx(Qn,{disabled:r==="view",descriptionField:$}),t.jsx(rr,{disabled:r==="view",calendars:[...v,...x],userId:v[0]?.userId,value:g,onChange:K=>C(K),loading:I}),t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:K=>K.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(Ld,{disabled:r==="view",selectedStartDate:A.state.selectedStartDate,selectedEndDate:A.state.selectedEndDate,handleSelectStart:A.action.handleSelect(A.action.setSelectedStartDate),handleSelectEnd:A.action.handleSelect(A.action.setSelectedEndDate),isError:A.state.error,hideLabel:!0,allDay:ne?.allDay??!1})})}),ne&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(lc,{checked:ne.allDay,onChange:ne.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(cc,{disabled:r==="view",value:ne.recurrenceRule,onChange:ne.setRecurrenceRule,hideLabel:!0})})]})]}),ne&&t.jsx(t.Fragment,{children:t.jsx(dc,{disabled:r==="view",colorField:ne.colorField,onColorChange:r==="create"?Ae:void 0})}),Y&&t.jsx(Kd,{disabled:r==="view",notificationsField:Y}),t.jsx(ar,{linkContactsHandler:V,disabled:r==="view"}),ne&&t.jsx(Zd,{disabled:r==="view",locationField:ne.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Ga,{disabled:r==="view",titleField:T}),t.jsx(Qn,{disabled:r==="view",descriptionField:$}),t.jsx(rr,{disabled:r==="view",calendars:[...v,...x],userId:v[0]?.userId,value:h,onChange:K=>y(K),loading:I}),t.jsx(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:K=>K.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(as,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(ic,{disabled:r==="view",selectedDateTime:A.state.selectedStartDate,handleSelect:K=>{A.action.setSelectedStartDate(K),A.action.setSelectedEndDate(K),A.action.setError(!1)},isError:A.state.error,hideLabel:!0})})]})}),t.jsx(ar,{linkContactsHandler:V,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(nc,{isFinalized:o?.finalized})})]})})}),t.jsx(uc,{open:B.open,onClose:B.handleClose,onConfirm:F,itemTitle:B.itemType==="event"?o?.title:m?.title,itemType:B.itemType}),t.jsx(pc,{open:D.open,onClose:D.handleClose,onConfirm:U,eventTitle:o?.title}),t.jsx(fc,{open:R.open,onClose:R.handleClose,onConfirm:L,eventTitle:o?.title}),t.jsx(s.Snackbar,{open:M.open,autoHideDuration:6e3,onClose:H,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:H,severity:M.severity,sx:{width:"100%"},variant:"filled",children:M.message})})]})},or=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}}}}}})},mc=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:o,language:i="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:p,selectedEvent:m,selectedTask:h,hiddenTabs:y=!1,onActionComplete:g,contactId:C,initialStartDate:v,initialEndDate:x}=e,{i18n:I}=Ke.useTranslation();l.useEffect(()=>{i&&I.changeLanguage(i)},[i,I]);const j=l.useMemo(()=>({baseUrl:r,spaceId:o}),[r,o]);return t.jsx(Ql,{value:j,children:t.jsx(Nd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:m,externalSelectedTask:h,hiddenTabs:y,externalOnActionComplete:g,externalContactId:C,externalInitialStartDate:v,externalInitialEndDate:x,children:t.jsx(gc,{})})})},hc=e=>{const a=s.useTheme(),n=a?.palette?a:s.createTheme(),r=or(n);return t.jsx(s.ThemeProvider,{theme:r,children:t.jsx(Ke.I18nextProvider,{i18n:jt,children:t.jsx(mc,{...e})})})},ya=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)"}}),ir=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)"}}),lr=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)"}}),dr=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)"}}),cr=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)"}}),ur=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)"}}),pr=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)"}}),fr=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)"}}),gr=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)"}}),mr=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)"}}),hr=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)"}}),yr=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)"}}),xr=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)"}}),br=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)"}}),vr=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)"}}),yc="https://agent-api.trii.app/api/v1/settings/user/setTheme",xc={themeSelected:ya,darkMode:!1,toggleStatus:"idle"},Cr=tn.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await ns.put(yc,r)).data}),Sr=tn.createSlice({name:"Theme",initialState:xc,reducers:{toggleTheme:(e,a)=>{const n=jr(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=jr(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),jr=e=>{switch(e){case"lightBlueIndigo":return ya;case"darkBlack":return vr;case"darkBlue":return br;case"lightAmber":return mr;case"lightBlue":return ir;case"lightBrown":return yr;case"lightGray":return xr;case"lightGreen":return dr;case"lightLime":return fr;case"lightOrange":return hr;case"lightPink":return cr;case"lightPurple":return ur;case"lightRed":return lr;case"lightTeal":return pr;case"lightYellow":return gr;default:return ya}},bc=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:vc,toggleModeTheme:Cc}=Sr.actions,Sc=e=>e.Theme.toggleStatus,jc=e=>e.Theme.themeSelected,wc=e=>e.Theme.darkMode;Sr.reducer,exports.ContactInfoPopup=Fa,exports.EditContactModal=Xl,exports.EventsDialog=hc,exports.MuiComponentsConfig=or,exports.darkBlack=vr,exports.darkBlue=br,exports.i18n=jt,exports.isValidThemeName=bc,exports.lightAmber=mr,exports.lightBlue=ir,exports.lightBlueIndigo=ya,exports.lightBrown=yr,exports.lightGray=xr,exports.lightGreen=dr,exports.lightLime=fr,exports.lightOrange=hr,exports.lightPink=cr,exports.lightPurple=ur,exports.lightRed=lr,exports.lightTeal=pr,exports.lightYellow=gr,exports.selectThemeToggleStatus=Sc,exports.selectedDarkTheme=wc,exports.selectedTheme=jc,exports.toggleModeTheme=Cc,exports.toggleTheme=vc,exports.updateTheme=Cr;
21
17
  //# sourceMappingURL=index.js.map