@trii/components 2.0.84 → 2.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/types/components/EventsDialog/EventsDialog.d.ts +64 -3
- package/dist/types/components/EventsDialog/context/CalendarContext.d.ts +0 -2
- package/dist/types/components/EventsDialog/hooks/useEvent.d.ts +2 -16
- package/dist/types/components/EventsDialog/hooks/useTask.d.ts +1 -4
- package/dist/types/components/EventsDialog/services/calendarApi.d.ts +67 -0
- package/dist/types/components/EventsDialog/types.d.ts +2 -10
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";var l=require("react"),s=require("@mui/material"),Be=require("@mui/icons-material"),
|
|
2
|
-
`+je+f}}var ee=!1,Ee;{var
|
|
1
|
+
"use strict";var l=require("react"),s=require("@mui/material"),Be=require("@mui/icons-material"),Mr=require("@mui/icons-material/ArrowForward"),Ur=require("@mui/icons-material/Message"),ae=require("@trii/types/dist/Contacts"),ft=require("moment"),Ke=require("react-i18next"),Pr=require("i18next"),Mt=require("@trii/types"),Ia=require("@mui/icons-material/Close"),Ut=require("@mui/icons-material/Edit"),Rr=require("@mui/icons-material/Label"),oa=require("@mui/icons-material/Delete"),Nr=require("@mui/icons-material/PhotoCamera"),ka=require("@mui/icons-material/ArrowBack"),gt=require("@mui/icons-material/Save"),Lr=require("@mui/material/Popper"),tt=require("@mui/lab"),jt=require("@trii/types/dist/Common/Channels"),K=require("dayjs"),Or=require("@mui/icons-material/AddLocationAlt"),Pt=require("@mui/x-date-pickers/AdapterDayjs"),Rt=require("@mui/x-date-pickers/LocalizationProvider"),Ga=require("@mui/x-date-pickers"),Nt=require("@mui/material/Box"),Ya=require("@mui/icons-material/Cancel"),zr=require("@mui/x-date-pickers/TimePicker"),Je=require("@mui/x-date-pickers-pro"),we=require("@mui/system"),_r=require("@mui/icons-material/LocalPhone"),qa=require("google-libphonenumber"),Ka=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"),Yr=require("@mui/icons-material/CloseRounded"),qr=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"),la=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"),Zr=require("@mui/icons-material/CalendarMonth"),Ea=require("@mui/icons-material/Repeat"),es=require("@mui/icons-material/WarningAmber"),ts=require("@mui/icons-material/ContentCopy"),as=require("@mui/icons-material/AccessTime"),Za=require("@reduxjs/toolkit"),ns=require("axios");function rs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Da={exports:{}},Lt={},en;function ss(){if(en)return Lt;en=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function d(c,u,p){var m,x={},y=null,h=null;p!==void 0&&(y=""+p),u.key!==void 0&&(y=""+u.key),u.ref!==void 0&&(h=u.ref);for(m in u)r.call(u,m)&&!o.hasOwnProperty(m)&&(x[m]=u[m]);if(c&&c.defaultProps)for(m in u=c.defaultProps,u)x[m]===void 0&&(x[m]=u[m]);return{$$typeof:a,type:c,key:y,ref:h,props:x,_owner:i.current}}return Lt.Fragment=n,Lt.jsx=d,Lt.jsxs=d,Lt}var Ot={},tn;function is(){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"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),C=Symbol.iterator,v="@@iterator";function g(f){if(f===null||typeof f!="object")return null;var F=C&&f[C]||f[v];return typeof F=="function"?F:null}var w=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function j(f){{for(var F=arguments.length,O=new Array(F>1?F-1:0),te=1;te<F;te++)O[te-1]=arguments[te];T("error",f,O)}}function T(f,F,O){{var te=w.ReactDebugCurrentFrame,de=te.getStackAddendum();de!==""&&(F+="%s",O=O.concat([de]));var fe=O.map(function(le){return String(le)});fe.unshift("Warning: "+F),Function.prototype.apply.call(console[f],console,fe)}}var I=!1,A=!1,D=!1,U=!1,M=!1,k;k=Symbol.for("react.module.reference");function R(f){return!!(typeof f=="string"||typeof f=="function"||f===r||f===o||M||f===i||f===p||f===m||U||f===h||I||A||D||typeof f=="object"&&f!==null&&(f.$$typeof===y||f.$$typeof===x||f.$$typeof===d||f.$$typeof===c||f.$$typeof===u||f.$$typeof===k||f.getModuleId!==void 0))}function z(f,F,O){var te=f.displayName;if(te)return te;var de=F.displayName||F.name||"";return de!==""?O+"("+de+")":O}function L(f){return f.displayName||"Context"}function H(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 o:return"Profiler";case i:return"StrictMode";case p:return"Suspense";case m:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case c:var F=f;return L(F)+".Consumer";case d:var O=f;return L(O._context)+".Provider";case u:return z(f,f.render,"ForwardRef");case x:var te=f.displayName||null;return te!==null?te:H(f.type)||"Memo";case y:{var de=f,fe=de._payload,le=de._init;try{return H(le(fe))}catch{return null}}}return null}var $=Object.assign,X=0,Z,ne,V,_,S,B,E;function W(){}W.__reactDisabledLog=!0;function G(){{if(X===0){Z=console.log,ne=console.info,V=console.warn,_=console.error,S=console.group,B=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})}X++}}function se(){{if(X--,X===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},f,{value:Z}),info:$({},f,{value:ne}),warn:$({},f,{value:V}),error:$({},f,{value:_}),group:$({},f,{value:S}),groupCollapsed:$({},f,{value:B}),groupEnd:$({},f,{value:E})})}X<0&&j("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ie=w.ReactCurrentDispatcher,je;function me(f,F,O){{if(je===void 0)try{throw Error()}catch(de){var te=de.stack.trim().match(/\n( *(at )?)/);je=te&&te[1]||""}return`
|
|
2
|
+
`+je+f}}var ee=!1,Ee;{var Y=typeof WeakMap=="function"?WeakMap:Map;Ee=new Y}function pe(f,F){if(!f||ee)return"";{var O=Ee.get(f);if(O!==void 0)return O}var te;ee=!0;var de=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var fe;fe=ie.current,ie.current=null,G();try{if(F){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(Ae){te=Ae}Reflect.construct(f,[],le)}else{try{le.call()}catch(Ae){te=Ae}f.call(le.prototype)}}else{try{throw Error()}catch(Ae){te=Ae}f()}}catch(Ae){if(Ae&&te&&typeof Ae.stack=="string"){for(var re=Ae.stack.split(`
|
|
3
3
|
`),De=te.stack.split(`
|
|
4
|
-
`),
|
|
5
|
-
`+re[
|
|
4
|
+
`),be=re.length-1,Se=De.length-1;be>=1&&Se>=0&&re[be]!==De[Se];)Se--;for(;be>=1&&Se>=0;be--,Se--)if(re[be]!==De[Se]){if(be!==1||Se!==1)do if(be--,Se--,Se<0||re[be]!==De[Se]){var Ve=`
|
|
5
|
+
`+re[be].replace(" at new "," at ");return f.displayName&&Ve.includes("<anonymous>")&&(Ve=Ve.replace("<anonymous>",f.displayName)),typeof f=="function"&&Ee.set(f,Ve),Ve}while(be>=1&&Se>=0);break}}}finally{ee=!1,ie.current=fe,se(),Error.prepareStackTrace=de}var it=f?f.displayName||f.name:"",et=it?me(it):"";return typeof f=="function"&&Ee.set(f,et),et}function xe(f,F,O){return pe(f,!1)}function Ye(f){var F=f.prototype;return!!(F&&F.isReactComponent)}function Q(f,F,O){if(f==null)return"";if(typeof f=="function")return pe(f,Ye(f));if(typeof f=="string")return me(f);switch(f){case p:return me("Suspense");case m:return me("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return xe(f.render);case x:return Q(f.type,F,O);case y:{var te=f,de=te._payload,fe=te._init;try{return Q(fe(de),F,O)}catch{}}}return""}var _e=Object.prototype.hasOwnProperty,We={},Ge=w.ReactDebugCurrentFrame;function ce(f){if(f){var F=f._owner,O=Q(f.type,f._source,F?F.type:null);Ge.setExtraStackFrame(O)}else Ge.setExtraStackFrame(null)}function yt(f,F,O,te,de){{var fe=Function.call.bind(_e);for(var le in f)if(fe(f,le)){var re=void 0;try{if(typeof f[le]!="function"){var De=Error((te||"React class")+": "+O+" 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 De.name="Invariant Violation",De}re=f[le](F,le,te,O,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(be){re=be}re&&!(re instanceof Error)&&(ce(de),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).",te||"React class",O,le,typeof re),ce(null)),re instanceof Error&&!(re.message in We)&&(We[re.message]=!0,ce(de),j("Failed %s type: %s",O,re.message),ce(null))}}}var dt=Array.isArray;function Qt(f){return dt(f)}function Zt(f){{var F=typeof Symbol=="function"&&Symbol.toStringTag,O=F&&f[Symbol.toStringTag]||f.constructor.name||"Object";return O}}function Sa(f){try{return xt(f),!1}catch{return!0}}function xt(f){return""+f}function kt(f){if(Sa(f))return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Zt(f)),xt(f)}var ct=w.ReactCurrentOwner,ea={key:!0,ref:!0,__self:!0,__source:!0},ta,Ue,nt;nt={};function oe(f){if(_e.call(f,"ref")){var F=Object.getOwnPropertyDescriptor(f,"ref").get;if(F&&F.isReactWarning)return!1}return f.ref!==void 0}function ge(f){if(_e.call(f,"key")){var F=Object.getOwnPropertyDescriptor(f,"key").get;if(F&&F.isReactWarning)return!1}return f.key!==void 0}function qe(f,F){if(typeof f.ref=="string"&&ct.current&&F&&ct.current.stateNode!==F){var O=H(ct.current.type);nt[O]||(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',H(ct.current.type),f.ref),nt[O]=!0)}}function Pe(f,F){{var O=function(){ta||(ta=!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)",F))};O.isReactWarning=!0,Object.defineProperty(f,"key",{get:O,configurable:!0})}}function aa(f,F){{var O=function(){Ue||(Ue=!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)",F))};O.isReactWarning=!0,Object.defineProperty(f,"ref",{get:O,configurable:!0})}}var Ne=function(f,F,O,te,de,fe,le){var re={$$typeof:a,type:f,key:F,ref:O,props:le,_owner:fe};return re._store={},Object.defineProperty(re._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(re,"_self",{configurable:!1,enumerable:!1,writable:!1,value:te}),Object.defineProperty(re,"_source",{configurable:!1,enumerable:!1,writable:!1,value:de}),Object.freeze&&(Object.freeze(re.props),Object.freeze(re)),re};function ja(f,F,O,te,de){{var fe,le={},re=null,De=null;O!==void 0&&(kt(O),re=""+O),ge(F)&&(kt(F.key),re=""+F.key),oe(F)&&(De=F.ref,qe(F,de));for(fe in F)_e.call(F,fe)&&!ea.hasOwnProperty(fe)&&(le[fe]=F[fe]);if(f&&f.defaultProps){var be=f.defaultProps;for(fe in be)le[fe]===void 0&&(le[fe]=be[fe])}if(re||De){var Se=typeof f=="function"?f.displayName||f.name||"Unknown":f;re&&Pe(le,Se),De&&aa(le,Se)}return Ne(f,re,De,de,te,ct.current,le)}}var Et=w.ReactCurrentOwner,Dt=w.ReactDebugCurrentFrame;function rt(f){if(f){var F=f._owner,O=Q(f.type,f._source,F?F.type:null);Dt.setExtraStackFrame(O)}else Dt.setExtraStackFrame(null)}var At;At=!1;function st(f){return typeof f=="object"&&f!==null&&f.$$typeof===a}function na(){{if(Et.current){var f=H(Et.current.type);if(f)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+f+"`."}return""}}function
|
|
7
|
+
Check the render method of \``+f+"`."}return""}}function ra(f){{if(f!==void 0){var F=f.fileName.replace(/^.*[\\\/]/,""),O=f.lineNumber;return`
|
|
8
8
|
|
|
9
|
-
Check your code at `+
|
|
9
|
+
Check your code at `+F+":"+O+"."}return""}}var Le={};function bt(f){{var F=na();if(!F){var O=typeof f=="string"?f:f.displayName||f.name;O&&(F=`
|
|
10
10
|
|
|
11
|
-
Check the top-level render call using <`+
|
|
11
|
+
Check the top-level render call using <`+O+">.")}return F}}function ut(f,F){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var O=bt(F);if(Le[O])return;Le[O]=!0;var te="";f&&f._owner&&f._owner!==Et.current&&(te=" It was passed a child from "+H(f._owner.type)+"."),rt(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.',O,te),rt(null)}}function vt(f,F){{if(typeof f!="object")return;if(Qt(f))for(var O=0;O<f.length;O++){var te=f[O];st(te)&&ut(te,F)}else if(st(f))f._store&&(f._store.validated=!0);else if(f){var de=g(f);if(typeof de=="function"&&de!==f.entries)for(var fe=de.call(f),le;!(le=fe.next()).done;)st(le.value)&&ut(le.value,F)}}}function wa(f){{var F=f.type;if(F==null||typeof F=="string")return;var O;if(typeof F=="function")O=F.propTypes;else if(typeof F=="object"&&(F.$$typeof===u||F.$$typeof===x))O=F.propTypes;else return;if(O){var te=H(F);yt(O,f.props,"prop",te,f)}else if(F.PropTypes!==void 0&&!At){At=!0;var de=H(F);j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",de||"Unknown")}typeof F.getDefaultProps=="function"&&!F.getDefaultProps.isReactClassApproved&&j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Qe(f){{for(var F=Object.keys(f.props),O=0;O<F.length;O++){var te=F[O];if(te!=="children"&&te!=="key"){rt(f),j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",te),rt(null);break}}f.ref!==null&&(rt(f),j("Invalid attribute `ref` supplied to `React.Fragment`."),rt(null))}}var Ft={};function Ze(f,F,O,te,de,fe){{var le=R(f);if(!le){var re="";(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).length===0)&&(re+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var De=ra(de);De?re+=De:re+=na();var be;f===null?be="null":Qt(f)?be="array":f!==void 0&&f.$$typeof===a?(be="<"+(H(f.type)||"Unknown")+" />",re=" 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,re)}var Se=ja(f,F,O,de,fe);if(Se==null)return Se;if(le){var Ve=F.children;if(Ve!==void 0)if(te)if(Qt(Ve)){for(var it=0;it<Ve.length;it++)vt(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 vt(Ve,f)}if(_e.call(F,"key")){var et=H(f),Ae=Object.keys(F).filter(function(ia){return ia!=="key"}),$t=Ae.length>0?"{key: someKey, "+Ae.join(": ..., ")+": ...}":"{key: someKey}";if(!Ft[et+$t]){var sa=Ae.length>0?"{"+Ae.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} />`,Bt,et,na,et),At[et+Bt]=!0}}return f===r?Qe(Ce):Sa(Ce),Ce}}function ja(f,A,_){return Ze(f,A,_,!0)}function vt(f,A,_){return Ze(f,A,_,!1)}var ut=vt,Ft=ja;Nt.Fragment=r,Nt.jsx=ut,Nt.jsxs=Ft})()),Nt}process.env.NODE_ENV==="production"?ka.exports=ns():ka.exports=rs();var t=ka.exports;as(t);const ss=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})),tn=s.styled(s.IconButton)({padding:4}),is=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),os=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),ls=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),ds=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),cs=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:o=!1,onError:i,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(x=>C=>{try{if(C.preventDefault(),C.stopPropagation(),!x)throw new Error("Navigation URL is required");C.ctrlKey||C.metaKey||C.button===1?window.open(x,"_blank","noopener,noreferrer"):r(x)}catch(v){i?.(v instanceof Error?v:new Error("Navigation failed"))}},[r,i]),p=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),m=u(`/a/conversations/conversations?contactId=${n}`),y=a||"Unknown Contact",h=`Avatar for ${y}`;return t.jsxs(is,{children:[t.jsxs(ss,{children:[t.jsx(tn,{color:"info",size:"small",onClick:x=>{p(x),d()},onMouseDown:x=>{x.button===1&&(p(x),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Br,{fontSize:"small"})}),t.jsx(tn,{color:"info",size:"small",onClick:x=>{m(x),d()},onMouseDown:x=>{x.button===1&&(m(x),d())},"aria-label":"Go to conversations",children:t.jsx(Mr,{fontSize:"small"})})]}),o?t.jsx(ds,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(os,{src:e,alt:h,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(ls,{variant:"h6",title:y,children:y})]})},us=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ps=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),fs=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),gs=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),ms=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),hs=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),ys=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),xs=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const o=i=>t.jsx(fs,{children:t.jsxs(ms,{children:[t.jsx(gs,{children:e}),t.jsxs(hs,{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(ys,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(us,{children:[r&&t.jsx(ps,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},bs=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),vs=s.styled(s.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),Cs=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Ss=s.styled(s.Typography)({fontSize:14}),js=s.styled(Be.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),ws=({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=pt(o,pt.ISO_8601).isValid(),c=u=>pt(o).format(u);switch(i){case se.ContactField_type.TIME:return d?c("HH:mm"):o;case se.ContactField_type.DATE:return d?c("DD/MM/YYYY"):o;case se.ContactField_type.TIMERANGE:case se.ContactField_type.DATERANGE:if(d)return i===se.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=o.split(" ");if(u.length===2){const[p,m]=u,y=i===se.ContactField_type.TIMERANGE?pt(p).format("HH:mm"):pt(p).format("DD/MM/YYYY"),h=i===se.ContactField_type.TIMERANGE?pt(m).format("HH:mm"):pt(m).format("DD/MM/YYYY");return`${y} - ${h}`}return o;default:return o}}return o};return t.jsxs(bs,{children:[t.jsx(vs,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value.length>0&&t.jsxs(Cs,{children:[t.jsx(js,{}),t.jsxs(Ss,{children:[n(o.nameKey),":"," ",r(o.value,o.type)]})]},i))]})},Ts=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Is=s.styled(s.Box)({marginBottom:16}),ks=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Es=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ts,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Is,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(ks,{label:n.name,color:"primary",size:"small"},n.id))})]});function an(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 Ds=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),As=({contactData:e,title:a})=>!e||!an(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(Ds,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function nn(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 Fs=({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})},Bs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Ms=({contactData:e,title:a,navigate:n})=>!e||!nn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Bs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(Fs,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var $s="Labels",Ps="Phone",Us="Business",Rs="Business Members",Ns="Properties",Ls="View",zs="Tags",Os={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"},Ws={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"},_s={upload:"Upload photo",delete:"Delete photo"},Vs={from:"From",to:"To"},Hs={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"}}},Gs={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:$s,phone:Ps,business:Us,businessMembers:Rs,properties:Ns,view:Ls,tags:zs,global:Os,searchLocationModal:Ws,avatar:_s,contactEdit:Vs,conversations:Hs,calendarView:Gs},qs="Etiquetas",Ks="Tel\xE9fono",Js="Empresa",Xs="Miembros de la empresa",Qs="Propiedades",Zs="Ver",ei="Etiquetas",ti={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"},ai={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"},ni={upload:"Subir foto",delete:"Eliminar foto"},ri={from:"Desde",to:"Hasta"},si={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"}}},ii={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"},oi={labels:qs,phone:Ks,business:Js,businessMembers:Xs,properties:Qs,view:Zs,tags:ei,global:ti,searchLocationModal:ai,avatar:ni,contactEdit:ri,conversations:si,calendarView:ii};const li={en:{translation:Ys},es:{translation:oi}},Lt=$r.createInstance();Lt.use(Ke.initReactI18next).init({resources:li,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const di=s.styled(s.Box)(({theme:e})=>({backgroundColor:e.palette.background.panel,boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.1)",borderRadius:"8px",width:300,maxHeight:"calc(100vh - 500px)",overflowY:"auto",transition:"opacity 0.3s ease, transform 0.3s ease",padding:"8px",zIndex:1300,"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{background:"#E0E0E0",borderRadius:10},"&::-webkit-scrollbar-thumb":{background:"#9E9E9E",borderRadius:10,transition:"background 0.3s"},"&::-webkit-scrollbar-thumb:hover":{background:"#616161"}})),ci=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:o,navigate:i,language:d="en"})=>{const{t:c,i18n:u}=Ke.useTranslation();l.useEffect(()=>{d&&u.changeLanguage(d)},[d,u]);const p=c,m=nn(r),y=an(r),h=[{icon:t.jsx(Be.PhoneEnabled,{fontSize:"small"}),title:p("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Be.Email,{fontSize:"small"}),title:p("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 x=C=>{C.key==="Escape"&&n()};return e&&window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x)}},[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(di,{children:t.jsxs(s.CardContent,{children:[t.jsx(cs,{navigate:i,contactId:r?.id,imgUrl:o,name:r?.name,onClose:n,isBusiness:m}),t.jsx(Es,{contactData:r,title:p("labels")}),y&&t.jsx(As,{contactData:r,title:p("business")}),m&&t.jsx(Ms,{contactData:r,title:p("businessMembers"),navigate:i}),h.map((x,C)=>t.jsx(xs,{icon:x.icon,title:x.title,contactList:x.contactList,showTitle:x.showTitle},C)),t.jsx(ws,{properties:r?.properties,title:p("properties")})]})})})})},rn=e=>t.jsx(Ke.I18nextProvider,{i18n:Lt,children:t.jsx(ci,{...e})}),sn=e=>e,on=l.createContext(sn),ui=({t:e,children:a})=>t.jsx(on.Provider,{value:e,children:a}),be=()=>{const e=l.useContext(on);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),sn)},pi=({tags:e,onEditTags:a})=>{const n=be(),[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)},m=!!r;return t.jsxs(s.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(s.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[d.map(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,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:i.length?t.jsx(Mt,{fontSize:"small"}):t.jsx(Pr,{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(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))})]})})]})},ln=l.createContext(null),fi=ln.Provider,ot=()=>l.useContext(ln),gi=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),mi=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),hi=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),yi=s.styled(s.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),xi=({displayName:e,contactType:a,firstName:n,lastName:r,name:o,entityId:i,onEntityUpdated:d})=>{const c=ot(),[u,p]=l.useState(!1),[m,y]=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 C=async()=>{if(!(!c||!i||!a||a==="unknown")){y(!0);try{let g={};a==="contact"?g={firstName:h.firstName,lastName:h.lastName}:a==="business"&&(g={name:h.name});const I=await c.updateEntity({entityType:a,entityId:i,body:g});I&&d&&d(I),p(!1)}catch(g){console.error("Failed to update name",g)}finally{y(!1)}}},v=a==="contact"||a==="business";return u?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(s.TextField,{value:h.firstName,onChange:g=>x({...h,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:h.lastName,onChange:g=>x({...h,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:h.name,onChange:g=>x({...h,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:C,disabled:m,color:"primary",children:m?t.jsx(s.CircularProgress,{size:24}):t.jsx(Be.Save,{})})]}):t.jsx(mi,{children:t.jsxs(hi,{children:[t.jsx(gi,{variant:"h6",title:e,children:e}),v&&t.jsx(yi,{size:"small",onClick:()=>p(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Be.Edit,{fontSize:"small"})})]})})},bi=({src:e,alt:a,onError:n,onUpload:r,onDelete:o,isUploading:i,isDeleting:d})=>{const c=be();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(Ur,{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(sa,{fontSize:"small"})})]})]})},vi=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Ci=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:m,contactType:y,firstName:h,lastName:x,name:C,entityId:v,onEntityUpdated:g})=>{const I=`Avatar for ${a}`;return t.jsxs(vi,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(bi,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:u,onDelete:p,isDeleting:m}),t.jsx(xi,{displayName:a,contactType:y,firstName:h,lastName:x,name:C,entityId:v,onEntityUpdated:g}),t.jsx(pi,{tags:r,onEditTags:o})]})},Ea=20,Si=e=>{const{popperContainer:a,...n}=e;return t.jsx(Rr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},ji=({value:e,options:a,onChange:n,onBack:r,onSave:o,isSaving:i,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=be(),[m,y]=l.useState(""),[h,x]=l.useState(Ea),C=l.useDeferredValue(m),v=l.useMemo(()=>a??[],[a]),g=l.useMemo(()=>{const k=String(C??"").trim().toLowerCase();return k?v.filter(B=>String(B?.name??"").toLowerCase().includes(k)):v},[v,C]),I=l.useMemo(()=>g.slice(0,h),[g,h]),S=l.useMemo(()=>{const k=new Map;for(const B of e??[])B?.id&&k.set(String(B.id),B);for(const B of I??[])B?.id&&(k.has(String(B.id))||k.set(String(B.id),B));return Array.from(k.values())},[e,I]),j=(k,B)=>{y(B??""),x(Ea)},w=k=>{const B=k;B.scrollTop+B.clientHeight>=B.scrollHeight-24&&x(F=>F+Ea)},D=()=>{const k=String(m??"").trim(),B=!k||i||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(tt.LoadingButton,{onClick:()=>d(k),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(wa,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:p("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(tt.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ft,{}),onClick:o,loading:i,disabled:i,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(k,B)=>n(B),options:S,filterOptions:k=>k,inputValue:m,onInputChange:j,getOptionLabel:k=>k?.name??"",isOptionEqualToValue:(k,B)=>String(k?.id)===String(B?.id),PopperComponent:k=>t.jsx(Si,{...k,popperContainer:u}),renderOption:(k,B)=>{const{key:F,...T}=k;return l.createElement("li",{...T,key:B?.id?String(B.id):String(F??B?.name??"")},B.name??"")},renderTags:(k,B)=>k.map((F,T)=>{const L=B({index:T}),{key:V,...z}=L;return t.jsx(s.Chip,{label:F.name??"",...z},F?.id?String(F.id):String(V??F?.name??T))}),size:"small",renderInput:k=>t.jsx(s.TextField,{...k,size:"small"}),ListboxProps:{onScroll:w,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(D,{}),sx:{width:"100%"}})]})};var wi=Object.defineProperty,Ti=(e,a,n)=>a in e?wi(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,dn=(e,a,n)=>Ti(e,typeof a!="symbol"?a+"":a,n);let cn=class extends Error{constructor(a,n,r){super(a),dn(this,"status"),dn(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 cn(c,i.status,d)}return d}async function Ii({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 cn(c,i.status,d)}return d}function Te(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function Re(e,a){const n=encodeURIComponent(a);return{CONTACTS:Te(e,`/contacts/${n}`),MEDIA:Te(e,`/media/${n}`),SETTINGS:Te(e,`/settings/${n}`)}}async function ki({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),o=Te(r.CONTACTS,"/labels");return ze({url:o,signal:n})}async function un({baseUrl:e,spaceId:a,name:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,"/labels");return ze({url:i,method:"POST",body:{name:n},signal:r})}async function Ei({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Di({baseUrl:e,spaceId:a,businessId:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,`/business/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Ai({baseUrl:e,spaceId:a,forType:n,signal:r}){const o=Re(e,a),i=`${Te(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ze({url:i,signal:r})}async function Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Re(e,a),u=Te(c.CONTACTS,d);return ze({url:u,method:"PUT",body:o,signal:i})}async function Fi({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,"/Search");return ze({url:i,method:"POST",body:n,signal:r})}async function Bi({baseUrl:e,spaceId:a,business:n,signal:r}){const o=Re(e,a),i=Te(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=Re(e,a),i=Te(o.CONTACTS,"/contactAddresses");return ze({url:i,method:"DELETE",body:n,signal:r})}async function Mi({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,"/contactAddresses/check");return ze({url:i,method:"POST",body:n,signal:r})}async function $i({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,"/contactAddresses/set");return ze({url:i,method:"POST",body:n,signal:r})}async function Pi({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Re(e,a),i=Te(o.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return ze({url:i,method:"PUT",body:n,signal:r})}async function pn({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),o=Te(r.SETTINGS,"/user");return ze({url:o,signal:n})}async function Ui({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),o=Te(r.SETTINGS,"/users");return ze({url:o,signal:n})}async function Ri({baseUrl:e,spaceId:a,signal:n,userId:r}){const o=Re(e,a),i=Te(o.SETTINGS,`/usersInfo/${r}`);return ze({url:i,signal:n})}async function fn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o}){const i=Re(e,a),d=new FormData;d.append("file",r,r.name);const c=Te(i.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Ii({url:c,formData:d,signal:o})}const gn=(e,a)=>({fetchLabels:({signal:n}={})=>ki({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>un({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>Ei({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>Di({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>Fi({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>Bi({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>Ai({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:o,signal:i})=>Xe({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})=>Mi({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>$i({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Pi({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>pn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Ui({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>Ri({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:o})=>fn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:o})}),mn=()=>!!window?.google?.maps?.places?.Autocomplete,Ni=(e=1e4)=>new Promise(a=>{if(mn()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(mn()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),Li=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[o,i]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await Ni(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}},zi=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=be(),o=l.useRef(null),i=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:m}=Li(),y=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 h=window?.google;if(!h?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let x=null;const C=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const I=g;I.style.zIndex="20000",I.style.position="fixed"})};x=new MutationObserver(g=>{for(const I of g)for(const S of Array.from(I.addedNodes)){if(S.nodeType!==Node.ELEMENT_NODE)continue;const j=S;j.classList?.contains("pac-container")&&(j.style.zIndex="20000",j.style.position="fixed")}}),x.observe(document.body,{childList:!0,subtree:!0}),C(),window.setTimeout(C,100),i.current=new h.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=i.current.addListener?.("place_changed",()=>{const g=i.current?.getPlace?.();if(!g?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let I="",S="",j="",w="",D="",k="";const B=g.address_components??[];for(const V of B){const z=V?.types??[];if(z.includes("locality")||z.includes("administrative_area_level_2")){I=V.long_name;continue}if(z.includes("administrative_area_level_1")){S=V.long_name;continue}if(z.includes("country")){j=V.long_name;continue}if(z.includes("postal_code")){w=V.long_name;continue}if(z.includes("route")){D=V.long_name;continue}z.includes("street_number")&&(k=V.long_name)}const F=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,T=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,L={location:{lat:F,lng:T},address:g.formatted_address??"",city:I,state:S,country:j,postalCode:w,streetName:D,streetNumber:k,shortAddress:[D,k].filter(Boolean).join(" ")};d.current(L)});return()=>{x&&x.disconnect(),v?.remove&&v.remove(),i.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:y,disabled:p||!u||!!m,error:!!m})},Oi={street:"",city:"",state:"",zipcode:"",country:""},Wi=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:o,onEntityUpdated:i})=>{const d=be(),[c,u]=l.useState(Oi),[p,m]=l.useState(""),[y,h]=l.useState(""),[x,C]=l.useState(!1),[v,g]=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]),S=F=>{m(F.address??"");const T=String(F.shortAddress??"").trim()||[F.streetName,F.streetNumber].filter(Boolean).join(" ").trim();u({street:T,city:F.city??"",state:F.state??"",zipcode:F.postalCode??"",country:F.country??""}),h("")},j=F=>{h(String(F??""))},w=F=>T=>{const L=T.target.value;u(V=>({...V,[F]:L}))},D=async()=>{if(!x&&!(!e||!a)&&r){C(!0);try{const F=await Xe({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)}}},k=async()=>{if(!v&&!(!e||!a)&&r){g(!0);try{const F=await Xe({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{g(!1)}}},B=!I||x||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(wa,{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(zi,{onPlaceSelected:S,onError:j,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:w("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:w("city"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.state"),value:c.state,onChange:w("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:w("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.country"),value:c.country,onChange:w("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(tt.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(ft,{}),onClick:D,loading:x,disabled:B,children:d("searchLocationModal.saveMainAddress")}),t.jsx(tt.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(ft,{}),onClick:k,loading:v,disabled:B,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Da(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 hn(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 _i({open:e,baseUrl:a,spaceId:n,contactId:r}){const o=l.useRef(null),i=l.useMemo(()=>!a||!n?null:gn(a,n),[a,n]),[d,c]=l.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),u=l.useMemo(()=>!!(e&&i&&r),[e,i,r]);l.useEffect(()=>{e||(o.current?.abort(),c({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const p=l.useMemo(()=>!!(e&&i),[e,i]);l.useEffect(()=>{if(!p||!i)return;const h=new AbortController;return c(x=>({...x,labelsLoading:!0,labelsError:null})),i.fetchLabels({signal:h.signal}).then(x=>{c(C=>({...C,labels:x,labelsLoading:!1,labelsError:null}))}).catch(x=>{h.signal.aborted||c(C=>({...C,labelsLoading:!1,labelsError:x}))}),()=>{h.abort()}},[i,p]),l.useEffect(()=>{if(!u||!i)return;o.current?.abort();const h=new AbortController;return o.current=h,c(x=>({...x,isLoading:!0,error:null,contactData:null})),i.fetchContact({contactId:r,signal:h.signal}).then(x=>{c(C=>({...C,isLoading:!1,error:null,contactData:x}))}).catch(x=>{h.signal.aborted||c(C=>({...C,isLoading:!1,error:x}))}),()=>{h.abort()}},[i,u,r]);const m=l.useMemo(()=>!!(e&&i),[e,i]);l.useEffect(()=>{if(!m||!i)return;const h=new AbortController;return c(x=>({...x,userLoading:!0,userError:null})),i.fetchUserTrii({signal:h.signal}).then(x=>{c(C=>({...C,userLoading:!1,userError:null,userTrii:x}))}).catch(x=>{h.signal.aborted||c(C=>({...C,userLoading:!1,userError:x}))}),()=>{h.abort()}},[i,m]);const y=l.useMemo(()=>{const h=d.contactData,x=Da(h),C=hn(h);let v="unknown";x&&(v="business"),C&&(v="contact");let g="Unknown Contact";x?g=h.name:C&&(g=`${h.firstName} ${h.lastName}`.trim());const I=h?.tags??[];return{isBusiness:x,isContact:C,contactType:v,displayName:g,tags:I,labels:d.labels,contactFields:d.contactFields,userTrii:d.userTrii,userLoading:d.userLoading,userError:d.userError}},[d.contactData,d.labels,d.contactFields,d.userTrii,d.userLoading,d.userError]);return l.useEffect(()=>{if(!e||!i)return;const h=d.contactData,x=Da(h),C=hn(h),v=x?"business":C?"contact":null;if(!v)return;const g=new AbortController;return c(I=>({...I,contactFieldsLoading:!0,contactFieldsError:null})),i.fetchContactFields({forType:v,signal:g.signal}).then(I=>{c(S=>({...S,contactFields:I,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(I=>{g.signal.aborted||c(S=>({...S,contactFieldsLoading:!1,contactFieldsError:I}))}),()=>{g.abort()}},[i,e,d.contactData]),{state:d,selectors:y,actions:{setContactData:h=>c(x=>({...x,contactData:h??null})),clearError:()=>c(h=>({...h,error:null}))}}}const zt=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:o,onEntityUpdated:i})=>{const[d,c]=l.useState(o??""),[u,p]=l.useState(null),[m,y]=l.useState(!1),[h,x]=l.useState(!1),C=l.useRef(null),v=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function g(T){return T.split("?sv=")[0]}function I(T){return T.split("&cacheId=")[0]}function S(T){let L=g(T);return!L||(L=I(L),!L)?"":L}const j=async()=>{if(!e||!a)return null;const T=await pn({baseUrl:e,spaceId:a});return p(T),T},w=async T=>{const L=(u??await j())?.storageAzureSAS,V=L?.expireAt,z=V?new Date(V):null;let G=L?.sas??"";if((!G||z&&z<new Date)&&(G=(await j())?.storageAzureSAS?.sas??""),!G)return T;const M=`${Date.now()}`;return`${T}${G}&cacheId=${M}`},D=async T=>{if(!T){c("");return}const L=g(T);if(!L)return;const V=await w(L);c(V)},k=async T=>{const L=T.target.files?.[0];if(L&&v){C.current&&(C.current.value=""),y(!0);try{const V=await fn({baseUrl:e,spaceId:a,contactId:r,file:L}),z=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:V}});i?.(z),await D(V)}finally{y(!1)}}},B=()=>{C.current?.click()},F=async()=>{if(v&&!h){x(!0);try{await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),i?.({imageUrl:""}),c("")}finally{x(!1)}}};return l.useEffect(()=>{if(!o){c("");return}D(o)},[o]),{inputAtributes:{onChange:k,ref:C,type:"file",accept:"image/*"},action:{uploadImage:B,deleteImage:F},imageUrl:d,removeParams:S,isUploading:m,isDeleting:h}},ve=(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)}}}},yn=(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 la;const Vi=new Uint8Array(16);function Hi(){if(!la&&(la=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!la))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return la(Vi)}const Me=[];for(let e=0;e<256;++e)Me.push((e+256).toString(16).slice(1));function Gi(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 Yi=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var xn={randomUUID:Yi};function Ot(e,a,n){if(xn.randomUUID&&!a&&!e)return xn.randomUUID();e=e||{};const r=e.random||(e.rng||Hi)();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 Gi(r)}function qi(e){return{id:Ot(),address:"",note:"",channelType:e,isSaved:!1}}var da={createNewAddress:qi};const Ki=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Ji=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var St={getEditedField:Ki,getAddressesWithUpdatedValues:Ji};const bn=({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,y]=l.useState(a?.ims_mercadolibre||[]),[h,x]=l.useState(a?.ims_webchat||[]),[C,v]=l.useState(a?.ims_instagram||[]),[g,I]=l.useState(a?.ims_whatsapp||[]),[S,j]=l.useState(a?.emails||[]),[w,D]=l.useState(a?.phones||[]),[k,B]=l.useState(a?.ims_rcs||[]),F=()=>{const U=da.createNewAddress(Ct.ChannelType.PHONE),$=[...w,U];D($)},T=()=>{const U=da.createNewAddress(Ct.ChannelType.EMAIL),$=[...S,U];j($)},L=()=>{const U=da.createNewAddress(Ct.ChannelType.WHATSAPP),$=[...g,U];I($)},V=()=>{const U=da.createNewAddress(Ct.ChannelType.RCS),$=[...k,U];B($)},z=U=>{const $=[...g,U];I($),c(E=>({...E??{},ims_whatsapp:$}))},G=(U,$)=>{if($){if($.channelType===3){const E=S.map(O=>O.id===U?$:O);j(E),c(O=>({...O??{},emails:E}))}if($.channelType===5){const E=w.map(O=>O.id===U?$:O);D(E),c(O=>({...O??{},phones:E}))}if($.channelType===13){const E=g.map(O=>O.id===U?$:O);I(E),c(O=>({...O??{},ims_whatsapp:E}))}if($.channelType===21){const E=k.map(O=>O.id===U?$:O);B(E),c(O=>({...O??{},ims_rcs:E}))}if($.channelType===41){const E=m.map(O=>O.id===U?$:O);y(E),c(O=>({...O??{},ims_mercadolibre:E}))}}},M=async(U,$,E)=>{const O=U.target.value;if(E===3){const R=St.getAddressesWithUpdatedValues(O,$,S);j(R)}else if(E===5){const R=St.getAddressesWithUpdatedValues(O,$,w);D(R)}else if(E===13){const R=St.getAddressesWithUpdatedValues(O,$,g);I(R)}else if(E===21){const R=St.getAddressesWithUpdatedValues(O,$,k);B(R)}else if(E===41){const R=St.getAddressesWithUpdatedValues(O,$,m);y(R)}},Q=(U,$,E)=>{if(E===14){const O=u.map(R=>R.id===$?{...R,note:U.target.value}:R);p(O)}if(E===20){const O=h.map(R=>R.id===$?{...R,note:U.target.value}:R);x(O)}if(E===16){const O=C.map(R=>R.id===$?{...R,note:U.target.value}:R);v(O)}if(E===3){const O=S.map(R=>R.id===$?{...R,note:U.target.value}:R);j(O)}if(E===5){const O=w.map(R=>R.id===$?{...R,note:U.target.value}:R);D(O)}if(E===13){const O=g.map(R=>R.id===$?{...R,note:U.target.value}:R);I(O)}if(E===21){const O=k.map(R=>R.id===$?{...R,note:U.target.value}:R);B(O)}if(E===41){const O=m.map(R=>R.id===$?{...R,note:U.target.value}:R);y(O)}},H=async(U,$)=>{if(e&&($===3||$===5||$===13||$===14||$===20||$===16||$===21||$===41)){i(U);const E={contactId:e,contactAddressId:U,type:$};switch(n?await n(r(E)):await r(E),i(!1),$){case 3:const O=S.filter(ee=>ee.id!==U);j(O),c(ee=>({...ee??{},emails:O}));break;case 5:const R=w.filter(ee=>ee.id!==U);D(R),c(ee=>({...ee??{},phones:R}));break;case 13:const Y=g.filter(ee=>ee.id!==U);I(Y),c(ee=>({...ee??{},ims_whatsapp:Y}));break;case 21:const ae=k.filter(ee=>ee.id!==U);B(ae),c(ee=>({...ee??{},ims_rcs:ae}));break;case 41:const ne=m.filter(ee=>ee.id!==U);y(ne),c(ee=>({...ee??{},ims_mercadolibre:ne}));break;case 14:const me=u.filter(ee=>ee.id!==U);p(me),c(ee=>({...ee??{},ims_facebook:me}));break;case 20:const je=h.filter(ee=>ee.id!==U);x(je),c(ee=>({...ee??{},ims_webchat:je}));break;case 16:const he=C.filter(ee=>ee.id!==U);v(he),c(ee=>({...ee??{},ims_instagram:he}));break}}};function W(){p(d?.ims_facebook||[]),y(d?.ims_mercadolibre||[]),x(d?.ims_webchat||[]),v(d?.ims_instagram||[]),I(d?.ims_whatsapp||[]),B(d?.ims_rcs||[]),j(d?.emails||[]),D(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(j(a.emails),D(a.phones)),I(a?.ims_whatsapp||[]),B(a?.ims_rcs||[]),p(a?.ims_facebook||[]),x(a?.ims_webchat||[]),v(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:k,imsMercadolibre:m,imsFacebooks:u,imsWebchats:h,imsInstagrams:C,emails:S,phoneNumbers:w},action:{handleAddressFieldChange:M,handleNoteFieldChange:Q,handleDeleteAddress:H,addPhone:F,addEmail:T,addWhatsapp:L,addRCS:V,replaceAddress:G,addWhatsappVerified:z,resetToInitialContactInformation:W},state:{isDeletingAddress:o}}},vn=({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)}}}},Xi=({business: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,[d,c]=l.useState([]),u=ve("text",e?.name||""),p=zt({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),m=yn(e?.owner),y=vn({initialState:e?.tags??[]}),[h,x]=l.useState([]),{field:{imsFacebooks:C,imsMercadolibre:v,imsWebchats:g,imsInstagrams:I,imsWhatsapp:S,emails:j,phoneNumbers:w,imsRCS:D},action:{addPhone:k,addEmail:B,addWhatsapp:F,addRCS:T,addWhatsappVerified:L,replaceAddress:V,handleAddressFieldChange:z,handleNoteFieldChange:G,handleDeleteAddress:M,resetToInitialContactInformation:Q},state:{isDeletingAddress:H}}=bn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),W=ve("text",e?.address1?.street||""),U=ve("text",e?.address2?.street||""),$=ve("text",e?.address1?.city||""),E=ve("text",e?.address2?.city||""),O=ve("text",e?.address1?.state||""),R=ve("text",e?.address2?.state||""),Y=ve("text",e?.address1?.zipcode||""),ae=ve("text",e?.address2?.zipcode||""),ne=ve("text",e?.address1?.country||""),me=ve("text",e?.address2?.country||""),je=(q,ce,ye)=>ce!==ye&&!(ce===null&&ye==="")?{[q]:ye}:{},he=()=>{if(!e)return null;const q={street:W.attributes.value,city:$.attributes.value,state:O.attributes.value,zipcode:Y.attributes.value,country:ne.attributes.value},ce={street:U.attributes.value,city:E.attributes.value,state:R.attributes.value,zipcode:ae.attributes.value,country:me.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:y.attributes.value,properties:d,members:h,phoneNumbers:w,emails:j,address1:q,address2:ce}};function ee(q){if(!e)return;const ce=X=>X.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),ye=e.properties.find(X=>X.nameKey===q)??e.properties.find(X=>ce(X.nameKey)===ce(q));if(!ye){console.error(`No se encontr\xF3 una propiedad con nameKey: ${q}`);return}const Ye=d.map(X=>X.nameKey===q?{...X,value:ye.value}:X);c(Ye)}const Ee=()=>e?a.map(q=>{const ce=X=>X.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),ye=e.properties.find(X=>X.nameKey===q.nameKey)??e.properties.find(X=>ce(X.nameKey)===ce(q.nameKey));if(ye)return{...ye,nameKey:q.nameKey,type:ye.type??q.type,value:ye.value};const Ye=d.find(X=>X.nameKey===q.nameKey);return{nameKey:q.nameKey,type:q.type,value:Ye?Ye.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Ee())},[e,a]),l.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:S,imsRCS:D,contactImage:p,contactPropietary:m,imsMercadolibre:v,imsFacebooks:C,imsWebchats:g,imsInstagrams:I,emails:j,phoneNumbers:w,homeAddress:W,secondaryHomeAddress:U,city:$,secondaryCity:E,state:O,secondaryState:R,postalCode:Y,secondaryPostalCode:ae,country:ne,secondaryCountry:me,customProperties:d,labelMultipleSelect:y},action:{setCustomProperties:c,addWhatsapp:F,addRCS:T,getEditedBusiness:he,handleAddressFieldChange:z,handleNoteFieldChange:G,handleDeleteAddress:M,addPhone:k,addEmail:B,replaceAddress:V,addWhatsappVerified:L,resetToInitialContactInformation:Q,resetCustomProperty:ee},state:{isDeletingAddress:H},selectedContacts:h,setSelectedContacts:x}},Qi=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async X=>{!n||!r||await oa({baseUrl:n,spaceId:r,data:X})},[n,r]),i=async X=>X,{getEditedField:d}=St,[c,u]=l.useState([]),p=ve("text",e?.firstName||""),m=ve("text",e?.lastName||""),y=zt({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[h,x]=l.useState(e?.birthDate?J(e.birthDate):null),C=bn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:v,imsMercadolibre:g,imsWebchats:I,imsInstagrams:S,imsWhatsapp:j,emails:w,phoneNumbers:D,imsRCS:k},action:{addPhone:B,addEmail:F,addWhatsapp:T,addRCS:L,addWhatsappVerified:V,replaceAddress:z,handleAddressFieldChange:G,handleNoteFieldChange:M,handleDeleteAddress:Q,resetToInitialContactInformation:H},state:{isDeletingAddress:W}}=C,U=vn({initialState:e?.tags}),$=yn(e?.owner),E=ve("text",e?.address1?.street),O=ve("text",e?.address2?.street),R=ve("text",e?.address1?.city),Y=ve("text",e?.address2?.city),ae=ve("text",e?.address1?.state),ne=ve("text",e?.address2?.state),me=ve("text",e?.address1?.zipcode),je=ve("text",e?.address2?.zipcode),he=ve("text",e?.address1?.country),ee=ve("text",e?.address2?.country),Ee=()=>{if(!e)return null;const X=e,We=U.attributes.value.map(de=>({id:de.id,name:de.name})),_e=D.map(de=>{const{id:ht,...dt}=de;return dt}),Ge=w.map(de=>{const{id:ht,...dt}=de;return dt});return{id:X.id,owner:$.attributes.value,firstName:p.attributes.value,lastName:m.attributes.value,address1:{...d("street",X.address1?.street,E.attributes.value),...d("city",X.address1?.street,R.attributes.value),...d("state",X.address1?.street,ae.attributes.value),...d("zipcode",X.address1?.street,me.attributes.value),...d("country",X.address1?.street,he.attributes.value)},address2:{...d("street",X.address2?.street,O.attributes.value),...d("city",X.address2?.street,Y.attributes.value),...d("state",X.address2?.street,ne.attributes.value),...d("zipcode",X.address2?.street,je.attributes.value),...d("country",X.address2?.street,ee.attributes.value)},emails:Ge,phones:_e,tags:We,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:c,birthDate:h?.toDate()}};function q(){e&&(!e.businessId||e.businessName)}function ce(){x(e?.birthDate?J(e.birthDate):null)}function ye(X){if(!e)return;const We=de=>de.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),_e=e.properties.find(de=>de.nameKey===X)??e.properties.find(de=>We(de.nameKey)===We(X));if(!_e){console.error(`No se encontr\xF3 una propiedad con nameKey: ${X}`);return}const Ge=c.map(de=>de.nameKey===X?{...de,value:_e.value}:de);u(Ge)}const Ye=()=>e?a.map(X=>{const We=de=>de.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),_e=e.properties.find(de=>de.nameKey===X.nameKey)??e.properties.find(de=>We(de.nameKey)===We(X.nameKey));if(_e)return{..._e,nameKey:X.nameKey,type:_e.type??X.type,value:_e.value};const Ge=c.find(de=>de.nameKey===X.nameKey);return{nameKey:X.nameKey,type:X.type,value:Ge?Ge.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ye())},[e,a]),l.useEffect(()=>{e?.tags&&U.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:h,imsWhatsapp:j,imsRCS:k,contactFirstname:p,contactLastname:m,contactImage:y,contactPropietary:$,imsMercadolibre:g,imsFacebooks:v,imsWebchats:I,imsInstagrams:S,emails:w,phoneNumbers:D,homeAddress:E,secondaryHomeAddress:O,city:R,secondaryCity:Y,state:ae,secondaryState:ne,postalCode:me,secondaryPostalCode:je,country:he,secondaryCountry:ee,customProperties:c,labelMultipleSelect:U},action:{setBirthDate:x,setCustomProperties:u,getEditedContact:Ee,handleAddressFieldChange:G,handleNoteFieldChange:M,handleDeleteAddress:Q,addPhone:B,addEmail:F,addWhatsapp:T,addRCS:L,replaceAddress:z,addWhatsappVerified:V,resetToInitialContactInformation:H,resetSelectedBusiness:q,resetBirthDate:ce,resetCustomProperty:ye},state:{isDeletingAddress:W}}},Aa=l.createContext(null),Zi=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=Qi({contact:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Aa.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},eo=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=Xi({business:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Aa.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},to=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(Zi,{contact:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}):t.jsx(eo,{business:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}),at=()=>{const e=l.useContext(Aa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},jt=({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},ca=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const o=be();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(Nr,{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]})},Cn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),ao=({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})})})},no={view:"main",setView:()=>{}},Sn=l.createContext(null),ro=Sn.Provider,so=()=>l.useContext(Sn)||(console.warn("[useEditContactView] using noop, context value is missing"),no),jn=()=>{},wn=l.createContext(jn),io=({navigate:e,children:a})=>t.jsx(wn.Provider,{value:e,children:a}),oo=()=>l.useContext(wn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),jn);function lo({value:e,displayValue:a,businessId:n}){const r=ot(),o=oo(),[i,d]=l.useState(null),c=zt({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[m,y]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async h=>{const x=h.currentTarget;if(y(!0),!r){console.error("API is null");return}const C=await r.fetchBusiness({businessId:n});if(C&&Da(C)&&d(C),y(!1),!x){console.error("Target element is null");return}p(x)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:h=>h.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),i&&t.jsx(rn,{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 co=e=>"email"in e,Fa=e=>e.entityType==="contact"&&e.inputType==="birthday",uo=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Tn=s.styled(s.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),lt=e=>{const{title:a,value:n,isNotEditable:r,displayValue:o,baseUrl:i,spaceId:d,minWidth:c,onEntityUpdated:u}=e,p=be(),{setView:m}=so(),y=e.inputType??"text",[h,x]=l.useState(!1),[C,v]=l.useState(!1),g=l.useRef(null),[I,S]=l.useState(!1),[j,w]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const M=g.current;if(!M)return;const Q=()=>{const H=M.scrollWidth>M.clientWidth;S(W=>W===H?W:H)};if(Q(),typeof ResizeObserver<"u"){let H=0;const W=new ResizeObserver(()=>{if(typeof window>"u"){Q();return}H&&window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>{Q()})});return W.observe(M),()=>{typeof window<"u"&&H&&window.cancelAnimationFrame(H),W.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",Q),()=>{window.removeEventListener("resize",Q)}},[a]),l.useEffect(()=>{e.entityType==="business"?w(n):w(typeof n=="string"?n:void 0)},[n,e.entityType]);const D=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){m("businessSelect");return}x(M=>!M)},k=M=>{w(M.target.value)},B=M=>{const Q=M.target.value;w(Q)},F=()=>{Fa(e)&&e.contact.action.resetBirthDate(),x(!1)},T=async()=>{if(!e.constructUpdateObject){x(!1);return}if(e.entityType==="business"&&j===void 0){x(!1);return}v(!0);try{if(!i||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let M=j===void 0?null:j;if(Fa(e)){const U=J(e.contact.field.birthDate);U.isValid()&&(M=U.toISOString())}const Q=e.constructUpdateObject(M),H=e.entityId??Q?.id;if(!H)throw new Error("Missing contactId for updateEntity");const W=await Xe({baseUrl:i,spaceId:d,entityType:"contact",entityId:H,body:Q});u?.(W)}else{const M=e.constructUpdateObject(j),Q=e.entityId??M?.id;if(!Q)throw new Error("Missing businessId for updateEntity");const H=await Xe({baseUrl:i,spaceId:d,entityType:"business",entityId:Q,body:M});u?.(H)}}finally{v(!1),x(!1)}},L=typeof j=="string"?j:"",V=j instanceof Date?j.toISOString():typeof j=="string"?j:"",z=c??(e.entityType==="contact"?"45%":"200px"),G=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:z,"&: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:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?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:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:h?1:0,color:M=>M.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:h?t.jsxs(t.Fragment,{children:[t.jsx(Tn,{size:"small",onClick:T,children:C?t.jsx(s.CircularProgress,{size:24}):t.jsx(ft,{})}),t.jsx(Tn,{size:"small",onClick:F,children:t.jsx(Ya,{})})]}):t.jsx(uo,{className:"edit-icon",size:"small",onClick:D,children:t.jsx(Mt,{})})]}),t.jsx(s.Box,{width:h?"100%":"50%",position:"relative",children:h&&y==="text"?t.jsx(s.TextField,{value:V,onChange:k,variant:"standard",size:"small",sx:{width:"100%"}}):h&&(y==="select"||y==="selectMembers")?t.jsxs(s.Select,{value:L,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,G.map((M,Q)=>t.jsx(s.MenuItem,{value:M.id,children:e.entityType==="contact"?M.name?.trim()||(co(M)?M.email:"")||"Sin nombre":M.name?.trim()||M.email||"Sin nombre"},Q))]}):h&&Fa(e)?t.jsx(ao,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!h&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(lo,{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||"-"})})]})},Wt=e=>{const{title:a,value:n,isNotEditable:r,options:o=[],displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:m,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(lt,{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:y});const h=e.inputType??"text";return t.jsx(lt,{entityType:"contact",entityId:m,title:a,value:n,isNotEditable:r,inputType:h,options:o,displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:y})},po=({nameKey:e,value:a,onChange:n,type:r})=>{const o=u=>{r===se.ContactField_type.NUMBER_ACCOUNTING||r===se.ContactField_type.NUMBER_DECIMAL||r===se.ContactField_type.NUMBER_CURRENCY||r===se.ContactField_type.CURRENCY?d(u):r===se.ContactField_type.NUMBER_INTEGER?c(u):(r===se.ContactField_type.LONGTEXT||r===se.ContactField_type.TEXT||r===se.ContactField_type.ADDRESS)&&i(u)},i=u=>{n(e,u.target.value)},d=u=>{const p=u.target.value.replace(/[^0-9.]/g,"");n(e,p)},c=u=>{const p=u.target.value;/^\d*$/.test(p)&&n(e,p)};return t.jsx(s.TextField,{size:"small",variant:"standard",value:a,onChange:o,inputProps:{pattern:"[0-9]*"},multiline:r===se.ContactField_type.LONGTEXT,rows:r===se.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},fo=({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}}})})})},go=({handleChange:e,value:a,options:n})=>{const r=be();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))]})})},mo=({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(Lr.TimePicker,{value:e?J(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},ho=({value:e,handleChange:a,userTimeFormat:n})=>{const r=be(),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})})})},yo=({value:e,handleChange:a,userDateFormat:n})=>{const r=be(),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})})})},xo=s.styled(s.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),In=s.styled(s.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),bo=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),kn=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})),vo=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"})),En=({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,[y,h]=l.useState(!1),[x,C]=l.useState(!1),v=l.useRef(null),[g,I]=l.useState(!1),S=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),j=i?.regCon_timeFormat||"24",w=W=>W===se.ContactField_type.NUMBER_INTEGER||W===se.ContactField_type.NUMBER_DECIMAL||W===se.ContactField_type.NUMBER_CURRENCY||W===se.ContactField_type.NUMBER_ACCOUNTING||W===se.ContactField_type.CURRENCY,D=(W,U)=>W.toLowerCase()==="dni"?!0:w(U),k=(W,U,$)=>{if($===""||$===null||$===void 0)return null;if(D(W,U)){const E=Number($);return Number.isNaN(E)?$:E}return $},B=()=>h(W=>!W),F=()=>{h(!1),a.action.resetCustomProperty(e.nameKey)},T=async()=>{if(!d||!c||!r)return;C(!0);const W=p.find(Y=>Y.nameKey===e.nameKey)||e,{nameKey:U,value:$}=W,E=o.find(Y=>Y.nameKey===U)?.type??W.type;let O;if(E===se.ContactField_type.TIME){const Y=J($);Y.isValid()?O=Y.format(j==="24"?"HH:mm":"hh:mm"):O=$}else if(E===se.ContactField_type.DATE){const Y=J($);Y.isValid()?O=Y.toISOString():O=$}else O=k(U,E,$);const R={properties:[{nameKey:U,type:E,value:O}]};try{const Y=await Xe({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:R}),ae=p.map(ne=>ne.nameKey===U?{...ne,type:E,value:O}:ne);m(ae),u?.(Y)}finally{C(!1),h(!1)}},L=W=>o.find(U=>U.nameKey===W)?.name||W;l.useEffect(()=>{const W=v.current;if(!W)return;const U=()=>{const $=W.scrollWidth>W.clientWidth;I(E=>E===$?E:$)};if(U(),typeof ResizeObserver<"u"){let $=0;const E=new ResizeObserver(()=>{if(typeof window>"u"){U();return}$&&window.cancelAnimationFrame($),$=window.requestAnimationFrame(()=>{U()})});return E.observe(W),()=>{typeof window<"u"&&$&&window.cancelAnimationFrame($),E.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",U),()=>{window.removeEventListener("resize",U)}},[o,e.nameKey]);const V=(W,U)=>{const $=e.type===se.ContactField_type.DATERANGE?Array.isArray(U)&&U[0]&&U[1]?`${J(U[0]).toISOString()} - ${J(U[1]).toISOString()}`:"":e.type===se.ContactField_type.DATE?J(U).isValid()?J(U).toISOString():"Invalid Date":e.type===se.ContactField_type.TIME?J(U).isValid()?J(U).toISOString():"Invalid Time":U,E=p.map(O=>O.nameKey===W?{...O,value:$}:O);m(E)},{type:z,nameKey:G,value:M}=e,Q=W=>W==null?!1:typeof W=="string"?W.trim().length>0:!0,H=()=>z===se.ContactField_type.DATE?t.jsx(fo,{value:M?J(M):null,handleChange:W=>V(G,W?.toDate()),dateFormat:S}):z===se.ContactField_type.TIME?t.jsx(mo,{value:e?.valueDate?J(e.valueDate):M?J(M):null,handleChange:W=>V(G,W),userTimeFormat:j}):z===se.ContactField_type.DATERANGE?t.jsx(yo,{value:M&&typeof M=="string"&&M.includes(" - ")?[J(M.split(" - ")[0]),J(M.split(" - ")[1])]:null,handleChange:W=>V(G,[W[0]?.toDate?.(),W[1]?.toDate?.()]),userDateFormat:S}):z===se.ContactField_type.TIMERANGE?t.jsx(ho,{value:Array.isArray(M)&&M.length===2?[J(M[0]),J(M[1])]:null,handleChange:W=>V(G,[W[0]?.toDate?.(),W[1]?.toDate?.()]),userTimeFormat:j}):z===se.ContactField_type.OPTIONS?t.jsx(go,{value:typeof M=="string"?M:"",handleChange:W=>V(G,W),options:o.find(W=>W.nameKey===G)?.typeOptions??[]}):t.jsx(po,{type:z,nameKey:G,value:M,onChange:V});return t.jsxs(bo,{className:`fadein ${e.type===se.ContactField_type.LONGTEXT?"col-12":"col-5"}`,children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[g?t.jsx(s.Tooltip,{title:L(e.nameKey),arrow:!0,children:t.jsx(kn,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)})}):t.jsx(kn,{ref:v,flexGrow:1,noWrap:!0,children:L(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(In,{size:"small",onClick:T,children:x?t.jsx(s.CircularProgress,{size:24}):t.jsx(ft,{})}),t.jsx(In,{size:"small",onClick:F,children:t.jsx(Ya,{})})]}):t.jsx(xo,{className:"edit-icon",size:"small",onClick:B,children:t.jsx(Mt,{})})]}),t.jsx(s.Box,{width:y||e.type===se.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?H():t.jsx(vo,{children:Q(e?.value)?e.type===se.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const W=e.value.split(" - ");if(W.length===2){const[U,$]=W,E=J(U),O=J($);return`${E.isValid()?E.format(S):"-"} - ${O.isValid()?O.format(S):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${J(e.value[0]).format(S)} - ${J(e.value[1]).format(S)}`;return`${e.value}`})():e.type===se.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${J(e.value[0]).format(j==="24"?"HH:mm":"hh:mm")} - ${J(e.value[1]).format(j==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===se.ContactField_type.TIME?(()=>{try{const W=e.valueDate||e.value;return`${J(W).format(j==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===se.ContactField_type.DATE?(()=>{try{return`${J(e.value).format(S)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Co=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,u=be(),{entityType:p,editEntity:m}=at(),y=ot();if(p!=="contact")return null;const[h,x]=l.useState([]),[C,v]=l.useState(null),[g,I]=l.useState(null),[S,j]=l.useState(null),w=m;l.useEffect(()=>{if(!y)return;const T=new AbortController;return y.fetchUsers({signal:T.signal}).then(L=>{T.signal.aborted||x(L??[])}).catch(()=>{T.signal.aborted||x([])}),()=>{T.abort()}},[y]),l.useEffect(()=>{const T=new AbortController,L=async V=>{if(!V||!y)return null;try{const z=await y.fetchUserTriiById({userId:V,signal:T.signal});return z?.display_name||z?.email||null}catch{return null}};return(async()=>{const V=jt({userId:n.owner,users:h,currentUser:d})??(n.owner?await L(n.owner):null),z=jt({userId:n.createdBy??void 0,users:h,currentUser:d})??(n.createdBy?await L(n.createdBy):null),G=jt({userId:n.updatedBy??void 0,users:h,currentUser:d})??(n.updatedBy?await L(n.updatedBy):null);T.signal.aborted||(v(V),j(z),I(G))})(),()=>{T.abort()}},[y,n,h,d]);const D=(a||"YYYY/MM/DD").toUpperCase(),k=w.field.birthDate,B=k?.isValid()?k.format(D):null,F=T=>{const L=new Date;let V=L.getFullYear()-T.getFullYear();const z=L.getMonth()-T.getMonth();return(z<0||z===0&&L.getDate()<T.getDate())&&V--,V};return t.jsx(ca,{title:"General",children:t.jsxs(Cn,{children:[t.jsx(Wt,{title:u("conversations.contactDetails.contactOwner"),displayValue:C||"-",value:n.owner,inputType:"select",options:h,constructUpdateObject:T=>({owner:typeof T=="string"?T:""}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(Wt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(Wt,{title:u("conversations.contactDetails.createdBy"),value:S||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Wt,{title:u("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Wt,{title:u("global.birthdate"),inputType:"birthday",displayValue:k?`${B} (${F(k.toDate())})`:"-",value:k?k.toISOString():"",constructUpdateObject:T=>({birthDate:T}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:c}),w.field.customProperties.map(T=>t.jsx(En,{property:T,entity:w,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},T.nameKey))]})})},Ba=({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(lt,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:o,displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:m}),So=e=>{const a=be(),{entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=at(),m=ot();if(u!=="business")return null;const[y,h]=l.useState([]),[x,C]=l.useState(null),[v,g]=l.useState(null),[I,S]=l.useState(null),j=p;return l.useEffect(()=>{if(!m)return;const w=new AbortController;return m.fetchUsers({signal:w.signal}).then(D=>{w.signal.aborted||h(D??[])}).catch(()=>{w.signal.aborted||h([])}),()=>{w.abort()}},[m]),l.useEffect(()=>{const w=new AbortController,D=async k=>{if(!k||!m)return null;try{const B=await m.fetchUserTriiById({userId:k,signal:w.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const k=jt({userId:n.owner,users:y,currentUser:d})??(n.owner?await D(n.owner):null),B=jt({userId:n.createdBy??void 0,users:y,currentUser:d})??(n.createdBy?await D(n.createdBy):null),F=jt({userId:n.updatedBy??void 0,users:y,currentUser:d})??(n.updatedBy?await D(n.updatedBy):null);w.signal.aborted||(C(k),S(B),g(F))})(),()=>{w.abort()}},[m,n,y,d]),t.jsx(ca,{title:"General",children:t.jsxs(Cn,{children:[t.jsx(Ba,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:x||"-",inputType:"select",options:y,constructUpdateObject:w=>({owner:typeof w=="string"?w:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:c}),t.jsx(Ba,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(Ba,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),j.field.customProperties.map(w=>t.jsx(En,{property:w,entity:j,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},w.nameKey))]})})},jo=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Co,{...e,entityData:n,entityType:"contact"}):t.jsx(So,{...e,entityData:n,entityType:"business"})},wo=()=>{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("")}}},To=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Io=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),ko=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Eo=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Do=we.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ma=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Ao=we.styled(Ma)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Fo=we.styled(Ma)(({})=>({fontSize:14,fontWeight:500})),Bo=we.styled(Ma)(({})=>({fontSize:14,fontWeight:500})),Mo=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=zt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(To,{children:[t.jsx(Io,{children:t.jsxs(Eo,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(Fo,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Bo,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Ao,{children:e.note})})]})}),t.jsxs(ko,{children:[a!==""&&t.jsx(Do,{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"}})})})]})]})})},$a=qa.PhoneNumberUtil.getInstance(),$o=e=>{if(!e||!e.trim())return e;try{const a=$a.parse(e,void 0);return $a.isValidNumber(a)?$a.format(a,qa.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Po=we.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Uo=we.styled(zr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Ro=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),No=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Lo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),zo=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Dn=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Oo=we.styled(Dn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Wo=we.styled(Dn)(({})=>({fontSize:14,fontWeight:500})),_o=({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(()=>$o(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Ro,{children:[t.jsxs(No,{children:[t.jsx(Po,{onClick:a,color:"primary",size:"small",children:t.jsx(Uo,{})}),t.jsxs(zo,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Wo,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Oo,{children:e.note})})]})]}),t.jsx(Lo,{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"}})})})})]})})},Vo=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}})),Ho=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),Go=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Yo=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),qo=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Ko=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:o})=>t.jsxs(Vo,{children:[t.jsxs(Go,{children:[t.jsx(Ho,{children:e}),t.jsx(qo,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Mt,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(Yo,{children:a.map((i,d)=>n?t.jsx(_o,{item:i},d):t.jsx(Mo,{item:i,owner:o},d))})]}),Jo=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),Xo={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ua=({title:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:Xo.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")})]})},Qo={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:Qo.container,children:e}),An={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Zo=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:o})=>{const i=be(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:m}=a,[y,h]=l.useState(!1),[x,C]=l.useState(null),[v,g]=l.useState(!1),I=F=>{c(F.currentTarget)},S=()=>{c(null)},j=()=>{g(!1)},w=()=>{e(),S()},D=async()=>{h(!0);try{if(!o)return;const F=await o(13);if(!F)return;C(F),g(!0)}catch(F){console.error("Error verifying WhatsApp account:",F)}finally{h(!1)}S()},k=async()=>{h(!0);try{if(!o)return;const F=await o(21);if(!F)return;C(F),g(!0)}catch(F){console.error("Error verifying RCS account:",F)}finally{h(!1)}S()},B=async()=>{await n(),g(!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(Or,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:S,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:w,children:[t.jsx(s.ListItemIcon,{children:t.jsx(sa,{color:"error"})}),t.jsx(s.ListItemText,{children:i("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:D,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Wr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:k,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(_r,{})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:v,onClose:j,"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:x?.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:j,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:j,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Vt=e=>{const a=be(),n=ot(),{editEntity:r,entityId:o}=at(),[i,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??o,{note:p,channelType:m,id:y,address:h}=e.addressData,x=!e.addressData.hasOwnProperty("isSaved"),C=e.replaceAddress??r.action.replaceAddress,v=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),g=async w=>{if(!n||!u)return null;const D=await n.setContactAddress({data:{address:h,contactId:u,type:w}});return C(y,D),D},I=async()=>{if(!n||!u)return;const w=await n.updateContactAddress({data:{contactAddressId:y,contactId:u,note:p??""}});C(y,w)},S=async()=>{d(!0),x?(await I(),d(!1)):await g(m)&&d(!1)},j=async()=>{d(!0);const w=await g(13);w&&v&&v(w),w&&d(!1)};return t.jsxs(s.Box,{sx:{...An.container},children:[x&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:w=>e.handleNoteFieldChange(w,y,m),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:An.noteTextField}),t.jsx(s.IconButton,{onClick:S,children:i?t.jsx(s.CircularProgress,{size:24}):t.jsx(ft,{color:"primary"})}),t.jsx(Zo,{onDelete:()=>e.handleDeleteAddress(y,m),addressData:e.addressData,handleLinkAccountSave:j,checked:c&&!i,onCheckContactAddress:async w=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:h,type:w}})}catch{return null}}})]})},el={container:{display:"flex",gap:"100px",alignItems:"center"}},Ht=({children:e})=>t.jsx(s.Box,{sx:el.container,children:e}),tl={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:{...tl.container},children:e}),al=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Gr,{size:20});case"available":return t.jsx(Vr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Hr,{style:{height:27,width:27},color:"error"});default:return null}},Fn=({status:e,text:a})=>t.jsxs(Yr,{position:"end",children:[a?t.jsx(qr,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(al,{status:e})})]}),nl={code:{width:"60%",color:"gray"}},rl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(_t,{children:t.jsxs(Ht,{children:[t.jsx(s.Typography,{sx:nl.code,variant:"body2",children:e.address}),t.jsx(Vt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},sl=({IMSs:e,editEntity:a})=>t.jsx(Gt,{children:e?.map(n=>t.jsx(rl,{data:n,editEntity:a},n.id))}),pa=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(Jo,{title:a}),t.jsx(sl,{IMSs:n,editEntity:e})]}),il={addressField:{}},Pa=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:o,address:i}=e,d=be(),c=ot(),[u,p]=l.useState("idle"),[m,y]=l.useState(i),h=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let x=setTimeout(async()=>{if(i!==""&&i!==m){if(!c)return;p("loading"),y(i);const C={address:i,type:o};try{const v=await c.checkContactAddress({data:C}),{success:g,warnings:I}=v;n(I),p(g?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(x)},[c,e,i,o,m,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:h,sx:il.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:x=>{a(x,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Fn,{status:u})})}})})},ol={addressField:{}},ll=({data:e,onChange:a,setWarnings:n})=>{const r=ot(),o=be(),{id:i,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[m,y]=l.useState(c),h=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let x=setTimeout(async()=>{if(c!==""&&c!==m){if(!r)return;p("loading"),y(c);const C={address:c,type:d};try{const{success:v,warnings:g}=await r.checkContactAddress({data:C});n(g),p(v?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(x)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:h,sx:ol.addressField,size:"small",label:o("global.number"),value:c,onChange:x=>{a(x,i,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Fn,{status:u})})}})})},Ua={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},dl=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:Ua.secondaryContainer,children:t.jsx(Jr,{icon:t.jsx(Kr,{sx:Ua.icon}),sx:Ua.chip,label:e,color:"error",variant:"outlined"})})}),fa=({warnings:e})=>{const a=be();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(dl,{text:a(`contactAddressError.${n}`)},r))})})},cl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},ul=({data:e})=>{const a="edit",{editEntity:n}=at(),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(Ht,{children:[t.jsxs(s.Box,{sx:{...cl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(ll,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),i.length>0&&t.jsx(fa,{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})]})})},pl=({phoneNumbers:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(ul,{data:a},a.id))}),fl=({phoneNumbers:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ua,{handleAdd:a,title:n("global.phones")}),t.jsx(pl,{phoneNumbers:e})]})},Bn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},gl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:Bn.numberCountryContainer,children:t.jsx(s.Box,{sx:Bn.adressInputBox,children:t.jsx(Pa,{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(fa,{warnings:i})]})},ml=({emails:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(gl,{data:a},a.id))}),hl=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ua,{handleAdd:a,title:"Emails"}),t.jsx(ml,{emails:e})]}),Mn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},yl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:Mn.numberCountryContainer,children:t.jsx(s.Box,{sx:Mn.adressInputBox,children:t.jsx(Pa,{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(fa,{warnings:i})]})},xl=({whatsapps:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(yl,{data:a},a.id))}),bl=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ua,{handleAdd:a,title:"WhatsApp"}),t.jsx(xl,{whatsapps:e})]}),$n={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},vl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(_t,{children:[t.jsxs(Ht,{children:[t.jsx(s.Box,{sx:$n.numberCountryContainer,children:t.jsx(s.Box,{sx:$n.adressInputBox,children:t.jsx(Pa,{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(fa,{warnings:i})]})},Cl=({RCSs:e})=>t.jsx(Gt,{variant:"large",children:e?.map(a=>t.jsx(vl,{data:a},a.id))}),Sl=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ua,{handleAdd:a,title:"RCS"}),t.jsx(Cl,{RCSs:e})]}),jl=we.styled(s.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.panel,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),wl=({open:e,onClose:a,title:n})=>{const r=be(),{editEntity:o}=at(),{emails:i,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=o.field,{addEmail:p,addPhone:m,addWhatsapp:y,resetToInitialContactInformation:h,addRCS:x}=o.action;function C(){a(),h()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(jl,{children:[(()=>{switch(n){case"Phones":return t.jsx(fl,{handleAdd:m,phoneNumbers:d});case"Emails":return t.jsx(hl,{handleAdd:p,emails:i});case"Whatsapp":return t.jsx(bl,{handleAdd:y,whatsapps:c});case"RCS":return t.jsx(Sl,{handleAdd:x,RCSs:u});case"Facebook":return t.jsx(pa,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(pa,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(pa,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(pa,{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")})})]})})},Tl=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:o}=wo(),{editEntity:i}=at(),d=be(),c=i.field.phoneNumbers,u=i.field.emails,p=i.field.imsFacebooks,m=i.field.imsWhatsapp,y=i.field.imsMercadolibre,h=i.field.imsWebchats,x=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:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:h,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:x,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ca,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(g=>g.visible).map(g=>t.jsx(Ko,{handleEdit:()=>r(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx(wl,{open:a,onClose:o,title:n})]})},Il=({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=be(),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(lt,{entityType:e,title:c("conversations.contactDetails.street"),value:a[p]?.street??"",...d,constructUpdateObject:y=>({[p]:{street:y}}),minWidth:"100%"})}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.city"),value:a[p]?.city??"",...d,constructUpdateObject:y=>({[p]:{city:y}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.state"),value:a[p]?.state??"",...d,constructUpdateObject:y=>({[p]:{state:y}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...d,constructUpdateObject:y=>({[p]:{zipcode:y}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.country"),value:a[p]?.country??"",...d,constructUpdateObject:y=>({[p]:{country:y}}),minWidth:"100%"})]})]});return t.jsx(ca,{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")})]})})},kl=({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]),El=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:o,labels:i,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[m,y]=l.useState([]),[h,x]=l.useState(!1),[C,v]=l.useState(!1),[g,I]=l.useState([]),[S,j]=l.useState(!1),w=l.useMemo(()=>{const F=i??[],T=g??[],L=new Map;for(const V of F)V?.id&&L.set(String(V.id),V);for(const V of T)V?.id&&L.set(String(V.id),V);return Array.from(L.values())},[i,g]),D=l.useCallback(()=>{p("main"),y([]),x(!1),v(!1),I([]),j(!1)},[]);l.useEffect(()=>{e||D()},[e,D]),l.useEffect(()=>{if(u!=="tags"){x(!1);return}if(h||!w.length)return;const F=new Set(d.map(L=>String(L.id))),T=w.filter(L=>F.has(String(L?.id)));y(T),x(!0)},[u,h,w,d]);const k=l.useCallback(async F=>{if(S||!a||!n)return;const T=String(F??"").trim();if(!T)return;const L=T.toLowerCase(),V=w.find(z=>String(z?.name??"").trim().toLowerCase()===L);if(V?.id){y(z=>{const G=z??[];return G.some(M=>String(M?.id)===String(V.id))?G:[...G,V]});return}j(!0);try{const z=await un({baseUrl:a,spaceId:n,name:T});I(G=>{const M=G??[];return!z?.id||M.some(Q=>String(Q?.id)===String(z.id))?M:[...M,z]}),y(G=>{const M=G??[];return!z?.id||M.some(Q=>String(Q?.id)===String(z.id))?M:[...M,z]})}finally{j(!1)}},[S,a,n,w]),B=l.useCallback(async()=>{if(C||!a||!n||!r||o!=="contact"&&o!=="business")return;const F=m.filter(T=>T?.id&&T?.name).map(T=>({id:String(T.id),name:String(T.name)}));v(!0);try{await Xe({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:y,labelsOptions:w,isSaving:C,isCreatingLabel:S,handleCreateLabel:k,handleSaveTags:B}},Dl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Al={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},Fl=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:o,onEntityUpdated:i,currentUser:d})=>{const c=be(),u=ot(),p=l.useRef(null),m=l.useRef(null),[y,h]=l.useState(()=>r?.businessName??""),[x,C]=l.useState(!1),[v,g]=l.useState(!1),[I,S]=l.useState(!1),[j,w]=l.useState([]),[D,k]=l.useState(r??null),[B,F]=l.useState(1),[T,L]=l.useState(!1),[V,z]=l.useState(!1),G=l.useMemo(()=>{const Y=d?.display_name,ae=d?.email;return String(Y||ae||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),m.current?.abort()},[]),l.useEffect(()=>{k(r??null),h(r?.businessName??"")},[r]);const M=()=>{m.current?.abort(),m.current=null,p.current&&(clearTimeout(p.current),p.current=null),C(!1),z(!1),F(1),L(!1),w([])},Q=Y=>Y.filter(ae=>!!ae?.id).map(ae=>({businessId:String(ae.id),businessName:String(ae.name??"")})),H=async({query:Y,page:ae})=>{if(!u)return;m.current?.abort();const ne=new AbortController;m.current=ne,g(!0);try{const me={...Al,currentPage:ae,filter:[{value:Y,column:"name",condition:""}]},je=await u.fetchBusinessTableData({pagination:me,signal:ne.signal});if(ne.signal.aborted)return;const he=Q(je?.contactos??[]);C(!0);const ee=je?.paginacion?.total??0;w(Ee=>{const q=ae===1?he:(()=>{const ce=new Map;for(const ye of Ee)ce.set(ye.businessId,ye);for(const ye of he)ce.set(ye.businessId,ye);return Array.from(ce.values())})();return ee&&q.length>=ee&&z(!0),q})}finally{g(!1),S(!1),L(!1)}},W=Y=>{M(),Y&&(p.current&&(clearTimeout(p.current),p.current=null),S(!0),p.current=setTimeout(()=>{H({query:Y,page:1})},800))},U=Y=>{const ae=Y.target;if(!(ae.scrollHeight-ae.scrollTop-ae.clientHeight<1)||V||v||!y)return;const ne=B+1;L(!0),F(ne),H({query:y,page:ne})},$=async()=>{if(!u||!G)return;const Y=String(y??"").trim();if(Y){g(!0);try{const ae={name:Y,owner:G,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ne=await u.createBusiness({business:ae}),me={businessId:String(ne.id??""),businessName:String(ne.name??Y)};w([me]),k(me),C(!0)}finally{g(!1)}}},E=async()=>{if(!e||!a||!n)return;const Y=D?.businessId??"",ae=await Xe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:Y}});i?.(ae),o()},O=x&&j.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(tt.LoadingButton,{size:"small",variant:"contained",onClick:$,loading:v,disabled:v||!G,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),R=!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(wa,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:c("conversations.contactDetails.business")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(tt.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(ft,{}),onClick:E,loading:!1,disabled:R,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[v||I||T?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:D,onChange:(Y,ae)=>{k(ae)},inputValue:y,onInputChange:(Y,ae,ne)=>{h(ae),ne==="input"&&W(ae)},options:j,getOptionLabel:Y=>Y?.businessName??"",isOptionEqualToValue:(Y,ae)=>Y.businessId===ae.businessId,noOptionsText:O,renderInput:Y=>t.jsx(s.TextField,{...Y,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{...Y.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||I?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,Y.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:U}})]})]})},Bl=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:o,sx:i,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:p})=>{const{t:m,i18n:y}=Ke.useTranslation(),h=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 H=document.createElement("script");return H.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,H.async=!0,H.defer=!0,document.body.appendChild(H),()=>{}},[u]),l.useEffect(()=>{d&&y.changeLanguage(d)},[d,y]);const x=H=>m(H),C=l.useMemo(()=>!n||!r?null:gn(n,r),[n,r]),{state:v,selectors:g,actions:I}=_i({open:e,baseUrl:n,spaceId:r,contactId:o}),S=kl({entity:v.contactData,setEntity:H=>{I.setContactData(H??void 0),H&&p&&p(H)}}),{view:j,setView:w,draftLabels:D,setDraftLabels:k,labelsOptions:B,isSaving:F,isCreatingLabel:T,handleCreateLabel:L,handleSaveTags:V}=El({open:e,baseUrl:n,spaceId:r,contactData:v.contactData,contactType:g.contactType,labels:g.labels,selectedTags:g.tags,onTagsUpdated:H=>{if(!v.contactData)return;const W={...v.contactData,tags:H};I.setContactData(W),p&&p(W)}}),z=zt({baseUrl:n,spaceId:r,entityType:g.contactType==="business"||g.contactType==="contact"?g.contactType:void 0,entityId:v.contactData?String(v.contactData.id):void 0,initialImageUrl:v.contactData?.imageUrl,onEntityUpdated:S}),G=Dl({onClose:a}),M={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:H=>H.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},Q=Array.isArray(i)?[M,...i]:i?[M,i]:M;return t.jsx(fi,{value:C,children:t.jsx(ui,{t:x,children:t.jsx(io,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:G,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:Q,ref:h,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:G,sx:{position:"absolute",right:5,top:5,color:H=>H.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ha,{sx:{fontSize:20}})}),v.isLoading&&!v.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):v.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):v.contactData?t.jsx(ro,{value:{view:j,setView:w},children:t.jsx(to,{entityType:g.contactType==="business"?"business":"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(s.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(s.Fade,{in:j==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Ci,{imgUrl:z.imageUrl,displayName:g.displayName,tags:g.tags,onEditTags:()=>{w("tags")},onUploadPhoto:z.action.uploadImage,onPhotoFileChange:z.inputAtributes.onChange,photoInputRef:z.inputAtributes.ref,isUploadingPhoto:z.isUploading,onDeletePhoto:z.action.deleteImage,isDeletingPhoto:z.isDeleting,contactType:g.contactType,entityId:v.contactData?.id,firstName:g.isContact?v.contactData.firstName:void 0,lastName:g.isContact?v.contactData.lastName:void 0,name:g.isBusiness?v.contactData.name:void 0,onEntityUpdated:S}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(jo,{dateFormat:g.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:S,currentUser:g.userTrii}),t.jsx(Il,{entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,baseUrl:n,spaceId:r,onEntityUpdated:S,onDirectionSearchClick:()=>w("searchLocation")}),t.jsx(Tl,{ownerData:v.contactData})]})]})}),t.jsx(s.Fade,{in:j==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Wi,{baseUrl:n,spaceId:r,entityType:g.contactType==="business"?"business":"contact",entityId:String(v.contactData.id),onBack:()=>w("main"),onEntityUpdated:S})})}),t.jsx(s.Fade,{in:j==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(ji,{value:D,options:B,onChange:k,onBack:()=>w("main"),onSave:V,isSaving:F,onCreateNew:L,isCreatingNew:T,popperContainer:h.current})})}),t.jsx(s.Fade,{in:j==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Fl,{baseUrl:n,spaceId:r,contactId:String(v.contactData.id),initialBusiness:g.isContact&&v.contactData?.businessId?{businessId:String(v.contactData.businessId),businessName:String(v.contactData.businessName??"")}:null,onBack:()=>w("main"),onEntityUpdated:S,currentUser:g.userTrii})})})]})})}):null]})})})})})})},Ml=e=>t.jsx(Ke.I18nextProvider,{i18n:Lt,children:t.jsx(Bl,{...e})}),Pn=l.createContext(null),$l=Pn.Provider,Un=()=>l.useContext(Pn),Pl={events:[],setEvents:()=>{},filteredEvents:[]},Ul=(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])},Rn={open:!1,handleOpen:()=>{},handleClose:()=>{}},Nn=()=>{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])},gt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},mt=(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)},[]),y=l.useCallback(v=>{r(v)},[]),h=l.useCallback(()=>{r(a||"")},[a]),x=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:h,changeValue:y}),[u,p,h,y]),C=l.useMemo(()=>({error:o,helperText:d,type:e,value:n,onChange:m}),[o,d,e,n,m]);return{actions:x,attributes:C}};function Ln(e){return typeof e=="number"}const Rl={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Nl(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const m={id:Ot(),timeValue:15,timePeriod:ia.EventNotificationPeriod.MINUTE,sendToContact:!1};n(y=>y.concat(m))},[]),o=l.useCallback(m=>{n(y=>y.filter(h=>h.id!==m))},[]),i=l.useCallback((m,y)=>{const h=Number(m.target.value);Ln(h)&&n(x=>x.map(C=>C.id===y?{...C,timeValue:h}:C))},[]),d=l.useCallback((m,y)=>{if(!Ln(m.target.value))return;const h=m.target.value;n(x=>x.map(C=>C.id===y?{...C,timePeriod:h}:C))},[]),c=l.useCallback((m,y)=>{const h=m.target.checked;n(x=>x.map(C=>C.id===y?{...C,sendToContact:h}:C))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const m=e.map(y=>({...y,id:y.id||Ot()}));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 Ll={state:{selectedStartDate:J(),selectedEndDate:J().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},zl={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Ol={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Wl={titleField:gt,descriptionField:gt,locationField:gt,colorField:gt,date:Ll,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Rl,shareWithUsers:Ol,linkContact:zl,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},_l=(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=>h=>{y(h)},[]),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}},Vl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),o=l.useCallback(m=>{r(y=>y.some(h=>h.id===m.id)?y:[...y,{id:m.id,name:m.name??""}]),a("")},[]),i=l.useCallback(m=>{r(y=>y.filter(h=>h.id!==m))},[]),d=l.useCallback(m=>{a(m)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),p=l.useMemo(()=>({handleSelectContact:o,handleRemoveContact:i,handleSearchChange:d,resetField:c}),[o,i,d,c]);return{state:u,action:p}},Hl=()=>{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}},Gl=e=>{const a=l.useRef(null),n=mt("text",e?.title??""),r=mt("text",e?.details??e?.description??""),o=mt("text",e?.location??""),i=mt("text",e?.color??"#1976d2"),d=_l(e?.startAt?J(e.startAt):void 0,e?.endAt?J(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,m]=l.useState(e?.isPrivate??!1),[y,h]=l.useState(e?.rule??""),x=Nl(e?.notifications),C=Hl(),v=Vl(),g=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:x.notifications.filter(S=>S.timeValue>0).map(S=>({id:S.id,timePeriod:S.timePeriod,timeValue:S.timeValue,sendToContact:S.sendToContact})),sharedWith:C.field.userIds,rule:y,relatedContactId:v.state.selectedContacts[0]?.id??null}),[n.attributes.value,r.attributes.value,o.attributes.value,c,p,i.attributes.value,d.state.selectedStartDate,d.state.selectedEndDate,x.notifications,C.field.userIds,y,v.state.selectedContacts]),I=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.actions.resetValue(),i.actions.changeValue("#1976d2"),u(!1),m(!1),h(""),x.action.resetNotifications(),C.action.resetField(),v.action.resetField(),d.action.setError(!1),a.current=null},[n.actions,r.actions,o.actions,i.actions,x.action,C.action,v.action,d.action]);return l.useEffect(()=>{const S=e?.id;if(!e||a.current===S)return;a.current=S,u(e.allDay??!1),m(e.isPrivate??!1),h(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)),v.action.resetField();const j=e.relatedContact??e.raw?.relatedContact;j?.id&&v.action.handleSelectContact({id:j.id,name:j.name??""})},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:o,colorField:i,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:m,recurrenceRule:y,setRecurrenceRule:h,notifications:x,shareWithUsers:C,linkContact:v,create:g,resetFields:I}),[n,r,o,i,d,c,p,y,x,C,v,g,I])},Yl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},ql={nameField:gt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Yl,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Kl=()=>{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}},Jl=()=>{const e=mt("text",""),[a,n]=l.useState("#ffffff"),[r,o]=l.useState(null),i=Kl(),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])},Xl={tasks:[],setTasks:()=>{},filteredTasks:[]},Ql=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])},Zl={state:{selectedStartDate:J(),selectedEndDate:J(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},ed={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},td={titleField:gt,descriptionField:gt,date:Zl,linkContact:ed,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},ad=(e,a)=>{const[n,r]=l.useState(e??J()),[o,i]=l.useState(a??J()),[d,c]=l.useState(!1),u=l.useCallback(y=>h=>{y(h)},[]),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}},nd=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),o=l.useCallback(m=>{r(y=>y.some(h=>h.id===m.id)?y:[...y,{id:m.id,name:m.name??""}]),a("")},[]),i=l.useCallback(m=>{r(y=>y.filter(h=>h.id!==m))},[]),d=l.useCallback(m=>{a(m)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),p=l.useMemo(()=>({handleSelectContact:o,handleRemoveContact:i,handleSearchChange:d,resetField:c}),[o,i,d,c]);return{state:u,action:p}},rd=e=>{const a=l.useRef(null),n=mt("text",e?.title??""),r=mt("text",e?.description??""),o=ad(e?.startAt?J(e.startAt):void 0,e?.startAt?J(e.startAt):void 0),i=nd(),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedStartDate.toISOString(),relatedContactId:i.state.selectedContacts[0]?.id??null}),[n.attributes.value,r.attributes.value,o.state.selectedStartDate,i.state.selectedContacts]),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)return;if(a.current=u,n.actions.changeValue(e.title??""),r.actions.changeValue(e.description??""),e.startAt){const m=J(e.startAt);o.action.setSelectedStartDate(m),o.action.setSelectedEndDate(m)}i.action.resetField();const p=e.relatedContact??e.raw?.relatedContact;p?.id&&i.action.handleSelectContact({id:p.id,name:p.name??""})},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,date:o,linkContact:i,create:d,resetFields:c}),[n,r,o,i,d,c])},Ra=l.createContext({eventDialog:Rn,createCalendarDialog:Rn,event:Wl,events:Pl,calendar:ql,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:Xl,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:td,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],isLoadingCalendars:!1,isCreatingEvent:!1,isUpdatingEvent:!1,isDeletingEvent:!1,isCreatingTask:!1,isUpdatingTask:!1,isDeletingTask:!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}),zn=e=>e,On=l.createContext(zn),sd=({t:e,children:a})=>t.jsx(On.Provider,{value:e,children:a}),$e=()=>{const e=l.useContext(On);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),zn)};var id=Object.defineProperty,od=(e,a,n)=>a in e?id(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Wn=(e,a,n)=>od(e,typeof a!="symbol"?a+"":a,n);class ld extends Error{constructor(a,n,r){super(a),Wn(this,"status"),Wn(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function ke({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 ld(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 ga(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`),CALENDAR:Ie(e,`/calendar/${n}`)}}function He(e){return ga(e.baseUrl,e.spaceId).CALENDAR}async function dd(e){const a=ga(e.baseUrl,e.spaceId);return ke({url:Ie(a.SETTINGS,"/user")})}async function cd(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return ke({url:r})}async function ud(e,a){const n=He(e);return ke({url:Ie(n,"/events"),method:"POST",body:a})}async function _n(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 ke({url:c,method:"PUT",body:o})}return ke({url:Ie(n,`/events/${r}`),method:"PUT",body:o})}async function Na(e,a,n){const r=He(e);if(n){const o=n instanceof Date?n.toISOString():n,i=`${r}/events/${a}?occurrence=${o}`;await ke({url:i,method:"DELETE"})}else await ke({url:Ie(r,`/events/${a}`),method:"DELETE"})}async function pd(e,a){const n=He(e);return ke({url:Ie(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function fd(e,a){const n=He(e);return ke({url:Ie(n,`/Task/${a}`)})}async function gd(e,a){const n=He(e);return ke({url:Ie(n,"/Task"),method:"POST",body:a})}async function Vn(e,a,n){const r=He(e);return ke({url:Ie(r,`/Task/${a}`),method:"PUT",body:n})}async function md(e,a){const n=He(e);await ke({url:Ie(n,`/Task/${a}`),method:"DELETE"})}async function hd(e,a,n){const r=He(e);return ke({url:Ie(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function yd(e){const a=He(e);return ke({url:Ie(a,"/Calendar")})}async function xd(e,a){const n=He(e);return ke({url:Ie(n,"/Calendar"),method:"POST",body:a})}async function bd(e,a,n){const r=He(e);return ke({url:Ie(r,`/Calendar/${a}`),method:"PUT",body:n})}async function vd({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=ga(e,a),i=Ie(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ke({url:i,signal:r})}async function Cd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=ga(e,a),i=Ie(o.CONTACTS,"/Search");return ke({url:i,method:"POST",body:n,signal:r})}function ma(e){const a=J(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const Yt=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:Yt(e.id):"",Sd=({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:y,externalInitialStartDate:h,externalInitialEndDate:x})=>{const{t:C}=Ke.useTranslation(),v=Un(),g=(b,...N)=>C(b,...N),[I,S]=l.useState(o),[j,w]=l.useState(null),[D,k]=l.useState(null),[B,F]=l.useState(r),[T,L]=l.useState(d||""),[V,z]=l.useState(i||""),[G,M]=l.useState(!1),[Q,H]=l.useState("create"),[W,U]=l.useState(null),[$,E]=l.useState({open:!1,message:"",severity:"info"}),[O,R]=l.useState(!1),[Y,ae]=l.useState("event"),[ne,me]=l.useState(!1),[je,he]=l.useState(!1),[ee,Ee]=l.useState(null),[q,ce]=l.useState(!1),[ye,Ye]=l.useState(!1),[X,We]=l.useState(!1),[_e,Ge]=l.useState(!1),[de,ht]=l.useState(!1),[dt,Jt]=l.useState(!1),Xt="trii_calendar_last_view",va=b=>b==="month"||b==="week"||b==="day",[yt,Tt]=l.useState(()=>{try{const b=localStorage.getItem(Xt);return va(b)?b:"month"}catch{return"month"}}),[ct,Qt]=l.useState(new Date),Zt=b=>{Qt(b),Tt("day")},Pe=Nn(),nt=Nn(),ie=Gl(j??void 0),ue=rd(D??void 0);l.useEffect(()=>{r!==void 0&&F(r)},[r]),l.useEffect(()=>{o!==void 0&&S(o)},[o]),l.useEffect(()=>{i!==void 0&&z(i)},[i]),l.useEffect(()=>{d!==void 0&&L(d)},[d]),l.useEffect(()=>{c!==void 0&&(w(c),c?.calendarId&&z(c.calendarId))},[c]),l.useEffect(()=>{u!==void 0&&(k(u),u?.calendarId&&L(u.calendarId))},[u]),l.useEffect(()=>{if(!m||!v||r!=="create"||!Pe.open)return;let b=!1;return vd({baseUrl:v.baseUrl,spaceId:v.spaceId,contactId:m}).then(N=>{b||!N||(ie.linkContact.action.resetField(),ie.linkContact.action.handleSelectContact(N),ue.linkContact.action.resetField(),ue.linkContact.action.handleSelectContact(N))}).catch(()=>{}),()=>{b=!0}},[m,Pe.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!Pe.open){if(r==="create"){ie.resetFields(),ue.resetFields(),M(!1),w(null),k(null),ie.date.action.setError(!1),ue.date.action.setError(!1);const b=ma(h??new Date),N=x?ma(x):b.add(30,"minute");if(o==="task"?(ue.date.action.setSelectedStartDate(b),ue.date.action.setSelectedEndDate(b)):(ie.date.action.setSelectedStartDate(b),ie.date.action.setSelectedEndDate(N)),!i){const P=Le?.[0]??Ze?.[0]?.id??Ne?.[0]?.id??"";P&&z(P)}if(!d){const P=Le?.[0]??Ne?.[0]?.id??"";P&&L(P)}}Pe.handleOpen()}else!a&&Pe.open&&Pe.handleClose()},[a]);const qe=()=>{ie.resetFields(),ue.resetFields(),ie.date.action.setError(!1),ue.date.action.setError(!1),n?n():Pe.handleClose()},Ue=Jl(),ea=Q==="create",[Ne,Ca]=l.useState([]),[It,kt]=l.useState(!1),[rt,Et]=l.useState([]),[st,ta]=l.useState(""),aa="calendar_selected_ids",[Le,xt]=l.useState(()=>{try{const b=localStorage.getItem(aa);return b?JSON.parse(b):[]}catch{return[]}}),bt=Ul(Le,rt),Dt=Ql(Le),Sa=()=>{E(b=>({...b,open:!1}))},Qe=l.useCallback((b,N,P)=>{y?.(b,N,P)},[y]);function At(b){const N=b?.startAt??b?.start,P=b?.endAt??b?.end??N;return{startAt:N,endAt:P}}const{myCalendars:Ze,otherCalendars:ja}=l.useMemo(()=>{const b=Ne??[];if(!st)return{myCalendars:b,otherCalendars:[]};const N=b.filter(K=>K.userId===st),P=b.filter(K=>K.userId!==st);return N.length===0&&b.length>0?{myCalendars:b,otherCalendars:[]}:{myCalendars:N,otherCalendars:P}},[Ne,st]),vt=l.useCallback(async()=>{if(v)try{const b=new Date,N=b.getUTCFullYear(),P=b.getUTCMonth(),K=new Date(Date.UTC(N,P-1,1,0,0,0)).toISOString(),Z=new Date(Date.UTC(N,P+2,1,0,0,0)).toISOString(),fe=await cd(v,K,Z);Et(fe)}catch(b){console.error("Error fetching activities:",b)}},[v]),ut=l.useCallback(async b=>{if(v)try{const N=await fd(v,b);Dt.setTasks(N.map(P=>({id:P.id,title:P.title||"",start:new Date(P.startAt),end:new Date(P.endAt||P.startAt),startAt:P.startAt,endAt:P.endAt,description:P.description,calendarId:P.calendarId,isCompleted:P.isCompleted||!1,relatedContact:P.relatedContact,kind:"task"})))}catch(N){console.error("Error fetching tasks:",N)}},[v]),Ft=l.useCallback(async()=>{if(v){kt(!0);try{const b=await yd(v);Ca(b)}catch(b){console.error("Error fetching calendars:",b)}finally{kt(!1)}}},[v]);l.useEffect(()=>{const b=Ze?.[0]?.id??Ne?.[0]?.id??"";b&&Pe.open&&B==="create"&&(V||z(b),T||L(b))},[Pe.open,B]);const f=l.useRef(!1);l.useEffect(()=>{a||(f.current=!1)},[a]),l.useEffect(()=>{if(!v||!a||f.current||(f.current=!0,Ft(),r==="create"))return;let b=!1;return dd(v).then(N=>{b||ta(N.uid)}).catch(()=>{}),()=>{b=!0}},[v,a,r,Ft]);function A(b,N,P){S(b),F("create"),w(null),k(null),ie.resetFields(),ue.resetFields(),M(!1);const K=ma(N??new Date),Z=P?ma(P):K.add(30,"minute"),fe=Z.isAfter(K)?Z:K.add(30,"minute");if(b==="task"){ue.date.action.setSelectedStartDate(K),ue.date.action.setSelectedEndDate(K),ue.date.action.setError(!1);const Fe=Le?.[0]??Ne?.[0]?.id??"";L(Fe)}else{ie.date.action.setSelectedStartDate(K),ie.date.action.setSelectedEndDate(fe),ie.date.action.setError(!1);const Fe=Le?.[0]??Ze?.[0]?.id??Ne?.[0]?.id??"";z(Fe);const ge=Ze?.find(Se=>Se.id===Fe)??Ne?.find(Se=>Se.id===Fe);ge?.color&&ie.colorField.actions.changeValue(ge.color)}Pe.handleOpen()}function _(){A("event")}function te(){ie.date.action.setError(!1),ue.date.action.setError(!1),F("edit")}function le(b){const{startAt:N,endAt:P}=At(b),K={...b,kind:"event",startAt:N,endAt:P,details:b?.details??""};S("event"),w(K),k(null);const Z=K.calendarId||Ze?.[0]?.id||Ne?.[0]?.id||"";z(Z),F("view"),ie.date.action.setError(!1),ue.date.action.setError(!1),Pe.handleOpen()}async function pe(b){if(!v)return;let N;if(b)N={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,sharedWith:b.sharedWith||[],notifications:(b.notifications||[]).map(Z=>({id:Ot(),timeValue:Z.value,timePeriod:Z.type,sendToContact:Z.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const Z=ie.create();if(!Z.title){E({open:!0,message:g("global.nameRequired"),severity:"error"});return}N={...Z,startAt:new Date(Z.startAt),endAt:new Date(Z.endAt),contactId:Z.relatedContactId||m||null,eventTypeId:"",repeatId:"",notifications:Z.notifications.map(fe=>({...fe,id:fe.id||Ot()}))}}const P=V;if(!P){E({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const K={...N,calendarId:P};ce(!0);try{E({open:!0,message:g("global.savingChanges"),severity:"info"});const Z=await ud(v,K);Le.includes(P)||xt(fe=>[...fe,P]),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("created","event",Z),ie.resetFields(),qe()}catch(Z){console.error("Error creando evento:",Z);const fe=Z?.response?.data?.message||Z?.message||g("global.errorSavingChanges");E({open:!0,message:fe,severity:"error"})}finally{ce(!1)}}async function oe(){if(!j?.id)return;const b=ie.create(),N=V||j.calendarId||"";if(!N){E({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}j.originalOccurrenceDate!=null?(Ee(()=>async P=>{await re(b,N,P)}),he(!0)):await re(b,N,!1)}async function re(b,N,P){const K=j?.originalOccurrenceDate!=null,Z={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:N,notifications:b.notifications,sharedWith:b.sharedWith,relatedContact:b.relatedContactId?{id:b.relatedContactId,name:ie.linkContact.state.selectedContacts[0]?.name??""}:null};(P||!K)&&(Z.rule=b.rule);const fe=qt(j),Fe={updatedActivity:Z,activityId:fe};K&&!P&&(Fe.originalOccurrenceDate=j.originalOccurrenceDate),Ye(!0);try{const ge=await _n(v,Fe);ge&&(w(ge),ge.calendarId&&z(ge.calendarId)),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("updated","event",ge),qe(),vt()}catch(ge){console.error("Error actualizando evento:",ge);const Se=ge?.response?.data?.message||ge?.message||g("global.errorSavingChanges");E({open:!0,message:Se,severity:"error"})}finally{Ye(!1)}}async function De(b){he(!1),ee&&(await ee(b),Ee(null))}async function xe(){j?.originalOccurrenceDate!=null?me(!0):(ae("event"),R(!0))}async function Ce(){if(v)if(R(!1),Y==="event")try{const b=qt(j);qe(),await Na(v,b),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:b}),vt()}catch(b){console.error("Error deleting event:",b);const N=b?.message?.includes("duplicate key")?g("global.eventAlreadyDeleted","El evento ya fue eliminado"):g("global.errorSavingChanges");E({open:!0,message:N,severity:"error"})}else{if(!D?.id)return;try{const b=Yt(D.id),N=D.calendarId;qe(),await md(v,b),k(null),ue.resetFields(),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:b}),N&&ut(N)}catch(b){console.error("Error deleting task:",b);const N=b?.message?.includes("duplicate key")?g("global.taskAlreadyDeleted","La tarea ya fue eliminada"):g("global.errorSavingChanges");E({open:!0,message:N,severity:"error"})}}}async function Ve(b){me(!1);const N=qt(j);qe();try{b?await Na(v,N):await Na(v,N,j.originalOccurrenceDate),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:N}),vt()}catch(P){console.error("Error deleting recurring event:",P);const K=P?.message?.includes("duplicate key")?g("global.eventAlreadyDeleted","El evento ya fue eliminado"):g("global.errorSavingChanges");E({open:!0,message:K,severity:"error"})}}async function it(){if(!v)return;const b=qt(j);await pd(v,b),qe()}async function et(b,N,P){const K=N instanceof Date?N:new Date(N),Z=P instanceof Date?P:new Date(P),fe=K.toISOString(),Fe=Z.toISOString(),ge=b.kind==="task";!ge&&b.originalOccurrenceDate!=null?(w(b),Ee(()=>async Se=>{await Ae(b,fe,Fe,K,Z,ge,Se)}),he(!0)):await Ae(b,fe,Fe,K,Z,ge,!1)}async function Ae(b,N,P,K,Z,fe,Fe){fe||bt.setEvents(ge=>ge.map(Se=>Se.id===b.id?{...Se,start:K,end:Z,startAt:K,endAt:Z}:Se)),E({open:!0,message:g("global.savingChanges"),severity:"info"});try{if(fe){const ge=Yt(b.id),Se={title:b.title,description:b.description,startAt:N,endAt:P,calendarId:b.calendarId,allDay:b.allDay||!1,isCompleted:b.isCompleted||!1};await Vn(v,ge,Se),await ut(b.calendarId)}else{const ge=qt(b),Se=b.originalOccurrenceDate!=null,_a={title:b.title,details:b.details,startAt:new Date(N),endAt:new Date(P),allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:b.calendarId};(Fe||!Se)&&(_a.rule=b.rule);const Va={updatedActivity:_a,activityId:ge};Se&&!Fe&&(Va.originalOccurrenceDate=b.originalOccurrenceDate),await _n(v,Va)}E({open:!0,message:g("global.changesSaved"),severity:"success"}),vt()}catch{fe||bt.setEvents(ge=>ge.map(Se=>Se.id===b.id?{...Se,start:b.start,end:b.end}:Se)),E({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}function Bt(b,N){A("event",b,N)}function na(){Ue.nameField.actions.resetValue(),Ue.handleColorChange("#ffffff"),Ue.shareWithUsers.action.resetField(),Ue.handleGoogleCalendarChange(null)}function ra(){na(),U(null),H("create"),nt.handleClose()}function br(b){Ue.nameField.actions.changeValue(b.title??""),Ue.nameField.actions.onSuccess(),Ue.handleColorChange(b.color??"#ffffff"),Ue.shareWithUsers.action.setUserIds(b.sharedWith??[]),Ue.handleGoogleCalendarChange(b.googleCalendar??null)}function vr(){H("create"),U(null),na(),nt.handleOpen()}function Cr(b){H("edit"),U(b),br(b),nt.handleOpen()}async function Sr(){if(!v)return;const b=(Ue.nameField.attributes.value??"").trim();if(!b){E({open:!0,message:g("global.nameRequired"),severity:"error"});return}const N=Ue.shareWithUsers.field.userIds,P={title:b,color:Ue.color,sharedWith:N.length?N:void 0,googleCalendar:Ue.googleCalendar};try{if(ea)await xd(v,P);else{const K=W?.id;if(!K)return;await bd(v,K,P)}ra(),E({open:!0,message:g(ea?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Ft()}catch{E({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}async function jr(b){if(!v)return;let N;if(b?N={title:b.title,description:b.description||"",startAt:b.startAt,contactId:b.relatedContactId||null}:N=ue.create(),!N.title){E({open:!0,message:g("global.nameRequired"),severity:"error"});return}const P=T;if(!P){E({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const K={...N,calendarId:P,contactId:N.contactId||N.relatedContactId||m||null};Ge(!0);try{E({open:!0,message:g("global.savingChanges"),severity:"info"});const Z=await gd(v,K);Le.includes(P)||xt(fe=>[...fe,P]),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("created","task",Z),ue.resetFields(),qe()}catch(Z){console.error("Error creando tarea:",Z);const fe=Z?.response?.data?.message||Z?.message||g("global.errorSavingChanges");E({open:!0,message:fe,severity:"error"})}finally{Ge(!1)}}function wr(){A("task")}async function Tr(){if(!v||!D?.id)return;const b=ue.create();if(!b.title){E({open:!0,message:g("global.nameRequired"),severity:"error"});return}const N=T||D.calendarId;if(!N){E({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const P={title:b.title,description:b.description,startAt:b.startAt,endAt:b.endAt,calendarId:N,relatedContact:b.relatedContactId?{id:b.relatedContactId,name:ue.linkContact.state.selectedContacts[0]?.name??""}:null};ht(!0);try{const K=Yt(D.id),Z=await Vn(v,K,P);Z&&(k(Z),Z.calendarId&&L(Z.calendarId)),E({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("updated","task",Z),qe();const fe=D.calendarId,Fe=Z?.calendarId||N;ut(Fe),fe&&fe!==Fe&&ut(fe)}catch(K){console.error("Error actualizando tarea:",K);const Z=K?.response?.data?.message||K?.message||g("global.errorSavingChanges");E({open:!0,message:Z,severity:"error"})}finally{ht(!1)}}async function Ir(){D?.id&&(ae("task"),R(!0))}async function kr(){if(!v||!D?.id)return;const b=!D.isCompleted;try{const N=Yt(D.id),P=D.calendarId,K=await hd(v,N,b);K&&k(K),E({open:!0,message:g("global.changesSaved"),severity:"success"}),P&&ut(P)}catch{E({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}function Er(){const b=I==="event",N=b?j:D;if(!N)return;const P={...N};b?(w(null),F("create"),M(!0),setTimeout(()=>{if(ie.titleField.actions.changeValue(P.title??""),ie.descriptionField.actions.changeValue(P.details??P.description??""),ie.locationField.actions.changeValue(P.location??""),ie.colorField.actions.changeValue(P.color??""),ie.setAllDay(P.allDay??!1),ie.setIsPrivate(P.isPrivate??!1),ie.setRecurrenceRule(P.rule??""),ie.date.action.setSelectedStartDate(J(P.startAt)),ie.date.action.setSelectedEndDate(J(P.endAt)),ie.date.action.setError(!1),ie.notifications.action.resetNotifications(),P.relatedContact?.id&&ie.linkContact.action.handleSelectContact(P.relatedContact),P.sharedWith){const K=P.sharedWith.map(Z=>Z.id);ie.shareWithUsers.action.setUserIds(K)}z(P.calendarId??V)},50)):(k(null),F("create"),setTimeout(()=>{ue.titleField.actions.changeValue(P.title??""),ue.descriptionField.actions.changeValue(P.description??""),ue.date.action.setSelectedStartDate(J(P.startAt)),ue.date.action.setSelectedEndDate(J(P.startAt)),ue.date.action.setError(!1),P.relatedContact?.id&&ue.linkContact.action.handleSelectContact(P.relatedContact),L(P.calendarId??T)},50))}function Dr(b){const{startAt:N,endAt:P}=At(b),K={...b,kind:"task",startAt:N,endAt:P,description:b?.description??""};S("task"),k(K),L(K.calendarId??""),z(K.calendarId??""),w(null),F("view"),ie.date.action.setError(!1),ue.date.action.setError(!1),Pe.handleOpen()}function Ar(b){return b?.kind==="task"?Dr(b):le(b)}l.useEffect(()=>{try{Le&&localStorage.setItem(aa,JSON.stringify(Le))}catch{}},[Le]),l.useEffect(()=>{Ne?.length&&xt(b=>{const N=new Set(Ne.map(K=>K.id)),P=(b??[]).filter(K=>N.has(K));return P.length?P:Ne.map(K=>K.id)})},[Ne]),l.useEffect(()=>{try{localStorage.setItem(Xt,yt)}catch{}},[yt]);const Fr={eventDialog:{...Pe,handleClose:qe},dialogMode:B,createCalendarDialog:nt,event:ie,calendar:Ue,events:bt,handleCreateEvent:pe,handleSelectEvent:Ar,handleOpenEventCreate:_,handleStartEditingEvent:te,handleSaveUpdatedEvent:oe,handleEndEvent:it,handleDeleteEvent:xe,handleResizeEvent:et,selectedEvent:j,savingSnackbar:$,handleCloseSnackbar:Sa,dialogType:I,setDialogType:S,handleOpenTaskCreate:wr,handleOpenCreateFromSlot:Bt,handleCloseCreateCalendarDialog:ra,calendarDialogMode:Q,editingCalendar:W,handleOpenCreateCalendarDialog:vr,handleOpenEditCalendarDialog:Cr,handleSubmitCalendar:Sr,tasks:Dt,activeCalendarIds:Le,setActiveCalendarIds:xt,handleCreateTask:jr,task:ue,selectedTask:D,taskCalendarId:T,setTaskCalendarId:L,eventCalendarId:V,setEventCalendarId:z,userManuallyChangedColor:G,setUserManuallyChangedColor:M,myCalendars:Ze,otherCalendars:ja,isLoadingCalendars:It,isCreatingEvent:q,isUpdatingEvent:ye,isDeletingEvent:X,isCreatingTask:_e,isUpdatingTask:de,isDeletingTask:dt,handleSaveUpdatedTask:Tr,handleDeleteTask:Ir,handleToggleTaskCompleted:kr,handleDuplicateItem:Er,calendarView:yt,setCalendarView:Tt,calendarDate:ct,setCalendarDate:Qt,navigateToDate:Zt,confirmDeleteDialog:{open:O,handleClose:()=>R(!1),itemType:Y},handleConfirmDelete:Ce,deleteRecurringDialog:{open:ne,handleClose:()=>me(!1)},handleConfirmDeleteRecurring:Ve,editRecurringDialog:{open:je,handleClose:()=>{he(!1),Ee(null)}},handleConfirmEditRecurring:De,hiddenTabs:p};return t.jsx(sd,{t:g,children:t.jsx(Ra.Provider,{value:Fr,children:e})})},ha=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),La=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),za=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),wt="DD/MM/YYYY",ya="HH:mm",jd=({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 g=Math.floor(p/60),I=p%60;return g===0?`${I} min`:I===0?`${g} h`:`${g}.${Math.round(I/60*10)} h`},[p]),y=g=>{if(!g)return;const I=g.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),S=g.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),r(S)},h=g=>{if(!g)return;const I=g.hour(0).minute(0).second(0).millisecond(0);n(I)},x=g=>{if(!g)return;const I=g.hour(23).minute(59).second(59).millisecond(999);r(I)},C=g=>{if(!g)return;const I=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0),S=I.add(p,"minute");n(I),r(S)},v=g=>{if(!g)return;let I=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),r(I)};return i?t.jsxs(ha,{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(wt)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(wt)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(wt)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(ya)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ya)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",m,")"]})]})]})]}):t.jsxs(ha,{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(La,{children:[t.jsx(Je.DatePicker,{disabled:i,format:wt,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:h,minDate:J(),sx:{flex:1}}),t.jsx(za,{variant:"body1",children:"\u2013"}),t.jsx(Je.DatePicker,{disabled:i,format:wt,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:a,onChange:x,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:wt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:y,minDate:J()})}),t.jsxs(La,{children:[t.jsx(Je.TimePicker,{disabled:i,format:ya,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:C,sx:{alignSelf:"baseline",flex:1}}),t.jsx(za,{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:ya,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.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 Oe=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Oa=({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(Oe,{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(Oe,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:i})})},wd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),Td=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"4px 0px"})),Hn=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),Id=s.styled(s.TextField)(()=>({width:"13%"})),kd=s.styled(s.Select)(()=>({width:"23%"})),Ed=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),Dd=s.styled(s.IconButton)(()=>({ml:"auto",color:"error"})),Gn=[{title:"minute",value:ia.EventNotificationPeriod.MINUTE},{title:"hour",value:ia.EventNotificationPeriod.HOUR},{title:"day",value:ia.EventNotificationPeriod.DAY}],Ad=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:o,disabled:i=!1})=>{const d=$e(),c=e.timeValue??0;return i?t.jsxs(Td,{children:[t.jsx(Hn,{children:t.jsxs(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:[d("calendarView.reminders.sendReminder.pt1")," ",c," ",d(`calendarView.reminders.timePeriod.${Gn.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(wd,{children:[t.jsxs(Hn,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(Id,{disabled:i,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(kd,{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:Gn.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(Ed,{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(Dd,{disabled:i,onClick:()=>o(e.id),sx:{ml:"auto"},children:t.jsx(sa,{})})]})]})},Fd=s.styled(s.Box)`
|
|
16
|
+
<%s key={someKey} {...props} />`,$t,et,sa,et),Ft[et+$t]=!0}}return f===r?Qe(Se):wa(Se),Se}}function Ta(f,F,O){return Ze(f,F,O,!0)}function Ct(f,F,O){return Ze(f,F,O,!1)}var pt=Ct,Bt=Ta;Ot.Fragment=r,Ot.jsx=pt,Ot.jsxs=Bt})()),Ot}process.env.NODE_ENV==="production"?Da.exports=ss():Da.exports=is();var t=Da.exports;rs(t);const os=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}),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:i=!1,onError:o,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(h=>C=>{try{if(C.preventDefault(),C.stopPropagation(),!h)throw new Error("Navigation URL is required");C.ctrlKey||C.metaKey||C.button===1?window.open(h,"_blank","noopener,noreferrer"):r(h)}catch(v){o?.(v instanceof Error?v:new Error("Navigation failed"))}},[r,o]),p=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),m=u(`/a/conversations/conversations?contactId=${n}`),x=a||"Unknown Contact",y=`Avatar for ${x}`;return t.jsxs(ls,{children:[t.jsxs(os,{children:[t.jsx(an,{color:"info",size:"small",onClick:h=>{p(h),d()},onMouseDown:h=>{h.button===1&&(p(h),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Mr,{fontSize:"small"})}),t.jsx(an,{color:"info",size:"small",onClick:h=>{m(h),d()},onMouseDown:h=>{h.button===1&&(m(h),d())},"aria-label":"Go to conversations",children:t.jsx(Ur,{fontSize:"small"})})]}),i?t.jsx(us,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(ds,{src:e,alt:y,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(cs,{variant:"h6",title:x,children:x})]})},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%"}),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 i=o=>t.jsx(ms,{children:t.jsxs(ys,{children:[t.jsx(hs,{children:e}),t.jsxs(xs,{children:[t.jsx(s.Tooltip,{title:o.address,arrow:!0,placement:"top",children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"semi-bold",fontSize:14,color:"text.primary",sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",cursor:"default"},children:o.address})}),o.profileName&&t.jsx(s.Typography,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:o.profileName})]}),o.note&&t.jsx(bs,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.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(i)]})},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%"}),ws=s.styled(s.Typography)({fontSize:14}),Ts=s.styled(Be.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Is=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),r=(i,o)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(d=>r(d,o)).join(", ");if(typeof i=="string"){const d=ft(i,ft.ISO_8601).isValid(),c=u=>ft(i).format(u);switch(o){case ae.ContactField_type.TIME:return d?c("HH:mm"):i;case ae.ContactField_type.DATE:return d?c("DD/MM/YYYY"):i;case ae.ContactField_type.TIMERANGE:case ae.ContactField_type.DATERANGE:if(d)return o===ae.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=i.split(" ");if(u.length===2){const[p,m]=u,x=o===ae.ContactField_type.TIMERANGE?ft(p).format("HH:mm"):ft(p).format("DD/MM/YYYY"),y=o===ae.ContactField_type.TIMERANGE?ft(m).format("HH:mm"):ft(m).format("DD/MM/YYYY");return`${x} - ${y}`}return i;default:return i}}return i};return t.jsxs(Cs,{children:[t.jsx(Ss,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,o)=>i.value.length>0&&t.jsxs(js,{children:[t.jsx(Ts,{}),t.jsxs(ws,{children:[n(i.nameKey),":"," ",r(i.value,i.type)]})]},o))]})},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 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 Fs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Bs=({contactData:e,title:a})=>!e||!nn(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 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 $s=({name:e,memberId:a,navigate:n})=>{const r=`/a/conversations/conversations?contactId=${a}`,i=o=>{o.preventDefault(),o.stopPropagation(),o.ctrlKey||o.metaKey||o.button===1?window.open(r,"_blank","noopener,noreferrer"):n(r)};return t.jsx(s.Typography,{variant:"body2",color:"text.secondary",role:"link",tabIndex:0,sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:i,onMouseDown:o=>{o.button===1&&i(o)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(o)},children:e})},Ms=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Us=({contactData:e,title:a,navigate:n})=>!e||!rn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ms,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx($s,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var Ps="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={upload:"Upload photo",delete:"Delete photo"},Gs={from:"From",to:"To"},Ys={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"},Ks={labels:Ps,phone:Rs,business:Ns,businessMembers:Ls,properties:Os,view:zs,tags:_s,global:Ws,searchLocationModal:Vs,avatar:Hs,contactEdit:Gs,conversations:Ys,calendarView:qs},Js="Etiquetas",Xs="Tel\xE9fono",Qs="Empresa",Zs="Miembros de la empresa",ei="Propiedades",ti="Ver",ai="Etiquetas",ni={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"},ri={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"},si={upload:"Subir foto",delete:"Eliminar foto"},ii={from:"Desde",to:"Hasta"},oi={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"}}},li={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"},di={labels:Js,phone:Xs,business:Qs,businessMembers:Zs,properties:ei,view:ti,tags:ai,global:ni,searchLocationModal:ri,avatar:si,contactEdit:ii,conversations:oi,calendarView:li};const ci={en:{translation:Ks},es:{translation:di}},zt=Pr.createInstance();zt.use(Ke.initReactI18next).init({resources:ci,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const sn=(e="",a="",n=Mt.Spaces.nameFormat.FIRST_LAST)=>{const r=e?.trim()||"",i=a?.trim()||"";switch(n){case Mt.Spaces.nameFormat.FIRST_LAST:return`${r} ${i}`.trim();case Mt.Spaces.nameFormat.LAST_FIRST:return`${i} ${r}`.trim();case Mt.Spaces.nameFormat.FIRST_COMMA_LAST:return r&&i?`${r}, ${i}`:r||i;case Mt.Spaces.nameFormat.LAST_COMMA_FIRST:return r&&i?`${i}, ${r}`:i||r;default:return`${r} ${i}`.trim()}},ui=s.styled(s.Box)(({theme:e})=>({backgroundColor:e.palette.background.panel,boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.1)",borderRadius:"8px",width:300,maxHeight:"calc(100vh - 500px)",overflowY:"auto",transition:"opacity 0.3s ease, transform 0.3s ease",padding:"8px",zIndex:1300,"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{background:"#E0E0E0",borderRadius:10},"&::-webkit-scrollbar-thumb":{background:"#9E9E9E",borderRadius:10,transition:"background 0.3s"},"&::-webkit-scrollbar-thumb:hover":{background:"#616161"}})),pi=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:i,navigate:o,language:d="en",contactNameFormat:c})=>{const{t:u,i18n:p}=Ke.useTranslation();l.useEffect(()=>{d&&p.changeLanguage(d)},[d,p]);const m=u,x=rn(r),y=nn(r),h=r?y?sn(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=g=>{g.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(ui,{children:t.jsxs(s.CardContent,{children:[t.jsx(ps,{navigate:o,contactId:r?.id,imgUrl:i,name:h,onClose:n,isBusiness:x}),t.jsx(As,{contactData:r,title:m("labels")}),y&&t.jsx(Bs,{contactData:r,title:m("business")}),x&&t.jsx(Us,{contactData:r,title:m("businessMembers"),navigate:o}),C.map((v,g)=>t.jsx(vs,{icon:v.icon,title:v.title,contactList:v.contactList,showTitle:v.showTitle},g)),t.jsx(Is,{properties:r?.properties,title:m("properties")})]})})})})},on=e=>t.jsx(Ke.I18nextProvider,{i18n:zt,children:t.jsx(pi,{...e})}),ln=e=>e,dn=l.createContext(ln),fi=({t:e,children:a})=>t.jsx(dn.Provider,{value:e,children:a}),ve=()=>{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)},gi=({tags:e,onEditTags:a})=>{const n=ve(),[r,i]=l.useState(null),o=l.useMemo(()=>e??[],[e]),d=o.slice(0,4),c=Math.max(o.length-d.length,0),u=x=>{i(x.currentTarget)},p=()=>{i(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","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[d.map(x=>t.jsx(s.Chip,{label:x.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},x.id)),c>0?t.jsx(s.Chip,{label:`+${c}`,size:"small",variant:"outlined",onClick:u,sx:{borderRadius:999}}):null]}),t.jsx(s.IconButton,{className:"tags-action",size:"small","aria-label":o.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:x=>x.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:o.length?t.jsx(Ut,{fontSize:"small"}):t.jsx(Rr,{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:o.map(x=>t.jsx(s.Chip,{label:x.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},x.id))})]})})]})},cn=l.createContext(null),mi=cn.Provider,ot=()=>l.useContext(cn),hi=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),yi=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),xi=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),bi=s.styled(s.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),vi=({displayName:e,contactType:a,firstName:n,lastName:r,name:i,entityId:o,onEntityUpdated:d})=>{const c=ot(),[u,p]=l.useState(!1),[m,x]=l.useState(!1),[y,h]=l.useState({firstName:n||"",lastName:r||"",name:i||""});l.useEffect(()=>{h({firstName:n||"",lastName:r||"",name:i||""})},[n,r,i]);const C=async()=>{if(!(!c||!o||!a||a==="unknown")){x(!0);try{let g={};a==="contact"?g={firstName:y.firstName,lastName:y.lastName}:a==="business"&&(g={name:y.name});const w=await c.updateEntity({entityType:a,entityId:o,body:g});w&&d&&d(w),p(!1)}catch(g){console.error("Failed to update name",g)}finally{x(!1)}}},v=a==="contact"||a==="business";return u?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(s.TextField,{value:y.firstName,onChange:g=>h({...y,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:y.lastName,onChange:g=>h({...y,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:y.name,onChange:g=>h({...y,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:C,disabled:m,color:"primary",children:m?t.jsx(s.CircularProgress,{size:24}):t.jsx(Be.Save,{})})]}):t.jsx(yi,{children:t.jsxs(xi,{children:[t.jsx(hi,{variant:"h6",title:e,children:e}),v&&t.jsx(bi,{size:"small",onClick:()=>p(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Be.Edit,{fontSize:"small"})})]})})},Ci=({src:e,alt:a,onError:n,onUpload:r,onDelete:i,isUploading:o,isDeleting:d})=>{const c=ve();return t.jsxs(s.Box,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(s.Avatar,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(s.Box,{className:"avatar-actions",sx:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",gap:.5,bgcolor:"rgba(0, 0, 0, 0.35)",opacity:0,pointerEvents:"none",transition:"opacity 0.2s ease-in-out"},children:[t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.upload"),onClick:r,disabled:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Nr,{fontSize:"small"})}),t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.delete"),onClick:i,disabled:!!d,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(oa,{fontSize:"small"})})]})]})},Si=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),ji=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:m,contactType:x,firstName:y,lastName:h,name:C,entityId:v,onEntityUpdated:g})=>{const w=`Avatar for ${a}`;return t.jsxs(Si,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(Ci,{src:e,alt:w,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:p,isDeleting:m}),t.jsx(vi,{displayName:a,contactType:x,firstName:y,lastName:h,name:C,entityId:v,onEntityUpdated:g}),t.jsx(gi,{tags:r,onEditTags:i})]})},Aa=20,wi=e=>{const{popperContainer:a,...n}=e;return t.jsx(Lr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Ti=({value:e,options:a,onChange:n,onBack:r,onSave:i,isSaving:o,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=ve(),[m,x]=l.useState(""),[y,h]=l.useState(Aa),C=l.useDeferredValue(m),v=l.useMemo(()=>a??[],[a]),g=l.useMemo(()=>{const D=String(C??"").trim().toLowerCase();return D?v.filter(U=>String(U?.name??"").toLowerCase().includes(D)):v},[v,C]),w=l.useMemo(()=>g.slice(0,y),[g,y]),j=l.useMemo(()=>{const D=new Map;for(const U of e??[])U?.id&&D.set(String(U.id),U);for(const U of w??[])U?.id&&(D.has(String(U.id))||D.set(String(U.id),U));return Array.from(D.values())},[e,w]),T=(D,U)=>{x(U??""),h(Aa)},I=D=>{const U=D;U.scrollTop+U.clientHeight>=U.scrollHeight-24&&h(M=>M+Aa)},A=()=>{const D=String(m??"").trim(),U=!D||o||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(tt.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:o,children:t.jsx(ka,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:p("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(tt.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(gt,{}),onClick:i,loading:o,disabled:o,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(D,U)=>n(U),options:j,filterOptions:D=>D,inputValue:m,onInputChange:T,getOptionLabel:D=>D?.name??"",isOptionEqualToValue:(D,U)=>String(D?.id)===String(U?.id),PopperComponent:D=>t.jsx(wi,{...D,popperContainer:u}),renderOption:(D,U)=>{const{key:M,...k}=D;return l.createElement("li",{...k,key:U?.id?String(U.id):String(M??U?.name??"")},U.name??"")},renderTags:(D,U)=>D.map((M,k)=>{const R=U({index:k}),{key:z,...L}=R;return t.jsx(s.Chip,{label:M.name??"",...L},M?.id?String(M.id):String(z??M?.name??k))}),size:"small",renderInput:D=>t.jsx(s.TextField,{...D,size:"small"}),ListboxProps:{onScroll:I,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(A,{}),sx:{width:"100%"}})]})};var Ii=Object.defineProperty,ki=(e,a,n)=>a in e?Ii(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,un=(e,a,n)=>ki(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 Oe({url:e,method:a="GET",headers:n,body:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new pn(c,o.status,d)}return d}async function Ei({url:e,method:a="POST",headers:n,formData:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:r,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new pn(c,o.status,d)}return d}function Te(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function Re(e,a){const n=encodeURIComponent(a);return{CONTACTS:Te(e,`/contacts/${n}`),MEDIA:Te(e,`/media/${n}`),SETTINGS:Te(e,`/settings/${n}`)}}async function Di({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),i=Te(r.CONTACTS,"/labels");return Oe({url:i,signal:n})}async function fn({baseUrl:e,spaceId:a,name:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/labels");return Oe({url:o,method:"POST",body:{name:n},signal:r})}async function Ai({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Oe({url:o,signal:r})}async function Fi({baseUrl:e,spaceId:a,businessId:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Oe({url:o,signal:r})}async function Bi({baseUrl:e,spaceId:a,forType:n,signal:r}){const i=Re(e,a),o=`${Te(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Oe({url:o,signal:r})}async function Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Re(e,a),u=Te(c.CONTACTS,d);return Oe({url:u,method:"PUT",body:i,signal:o})}async function $i({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/Search");return Oe({url:o,method:"POST",body:n,signal:r})}async function Mi({baseUrl:e,spaceId:a,business:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/business");return Oe({url:o,method:"POST",body:n,signal:r})}async function da({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/contactAddresses");return Oe({url:o,method:"DELETE",body:n,signal:r})}async function Ui({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/contactAddresses/check");return Oe({url:o,method:"POST",body:n,signal:r})}async function Pi({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,"/contactAddresses/set");return Oe({url:o,method:"POST",body:n,signal:r})}async function Ri({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Re(e,a),o=Te(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Oe({url:o,method:"PUT",body:n,signal:r})}async function gn({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),i=Te(r.SETTINGS,"/user");return Oe({url:i,signal:n})}async function Ni({baseUrl:e,spaceId:a,signal:n}){const r=Re(e,a),i=Te(r.SETTINGS,"/users");return Oe({url:i,signal:n})}async function Li({baseUrl:e,spaceId:a,signal:n,userId:r}){const i=Re(e,a),o=Te(i.SETTINGS,`/usersInfo/${r}`);return Oe({url:o,signal:n})}async function mn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i}){const o=Re(e,a),d=new FormData;d.append("file",r,r.name);const c=Te(o.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Ei({url:c,formData:d,signal:i})}const hn=(e,a)=>({fetchLabels:({signal:n}={})=>Di({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})=>Ai({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>Fi({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>$i({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>Mi({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>Bi({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:i,signal:o})=>Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}),deleteAddress:({data:n,signal:r})=>da({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>da({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>Ui({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>Pi({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Ri({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>gn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>Ni({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>Li({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:i})=>mn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i})}),yn=()=>!!window?.google?.maps?.places?.Autocomplete,Oi=(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)}),zi=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[i,o]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await Oi(1e4);a(d),d||o("Google Maps API failed to load")}catch{o("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},_i=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=ve(),i=l.useRef(null),o=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:m}=zi(),x=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||!i.current||o.current)return;const y=window?.google;if(!y?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let h=null;const C=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const w=g;w.style.zIndex="20000",w.style.position="fixed"})};h=new MutationObserver(g=>{for(const w of g)for(const j of Array.from(w.addedNodes)){if(j.nodeType!==Node.ELEMENT_NODE)continue;const T=j;T.classList?.contains("pac-container")&&(T.style.zIndex="20000",T.style.position="fixed")}}),h.observe(document.body,{childList:!0,subtree:!0}),C(),window.setTimeout(C,100),o.current=new y.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=o.current.addListener?.("place_changed",()=>{const g=o.current?.getPlace?.();if(!g?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let w="",j="",T="",I="",A="",D="";const U=g.address_components??[];for(const z of U){const L=z?.types??[];if(L.includes("locality")||L.includes("administrative_area_level_2")){w=z.long_name;continue}if(L.includes("administrative_area_level_1")){j=z.long_name;continue}if(L.includes("country")){T=z.long_name;continue}if(L.includes("postal_code")){I=z.long_name;continue}if(L.includes("route")){A=z.long_name;continue}L.includes("street_number")&&(D=z.long_name)}const M=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,k=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,R={location:{lat:M,lng:k},address:g.formatted_address??"",city:w,state:j,country:T,postalCode:I,streetName:A,streetNumber:D,shortAddress:[A,D].filter(Boolean).join(" ")};d.current(R)});return()=>{h&&h.disconnect(),v?.remove&&v.remove(),o.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:x,disabled:p||!u||!!m,error:!!m})},Wi={street:"",city:"",state:"",zipcode:"",country:""},Vi=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:i,onEntityUpdated:o})=>{const d=ve(),[c,u]=l.useState(Wi),[p,m]=l.useState(""),[x,y]=l.useState(""),[h,C]=l.useState(!1),[v,g]=l.useState(!1),w=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),j=M=>{m(M.address??"");const k=String(M.shortAddress??"").trim()||[M.streetName,M.streetNumber].filter(Boolean).join(" ").trim();u({street:k,city:M.city??"",state:M.state??"",zipcode:M.postalCode??"",country:M.country??""}),y("")},T=M=>{y(String(M??""))},I=M=>k=>{const R=k.target.value;u(z=>({...z,[M]:R}))},A=async()=>{if(!h&&!(!e||!a)&&r){C(!0);try{const M=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address1:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(M),i()}finally{C(!1)}}},D=async()=>{if(!v&&!(!e||!a)&&r){g(!0);try{const M=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address2:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(M),i()}finally{g(!1)}}},U=!w||h||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:i,"aria-label":d("global.back"),children:t.jsx(ka,{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(_i,{onPlaceSelected:j,onError:T,placeholder:d("searchLocationModal.enterLocation")}),x?t.jsx(s.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:x}):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(tt.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(gt,{}),onClick:A,loading:h,disabled:U,children:d("searchLocationModal.saveMainAddress")}),t.jsx(tt.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(gt,{}),onClick:D,loading:v,disabled:U,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Fa(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 Hi({open:e,baseUrl:a,spaceId:n,contactId:r,contactNameFormat:i}){const o=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||(o.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 m=l.useMemo(()=>!!(e&&d),[e,d]);l.useEffect(()=>{if(!m||!d)return;const h=new AbortController;return u(C=>({...C,labelsLoading:!0,labelsError:null})),d.fetchLabels({signal:h.signal}).then(C=>{u(v=>({...v,labels:C,labelsLoading:!1,labelsError:null}))}).catch(C=>{h.signal.aborted||u(v=>({...v,labelsLoading:!1,labelsError:C}))}),()=>{h.abort()}},[d,m]),l.useEffect(()=>{if(!p||!d)return;o.current?.abort();const h=new AbortController;return o.current=h,u(C=>({...C,isLoading:!0,error:null,contactData:null})),d.fetchContact({contactId:r,signal:h.signal}).then(C=>{u(v=>({...v,isLoading:!1,error:null,contactData:C}))}).catch(C=>{h.signal.aborted||u(v=>({...v,isLoading:!1,error:C}))}),()=>{h.abort()}},[d,p,r]);const x=l.useMemo(()=>!!(e&&d),[e,d]);l.useEffect(()=>{if(!x||!d)return;const h=new AbortController;return u(C=>({...C,userLoading:!0,userError:null})),d.fetchUserTrii({signal:h.signal}).then(C=>{u(v=>({...v,userLoading:!1,userError:null,userTrii:C}))}).catch(C=>{h.signal.aborted||u(v=>({...v,userLoading:!1,userError:C}))}),()=>{h.abort()}},[d,x]);const y=l.useMemo(()=>{const h=c.contactData,C=Fa(h),v=xn(h);let g="unknown";C&&(g="business"),v&&(g="contact");let w="Unknown Contact";C?w=h.name:v&&(w=sn(h.firstName,h.lastName,i));const j=h?.tags??[];return{isBusiness:C,isContact:v,contactType:g,displayName:w,tags:j,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,i]);return l.useEffect(()=>{if(!e||!d)return;const h=c.contactData,C=Fa(h),v=xn(h),g=C?"business":v?"contact":null;if(!g)return;const w=new AbortController;return u(j=>({...j,contactFieldsLoading:!0,contactFieldsError:null})),d.fetchContactFields({forType:g,signal:w.signal}).then(j=>{u(T=>({...T,contactFields:j,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(j=>{w.signal.aborted||u(T=>({...T,contactFieldsLoading:!1,contactFieldsError:j}))}),()=>{w.abort()}},[d,e,c.contactData]),{state:c,selectors:y,actions:{setContactData:h=>u(C=>({...C,contactData:h??null})),clearError:()=>u(h=>({...h,error:null}))}}}const _t=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:i,onEntityUpdated:o})=>{const[d,c]=l.useState(i??""),[u,p]=l.useState(null),[m,x]=l.useState(!1),[y,h]=l.useState(!1),C=l.useRef(null),v=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function g(k){return k.split("?sv=")[0]}function w(k){return k.split("&cacheId=")[0]}function j(k){let R=g(k);return!R||(R=w(R),!R)?"":R}const T=async()=>{if(!e||!a)return null;const k=await gn({baseUrl:e,spaceId:a});return p(k),k},I=async k=>{const R=(u??await T())?.storageAzureSAS,z=R?.expireAt,L=z?new Date(z):null;let H=R?.sas??"";if((!H||L&&L<new Date)&&(H=(await T())?.storageAzureSAS?.sas??""),!H)return k;const $=`${Date.now()}`;return`${k}${H}&cacheId=${$}`},A=async k=>{if(!k){c("");return}const R=g(k);if(!R)return;const z=await I(R);c(z)},D=async k=>{const R=k.target.files?.[0];if(R&&v){C.current&&(C.current.value=""),x(!0);try{const z=await mn({baseUrl:e,spaceId:a,contactId:r,file:R}),L=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:z}});o?.(L),await A(z)}finally{x(!1)}}},U=()=>{C.current?.click()},M=async()=>{if(v&&!y){h(!0);try{await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),o?.({imageUrl:""}),c("")}finally{h(!1)}}};return l.useEffect(()=>{if(!i){c("");return}A(i)},[i]),{inputAtributes:{onChange:D,ref:C,type:"file",accept:"image/*"},action:{uploadImage:U,deleteImage:M},imageUrl:d,removeParams:j,isUploading:m,isDeleting:y}},Ce=(e,a)=>{const[n,r]=l.useState(a||""),[i,o]=l.useState(!1),[d,c]=l.useState("");return l.useEffect(()=>{r(a||"")},[a]),{actions:{onError:u=>{o(!0),c(u)},onSuccess:()=>{o(!1),c("")},resetValue:()=>{r(a||"")},changeValue:u=>{r(u)}},attributes:{error:i,helperText:d,type:e,value:n,onChange:u=>{r(u.target.value)}}}},bn=(e="")=>{const[a,n]=l.useState(e),r=d=>{n(d.target.value)},i=d=>{n(d)},o=()=>{n(e??"")};return l.useEffect(()=>{n(e)},[e]),{actions:{resetValue:o,changeValue:i},attributes:{value:a,onChange:r}}};let ca;const Gi=new Uint8Array(16);function Yi(){if(!ca&&(ca=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ca))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ca(Gi)}const $e=[];for(let e=0;e<256;++e)$e.push((e+256).toString(16).slice(1));function qi(e,a=0){return $e[e[a+0]]+$e[e[a+1]]+$e[e[a+2]]+$e[e[a+3]]+"-"+$e[e[a+4]]+$e[e[a+5]]+"-"+$e[e[a+6]]+$e[e[a+7]]+"-"+$e[e[a+8]]+$e[e[a+9]]+"-"+$e[e[a+10]]+$e[e[a+11]]+$e[e[a+12]]+$e[e[a+13]]+$e[e[a+14]]+$e[e[a+15]]}const Ki=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var vn={randomUUID:Ki};function Wt(e,a,n){if(vn.randomUUID&&!a&&!e)return vn.randomUUID();e=e||{};const r=e.random||(e.rng||Yi)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,a){n=n||0;for(let i=0;i<16;++i)a[n+i]=r[i];return a}return qi(r)}function Ji(e){return{id:Wt(),address:"",note:"",channelType:e,isSaved:!1}}var ua={createNewAddress:Ji};const Xi=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Qi=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var wt={getEditedField:Xi,getAddressesWithUpdatedValues:Qi};const Cn=({entityId:e,initial:a,dispatch:n,deleteAddress:r})=>{const[i,o]=l.useState(!1),[d,c]=l.useState(()=>a),[u,p]=l.useState(a?.ims_facebook||[]),[m,x]=l.useState(a?.ims_mercadolibre||[]),[y,h]=l.useState(a?.ims_webchat||[]),[C,v]=l.useState(a?.ims_instagram||[]),[g,w]=l.useState(a?.ims_whatsapp||[]),[j,T]=l.useState(a?.emails||[]),[I,A]=l.useState(a?.phones||[]),[D,U]=l.useState(a?.ims_rcs||[]),M=()=>{const V=ua.createNewAddress(jt.ChannelType.PHONE),_=[...I,V];A(_)},k=()=>{const V=ua.createNewAddress(jt.ChannelType.EMAIL),_=[...j,V];T(_)},R=()=>{const V=ua.createNewAddress(jt.ChannelType.WHATSAPP),_=[...g,V];w(_)},z=()=>{const V=ua.createNewAddress(jt.ChannelType.RCS),_=[...D,V];U(_)},L=V=>{const _=[...g,V];w(_),c(S=>({...S??{},ims_whatsapp:_}))},H=(V,_)=>{if(_){if(_.channelType===3){const S=j.map(B=>B.id===V?_:B);T(S),c(B=>({...B??{},emails:S}))}if(_.channelType===5){const S=I.map(B=>B.id===V?_:B);A(S),c(B=>({...B??{},phones:S}))}if(_.channelType===13){const S=g.map(B=>B.id===V?_:B);w(S),c(B=>({...B??{},ims_whatsapp:S}))}if(_.channelType===21){const S=D.map(B=>B.id===V?_:B);U(S),c(B=>({...B??{},ims_rcs:S}))}if(_.channelType===41){const S=m.map(B=>B.id===V?_:B);x(S),c(B=>({...B??{},ims_mercadolibre:S}))}}},$=async(V,_,S)=>{const B=V.target.value;if(S===3){const E=wt.getAddressesWithUpdatedValues(B,_,j);T(E)}else if(S===5){const E=wt.getAddressesWithUpdatedValues(B,_,I);A(E)}else if(S===13){const E=wt.getAddressesWithUpdatedValues(B,_,g);w(E)}else if(S===21){const E=wt.getAddressesWithUpdatedValues(B,_,D);U(E)}else if(S===41){const E=wt.getAddressesWithUpdatedValues(B,_,m);x(E)}},X=(V,_,S)=>{if(S===14){const B=u.map(E=>E.id===_?{...E,note:V.target.value}:E);p(B)}if(S===20){const B=y.map(E=>E.id===_?{...E,note:V.target.value}:E);h(B)}if(S===16){const B=C.map(E=>E.id===_?{...E,note:V.target.value}:E);v(B)}if(S===3){const B=j.map(E=>E.id===_?{...E,note:V.target.value}:E);T(B)}if(S===5){const B=I.map(E=>E.id===_?{...E,note:V.target.value}:E);A(B)}if(S===13){const B=g.map(E=>E.id===_?{...E,note:V.target.value}:E);w(B)}if(S===21){const B=D.map(E=>E.id===_?{...E,note:V.target.value}:E);U(B)}if(S===41){const B=m.map(E=>E.id===_?{...E,note:V.target.value}:E);x(B)}},Z=async(V,_)=>{if(e&&(_===3||_===5||_===13||_===14||_===20||_===16||_===21||_===41)){o(V);const S={contactId:e,contactAddressId:V,type:_};switch(n?await n(r(S)):await r(S),o(!1),_){case 3:const B=j.filter(ee=>ee.id!==V);T(B),c(ee=>({...ee??{},emails:B}));break;case 5:const E=I.filter(ee=>ee.id!==V);A(E),c(ee=>({...ee??{},phones:E}));break;case 13:const W=g.filter(ee=>ee.id!==V);w(W),c(ee=>({...ee??{},ims_whatsapp:W}));break;case 21:const G=D.filter(ee=>ee.id!==V);U(G),c(ee=>({...ee??{},ims_rcs:G}));break;case 41:const se=m.filter(ee=>ee.id!==V);x(se),c(ee=>({...ee??{},ims_mercadolibre:se}));break;case 14:const ie=u.filter(ee=>ee.id!==V);p(ie),c(ee=>({...ee??{},ims_facebook:ie}));break;case 20:const je=y.filter(ee=>ee.id!==V);h(je),c(ee=>({...ee??{},ims_webchat:je}));break;case 16:const me=C.filter(ee=>ee.id!==V);v(me),c(ee=>({...ee??{},ims_instagram:me}));break}}};function ne(){p(d?.ims_facebook||[]),x(d?.ims_mercadolibre||[]),h(d?.ims_webchat||[]),v(d?.ims_instagram||[]),w(d?.ims_whatsapp||[]),U(d?.ims_rcs||[]),T(d?.emails||[]),A(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(T(a.emails),A(a.phones)),w(a?.ims_whatsapp||[]),U(a?.ims_rcs||[]),p(a?.ims_facebook||[]),h(a?.ims_webchat||[]),v(a?.ims_instagram||[]),x(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:D,imsMercadolibre:m,imsFacebooks:u,imsWebchats:y,imsInstagrams:C,emails:j,phoneNumbers:I},action:{handleAddressFieldChange:$,handleNoteFieldChange:X,handleDeleteAddress:Z,addPhone:M,addEmail:k,addWhatsapp:R,addRCS:z,replaceAddress:H,addWhatsappVerified:L,resetToInitialContactInformation:ne},state:{isDeletingAddress:i}}},Sn=({initialState:e=[]}={})=>{const[a,n]=l.useState(e);return{attributes:{value:a,onChange:(r,i)=>{const o=i.some(d=>!a.some(c=>d.id===c.id));(a.filter(d=>!i.some(c=>c.id===d.id)).length>0||o)&&n(i)}},actions:{addValue:r=>{n(i=>i.concat(r))},setValue:r=>{n(r)}}}},Zi=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async Y=>{!n||!r||await da({baseUrl:n,spaceId:r,data:Y})},[n,r]),o=async Y=>Y,[d,c]=l.useState([]),u=Ce("text",e?.name||""),p=_t({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),m=bn(e?.owner),x=Sn({initialState:e?.tags??[]}),[y,h]=l.useState([]),{field:{imsFacebooks:C,imsMercadolibre:v,imsWebchats:g,imsInstagrams:w,imsWhatsapp:j,emails:T,phoneNumbers:I,imsRCS:A},action:{addPhone:D,addEmail:U,addWhatsapp:M,addRCS:k,addWhatsappVerified:R,replaceAddress:z,handleAddressFieldChange:L,handleNoteFieldChange:H,handleDeleteAddress:$,resetToInitialContactInformation:X},state:{isDeletingAddress:Z}}=Cn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),ne=Ce("text",e?.address1?.street||""),V=Ce("text",e?.address2?.street||""),_=Ce("text",e?.address1?.city||""),S=Ce("text",e?.address2?.city||""),B=Ce("text",e?.address1?.state||""),E=Ce("text",e?.address2?.state||""),W=Ce("text",e?.address1?.zipcode||""),G=Ce("text",e?.address2?.zipcode||""),se=Ce("text",e?.address1?.country||""),ie=Ce("text",e?.address2?.country||""),je=(Y,pe,xe)=>pe!==xe&&!(pe===null&&xe==="")?{[Y]:xe}:{},me=()=>{if(!e)return null;const Y={street:ne.attributes.value,city:_.attributes.value,state:B.attributes.value,zipcode:W.attributes.value,country:se.attributes.value},pe={street:V.attributes.value,city:S.attributes.value,state:E.attributes.value,zipcode:G.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:x.attributes.value,properties:d,members:y,phoneNumbers:I,emails:T,address1:Y,address2:pe}};function ee(Y){if(!e)return;const pe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===Y)??e.properties.find(Q=>pe(Q.nameKey)===pe(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 Ee=()=>e?a.map(Y=>{const pe=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),xe=e.properties.find(Q=>Q.nameKey===Y.nameKey)??e.properties.find(Q=>pe(Q.nameKey)===pe(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(Ee())},[e,a]),l.useEffect(()=>{e&&x.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:j,imsRCS:A,contactImage:p,contactPropietary:m,imsMercadolibre:v,imsFacebooks:C,imsWebchats:g,imsInstagrams:w,emails:T,phoneNumbers:I,homeAddress:ne,secondaryHomeAddress:V,city:_,secondaryCity:S,state:B,secondaryState:E,postalCode:W,secondaryPostalCode:G,country:se,secondaryCountry:ie,customProperties:d,labelMultipleSelect:x},action:{setCustomProperties:c,addWhatsapp:M,addRCS:k,getEditedBusiness:me,handleAddressFieldChange:L,handleNoteFieldChange:H,handleDeleteAddress:$,addPhone:D,addEmail:U,replaceAddress:z,addWhatsappVerified:R,resetToInitialContactInformation:X,resetCustomProperty:ee},state:{isDeletingAddress:Z},selectedContacts:y,setSelectedContacts:h}},eo=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async Q=>{!n||!r||await da({baseUrl:n,spaceId:r,data:Q})},[n,r]),o=async Q=>Q,{getEditedField:d}=wt,[c,u]=l.useState([]),p=Ce("text",e?.firstName||""),m=Ce("text",e?.lastName||""),x=_t({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[y,h]=l.useState(e?.birthDate?K(e.birthDate):null),C=Cn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:v,imsMercadolibre:g,imsWebchats:w,imsInstagrams:j,imsWhatsapp:T,emails:I,phoneNumbers:A,imsRCS:D},action:{addPhone:U,addEmail:M,addWhatsapp:k,addRCS:R,addWhatsappVerified:z,replaceAddress:L,handleAddressFieldChange:H,handleNoteFieldChange:$,handleDeleteAddress:X,resetToInitialContactInformation:Z},state:{isDeletingAddress:ne}}=C,V=Sn({initialState:e?.tags}),_=bn(e?.owner),S=Ce("text",e?.address1?.street),B=Ce("text",e?.address2?.street),E=Ce("text",e?.address1?.city),W=Ce("text",e?.address2?.city),G=Ce("text",e?.address1?.state),se=Ce("text",e?.address2?.state),ie=Ce("text",e?.address1?.zipcode),je=Ce("text",e?.address2?.zipcode),me=Ce("text",e?.address1?.country),ee=Ce("text",e?.address2?.country),Ee=()=>{if(!e)return null;const Q=e,_e=V.attributes.value.map(ce=>({id:ce.id,name:ce.name})),We=A.map(ce=>{const{id:yt,...dt}=ce;return dt}),Ge=I.map(ce=>{const{id:yt,...dt}=ce;return dt});return{id:Q.id,owner:_.attributes.value,firstName:p.attributes.value,lastName:m.attributes.value,address1:{...d("street",Q.address1?.street,S.attributes.value),...d("city",Q.address1?.street,E.attributes.value),...d("state",Q.address1?.street,G.attributes.value),...d("zipcode",Q.address1?.street,ie.attributes.value),...d("country",Q.address1?.street,me.attributes.value)},address2:{...d("street",Q.address2?.street,B.attributes.value),...d("city",Q.address2?.street,W.attributes.value),...d("state",Q.address2?.street,se.attributes.value),...d("zipcode",Q.address2?.street,je.attributes.value),...d("country",Q.address2?.street,ee.attributes.value)},emails:Ge,phones:We,tags:_e,imageUrl:x.imageUrl?x.removeParams(x.imageUrl):null,properties:c,birthDate:y?.toDate()}};function Y(){e&&(!e.businessId||e.businessName)}function pe(){h(e?.birthDate?K(e.birthDate):null)}function xe(Q){if(!e)return;const _e=ce=>ce.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ce=>ce.nameKey===Q)??e.properties.find(ce=>_e(ce.nameKey)===_e(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 _e=ce=>ce.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),We=e.properties.find(ce=>ce.nameKey===Q.nameKey)??e.properties.find(ce=>_e(ce.nameKey)===_e(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&&V.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:y,imsWhatsapp:T,imsRCS:D,contactFirstname:p,contactLastname:m,contactImage:x,contactPropietary:_,imsMercadolibre:g,imsFacebooks:v,imsWebchats:w,imsInstagrams:j,emails:I,phoneNumbers:A,homeAddress:S,secondaryHomeAddress:B,city:E,secondaryCity:W,state:G,secondaryState:se,postalCode:ie,secondaryPostalCode:je,country:me,secondaryCountry:ee,customProperties:c,labelMultipleSelect:V},action:{setBirthDate:h,setCustomProperties:u,getEditedContact:Ee,handleAddressFieldChange:H,handleNoteFieldChange:$,handleDeleteAddress:X,addPhone:U,addEmail:M,addWhatsapp:k,addRCS:R,replaceAddress:L,addWhatsappVerified:z,resetToInitialContactInformation:Z,resetSelectedBusiness:Y,resetBirthDate:pe,resetCustomProperty:xe},state:{isDeletingAddress:ne}}},Ba=l.createContext(null),to=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=eo({contact:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Ba.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},ao=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=Zi({business:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Ba.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},no=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(to,{contact:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}):t.jsx(ao,{business:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}),at=()=>{const e=l.useContext(Ba);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(i=>i?.id===e);return r?.name?.trim()||r?.email||null},pa=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const i=ve();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(Or,{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]})},jn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),ro=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt.LocalizationProvider,{dateAdapter:Pt.AdapterDayjs,children:t.jsx(Nt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ga.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:r})})})},so={view:"main",setView:()=>{}},wn=l.createContext(null),io=wn.Provider,oo=()=>l.useContext(wn)||(console.warn("[useEditContactView] using noop, context value is missing"),so),Tn=()=>{},In=l.createContext(Tn),lo=({navigate:e,children:a})=>t.jsx(In.Provider,{value:e,children:a}),co=()=>l.useContext(In)||(console.warn("[useNavigateContext] using noop, context value is falsy"),Tn);function uo({value:e,displayValue:a,businessId:n}){const r=ot(),i=co(),[o,d]=l.useState(null),c=_t({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[m,x]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async y=>{const h=y.currentTarget;if(x(!0),!r){console.error("API is null");return}const C=await r.fetchBusiness({businessId:n});if(C&&Fa(C)&&d(C),x(!1),!h){console.error("Target element is null");return}p(h)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:y=>y.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(on,{contactData:o,open:!!u,anchorEl:u,onClose:()=>p(null),navigate:i,avatarImgUrl:c.imageUrl}),m&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const po=e=>"email"in e,$a=e=>e.entityType==="contact"&&e.inputType==="birthday",fo=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"}}),lt=e=>{const{title:a,value:n,isNotEditable:r,displayValue:i,baseUrl:o,spaceId:d,minWidth:c,onEntityUpdated:u}=e,p=ve(),{setView:m}=oo(),x=e.inputType??"text",[y,h]=l.useState(!1),[C,v]=l.useState(!1),g=l.useRef(null),[w,j]=l.useState(!1),[T,I]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const $=g.current;if(!$)return;const X=()=>{const Z=$.scrollWidth>$.clientWidth;j(ne=>ne===Z?ne:Z)};if(X(),typeof ResizeObserver<"u"){let Z=0;const ne=new ResizeObserver(()=>{if(typeof window>"u"){X();return}Z&&window.cancelAnimationFrame(Z),Z=window.requestAnimationFrame(()=>{X()})});return ne.observe($),()=>{typeof window<"u"&&Z&&window.cancelAnimationFrame(Z),ne.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",X),()=>{window.removeEventListener("resize",X)}},[a]),l.useEffect(()=>{e.entityType==="business"?I(n):I(typeof n=="string"?n:void 0)},[n,e.entityType]);const A=()=>{if(e.entityType==="contact"&&x==="selectBusiness"){m("businessSelect");return}h($=>!$)},D=$=>{I($.target.value)},U=$=>{const X=$.target.value;I(X)},M=()=>{$a(e)&&e.contact.action.resetBirthDate(),h(!1)},k=async()=>{if(!e.constructUpdateObject){h(!1);return}if(e.entityType==="business"&&T===void 0){h(!1);return}v(!0);try{if(!o||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let $=T===void 0?null:T;if($a(e)){const V=K(e.contact.field.birthDate);V.isValid()&&($=V.toISOString())}const X=e.constructUpdateObject($),Z=e.entityId??X?.id;if(!Z)throw new Error("Missing contactId for updateEntity");const ne=await Xe({baseUrl:o,spaceId:d,entityType:"contact",entityId:Z,body:X});u?.(ne)}else{const $=e.constructUpdateObject(T),X=e.entityId??$?.id;if(!X)throw new Error("Missing businessId for updateEntity");const Z=await Xe({baseUrl:o,spaceId:d,entityType:"business",entityId:X,body:$});u?.(Z)}}finally{v(!1),h(!1)}},R=typeof T=="string"?T:"",z=T instanceof Date?T.toISOString():typeof T=="string"?T:"",L=c??(e.entityType==="contact"?"45%":"200px"),H=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:$=>$.palette.mode==="dark"?"1e1e1e":$.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:L,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[w?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:y?1:0,color:$=>$.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:y?1:0,color:$=>$.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(kn,{size:"small",onClick:k,children:C?t.jsx(s.CircularProgress,{size:24}):t.jsx(gt,{})}),t.jsx(kn,{size:"small",onClick:M,children:t.jsx(Ya,{})})]}):t.jsx(fo,{className:"edit-icon",size:"small",onClick:A,children:t.jsx(Ut,{})})]}),t.jsx(s.Box,{width:y?"100%":"50%",position:"relative",children:y&&x==="text"?t.jsx(s.TextField,{value:z,onChange:D,variant:"standard",size:"small",sx:{width:"100%"}}):y&&(x==="select"||x==="selectMembers")?t.jsxs(s.Select,{value:R,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,H.map(($,X)=>t.jsx(s.MenuItem,{value:$.id,children:e.entityType==="contact"?$.name?.trim()||(po($)?$.email:"")||"Sin nombre":$.name?.trim()||$.email||"Sin nombre"},X))]}):y&&$a(e)?t.jsx(ro,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!y&&e.entityType==="contact"&&x==="selectBusiness"&&e.businessId?t.jsx(uo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(s.Typography,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:$=>$.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Vt=e=>{const{title:a,value:n,isNotEditable:r,options:i=[],displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:m,onEntityUpdated:x}=e;if(e.inputType==="birthday")return t.jsx(lt,{entityType:"contact",entityId:m,title:a,value:n,isNotEditable:r,inputType:"birthday",options:i,displayValue:o,constructUpdateObject:d,contact:e.contact,businessId:c,baseUrl:u,spaceId:p,dateFormat:e.dateFormat,onEntityUpdated:x});const y=e.inputType??"text";return t.jsx(lt,{entityType:"contact",entityId:m,title:a,value:n,isNotEditable:r,inputType:y,options:i,displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:x})},go=({nameKey:e,value:a,onChange:n,type:r,min:i,max:o})=>{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 C=h.target.value.replace(/[^0-9.-]/g,"");if(C===""||C==="-"){n(e,C);return}const v=Number(C);Number.isNaN(v)||n(e,C)},p=h=>{const C=h.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,x=()=>{if(!m()||a===""||a==null)return!1;const h=Number(a);return Number.isNaN(h)?!1:i!=null&&h<i||o!=null&&h>o},y=()=>{if(m()){if(i!=null&&o!=null)return`${i} - ${o}`;if(i!=null)return`min: ${i}`;if(o!=null)return`max: ${o}`}};return t.jsx(s.TextField,{size:"small",variant:"standard",value:a,onChange:d,error:x(),helperText:y(),inputProps:{pattern:"[0-9]*"},multiline:r===ae.ContactField_type.LONGTEXT,rows:r===ae.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},mo=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt.LocalizationProvider,{dateAdapter:Pt.AdapterDayjs,children:t.jsx(Nt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ga.DatePicker,{value:e?K(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},ho=({handleChange:e,value:a,options:n})=>{const r=ve();return t.jsx(s.FormControl,{className:"fadein",sx:{width:"100%"},children:t.jsxs(s.Select,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(s.MenuItem,{value:"",children:r("global.noValue")}),n.map((i,o)=>t.jsx(s.MenuItem,{value:i,children:i},o))]})})},yo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Rt.LocalizationProvider,{dateAdapter:Pt.AdapterDayjs,children:t.jsx(Nt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(zr.TimePicker,{value:e?K(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},xo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=ve(),i=[K().set("hour",0).set("minute",0),K().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(Rt.LocalizationProvider,{dateAdapter:Pt.AdapterDayjs,children:t.jsx(Nt,{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:o}})},value:e||i,onChange:d=>a(d),format:o})})})},bo=({value:e,handleChange:a,userDateFormat:n})=>{const r=ve(),i=[K(),K()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt.LocalizationProvider,{dateAdapter:Pt.AdapterDayjs,children:t.jsx(Nt,{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:o}})},value:e||i,onChange:d=>a(d),format:o})})})},vo=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"}})),Co=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})),So=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:i,userTrii:o,baseUrl:d,spaceId:c,onEntityUpdated:u})=>{const{customProperties:p}=a.field,{setCustomProperties:m}=a.action,[x,y]=l.useState(!1),[h,C]=l.useState(!1),v=l.useRef(null),[g,w]=l.useState(!1),j=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),T=o?.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,A=(S,B)=>S.toLowerCase()==="dni"?!0:I(B),D=(S,B,E)=>{if(E===""||E===null||E===void 0)return null;if(A(S,B)){const W=Number(E);return Number.isNaN(W)?E:W}return E},U=()=>y(S=>!S),M=()=>{y(!1),a.action.resetCustomProperty(e.nameKey)},k=async()=>{if(!d||!c||!r)return;C(!0);const S=p.find(ie=>ie.nameKey===e.nameKey)||e,{nameKey:B,value:E}=S,W=i.find(ie=>ie.nameKey===B)?.type??S.type;let G;if(W===ae.ContactField_type.TIME){const ie=K(E);ie.isValid()?G=ie.format(T==="24"?"HH:mm":"hh:mm"):G=E}else if(W===ae.ContactField_type.DATE){const ie=K(E);ie.isValid()?G=ie.toISOString():G=E}else G=D(B,W,E);const se={properties:[{nameKey:B,type:W,value:G}]};try{const ie=await Xe({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:se}),je=p.map(me=>me.nameKey===B?{...me,type:W,value:G}:me);m(je),u?.(ie)}finally{C(!1),y(!1)}},R=S=>i.find(B=>B.nameKey===S)?.name||S;l.useEffect(()=>{const S=v.current;if(!S)return;const B=()=>{const E=S.scrollWidth>S.clientWidth;w(W=>W===E?W:E)};if(B(),typeof ResizeObserver<"u"){let E=0;const W=new ResizeObserver(()=>{if(typeof window>"u"){B();return}E&&window.cancelAnimationFrame(E),E=window.requestAnimationFrame(()=>{B()})});return W.observe(S),()=>{typeof window<"u"&&E&&window.cancelAnimationFrame(E),W.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},[i,e.nameKey]);const z=(S,B)=>{const E=e.type===ae.ContactField_type.DATERANGE?Array.isArray(B)&&B[0]&&B[1]?`${K(B[0]).toISOString()} - ${K(B[1]).toISOString()}`:"":e.type===ae.ContactField_type.DATE?K(B).isValid()?K(B).toISOString():"Invalid Date":e.type===ae.ContactField_type.TIME?K(B).isValid()?K(B).toISOString():"Invalid Time":B,W=p.map(G=>G.nameKey===S?{...G,value:E}:G);m(W)},{type:L,nameKey:H,value:$}=e,X=S=>S==null?!1:typeof S=="string"?S.trim().length>0:!0,Z=(i.find(S=>S.nameKey===e.nameKey)?.requiredField??!1)&&!X($),ne=[ae.ContactField_type.NUMBER_INTEGER,ae.ContactField_type.NUMBER_DECIMAL,ae.ContactField_type.NUMBER_CURRENCY,ae.ContactField_type.NUMBER_ACCOUNTING,ae.ContactField_type.CURRENCY],V=()=>{const S=i.find(G=>G.nameKey===H);if(!S)return!1;const{min:B,max:E}=S;if(B==null&&E==null||!ne.includes(L)||$===""||$==null)return!1;const W=Number($);return Number.isNaN(W)?!1:B!=null&&W<B||E!=null&&W>E},_=()=>L===ae.ContactField_type.DATE?t.jsx(mo,{value:$?K($):null,handleChange:S=>z(H,S?.toDate()),dateFormat:j}):L===ae.ContactField_type.TIME?t.jsx(yo,{value:e?.valueDate?K(e.valueDate):$?K($):null,handleChange:S=>z(H,S),userTimeFormat:T}):L===ae.ContactField_type.DATERANGE?t.jsx(bo,{value:$&&typeof $=="string"&&$.includes(" - ")?[K($.split(" - ")[0]),K($.split(" - ")[1])]:null,handleChange:S=>z(H,[S[0]?.toDate?.(),S[1]?.toDate?.()]),userDateFormat:j}):L===ae.ContactField_type.TIMERANGE?t.jsx(xo,{value:Array.isArray($)&&$.length===2?[K($[0]),K($[1])]:null,handleChange:S=>z(H,[S[0]?.toDate?.(),S[1]?.toDate?.()]),userTimeFormat:T}):L===ae.ContactField_type.OPTIONS?t.jsx(ho,{value:typeof $=="string"?$:"",handleChange:S=>z(H,S),options:i.find(S=>S.nameKey===H)?.typeOptions??[]}):t.jsx(go,{type:L,nameKey:H,value:$,onChange:z,min:i.find(S=>S.nameKey===H)?.min,max:i.find(S=>S.nameKey===H)?.max});return t.jsxs(Co,{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:[g?t.jsx(s.Tooltip,{title:R(e.nameKey),arrow:!0,children:t.jsxs(Dn,{ref:v,flexGrow:1,noWrap:!0,children:[R(e.nameKey),Z&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]})}):t.jsxs(Dn,{ref:v,flexGrow:1,noWrap:!0,children:[R(e.nameKey),Z&&t.jsx(s.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]}),x?t.jsxs(t.Fragment,{children:[t.jsx(En,{size:"small",onClick:k,disabled:h||V(),children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(gt,{})}),t.jsx(En,{size:"small",onClick:M,children:t.jsx(Ya,{})})]}):t.jsx(vo,{className:"edit-icon",size:"small",onClick:U,children:t.jsx(Ut,{})})]}),t.jsx(s.Box,{width:x||e.type===ae.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:x?h?null:_():t.jsx(So,{children:X(e?.value)?e.type===ae.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const S=e.value.split(" - ");if(S.length===2){const[B,E]=S,W=K(B),G=K(E);return`${W.isValid()?W.format(j):"-"} - ${G.isValid()?G.format(j):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${K(e.value[0]).format(j)} - ${K(e.value[1]).format(j)}`;return`${e.value}`})():e.type===ae.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${K(e.value[0]).format(T==="24"?"HH:mm":"hh:mm")} - ${K(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`${K(S).format(T==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ae.ContactField_type.DATE?(()=>{try{return`${K(e.value).format(j)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},jo=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,u=ve(),{entityType:p,editEntity:m}=at(),x=ot();if(p!=="contact")return null;const[y,h]=l.useState([]),[C,v]=l.useState(null),[g,w]=l.useState(null),[j,T]=l.useState(null),I=m;l.useEffect(()=>{if(!x)return;const k=new AbortController;return x.fetchUsers({signal:k.signal}).then(R=>{k.signal.aborted||h(R??[])}).catch(()=>{k.signal.aborted||h([])}),()=>{k.abort()}},[x]),l.useEffect(()=>{const k=new AbortController,R=async z=>{if(!z||!x)return null;try{const L=await x.fetchUserTriiById({userId:z,signal:k.signal});return L?.display_name||L?.email||null}catch{return null}};return(async()=>{const z=Tt({userId:n.owner,users:y,currentUser:d})??(n.owner?await R(n.owner):null),L=Tt({userId:n.createdBy??void 0,users:y,currentUser:d})??(n.createdBy?await R(n.createdBy):null),H=Tt({userId:n.updatedBy??void 0,users:y,currentUser:d})??(n.updatedBy?await R(n.updatedBy):null);k.signal.aborted||(v(z),T(L),w(H))})(),()=>{k.abort()}},[x,n,y,d]);const A=(a||"YYYY/MM/DD").toUpperCase(),D=I.field.birthDate,U=D?.isValid()?D.format(A):null,M=k=>{const R=new Date;let z=R.getFullYear()-k.getFullYear();const L=R.getMonth()-k.getMonth();return(L<0||L===0&&R.getDate()<k.getDate())&&z--,z};return t.jsx(pa,{title:"General",children:t.jsxs(jn,{children:[t.jsx(Vt,{title:u("conversations.contactDetails.contactOwner"),displayValue:C||"-",value:n.owner,inputType:"select",options:y,constructUpdateObject:k=>({owner:typeof k=="string"?k:""}),contact:I,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Vt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:I,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Vt,{title:u("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Vt,{title:u("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Vt,{title:u("global.birthdate"),inputType:"birthday",displayValue:D?`${U} (${M(D.toDate())})`:"-",value:D?D.toISOString():"",constructUpdateObject:k=>({birthDate:k}),contact:I,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:c}),I.field.customProperties.map(k=>t.jsx(An,{property:k,entity:I,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:i,spaceId:o,onEntityUpdated:c},k.nameKey))]})})},Ma=({title:e,value:a,isNotEditable:n,inputType:r="text",options:i=[],displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:p,onEntityUpdated:m})=>t.jsx(lt,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:i,displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:m}),wo=e=>{const a=ve(),{entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=at(),m=ot();if(u!=="business")return null;const[x,y]=l.useState([]),[h,C]=l.useState(null),[v,g]=l.useState(null),[w,j]=l.useState(null),T=p;return l.useEffect(()=>{if(!m)return;const I=new AbortController;return m.fetchUsers({signal:I.signal}).then(A=>{I.signal.aborted||y(A??[])}).catch(()=>{I.signal.aborted||y([])}),()=>{I.abort()}},[m]),l.useEffect(()=>{const I=new AbortController,A=async D=>{if(!D||!m)return null;try{const U=await m.fetchUserTriiById({userId:D,signal:I.signal});return U?.display_name||U?.email||null}catch{return null}};return(async()=>{const D=Tt({userId:n.owner,users:x,currentUser:d})??(n.owner?await A(n.owner):null),U=Tt({userId:n.createdBy??void 0,users:x,currentUser:d})??(n.createdBy?await A(n.createdBy):null),M=Tt({userId:n.updatedBy??void 0,users:x,currentUser:d})??(n.updatedBy?await A(n.updatedBy):null);I.signal.aborted||(C(D),j(U),g(M))})(),()=>{I.abort()}},[m,n,x,d]),t.jsx(pa,{title:"General",children:t.jsxs(jn,{children:[t.jsx(Ma,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:h||"-",inputType:"select",options:x,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:c}),t.jsx(Ma,{title:a("conversations.contactDetails.createdBy"),value:w||"-",isNotEditable:!0}),t.jsx(Ma,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",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:i,spaceId:o,onEntityUpdated:c},I.nameKey))]})})},To=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(jo,{...e,entityData:n,entityType:"contact"}):t.jsx(wo,{...e,entityData:n,entityType:"business"})},Io=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState("");return{isOpen:e,title:n,openModal:i=>{r(i),a(!0)},closeModal:()=>{a(!1),r("")}}},ko=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Eo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Do=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ao=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Fo=we.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ua=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Bo=we.styled(Ua)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),$o=we.styled(Ua)(({})=>({fontSize:14,fontWeight:500})),Mo=we.styled(Ua)(({})=>({fontSize:14,fontWeight:500})),Uo=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=_t({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(ko,{children:[t.jsx(Eo,{children:t.jsxs(Ao,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx($o,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Mo,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Bo,{children:e.note})})]})}),t.jsxs(Do,{children:[a!==""&&t.jsx(Fo,{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"}})})})]})]})})},Pa=qa.PhoneNumberUtil.getInstance(),Po=e=>{if(!e||!e.trim())return e;try{const a=Pa.parse(e,void 0);return Pa.isValidNumber(a)?Pa.format(a,qa.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},Ro=we.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),No=we.styled(_r)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Lo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),Oo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),zo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),_o=we.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Fn=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Wo=we.styled(Fn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Vo=we.styled(Fn)(({})=>({fontSize:14,fontWeight:500})),Ho=({item:e})=>{const a=()=>{const r=e.address;if(!r)return;const i=new CustomEvent("call-contact-header",{detail:{phoneAddress:r}});window.dispatchEvent(i)},n=l.useMemo(()=>Po(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Lo,{children:[t.jsxs(Oo,{children:[t.jsx(Ro,{onClick:a,color:"primary",size:"small",children:t.jsx(No,{})}),t.jsxs(_o,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Vo,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Wo,{children:e.note})})]})]}),t.jsx(zo,{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"}})})})})]})})},Go=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}})),Yo=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),qo=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Ko=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),Jo=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Xo=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:i})=>t.jsxs(Go,{children:[t.jsxs(qo,{children:[t.jsx(Yo,{children:e}),t.jsx(Jo,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Ut,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(Ko,{children:a.map((o,d)=>n?t.jsx(Ho,{item:o},d):t.jsx(Uo,{item:o,owner:i},d))})]}),Qo=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),Zo={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},fa=({title:e,handleAdd:a})=>{const n=ve();return t.jsxs(s.Box,{sx:Zo.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")})]})},el={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Ht=({children:e})=>t.jsx(s.Box,{sx:el.container,children:e}),Bn={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},tl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:i})=>{const o=ve(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:m}=a,[x,y]=l.useState(!1),[h,C]=l.useState(null),[v,g]=l.useState(!1),w=M=>{c(M.currentTarget)},j=()=>{c(null)},T=()=>{g(!1)},I=()=>{e(),j()},A=async()=>{y(!0);try{if(!i)return;const M=await i(13);if(!M)return;C(M),g(!0)}catch(M){console.error("Error verifying WhatsApp account:",M)}finally{y(!1)}j()},D=async()=>{y(!0);try{if(!i)return;const M=await i(21);if(!M)return;C(M),g(!0)}catch(M){console.error("Error verifying RCS account:",M)}finally{y(!1)}j()},U=async()=>{await n(),g(!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:w,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:I,children:[t.jsx(s.ListItemIcon,{children:t.jsx(oa,{color:"error"})}),t.jsx(s.ListItemText,{children:o("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:A,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:x?t.jsx(s.CircularProgress,{size:24}):t.jsx(Vr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:D,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:x?t.jsx(s.CircularProgress,{size:24}):t.jsx(Hr,{})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:v,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:[o("optionsMenu.wspAccountFound")," ",m]}),t.jsx(s.Typography,{id:"modal-modal-description",sx:{mt:2},children:o("optionsMenu.wantToLinkContact")}),t.jsxs(s.Box,{sx:{marginTop:"10px"},children:[t.jsx(s.Button,{onClick:U,color:"primary",children:o("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:[o("optionsMenu.noWspAccountFound")," ",m]}),t.jsx(s.Button,{onClick:T,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},Gt=e=>{const a=ve(),n=ot(),{editEntity:r,entityId:i}=at(),[o,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??i,{note:p,channelType:m,id:x,address:y}=e.addressData,h=!e.addressData.hasOwnProperty("isSaved"),C=e.replaceAddress??r.action.replaceAddress,v=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),g=async I=>{if(!n||!u)return null;const A=await n.setContactAddress({data:{address:y,contactId:u,type:I}});return C(x,A),A},w=async()=>{if(!n||!u)return;const I=await n.updateContactAddress({data:{contactAddressId:x,contactId:u,note:p??""}});C(x,I)},j=async()=>{d(!0),h?(await w(),d(!1)):await g(m)&&d(!1)},T=async()=>{d(!0);const I=await g(13);I&&v&&v(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,x,m),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:Bn.noteTextField}),t.jsx(s.IconButton,{onClick:j,children:o?t.jsx(s.CircularProgress,{size:24}):t.jsx(gt,{color:"primary"})}),t.jsx(tl,{onDelete:()=>e.handleDeleteAddress(x,m),addressData:e.addressData,handleLinkAccountSave:T,checked:c&&!o,onCheckContactAddress:async I=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:y,type:I}})}catch{return null}}})]})},al={container:{display:"flex",gap:"100px",alignItems:"center"}},Yt=({children:e})=>t.jsx(s.Box,{sx:al.container,children:e}),nl={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},qt=({children:e})=>t.jsx(s.Box,{sx:{...nl.container},children:e}),rl=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(qr,{size:20});case"available":return t.jsx(Gr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Yr,{style:{height:27,width:27},color:"error"});default:return null}},$n=({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(rl,{status:e})})]}),sl={code:{width:"60%",color:"gray"}},il=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Ht,{children:t.jsxs(Yt,{children:[t.jsx(s.Typography,{sx:sl.code,variant:"body2",children:e.address}),t.jsx(Gt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},ol=({IMSs:e,editEntity:a})=>t.jsx(qt,{children:e?.map(n=>t.jsx(il,{data:n,editEntity:a},n.id))}),ga=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(Qo,{title:a}),t.jsx(ol,{IMSs:n,editEntity:e})]}),ll={addressField:{}},Ra=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:i,address:o}=e,d=ve(),c=ot(),[u,p]=l.useState("idle"),[m,x]=l.useState(o),y=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let h=setTimeout(async()=>{if(o!==""&&o!==m){if(!c)return;p("loading"),x(o);const C={address:o,type:i};try{const v=await c.checkContactAddress({data:C}),{success:g,warnings:w}=v;n(w),p(g?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[c,e,o,i,m,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:y,sx:ll.addressField,size:"small",label:i===jt.ChannelType.WHATSAPP||i===jt.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:o,onChange:h=>{a(h,r,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx($n,{status:u})})}})})},dl={addressField:{}},cl=({data:e,onChange:a,setWarnings:n})=>{const r=ot(),i=ve(),{id:o,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[m,x]=l.useState(c),y=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let h=setTimeout(async()=>{if(c!==""&&c!==m){if(!r)return;p("loading"),x(c);const C={address:c,type:d};try{const{success:v,warnings:g}=await r.checkContactAddress({data:C});n(g),p(v?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:y,sx:dl.addressField,size:"small",label:i("global.number"),value:c,onChange:h=>{a(h,o,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx($n,{status:u})})}})})},Na={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},ul=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:Na.secondaryContainer,children:t.jsx(Qr,{icon:t.jsx(Xr,{sx:Na.icon}),sx:Na.chip,label:e,color:"error",variant:"outlined"})})}),ma=({warnings:e})=>{const a=ve();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(ul,{text:a(`contactAddressError.${n}`)},r))})})},pl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},fl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,i=n.state,[o,d]=l.useState([]),[c,u]=l.useState(!0);return l.useEffect(()=>{u(o.length===0&&(e.address??"")!=="")},[o,e.address]),t.jsx(Ht,{children:t.jsxs(Yt,{children:[t.jsxs(s.Box,{sx:{...pl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(cl,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),o.length>0&&t.jsx(ma,{warnings:o})]}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},gl=({phoneNumbers:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(fl,{data:a},a.id))}),ml=({phoneNumbers:e,handleAdd:a})=>{const n=ve();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(fa,{handleAdd:a,title:n("global.phones")}),t.jsx(gl,{phoneNumbers:e})]})},Mn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},hl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(Ht,{children:[t.jsxs(Yt,{children:[t.jsx(s.Box,{sx:Mn.numberCountryContainer,children:t.jsx(s.Box,{sx:Mn.adressInputBox,children:t.jsx(Ra,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(ma,{warnings:o})]})},yl=({emails:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(hl,{data:a},a.id))}),xl=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(fa,{handleAdd:a,title:"Emails"}),t.jsx(yl,{emails:e})]}),Un={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},bl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(Ht,{children:[t.jsxs(Yt,{children:[t.jsx(s.Box,{sx:Un.numberCountryContainer,children:t.jsx(s.Box,{sx:Un.adressInputBox,children:t.jsx(Ra,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(ma,{warnings:o})]})},vl=({whatsapps:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(bl,{data:a},a.id))}),Cl=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(fa,{handleAdd:a,title:"WhatsApp"}),t.jsx(vl,{whatsapps:e})]}),Pn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Sl=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs(Ht,{children:[t.jsxs(Yt,{children:[t.jsx(s.Box,{sx:Pn.numberCountryContainer,children:t.jsx(s.Box,{sx:Pn.adressInputBox,children:t.jsx(Ra,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(ma,{warnings:o})]})},jl=({RCSs:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Sl,{data:a},a.id))}),wl=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(fa,{handleAdd:a,title:"RCS"}),t.jsx(jl,{RCSs:e})]}),Tl=we.styled(s.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.panel,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),Il=({open:e,onClose:a,title:n})=>{const r=ve(),{editEntity:i}=at(),{emails:o,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=i.field,{addEmail:p,addPhone:m,addWhatsapp:x,resetToInitialContactInformation:y,addRCS:h}=i.action;function C(){a(),y()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(Tl,{children:[(()=>{switch(n){case"Phones":return t.jsx(ml,{handleAdd:m,phoneNumbers:d});case"Emails":return t.jsx(xl,{handleAdd:p,emails:o});case"Whatsapp":return t.jsx(Cl,{handleAdd:x,whatsapps:c});case"RCS":return t.jsx(wl,{handleAdd:h,RCSs:u});case"Facebook":return t.jsx(ga,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(ga,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(ga,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(ga,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(s.Typography,{children:"No information available for this section."})}})(),t.jsx(s.Box,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(s.Button,{variant:"contained",color:"primary",onClick:C,children:r("global.close")})})]})})},kl=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:i}=Io(),{editEntity:o}=at(),d=ve(),c=o.field.phoneNumbers,u=o.field.emails,p=o.field.imsFacebooks,m=o.field.imsWhatsapp,x=o.field.imsMercadolibre,y=o.field.imsWebchats,h=o.field.imsInstagrams,C=o.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:x,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:y,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:h,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(pa,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(g=>g.visible).map(g=>t.jsx(Xo,{handleEdit:()=>r(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx(Il,{open:a,onClose:i,title:n})]})},El=({entityType:e,entityData:a,baseUrl:n,spaceId:r,onEntityUpdated:i,onDirectionSearchClick:o})=>{const d={baseUrl:n,spaceId:r,entityId:String(a.id),onEntityUpdated:i},c=ve(),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(lt,{entityType:e,title:c("conversations.contactDetails.street"),value:a[p]?.street??"",...d,constructUpdateObject:x=>({[p]:{street:x}}),minWidth:"100%"})}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.city"),value:a[p]?.city??"",...d,constructUpdateObject:x=>({[p]:{city:x}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.state"),value:a[p]?.state??"",...d,constructUpdateObject:x=>({[p]:{state:x}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...d,constructUpdateObject:x=>({[p]:{zipcode:x}}),minWidth:"100%"}),t.jsx(lt,{entityType:e,title:c("conversations.contactDetails.country"),value:a[p]?.country??"",...d,constructUpdateObject:x=>({[p]:{country:x}}),minWidth:"100%"})]})]});return t.jsx(pa,{title:c("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:o,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(u,{addressNumber:"address1",title:c("conversations.contactDetails.primaryAddress")}),t.jsx(u,{addressNumber:"address2",title:c("conversations.contactDetails.secondaryAddress")})]})})},Dl=({entity:e,setEntity:a})=>l.useCallback(n=>{if(!n||typeof n!="object")return;const r=n;if("id"in r){a(n);return}if(!e)return;const i={...e,...r};a(i)},[e,a]),Al=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:i,labels:o,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[m,x]=l.useState([]),[y,h]=l.useState(!1),[C,v]=l.useState(!1),[g,w]=l.useState([]),[j,T]=l.useState(!1),I=l.useMemo(()=>{const M=o??[],k=g??[],R=new Map;for(const z of M)z?.id&&R.set(String(z.id),z);for(const z of k)z?.id&&R.set(String(z.id),z);return Array.from(R.values())},[o,g]),A=l.useCallback(()=>{p("main"),x([]),h(!1),v(!1),w([]),T(!1)},[]);l.useEffect(()=>{e||A()},[e,A]),l.useEffect(()=>{if(u!=="tags"){h(!1);return}if(y||!I.length)return;const M=new Set(d.map(R=>String(R.id))),k=I.filter(R=>M.has(String(R?.id)));x(k),h(!0)},[u,y,I,d]);const D=l.useCallback(async M=>{if(j||!a||!n)return;const k=String(M??"").trim();if(!k)return;const R=k.toLowerCase(),z=I.find(L=>String(L?.name??"").trim().toLowerCase()===R);if(z?.id){x(L=>{const H=L??[];return H.some($=>String($?.id)===String(z.id))?H:[...H,z]});return}T(!0);try{const L=await fn({baseUrl:a,spaceId:n,name:k});w(H=>{const $=H??[];return!L?.id||$.some(X=>String(X?.id)===String(L.id))?$:[...$,L]}),x(H=>{const $=H??[];return!L?.id||$.some(X=>String(X?.id)===String(L.id))?$:[...$,L]})}finally{T(!1)}},[j,a,n,I]),U=l.useCallback(async()=>{if(C||!a||!n||!r||i!=="contact"&&i!=="business")return;const M=m.filter(k=>k?.id&&k?.name).map(k=>({id:String(k.id),name:String(k.name)}));v(!0);try{await Xe({baseUrl:a,spaceId:n,entityType:i,entityId:String(r.id),body:{tags:M}}),c(M),p("main")}finally{v(!1)}},[C,a,n,r,i,m,c]);return{view:u,setView:p,draftLabels:m,setDraftLabels:x,labelsOptions:I,isSaving:C,isCreatingLabel:j,handleCreateLabel:D,handleSaveTags:U}},Fl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Bl={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},$l=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:i,onEntityUpdated:o,currentUser:d})=>{const c=ve(),u=ot(),p=l.useRef(null),m=l.useRef(null),[x,y]=l.useState(()=>r?.businessName??""),[h,C]=l.useState(!1),[v,g]=l.useState(!1),[w,j]=l.useState(!1),[T,I]=l.useState([]),[A,D]=l.useState(r??null),[U,M]=l.useState(1),[k,R]=l.useState(!1),[z,L]=l.useState(!1),H=l.useMemo(()=>{const W=d?.display_name,G=d?.email;return String(W||G||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),m.current?.abort()},[]),l.useEffect(()=>{D(r??null),y(r?.businessName??"")},[r]);const $=()=>{m.current?.abort(),m.current=null,p.current&&(clearTimeout(p.current),p.current=null),C(!1),L(!1),M(1),R(!1),I([])},X=W=>W.filter(G=>!!G?.id).map(G=>({businessId:String(G.id),businessName:String(G.name??"")})),Z=async({query:W,page:G})=>{if(!u)return;m.current?.abort();const se=new AbortController;m.current=se,g(!0);try{const ie={...Bl,currentPage:G,filter:[{value:W,column:"name",condition:""}]},je=await u.fetchBusinessTableData({pagination:ie,signal:se.signal});if(se.signal.aborted)return;const me=X(je?.contactos??[]);C(!0);const ee=je?.paginacion?.total??0;I(Ee=>{const Y=G===1?me:(()=>{const pe=new Map;for(const xe of Ee)pe.set(xe.businessId,xe);for(const xe of me)pe.set(xe.businessId,xe);return Array.from(pe.values())})();return ee&&Y.length>=ee&&L(!0),Y})}finally{g(!1),j(!1),R(!1)}},ne=W=>{$(),W&&(p.current&&(clearTimeout(p.current),p.current=null),j(!0),p.current=setTimeout(()=>{Z({query:W,page:1})},800))},V=W=>{const G=W.target;if(!(G.scrollHeight-G.scrollTop-G.clientHeight<1)||z||v||!x)return;const se=U+1;R(!0),M(se),Z({query:x,page:se})},_=async()=>{if(!u||!H)return;const W=String(x??"").trim();if(W){g(!0);try{const G={name:W,owner:H,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},se=await u.createBusiness({business:G}),ie={businessId:String(se.id??""),businessName:String(se.name??W)};I([ie]),D(ie),C(!0)}finally{g(!1)}}},S=async()=>{if(!e||!a||!n)return;const W=A?.businessId??"",G=await Xe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:W}});o?.(G),i()},B=h&&T.length===0&&x?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(tt.LoadingButton,{size:"small",variant:"contained",onClick:_,loading:v,disabled:v||!H,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:i,"aria-label":c("global.back"),children:t.jsx(ka,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:c("conversations.contactDetails.business")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(tt.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(gt,{}),onClick:S,loading:!1,disabled:E,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[v||w||k?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:A,onChange:(W,G)=>{D(G)},inputValue:x,onInputChange:(W,G,se)=>{y(G),se==="input"&&ne(G)},options:T,getOptionLabel:W=>W?.businessName??"",isOptionEqualToValue:(W,G)=>W.businessId===G.businessId,noOptionsText:B,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:[v||w?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,W.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:V}})]})]})},Ml=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:i,sx:o,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:p,contactNameFormat:m})=>{const{t:x,i18n:y}=Ke.useTranslation(),h=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 ne=document.createElement("script");return ne.src=`https://maps.googleapis.com/maps/api/js?key=${u}&libraries=places`,ne.async=!0,ne.defer=!0,document.body.appendChild(ne),()=>{}},[u]),l.useEffect(()=>{d&&y.changeLanguage(d)},[d,y]);const C=ne=>x(ne),v=l.useMemo(()=>!n||!r?null:hn(n,r),[n,r]),{state:g,selectors:w,actions:j}=Hi({open:e,baseUrl:n,spaceId:r,contactId:i,contactNameFormat:m}),T=Dl({entity:g.contactData,setEntity:ne=>{j.setContactData(ne??void 0),ne&&p&&p(ne)}}),{view:I,setView:A,draftLabels:D,setDraftLabels:U,labelsOptions:M,isSaving:k,isCreatingLabel:R,handleCreateLabel:z,handleSaveTags:L}=Al({open:e,baseUrl:n,spaceId:r,contactData:g.contactData,contactType:w.contactType,labels:w.labels,selectedTags:w.tags,onTagsUpdated:ne=>{if(!g.contactData)return;const V={...g.contactData,tags:ne};j.setContactData(V),p&&p(V)}}),H=_t({baseUrl:n,spaceId:r,entityType:w.contactType==="business"||w.contactType==="contact"?w.contactType:void 0,entityId:g.contactData?String(g.contactData.id):void 0,initialImageUrl:g.contactData?.imageUrl,onEntityUpdated:T}),$=Fl({onClose:a}),X={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:ne=>ne.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},Z=Array.isArray(o)?[X,...o]:o?[X,o]:X;return t.jsx(mi,{value:v,children:t.jsx(fi,{t:C,children:t.jsx(lo,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:$,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:e,timeout:200,children:t.jsxs(s.Box,{sx:Z,ref:h,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:$,sx:{position:"absolute",right:5,top:5,color:ne=>ne.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ia,{sx:{fontSize:20}})}),g.isLoading&&!g.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):g.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):g.contactData?t.jsx(io,{value:{view:I,setView:A},children:t.jsx(no,{entityType:w.contactType==="business"?"business":"contact",entityData:g.contactData,customContactFields:w.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(s.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(s.Fade,{in:I==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(ji,{imgUrl:H.imageUrl,displayName:w.displayName,tags:w.tags,onEditTags:()=>{A("tags")},onUploadPhoto:H.action.uploadImage,onPhotoFileChange:H.inputAtributes.onChange,photoInputRef:H.inputAtributes.ref,isUploadingPhoto:H.isUploading,onDeletePhoto:H.action.deleteImage,isDeletingPhoto:H.isDeleting,contactType:w.contactType,entityId:g.contactData?.id,firstName:w.isContact?g.contactData.firstName:void 0,lastName:w.isContact?g.contactData.lastName:void 0,name:w.isBusiness?g.contactData.name:void 0,onEntityUpdated:T}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(To,{dateFormat:w.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:w.contactType==="contact"||w.contactType==="business"?w.contactType:"contact",entityData:g.contactData,customContactFields:w.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:T,currentUser:w.userTrii}),t.jsx(El,{entityType:w.contactType==="contact"||w.contactType==="business"?w.contactType:"contact",entityData:g.contactData,baseUrl:n,spaceId:r,onEntityUpdated:T,onDirectionSearchClick:()=>A("searchLocation")}),t.jsx(kl,{ownerData:g.contactData})]})]})}),t.jsx(s.Fade,{in:I==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Vi,{baseUrl:n,spaceId:r,entityType:w.contactType==="business"?"business":"contact",entityId:String(g.contactData.id),onBack:()=>A("main"),onEntityUpdated:T})})}),t.jsx(s.Fade,{in:I==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Ti,{value:D,options:M,onChange:U,onBack:()=>A("main"),onSave:L,isSaving:k,onCreateNew:z,isCreatingNew:R,popperContainer:h.current})})}),t.jsx(s.Fade,{in:I==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx($l,{baseUrl:n,spaceId:r,contactId:String(g.contactData.id),initialBusiness:w.isContact&&g.contactData?.businessId?{businessId:String(g.contactData.businessId),businessName:String(g.contactData.businessName??"")}:null,onBack:()=>A("main"),onEntityUpdated:T,currentUser:w.userTrii})})})]})})}):null]})})})})})})},Ul=e=>t.jsx(Ke.I18nextProvider,{i18n:zt,children:t.jsx(Ml,{...e})}),Rn=l.createContext(null),Pl=Rn.Provider,Nn=()=>l.useContext(Rn),Rl={events:[],setEvents:()=>{},filteredEvents:[]},Nl=(e,a)=>{const[n,r]=l.useState([]);l.useEffect(()=>{if(!a?.length){r([]);return}const o=a.map(d=>({id:d.id,title:d.title||"",start:new Date(d.startAt),end:new Date(d.endAt||d.startAt),startAt:d.startAt,endAt:d.endAt,allDay:d.allDay||!1,color:d.color,calendarId:d.calendarId,details:d.details,location:d.location,isPrivate:d.isPrivate,rule:d.rule,relatedContact:d.relatedContact,sharedWith:d.sharedWith,finalized:d.finalized,kind:"event",originalOccurrenceDate:d.originalOccurrenceDate,parentId:d.parentId}));r(o)},[a]);const i=l.useMemo(()=>e?.length?n.filter(o=>o.calendarId&&e.includes(o.calendarId)):n,[n,e]);return l.useMemo(()=>({events:n,setEvents:r,filteredEvents:i}),[n,i])},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])},mt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},ht=(e,a)=>{const[n,r]=l.useState(a||""),[i,o]=l.useState(!1),[d,c]=l.useState("");l.useEffect(()=>{r(a||"")},[a]);const u=l.useCallback(v=>{o(!0),c(v)},[]),p=l.useCallback(()=>{o(!1),c("")},[]),m=l.useCallback(v=>{r(v.target.value)},[]),x=l.useCallback(v=>{r(v)},[]),y=l.useCallback(()=>{r(a||"")},[a]),h=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:y,changeValue:x}),[u,p,y,x]),C=l.useMemo(()=>({error:i,helperText:d,type:e,value:n,onChange:m}),[i,d,e,n,m]);return{actions:h,attributes:C}};function zn(e){return typeof e=="number"}const Ll={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Ol(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const m={id:Wt(),timeValue:15,timePeriod:la.EventNotificationPeriod.MINUTE,sendToContact:!1};n(x=>x.concat(m))},[]),i=l.useCallback(m=>{n(x=>x.filter(y=>y.id!==m))},[]),o=l.useCallback((m,x)=>{const y=Number(m.target.value);zn(y)&&n(h=>h.map(C=>C.id===x?{...C,timeValue:y}:C))},[]),d=l.useCallback((m,x)=>{if(!zn(m.target.value))return;const y=m.target.value;n(h=>h.map(C=>C.id===x?{...C,timePeriod:y}:C))},[]),c=l.useCallback((m,x)=>{const y=m.target.checked;n(h=>h.map(C=>C.id===x?{...C,sendToContact:y}:C))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const m=e.map(x=>({...x,id:x.id||Wt()}));n(m)}},[e]);const p=l.useMemo(()=>({addNotification:r,deleteNotification:i,handleTimeFieldChange:o,handleTimePeriodChange:d,handleReminderChange:c,resetNotifications:u}),[r,i,o,d,c,u]);return{notifications:a,action:p}}const zl={state:{selectedStartDate:K(),selectedEndDate:K().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},_l={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Wl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Vl={titleField:mt,descriptionField:mt,locationField:mt,colorField:mt,date:zl,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Ll,shareWithUsers:Wl,linkContact:_l,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:"",contactId:null}),resetFields:()=>{}},Hl=(e,a)=>{const[n,r]=l.useState(e??K()),[i,o]=l.useState(a??K().add(30,"minute")),[d,c]=l.useState(!1),u=l.useCallback(x=>y=>{x(y)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),m=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:p,action:m}},Gl=e=>{const[a,n]=l.useState(""),[r,i]=l.useState(e?.id?[{id:e.id,name:e.name}]:[]),o=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{i(e?.id?[{id:e.id,name:e.name}]:[])},[o,e]);const d=l.useCallback(y=>{i([{id:y.id,name:y.name??""}]),n("")},[]),c=l.useCallback(()=>{i([])},[]),u=l.useCallback(y=>{n(y)},[]),p=l.useCallback(()=>{n(""),i(e?.id?[{id:e.id,name:e.name}]:[])},[e]),m=l.useMemo(()=>({search:a,selectedContacts:r}),[a,r]),x=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:m,action:x}},Yl=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},ql=e=>{const a=l.useRef(null),n=ht("text",e?.title??""),r=ht("text",e?.details??e?.description??""),i=ht("text",e?.location??""),o=ht("text",e?.color??"#1976d2"),d=Hl(e?.startAt?K(e.startAt):void 0,e?.endAt?K(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,m]=l.useState(e?.isPrivate??!1),[x,y]=l.useState(e?.rule??""),h=Ol(e?.notifications),C=Yl(),v=Gl(e?.relatedContact??e?.raw?.relatedContact),g=l.useCallback(()=>({title:n.attributes.value,details:r.attributes.value,location:i.attributes.value,allDay:c,isPrivate:p,color:o.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})),sharedWith:C.field.userIds,rule:x,contactId:v.state.selectedContacts[0]?.id||null}),[n.attributes.value,r.attributes.value,i.attributes.value,c,p,o.attributes.value,d.state.selectedStartDate,d.state.selectedEndDate,h.notifications,C.field.userIds,x,v.state.selectedContacts]),w=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),i.actions.resetValue(),o.actions.changeValue("#1976d2"),u(!1),m(!1),y(""),h.action.resetNotifications(),C.action.resetField(),v.action.resetField(),d.action.setError(!1),a.current=null},[n.actions,r.actions,i.actions,o.actions,h.action,C.action,v.action,d.action]);return l.useEffect(()=>{const j=e?.id;!e||a.current===j||(a.current=j,u(e.allDay??!1),m(e.isPrivate??!1),y(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),o.actions.changeValue(e.color??"#1976d2"),e.startAt&&d.action.setSelectedStartDate(K(e.startAt)),e.endAt&&d.action.setSelectedEndDate(K(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:i,colorField:o,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:m,recurrenceRule:x,setRecurrenceRule:y,notifications:h,shareWithUsers:C,linkContact:v,create:g,resetFields:w}),[n,r,i,o,d,c,p,x,h,C,v,g,w])},Kl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Jl={nameField:mt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Kl,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Xl=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Ql=()=>{const e=ht("text",""),[a,n]=l.useState("#ffffff"),[r,i]=l.useState(null),o=Xl(),d=l.useCallback(u=>{n(u)},[]),c=l.useCallback(u=>{i(u)},[]);return l.useMemo(()=>({nameField:e,color:a,handleColorChange:d,shareWithUsers:o,googleCalendar:r,handleGoogleCalendarChange:c}),[e,a,d,o,r,c])},Zl={tasks:[],setTasks:()=>{},filteredTasks:[]},ed=e=>{const[a,n]=l.useState([]),r=l.useMemo(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return l.useMemo(()=>({tasks:a,setTasks:n,filteredTasks:r}),[a,r])},td={state:{selectedStartDate:K(),selectedEndDate:K(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},ad={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},nd={titleField:mt,descriptionField:mt,date:td,linkContact:ad,create:()=>({title:"",description:"",startAt:"",endAt:"",contactId:null}),resetFields:()=>{}},rd=(e,a)=>{const[n,r]=l.useState(e??K()),[i,o]=l.useState(a??K()),[d,c]=l.useState(!1),u=l.useCallback(x=>y=>{x(y)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),m=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:p,action:m}},sd=e=>{const[a,n]=l.useState(""),[r,i]=l.useState(e?.id?[{id:e.id,name:e.name}]:[]),o=e?`${e.id}|${e.name}`:"";l.useEffect(()=>{i(e?.id?[{id:e.id,name:e.name}]:[])},[o,e]);const d=l.useCallback(y=>{i([{id:y.id,name:y.name??""}]),n("")},[]),c=l.useCallback(()=>{i([])},[]),u=l.useCallback(y=>{n(y)},[]),p=l.useCallback(()=>{n(""),i(e?.id?[{id:e.id,name:e.name}]:[])},[e]),m=l.useMemo(()=>({search:a,selectedContacts:r}),[a,r]),x=l.useMemo(()=>({handleSelectContact:d,handleRemoveContact:c,handleSearchChange:u,resetField:p}),[d,c,u,p]);return{state:m,action:x}},id=e=>{const a=l.useRef(null),n=ht("text",e?.title??""),r=ht("text",e?.description??""),i=rd(e?.startAt?K(e.startAt):void 0,e?.startAt?K(e.startAt):void 0),o=sd(e?.relatedContact??e?.raw?.relatedContact),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),contactId:o.state.selectedContacts[0]?.id||null}),[n.attributes.value,r.attributes.value,i.state.selectedStartDate,o.state.selectedContacts]),c=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.action.resetField(),i.action.setError(!1),a.current=null},[n.actions,r.actions,o.action,i.action]);return l.useEffect(()=>{const u=e?.id;if(!(!e||a.current===u)&&(a.current=u,n.actions.changeValue(e.title??""),r.actions.changeValue(e.description??""),e.startAt)){const p=K(e.startAt);i.action.setSelectedStartDate(p),i.action.setSelectedEndDate(p)}},[e?.id]),l.useEffect(()=>{if(!e)return;const u=e.relatedContact??e.raw?.relatedContact,p=o.state.selectedContacts[0]?.id,m=u?.id;p!==m&&(m?o.action.handleSelectContact({id:m,name:u.name??""}):o.action.resetField())},[e?.relatedContact,e?.raw?.relatedContact]),l.useMemo(()=>({titleField:n,descriptionField:r,date:i,linkContact:o,create:d,resetFields:c}),[n,r,i,o,d,c])},La=l.createContext({eventDialog:Ln,createCalendarDialog:Ln,event:Vl,events:Rl,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,isDeletingEvent:!1,isCreatingTask:!1,isUpdatingTask:!1,isDeletingTask:!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),od=({t:e,children:a})=>t.jsx(Wn.Provider,{value:e,children:a}),Me=()=>{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 ke({url:e,method:a="GET",headers:n,body:r,signal:i}){const o=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),d=(o.headers.get("content-type")||"").includes("application/json")?await o.json().catch(()=>null):await o.text().catch(()=>null);if(!o.ok){const c=typeof d=="object"&&d&&"message"in d?String(d.message):`Request failed with status ${o.status}`;throw new cd(c,o.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 ha(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`),CALENDAR:Ie(e,`/calendar/${n}`)}}function He(e){return ha(e.baseUrl,e.spaceId).CALENDAR}async function ud(e){const a=ha(e.baseUrl,e.spaceId);return ke({url:Ie(a.SETTINGS,"/user")})}async function pd(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return ke({url:r})}async function fd(e,a){const n=He(e);return ke({url:Ie(n,"/events"),method:"POST",body:a})}async function Hn(e,a){const n=He(e),{activityId:r,updatedActivity:i,originalOccurrenceDate:o}=a;if(o){const d=o instanceof Date?o.toISOString():o,c=`${n}/events/occurrence/${r}?occurrence=${d}`;return ke({url:c,method:"PUT",body:i})}return ke({url:Ie(n,`/events/${r}`),method:"PUT",body:i})}async function Oa(e,a,n){const r=He(e);if(n){const i=n instanceof Date?n.toISOString():n,o=`${r}/events/${a}?occurrence=${i}`;await ke({url:o,method:"DELETE"})}else await ke({url:Ie(r,`/events/${a}`),method:"DELETE"})}async function gd(e,a){const n=He(e);return ke({url:Ie(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function md(e,a){const n=He(e);return ke({url:Ie(n,`/Task/${a}`)})}async function hd(e,a){const n=He(e);return ke({url:Ie(n,"/Task"),method:"POST",body:a})}async function Gn(e,a,n){const r=He(e);return ke({url:Ie(r,`/Task/${a}`),method:"PUT",body:n})}async function yd(e,a){const n=He(e);await ke({url:Ie(n,`/Task/${a}`),method:"DELETE"})}async function xd(e,a,n){const r=He(e);return ke({url:Ie(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function bd(e){const a=He(e);return ke({url:Ie(a,"/Calendar")})}async function vd(e,a){const n=He(e);return ke({url:Ie(n,"/Calendar"),method:"POST",body:a})}async function Cd(e,a,n){const r=He(e);return ke({url:Ie(r,`/Calendar/${a}`),method:"PUT",body:n})}async function Sd({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=ha(e,a),o=Ie(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ke({url:o,signal:r})}async function jd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=ha(e,a),o=Ie(i.CONTACTS,"/Search");return ke({url:o,method:"POST",body:n,signal:r})}function ya(e){const a=K(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const Kt=e=>{if(!e)return e;const a=e.indexOf("_");if(a===-1)return e;const n=e.substring(0,a),r=e.substring(a+1);return/^\d{14}$/.test(r)?n:e},Jt=e=>e?e.parentId?e.parentId:Kt(e.id):"",wd=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:i="event",externalEventCalendarId:o,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:p=!1,externalContactId:m,externalOnActionComplete:x,externalInitialStartDate:y,externalInitialEndDate:h})=>{const{t:C}=Ke.useTranslation(),v=Nn(),g=(b,...N)=>C(b,...N),[w,j]=l.useState(i),[T,I]=l.useState(null),[A,D]=l.useState(null),[U,M]=l.useState(r),[k,R]=l.useState(d||""),[z,L]=l.useState(o||""),[H,$]=l.useState(!1),[X,Z]=l.useState("create"),[ne,V]=l.useState(null),[_,S]=l.useState({open:!1,message:"",severity:"info"}),[B,E]=l.useState(!1),[W,G]=l.useState("event"),[se,ie]=l.useState(!1),[je,me]=l.useState(!1),[ee,Ee]=l.useState(null),[Y,pe]=l.useState(!1),[xe,Ye]=l.useState(!1),[Q,_e]=l.useState(!1),[We,Ge]=l.useState(!1),[ce,yt]=l.useState(!1),[dt,Qt]=l.useState(!1),Zt="trii_calendar_last_view",Sa=b=>b==="month"||b==="week"||b==="day",[xt,kt]=l.useState(()=>{try{const b=localStorage.getItem(Zt);return Sa(b)?b:"month"}catch{return"month"}}),[ct,ea]=l.useState(new Date),ta=b=>{ea(b),kt("day")},Ue=On(),nt=On(),oe=ql(T??void 0),ge=id(A??void 0);l.useEffect(()=>{r!==void 0&&M(r)},[r]),l.useEffect(()=>{i!==void 0&&j(i)},[i]),l.useEffect(()=>{o!==void 0&&L(o)},[o]),l.useEffect(()=>{d!==void 0&&R(d)},[d]),l.useEffect(()=>{c!==void 0&&(I(c),c?.calendarId&&L(c.calendarId))},[c]),l.useEffect(()=>{u!==void 0&&(D(u),u?.calendarId&&R(u.calendarId))},[u]),l.useEffect(()=>{if(!m||!v||r!=="create"||!Ue.open)return;let b=!1;return Sd({baseUrl:v.baseUrl,spaceId:v.spaceId,contactId:m}).then(N=>{b||!N||(oe.linkContact.action.resetField(),oe.linkContact.action.handleSelectContact(N),ge.linkContact.action.resetField(),ge.linkContact.action.handleSelectContact(N))}).catch(()=>{}),()=>{b=!0}},[m,Ue.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!Ue.open){if(r==="create"){oe.resetFields(),ge.resetFields(),$(!1),I(null),D(null),oe.date.action.setError(!1),ge.date.action.setError(!1);const b=ya(y??new Date),N=h?ya(h):b.add(30,"minute");if(i==="task"?(ge.date.action.setSelectedStartDate(b),ge.date.action.setSelectedEndDate(b)):(oe.date.action.setSelectedStartDate(b),oe.date.action.setSelectedEndDate(N)),!o){const P=Le?.[0]??Ze?.[0]?.id??Ne?.[0]?.id??"";P&&L(P)}if(!d){const P=Le?.[0]??Ne?.[0]?.id??"";P&&R(P)}}Ue.handleOpen()}else!a&&Ue.open&&Ue.handleClose()},[a]);const qe=()=>{oe.resetFields(),ge.resetFields(),oe.date.action.setError(!1),ge.date.action.setError(!1),n?n():Ue.handleClose()},Pe=Ql(),aa=X==="create",[Ne,ja]=l.useState([]),[Et,Dt]=l.useState(!1),[rt,At]=l.useState([]),[st,na]=l.useState(""),ra="calendar_selected_ids",[Le,bt]=l.useState(()=>{try{const b=localStorage.getItem(ra);return b?JSON.parse(b):[]}catch{return[]}}),ut=Nl(Le,rt),vt=ed(Le),wa=()=>{S(b=>({...b,open:!1}))},Qe=l.useCallback((b,N,P)=>{x?.(b,N,P)},[x]);function Ft(b){const N=b?.startAt??b?.start,P=b?.endAt??b?.end??N;return{startAt:N,endAt:P}}const{myCalendars:Ze,otherCalendars:Ta}=l.useMemo(()=>{const b=Ne??[];if(!st)return{myCalendars:b,otherCalendars:[]};const N=b.filter(q=>q.userId===st),P=b.filter(q=>q.userId!==st);return N.length===0&&b.length>0?{myCalendars:b,otherCalendars:[]}:{myCalendars:N,otherCalendars:P}},[Ne,st]),Ct=l.useCallback(async()=>{if(v)try{const b=new Date,N=b.getUTCFullYear(),P=b.getUTCMonth(),q=new Date(Date.UTC(N,P-1,1,0,0,0)).toISOString(),J=new Date(Date.UTC(N,P+2,1,0,0,0)).toISOString(),he=await pd(v,q,J);At(he)}catch(b){console.error("Error fetching activities:",b)}},[v]),pt=l.useCallback(async b=>{if(v)try{const N=await md(v,b);vt.setTasks(N.map(P=>({id:P.id,title:P.title||"",start:new Date(P.startAt),end:new Date(P.endAt||P.startAt),startAt:P.startAt,endAt:P.endAt,description:P.description,calendarId:P.calendarId,isCompleted:P.isCompleted||!1,relatedContact:P.relatedContact,kind:"task"})))}catch(N){console.error("Error fetching tasks:",N)}},[v]),Bt=l.useCallback(async()=>{if(v){Dt(!0);try{const b=await bd(v);ja(b)}catch(b){console.error("Error fetching calendars:",b)}finally{Dt(!1)}}},[v]);l.useEffect(()=>{const b=Ze?.[0]?.id??Ne?.[0]?.id??"";b&&Ue.open&&U==="create"&&(z||L(b),k||R(b))},[Ue.open,U]);const f=l.useRef(!1);l.useEffect(()=>{a||(f.current=!1)},[a]),l.useEffect(()=>{if(!v||!a||f.current||(f.current=!0,Bt(),r==="create"))return;let b=!1;return ud(v).then(N=>{b||na(N.uid)}).catch(()=>{}),()=>{b=!0}},[v,a,r,Bt]);function F(b,N,P){j(b),M("create"),I(null),D(null),oe.resetFields(),ge.resetFields(),$(!1);const q=ya(N??new Date),J=P?ya(P):q.add(30,"minute"),he=J.isAfter(q)?J:q.add(30,"minute");if(b==="task"){ge.date.action.setSelectedStartDate(q),ge.date.action.setSelectedEndDate(q),ge.date.action.setError(!1);const Fe=Le?.[0]??Ne?.[0]?.id??"";R(Fe)}else{oe.date.action.setSelectedStartDate(q),oe.date.action.setSelectedEndDate(he),oe.date.action.setError(!1);const Fe=Le?.[0]??Ze?.[0]?.id??Ne?.[0]?.id??"";L(Fe);const ue=Ze?.find(ye=>ye.id===Fe)??Ne?.find(ye=>ye.id===Fe);ue?.color&&oe.colorField.actions.changeValue(ue.color)}Ue.handleOpen()}function O(){F("event")}function te(){oe.date.action.setError(!1),ge.date.action.setError(!1),M("edit")}function de(b){const{startAt:N,endAt:P}=Ft(b),q={...b,kind:"event",startAt:N,endAt:P,details:b?.details??""};j("event"),I(q),D(null);const J=q.calendarId||Ze?.[0]?.id||Ne?.[0]?.id||"";L(J),M("view"),oe.date.action.setError(!1),ge.date.action.setError(!1),Ue.handleOpen()}async function fe(b){if(!v)return;let N;if(b)N={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,sharedWith:b.sharedWith||[],notifications:(b.notifications||[]).map(J=>({id:Wt(),timeValue:J.value,timePeriod:J.type,sendToContact:J.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const J=oe.create();if(!J.title){S({open:!0,message:g("global.nameRequired"),severity:"error"});return}N={...J,startAt:new Date(J.startAt),endAt:new Date(J.endAt),contactId:J.contactId||m||null,eventTypeId:"",repeatId:"",notifications:J.notifications.map(he=>({...he,id:he.id||Wt()}))}}const P=z;if(!P){S({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const q={...N,calendarId:P};pe(!0);try{S({open:!0,message:g("global.savingChanges"),severity:"info"});const J=await fd(v,q);Le.includes(P)||bt(he=>[...he,P]),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("created","event",J),oe.resetFields(),qe()}catch(J){console.error("Error creando evento:",J);const he=J?.response?.data?.message||J?.message||g("global.errorSavingChanges");S({open:!0,message:he,severity:"error"})}finally{pe(!1)}}async function le(){if(!T?.id)return;const b=oe.create(),N=z||T.calendarId||"";if(!N){S({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}T.originalOccurrenceDate!=null?(Ee(()=>async P=>{await re(b,N,P)}),me(!0)):await re(b,N,!1)}async function re(b,N,P){const q=T?.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:N,notifications:b.notifications,sharedWith:b.sharedWith,contactId:b.contactId??null};(P||!q)&&(J.rule=b.rule);const he=Jt(T),Fe={updatedActivity:J,activityId:he};q&&!P&&(Fe.originalOccurrenceDate=T.originalOccurrenceDate),Ye(!0);try{const ue=await Hn(v,Fe);ue&&(I(ue),ue.calendarId&&L(ue.calendarId),ut.setEvents(ye=>ye.map(St=>St.id===T?.id?{...St,...ue,start:new Date(ue.startAt),end:new Date(ue.endAt||ue.startAt)}:St))),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("updated","event",ue),qe(),Ct()}catch(ue){console.error("Error actualizando evento:",ue);const ye=ue?.response?.data?.message||ue?.message||g("global.errorSavingChanges");S({open:!0,message:ye,severity:"error"})}finally{Ye(!1)}}async function De(b){me(!1),ee&&(await ee(b),Ee(null))}async function be(){T?.originalOccurrenceDate!=null?ie(!0):(G("event"),E(!0))}async function Se(){if(v)if(E(!1),W==="event")try{const b=Jt(T);qe(),await Oa(v,b),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:b}),Ct()}catch(b){console.error("Error deleting event:",b);const N=b?.message?.includes("duplicate key")?g("global.eventAlreadyDeleted","El evento ya fue eliminado"):g("global.errorSavingChanges");S({open:!0,message:N,severity:"error"})}else{if(!A?.id)return;try{const b=Kt(A.id),N=A.calendarId;qe(),await yd(v,b),D(null),ge.resetFields(),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:b}),N&&pt(N)}catch(b){console.error("Error deleting task:",b);const N=b?.message?.includes("duplicate key")?g("global.taskAlreadyDeleted","La tarea ya fue eliminada"):g("global.errorSavingChanges");S({open:!0,message:N,severity:"error"})}}}async function Ve(b){ie(!1);const N=Jt(T);qe();try{b?await Oa(v,N):await Oa(v,N,T.originalOccurrenceDate),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:N}),Ct()}catch(P){console.error("Error deleting recurring event:",P);const q=P?.message?.includes("duplicate key")?g("global.eventAlreadyDeleted","El evento ya fue eliminado"):g("global.errorSavingChanges");S({open:!0,message:q,severity:"error"})}}async function it(){if(!v)return;const b=Jt(T);await gd(v,b),qe()}async function et(b,N,P){const q=N instanceof Date?N:new Date(N),J=P instanceof Date?P:new Date(P),he=q.toISOString(),Fe=J.toISOString(),ue=b.kind==="task";!ue&&b.originalOccurrenceDate!=null?(I(b),Ee(()=>async ye=>{await Ae(b,he,Fe,q,J,ue,ye)}),me(!0)):await Ae(b,he,Fe,q,J,ue,!1)}async function Ae(b,N,P,q,J,he,Fe){he||ut.setEvents(ue=>ue.map(ye=>ye.id===b.id?{...ye,start:q,end:J,startAt:q,endAt:J}:ye)),S({open:!0,message:g("global.savingChanges"),severity:"info"});try{if(he){const ue=Kt(b.id),ye={title:b.title,description:b.description,startAt:N,endAt:P,calendarId:b.calendarId,allDay:b.allDay||!1,isCompleted:b.isCompleted||!1};await Gn(v,ue,ye),await pt(b.calendarId)}else{const ue=Jt(b),ye=b.originalOccurrenceDate!=null,St={title:b.title,details:b.details,startAt:new Date(N),endAt:new Date(P),allDay:b.allDay,isPrivate:b.isPrivate,location:b.location,color:b.color,calendarId:b.calendarId};(Fe||!ye)&&(St.rule=b.rule);const Ha={updatedActivity:St,activityId:ue};ye&&!Fe&&(Ha.originalOccurrenceDate=b.originalOccurrenceDate),await Hn(v,Ha)}S({open:!0,message:g("global.changesSaved"),severity:"success"}),Ct()}catch{he||ut.setEvents(ue=>ue.map(ye=>ye.id===b.id?{...ye,start:b.start,end:b.end}:ye)),S({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}function $t(b,N){F("event",b,N)}function sa(){Pe.nameField.actions.resetValue(),Pe.handleColorChange("#ffffff"),Pe.shareWithUsers.action.resetField(),Pe.handleGoogleCalendarChange(null)}function ia(){sa(),V(null),Z("create"),nt.handleClose()}function Cr(b){Pe.nameField.actions.changeValue(b.title??""),Pe.nameField.actions.onSuccess(),Pe.handleColorChange(b.color??"#ffffff"),Pe.shareWithUsers.action.setUserIds(b.sharedWith??[]),Pe.handleGoogleCalendarChange(b.googleCalendar??null)}function Sr(){Z("create"),V(null),sa(),nt.handleOpen()}function jr(b){Z("edit"),V(b),Cr(b),nt.handleOpen()}async function wr(){if(!v)return;const b=(Pe.nameField.attributes.value??"").trim();if(!b){S({open:!0,message:g("global.nameRequired"),severity:"error"});return}const N=Pe.shareWithUsers.field.userIds,P={title:b,color:Pe.color,sharedWith:N.length?N:void 0,googleCalendar:Pe.googleCalendar};try{if(aa)await vd(v,P);else{const q=ne?.id;if(!q)return;await Cd(v,q,P)}ia(),S({open:!0,message:g(aa?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Bt()}catch{S({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}async function Tr(b){if(!v)return;let N;if(b?N={title:b.title,description:b.description||"",startAt:b.startAt,contactId:b.relatedContactId||null}:N=ge.create(),!N.title){S({open:!0,message:g("global.nameRequired"),severity:"error"});return}const P=k;if(!P){S({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const q={...N,calendarId:P,contactId:N.contactId||m||null};Ge(!0);try{S({open:!0,message:g("global.savingChanges"),severity:"info"});const J=await hd(v,q);Le.includes(P)||bt(he=>[...he,P]),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("created","task",J),ge.resetFields(),qe()}catch(J){console.error("Error creando tarea:",J);const he=J?.response?.data?.message||J?.message||g("global.errorSavingChanges");S({open:!0,message:he,severity:"error"})}finally{Ge(!1)}}function Ir(){F("task")}async function kr(){if(!v||!A?.id)return;const b=ge.create();if(!b.title){S({open:!0,message:g("global.nameRequired"),severity:"error"});return}const N=k||A.calendarId;if(!N){S({open:!0,message:g("global.errorSavingChanges"),severity:"error"});return}const P={title:b.title,description:b.description,startAt:b.startAt,endAt:b.endAt,calendarId:N,contactId:b.contactId??null};yt(!0);try{const q=Kt(A.id),J=await Gn(v,q,P);J&&(D(J),J.calendarId&&R(J.calendarId),vt.setTasks(ue=>ue.map(ye=>ye.id===A?.id?{...ye,...J,start:new Date(J.startAt),end:new Date(J.endAt||J.startAt)}:ye))),S({open:!0,message:g("global.changesSaved"),severity:"success"}),Qe("updated","task",J),qe();const he=A.calendarId,Fe=J?.calendarId||N;pt(Fe),he&&he!==Fe&&pt(he)}catch(q){console.error("Error actualizando tarea:",q);const J=q?.response?.data?.message||q?.message||g("global.errorSavingChanges");S({open:!0,message:J,severity:"error"})}finally{yt(!1)}}async function Er(){A?.id&&(G("task"),E(!0))}async function Dr(){if(!v||!A?.id)return;const b=!A.isCompleted;try{const N=Kt(A.id),P=A.calendarId,q=await xd(v,N,b);q&&D(q),S({open:!0,message:g("global.changesSaved"),severity:"success"}),P&&pt(P)}catch{S({open:!0,message:g("global.errorSavingChanges"),severity:"error"})}}function Ar(){const b=w==="event",N=b?T:A;if(!N)return;const P={...N};b?(I(null),M("create"),$(!0),setTimeout(()=>{if(oe.titleField.actions.changeValue(P.title??""),oe.descriptionField.actions.changeValue(P.details??P.description??""),oe.locationField.actions.changeValue(P.location??""),oe.colorField.actions.changeValue(P.color??""),oe.setAllDay(P.allDay??!1),oe.setIsPrivate(P.isPrivate??!1),oe.setRecurrenceRule(P.rule??""),oe.date.action.setSelectedStartDate(K(P.startAt)),oe.date.action.setSelectedEndDate(K(P.endAt)),oe.date.action.setError(!1),oe.notifications.action.resetNotifications(),P.relatedContact?.id&&oe.linkContact.action.handleSelectContact(P.relatedContact),P.sharedWith){const q=P.sharedWith.map(J=>J.id);oe.shareWithUsers.action.setUserIds(q)}L(P.calendarId??z)},50)):(D(null),M("create"),setTimeout(()=>{ge.titleField.actions.changeValue(P.title??""),ge.descriptionField.actions.changeValue(P.description??""),ge.date.action.setSelectedStartDate(K(P.startAt)),ge.date.action.setSelectedEndDate(K(P.startAt)),ge.date.action.setError(!1),P.relatedContact?.id&&ge.linkContact.action.handleSelectContact(P.relatedContact),R(P.calendarId??k)},50))}function Fr(b){const{startAt:N,endAt:P}=Ft(b),q={...b,kind:"task",startAt:N,endAt:P,description:b?.description??""};j("task"),D(q),R(q.calendarId??""),L(q.calendarId??""),I(null),M("view"),oe.date.action.setError(!1),ge.date.action.setError(!1),Ue.handleOpen()}function Br(b){return b?.kind==="task"?Fr(b):de(b)}l.useEffect(()=>{try{Le&&localStorage.setItem(ra,JSON.stringify(Le))}catch{}},[Le]),l.useEffect(()=>{Ne?.length&&bt(b=>{const N=new Set(Ne.map(q=>q.id)),P=(b??[]).filter(q=>N.has(q));return P.length?P:Ne.map(q=>q.id)})},[Ne]),l.useEffect(()=>{try{localStorage.setItem(Zt,xt)}catch{}},[xt]);const $r={eventDialog:{...Ue,handleClose:qe},dialogMode:U,createCalendarDialog:nt,event:oe,calendar:Pe,events:ut,handleCreateEvent:fe,handleSelectEvent:Br,handleOpenEventCreate:O,handleStartEditingEvent:te,handleSaveUpdatedEvent:le,handleEndEvent:it,handleDeleteEvent:be,handleResizeEvent:et,selectedEvent:T,savingSnackbar:_,handleCloseSnackbar:wa,dialogType:w,setDialogType:j,handleOpenTaskCreate:Ir,handleOpenCreateFromSlot:$t,handleCloseCreateCalendarDialog:ia,calendarDialogMode:X,editingCalendar:ne,handleOpenCreateCalendarDialog:Sr,handleOpenEditCalendarDialog:jr,handleSubmitCalendar:wr,tasks:vt,activeCalendarIds:Le,setActiveCalendarIds:bt,handleCreateTask:Tr,task:ge,selectedTask:A,taskCalendarId:k,setTaskCalendarId:R,eventCalendarId:z,setEventCalendarId:L,userManuallyChangedColor:H,setUserManuallyChangedColor:$,myCalendars:Ze,otherCalendars:Ta,isLoadingCalendars:Et,isCreatingEvent:Y,isUpdatingEvent:xe,isDeletingEvent:Q,isCreatingTask:We,isUpdatingTask:ce,isDeletingTask:dt,handleSaveUpdatedTask:kr,handleDeleteTask:Er,handleToggleTaskCompleted:Dr,handleDuplicateItem:Ar,calendarView:xt,setCalendarView:kt,calendarDate:ct,setCalendarDate:ea,navigateToDate:ta,confirmDeleteDialog:{open:B,handleClose:()=>E(!1),itemType:W},handleConfirmDelete:Se,deleteRecurringDialog:{open:se,handleClose:()=>ie(!1)},handleConfirmDeleteRecurring:Ve,editRecurringDialog:{open:je,handleClose:()=>{me(!1),Ee(null)}},handleConfirmEditRecurring:De,hiddenTabs:p};return t.jsx(od,{t:g,children:t.jsx(La.Provider,{value:$r,children:e})})},xa=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),za=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),_a=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),It="DD/MM/YYYY",ba="HH:mm",Td=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:i,disabled:o,hideLabel:d=!1,allDay:c=!1})=>{const u=Me(),p=l.useMemo(()=>a.diff(e,"minute"),[e,a]),m=l.useMemo(()=>{if(p===0)return"0 min";const g=Math.floor(p/60),w=p%60;return g===0?`${w} min`:w===0?`${g} h`:`${g}.${Math.round(w/60*10)} h`},[p]),x=g=>{if(!g)return;const w=g.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),j=g.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(w),r(j)},y=g=>{if(!g)return;const w=g.hour(0).minute(0).second(0).millisecond(0);n(w)},h=g=>{if(!g)return;const w=g.hour(23).minute(59).second(59).millisecond(999);r(w)},C=g=>{if(!g)return;const w=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0),j=w.add(p,"minute");n(w),r(j)},v=g=>{if(!g)return;let w=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0);(w.isBefore(e)||w.isSame(e))&&(w=w.add(1,"day")),r(w)};return o?t.jsxs(xa,{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(ba)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ba)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",m,")"]})]})]})]}):t.jsxs(xa,{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(za,{children:[t.jsx(Je.DatePicker,{disabled:o,format:It,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:y,minDate:K(),sx:{flex:1}}),t.jsx(_a,{variant:"body1",children:"\u2013"}),t.jsx(Je.DatePicker,{disabled:o,format:It,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.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:o,format:It,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:x,minDate:K()})}),t.jsxs(za,{children:[t.jsx(Je.TimePicker,{disabled:o,format:ba,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:C,sx:{alignSelf:"baseline",flex:1}}),t.jsx(_a,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Je.TimePicker,{disabled:o,format:ba,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.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,")"]})]})]})]})}),i&&t.jsx(s.Fade,{in:i,children:t.jsx(s.Typography,{color:"red",variant:"caption",sx:{mt:1,ml:"10px"},children:u("calendarView.reminders.errorDate")})})]})};s.styled(s.Box)(()=>({display:"flex",gap:2,alignItems:"center"})),s.styled(s.Box)(({theme:e})=>({width:"15%",userSelect:"none",color:e.palette.text.secondary}));const ze=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),Wa=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=Me(),{value:i,type:o,...d}=e.attributes,c=i||"";return n==="inline"?t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,placeholder:r("global.addTitle"),variant:"standard",InputProps:{disableUnderline:!1,sx:{fontSize:22,fontWeight:500}},sx:{"& .MuiInput-underline:before":{borderBottomColor:"divider"},"& .MuiInput-underline:hover:before":{borderBottomColor:"text.secondary"},"& .MuiInput-underline:after":{borderBottomWidth:2}}}):a?t.jsx(ze,{title:r("global.title"),children:t.jsx(s.Typography,{variant:"body1",sx:{py:.5,color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})}):t.jsx(ze,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},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"})),Yn=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"})),qn=[{title:"minute",value:la.EventNotificationPeriod.MINUTE},{title:"hour",value:la.EventNotificationPeriod.HOUR},{title:"day",value:la.EventNotificationPeriod.DAY}],Bd=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:i,disabled:o=!1})=>{const d=Me(),c=e.timeValue??0;return o?t.jsxs(kd,{children:[t.jsx(Yn,{children:t.jsxs(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:[d("calendarView.reminders.sendReminder.pt1")," ",c," ",d(`calendarView.reminders.timePeriod.${qn.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(Yn,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(Ed,{disabled:o,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(Dd,{disabled:o,onChange:u=>n(u,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}}},children:qn.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:o,label:d("calendarView.reminders.sendReminderToContact"),control:t.jsx(s.Checkbox,{checked:e.sendToContact,onChange:u=>r(u,e.id),color:"secondary",disabled:o})}),t.jsx(Fd,{disabled:o,onClick:()=>i(e.id),sx:{ml:"auto"},children:t.jsx(oa,{})})]})]})},$d=s.styled(s.Box)`
|
|
17
17
|
display: 'flex',
|
|
18
18
|
flexDirection: 'column',
|
|
19
19
|
gap: 1,
|
|
20
|
-
`,Bd=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Md=({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(Fd,{children:[t.jsxs(Bd,{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(Ad,{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})]})},Yn=({descriptionField:e,disabled:a})=>{const n=$e(),{value:r,type:o,...i}=e.attributes,d=r||"";return a?t.jsx(Oe,{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(Oe,{title:n("global.description"),children:t.jsx(s.TextField,{...i,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},$d=({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 h=()=>{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 x=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(x),o.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!h()){const x=setTimeout(()=>{h()},500);return()=>clearTimeout(x)}},[]);const m=h=>{const x=h.target.value;if(!x||x.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:x,types:["geocode"],sessionToken:o.current||void 0},(C,v)=>{v===window.google.maps.places.PlacesServiceStatus.OK&&C?(d(C),u(!0)):(d([]),u(!1))})},y=(h,x)=>{r.current&&r.current.getDetails({placeId:h,fields:["geometry","formatted_address"],sessionToken:o.current||void 0},(C,v)=>{if(v===window.google.maps.places.PlacesServiceStatus.OK&&C?.geometry?.location){const g=C.geometry.location.lat(),I=C.geometry.location.lng(),S=C.formatted_address??x;e({lat:g,lng:I},S),a.current&&(a.current.value=S),u(!1),d([]),o.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const h=x=>{a.current&&!a.current.contains(x.target)&&u(!1)};return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[]),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(h=>t.jsxs("div",{onClick:()=>y(h.place_id,h.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:x=>{x.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:x=>{x.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:h.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:h.structured_formatting.secondary_text})]},h.place_id))})]})},qn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Kn=["places"],Wa={apiKey:qn,libraries:Kn,loading:"async"},xa=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Jn=(e=qn,a=Kn)=>{if(xa())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++,xa()?(clearInterval(c),r()):i>=d&&(clearInterval(c),n(),Jn(e,a).then(r).catch(o))},100)}):new Promise((r,o)=>{try{n();const i="initGoogleMaps";window[i]=()=>{xa()?r():setTimeout(()=>{xa()||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=Wa.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}`,Pd=({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,y]=l.useState(a||null),h=18,x=l.useCallback(S=>{y(S),e(S)},[e]);l.useEffect(()=>{let S=!0;(async()=>{try{if(await Jn(Wa.apiKey,Wa.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(j){console.error("Error al cargar Google Maps:",j),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(j=>{const w=j.coords.latitude,D=j.coords.longitude,k=w.toString(),B=D.toString(),F=Kt(w,D,h);x({lat:k,lng:B,title:"",description:"",url:F})},j=>{console.error("Error getting location:",j);const w=-34.6037,D=-58.3816;x({lat:w.toString(),lng:D.toString(),title:"",description:"",url:Kt(w,D,h)})})},[a,x,h]),l.useEffect(()=>{if(d||r.current)return;const S=setTimeout(()=>{r.current||C()},50);return()=>clearTimeout(S)},[d]),l.useEffect(()=>{u&&m&&g()},[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 S={zoom:h,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,S),r.current.addListener("click",j=>{v(j)}),p(!0)}catch(S){console.error("Error inicializando mapa:",S)}},v=S=>{if(!S.latLng||!i.current)return;const j={lat:S.latLng.lat(),lng:S.latLng.lng()};o.current?o.current.setPosition(j):r.current&&(o.current=new window.google.maps.Marker({position:j,map:r.current})),i.current.geocode({location:j},(w,D)=>{if(D==="OK"&&w&&w[0]){const k=w[0].formatted_address,B=Kt(j.lat,j.lng,h);x({lat:j.lat.toString(),lng:j.lng.toString(),title:k||"",description:"",url:B})}else{const k=Kt(j.lat,j.lng,h);x({lat:j.lat.toString(),lng:j.lng.toString(),title:`${j.lat.toFixed(6)}, ${j.lng.toFixed(6)}`,description:"",url:k})}})},g=()=>{if(!(!r.current||!m))try{const S={lat:parseFloat(m.lat),lng:parseFloat(m.lng)};r.current.setCenter(S),o.current?o.current.setPosition(S):o.current=new window.google.maps.Marker({position:S,map:r.current})}catch(S){console.error("Error actualizando mapa:",S)}},I=(S,j)=>{const w=Kt(S.lat,S.lng,h);x({lat:S.lat.toString(),lng:S.lng.toString(),title:j||"",description:"",url:w})};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($d,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Ud=({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(Ha,{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(Pd,{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")})]})]})})]})},Rd=({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)},y=h=>{e.actions.changeValue(h)};return a?t.jsx(s.Box,{children:t.jsx(Oe,{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:h=>h.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:h=>h.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(Oe,{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(Ud,{open:r,onClose:m,onSelectLocation:y,initialAddress:u})]})},Nd=({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))})},Ld={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function zd(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),[y,h]=l.useState(!1),[x,C]=l.useState(1),[v,g]=l.useState(!1),I=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),g(!1),C(1),h(!1),o([])},[]),S=k=>k.filter(B=>!!B?.id),j=l.useCallback(async({query:k,page:B})=>{if(!e)return;n.current?.abort();const F=new AbortController;n.current=F,u(!0);try{const T={...Ld,currentPage:B,filter:[{value:k,column:"name",condition:""}]},L=await Cd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:T,signal:F.signal});if(F.signal.aborted)return;const V=S(L?.contactos??[]);d(!0);const z=L?.paginacion?.total??0;o(G=>{const M=B===1?V:(()=>{const Q=new Map;for(const H of G)Q.set(H.id,H);for(const H of V)Q.set(H.id,H);return Array.from(Q.values())})();return z&&M.length>=z&&g(!0),M})}finally{u(!1),m(!1),h(!1)}},[e]),w=l.useCallback(k=>{I(),k&&(a.current&&(clearTimeout(a.current),a.current=null),m(!0),a.current=setTimeout(()=>{j({query:k,page:1})},800))},[j,I]),D=l.useCallback((k,B)=>{const F=k.target;if(!(F.scrollHeight-F.scrollTop-F.clientHeight<1)||v||c||!B)return;const T=x+1;h(!0),C(T),j({query:B,page:T})},[v,c,x,j]);return{contactList:r,hasSearched:i,isLoading:c,isLoadingTimer:p,isNextPage:y,handleQueryChanged:w,handleScroll:D,resetSearchState:I}}const Xn=({linkContactsHandler:e,disabled:a=!1})=>{const n=$e(),r=Un(),o=l.useRef(null),[i,d]=l.useState(null),{action:{handleSearchChange:c,handleSelectContact:u,handleRemoveContact:p},state:{search:m,selectedContacts:y}}=e,{contactList:h,hasSearched:x,isLoading:C,isLoadingTimer:v,handleQueryChanged:g,handleScroll:I,resetSearchState:S}=zd(r),j=m||"",w=!!i&&j.length>0&&!a,D=y.map(T=>T.id);l.useEffect(()=>{j?g(j):S()},[j,g,S]);const k=T=>{c(T),T&&!i?d(o.current):T||d(null)},B=T=>{u(T),d(null),S()},F=()=>{d(null)};return a?t.jsx(Oe,{title:n("global.linkContacts"),children:y.length>0?t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:y.map(T=>t.jsx(s.Chip,{icon:t.jsx(Ta,{fontSize:"small"}),label:T.name,size:"small",variant:"outlined"},T.id))}):t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(s.ClickAwayListener,{onClickAway:F,children:t.jsxs(s.Box,{children:[t.jsxs(Oe,{title:n("global.linkContacts"),children:[t.jsx(s.TextField,{ref:o,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:j,onChange:T=>k(T.target.value),onFocus:()=>{j&&d(o.current)},InputProps:{startAdornment:t.jsx(Ta,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:C||v?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null}}),y.length>0&&t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:y.map(T=>t.jsx(s.Chip,{icon:t.jsx(Ta,{fontSize:"small"}),label:T.name,size:"small",onDelete:()=>p(T.id)},T.id))})]}),t.jsx(s.Popper,{open:w,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:[x&&h.length>0&&t.jsx(Nd,{handleScroll:T=>I(T,j),contactList:h,handleSelectContact:B,selectedContactIds:D,search:j}),x&&h.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")})})]})})]})})},Od=({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:y,event:h,task:x,eventCalendarId:C,taskCalendarId:v,isCreatingEvent:g,isUpdatingEvent:I,isCreatingTask:S,isUpdatingTask:j}=l.useContext(Ra),w=$e(),D=c==="event",k=g,B=I,F=!1,T=S,L=j,V=()=>{D?n():u()},z=(()=>{if(r==="view")return o;if(r==="edit")return D?()=>i?.():()=>p?.();if(r==="create")return V})(),G=w(r==="view"?D?"global.editEvent":"global.editTask":r==="edit"?D?"global.saveEvent":"global.saveTask":D?"global.createEvent":"global.createTask"),M=D?k||B:T||L,Q=()=>{if(r==="view")return!0;const $=D?h:x,E=D?C:v;return $?.titleField?.attributes?.value?.trim().length>0&&!!E},H=D?k||B||e||!Q():T||L||e||!Q(),W=!D&&r==="view",U=m?.isCompleted||!1;return W?t.jsx(s.DialogActions,{children:t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.CheckCircleOutline,{}),size:"small",loading:L,disabled:L,onClick:y,variant:"contained",color:U?"inherit":"primary",children:U?w("global.markAsIncomplete","Marcar como incompleta"):w("global.markAsCompleted","Marcar como completada")})}):t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:w("global.cancel")}),D&&(r==="edit"||r==="view")&&t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.EventAvailable,{}),size:"small",disabled:e,loading:F,onClick:d,variant:"contained",children:w("global.finalizeEvent")}),t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.EditCalendar,{}),size:"small",loading:M,disabled:H,onClick:z,variant:"contained",children:G})]})},Qn={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},Wd=({value:e,onChange:a,labels:n})=>t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[t.jsx(s.Button,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"primary",sx:{...Qn},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Qn},color:"primary",children:n.task})]}),_d="DD/MM/YYYY",Vd="HH:mm",Hd=({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(ha,{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(_d)}),t.jsx(s.Typography,{variant:"body1",children:e.format(Vd)})]})]}):t.jsxs(ha,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsx(La,{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(za,{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")})})]})},Zn=({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(Oe,{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(Oe,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Xr,{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(Oe,{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]})}})})})},Gd=({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")})})},Yd=({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]),y=parseInt(u[3]),h=x=>{const C=x.toString(16);return C.length===1?"0"+C:C};return`#${h(p)}${h(m)}${h(y)}`}return"#1976d2"})(o),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(Oe,{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(Oe,{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"}})})})},er=[{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"}],qd=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const o=$e(),i=p=>{a(p.target.value)},d=l.useMemo(()=>er.map(p=>t.jsx(s.MenuItem,{value:p.value,children:o(p.label,p.label)},p.value)),[o]),c=l.useMemo(()=>{const p=er.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(Ia,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(Oe,{title:o("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ia,{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(Ia,{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(Oe,{title:o("global.recurrence","Recurrencia"),children:u})},Kd=({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(Qr,{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")})]})]})},Jd=({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")})]})]})},Xd=({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")})]})]})},Qd=()=>{const e=$e(),{event:a,task:n,dialogMode:r,selectedEvent:o,handleDeleteEvent:i,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:m,taskCalendarId:y,setTaskCalendarId:h,eventCalendarId:x,setEventCalendarId:C,myCalendars:v,otherCalendars:g,isLoadingCalendars:I,handleDeleteTask:S,userManuallyChangedColor:j,setUserManuallyChangedColor:w,eventDialog:{open:D,handleClose:k},confirmDeleteDialog:B,handleConfirmDelete:F,deleteRecurringDialog:T,handleConfirmDeleteRecurring:L,editRecurringDialog:V,handleConfirmEditRecurring:z,hiddenTabs:G,savingSnackbar:M,handleCloseSnackbar:Q}=l.useContext(Ra);if(!a||!n)return t.jsx(s.Modal,{open:D,onClose:k,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:D,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:q=>q.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const H=u==="event",W=H?a:n,U=H?o:m,$=l.useRef(null);l.useEffect(()=>{D||($.current=null)},[D]);const{titleField:E,descriptionField:O,date:R,linkContact:Y}=W,ae=H?a.notifications:null,ne=H?{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,me=e(r==="edit"?H?"global.editEvent":"global.editTask":r==="create"?H?"global.createEvent":"global.createTask":H?"global.showEvent":"global.showTask"),je=(r==="edit"||r==="view")&&!!U?.id,he=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!D||j||!x)return;const q=v.find(ce=>ce.id===x);q?.color&&a.colorField.actions.changeValue(q.color)},[r,u,D,x,j,v]),l.useEffect(()=>{if(!D||u!=="event"||r!=="edit")return;const q=R.state.selectedStartDate.isAfter(R.state.selectedEndDate)&&!R.state.selectedStartDate.isSame(R.state.selectedEndDate,"minute");$.current!==q&&($.current=q,R.action.setError(q))},[D,u,r,R.state.selectedStartDate.valueOf(),R.state.selectedEndDate.valueOf()]);const ee=q=>{if(q==="task"){const ce=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(ce),n.date.action.setSelectedEndDate(ce),n.date.action.setError(!1),a.date.action.setError(!1)}else{const ce=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(ce),a.date.action.setError(!1),n.date.action.setError(!1)}p(q)},Ee=q=>{a.colorField.actions.changeValue(q),w(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:D,onClose:k,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:D,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:q=>q.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:me}),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:H?i:S,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(sa,{fontSize:"small"})}),he&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Zr,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(Oa,{disabled:!1,titleField:E,variantMode:"inline"}),!G&&t.jsx(Wd,{value:u,onChange:ee,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Oa,{disabled:r==="view",titleField:E}),t.jsx(Yn,{disabled:r==="view",descriptionField:O}),t.jsx(Zn,{disabled:r==="view",calendars:[...v,...g],userId:v[0]?.userId,value:x,onChange:q=>C(q),loading:I}),t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:q=>q.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(jd,{disabled:r==="view",selectedStartDate:R.state.selectedStartDate,selectedEndDate:R.state.selectedEndDate,handleSelectStart:R.action.handleSelect(R.action.setSelectedStartDate),handleSelectEnd:R.action.handleSelect(R.action.setSelectedEndDate),isError:R.state.error,hideLabel:!0,allDay:ne?.allDay??!1})})}),ne&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(Gd,{checked:ne.allDay,onChange:ne.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(qd,{disabled:r==="view",value:ne.recurrenceRule,onChange:ne.setRecurrenceRule,hideLabel:!0})})]})]}),ne&&t.jsx(t.Fragment,{children:t.jsx(Yd,{disabled:r==="view",colorField:ne.colorField,onColorChange:r==="create"?Ee:void 0})}),ae&&t.jsx(Md,{disabled:r==="view",notificationsField:ae}),t.jsx(Xn,{linkContactsHandler:Y,disabled:r==="view"}),ne&&t.jsx(Rd,{disabled:r==="view",locationField:ne.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Oa,{disabled:r==="view",titleField:E}),t.jsx(Yn,{disabled:r==="view",descriptionField:O}),t.jsx(Zn,{disabled:r==="view",calendars:[...v,...g],userId:v[0]?.userId,value:y,onChange:q=>h(q),loading:I}),t.jsx(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:q=>q.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(es,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Hd,{disabled:r==="view",selectedDateTime:R.state.selectedStartDate,handleSelect:q=>{R.action.setSelectedStartDate(q),R.action.setSelectedEndDate(q),R.action.setError(!1)},isError:R.state.error,hideLabel:!0})})]})}),t.jsx(Xn,{linkContactsHandler:Y,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(Od,{isFinalized:o?.finalized})})]})})}),t.jsx(Kd,{open:B.open,onClose:B.handleClose,onConfirm:F,itemTitle:B.itemType==="event"?o?.title:m?.title,itemType:B.itemType}),t.jsx(Jd,{open:T.open,onClose:T.handleClose,onConfirm:L,eventTitle:o?.title}),t.jsx(Xd,{open:V.open,onClose:V.handleClose,onConfirm:z,eventTitle:o?.title}),t.jsx(s.Snackbar,{open:M.open,autoHideDuration:6e3,onClose:Q,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:Q,severity:M.severity,sx:{width:"100%"},variant:"filled",children:M.message})})]})},tr=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}}}}}})},Zd=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:y,hiddenTabs:h=!1,onActionComplete:x,contactId:C,initialStartDate:v,initialEndDate:g}=e,{i18n:I}=Ke.useTranslation();l.useEffect(()=>{i&&I.changeLanguage(i)},[i,I]);const S=l.useMemo(()=>({baseUrl:r,spaceId:o}),[r,o]);return t.jsx($l,{value:S,children:t.jsx(Sd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:m,externalSelectedTask:y,hiddenTabs:h,externalOnActionComplete:x,externalContactId:C,externalInitialStartDate:v,externalInitialEndDate:g,children:t.jsx(Qd,{})})})},ec=e=>{const a=s.useTheme(),n=a?.palette?a:s.createTheme(),r=tr(n);return t.jsx(s.ThemeProvider,{theme:r,children:t.jsx(Ke.I18nextProvider,{i18n:Lt,children:t.jsx(Zd,{...e})})})},ba=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)"}}),ar=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)"}}),nr=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)"}}),rr=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)"}}),sr=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)"}}),ir=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)"}}),or=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)"}}),lr=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)"}}),dr=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)"}}),cr=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)"}}),ur=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)"}}),pr=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)"}}),fr=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)"}}),gr=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)"}}),mr=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)"}}),tc="https://agent-api.trii.app/api/v1/settings/user/setTheme",ac={themeSelected:ba,darkMode:!1,toggleStatus:"idle"},hr=Qa.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await ts.put(tc,r)).data}),yr=Qa.createSlice({name:"Theme",initialState:ac,reducers:{toggleTheme:(e,a)=>{const n=xr(a.payload);Object.assign(e,{themeSelected:n,toggleStatus:"toggled"})},toggleModeTheme:e=>{e.darkMode=!e.darkMode}},extraReducers:e=>{e.addCase(hr.fulfilled,(a,n)=>{const r=xr(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),xr=e=>{switch(e){case"lightBlueIndigo":return ba;case"darkBlack":return mr;case"darkBlue":return gr;case"lightAmber":return cr;case"lightBlue":return ar;case"lightBrown":return pr;case"lightGray":return fr;case"lightGreen":return rr;case"lightLime":return lr;case"lightOrange":return ur;case"lightPink":return sr;case"lightPurple":return ir;case"lightRed":return nr;case"lightTeal":return or;case"lightYellow":return dr;default:return ba}},nc=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:rc,toggleModeTheme:sc}=yr.actions,ic=e=>e.Theme.toggleStatus,oc=e=>e.Theme.themeSelected,lc=e=>e.Theme.darkMode;yr.reducer,exports.ContactInfoPopup=rn,exports.EditContactModal=Ml,exports.EventsDialog=ec,exports.MuiComponentsConfig=tr,exports.darkBlack=mr,exports.darkBlue=gr,exports.i18n=Lt,exports.isValidThemeName=nc,exports.lightAmber=cr,exports.lightBlue=ar,exports.lightBlueIndigo=ba,exports.lightBrown=pr,exports.lightGray=fr,exports.lightGreen=rr,exports.lightLime=lr,exports.lightOrange=ur,exports.lightPink=sr,exports.lightPurple=ir,exports.lightRed=nr,exports.lightTeal=or,exports.lightYellow=dr,exports.selectThemeToggleStatus=ic,exports.selectedDarkTheme=lc,exports.selectedTheme=oc,exports.toggleModeTheme=sc,exports.toggleTheme=rc,exports.updateTheme=hr;
|
|
20
|
+
`,Md=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Ud=({notificationsField:e,disabled:a})=>{const n=Me(),{addNotification:r,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs($d,{children:[t.jsxs(Md,{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:i,sendToContactHandler:o,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=Me(),{value:r,type:i,...o}=e.attributes,d=r||"";return a?t.jsx(ze,{title:n("global.description"),children:t.jsx(s.Typography,{variant:"body2",sx:{py:.5,whiteSpace:"pre-wrap",color:c=>c.palette.text.secondary,fontSize:"0.9rem"},children:d||"-"})}):t.jsx(ze,{title:n("global.description"),children:t.jsx(s.TextField,{...o,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},Pd=({onPlaceSelected:e})=>{const a=l.useRef(null),n=l.useRef(null),r=l.useRef(null),i=l.useRef(null),[o,d]=l.useState([]),[c,u]=l.useState(!1),p=Me();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 h=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(h),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!y()){const h=setTimeout(()=>{y()},500);return()=>clearTimeout(h)}},[]);const m=y=>{const h=y.target.value;if(!h||h.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:h,types:["geocode"],sessionToken:i.current||void 0},(C,v)=>{v===window.google.maps.places.PlacesServiceStatus.OK&&C?(d(C),u(!0)):(d([]),u(!1))})},x=(y,h)=>{r.current&&r.current.getDetails({placeId:y,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(C,v)=>{if(v===window.google.maps.places.PlacesServiceStatus.OK&&C?.geometry?.location){const g=C.geometry.location.lat(),w=C.geometry.location.lng(),j=C.formatted_address??h;e({lat:g,lng:w},j),a.current&&(a.current.value=j),u(!1),d([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const y=h=>{a.current&&!a.current.contains(h.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:()=>o.length>0&&u(!0),style:{width:"100%",padding:"12px 16px 5px",borderRadius:"24px",border:"1px solid #ccc",backgroundColor:"white",fontSize:"15px",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",outline:"none",position:"relative",zIndex:13e3}}),c&&o.length>0&&t.jsx("div",{style:{position:"absolute",top:"100%",left:0,right:0,backgroundColor:"white",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",marginTop:"4px",maxHeight:"300px",overflowY:"auto",zIndex:13001},children:o.map(y=>t.jsxs("div",{onClick:()=>x(y.place_id,y.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:y.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:y.structured_formatting.secondary_text})]},y.place_id))})]})},Jn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Xn=["places"],Va={apiKey:Jn,libraries:Xn,loading:"async"},va=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Qn=(e=Jn,a=Xn)=>{if(va())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(r=>{r.parentNode?.removeChild(r)})};return document.getElementById("google-maps-script")?new Promise((r,i)=>{let o=0;const d=100,c=setInterval(()=>{o++,va()?(clearInterval(c),r()):o>=d&&(clearInterval(c),n(),Qn(e,a).then(r).catch(i))},100)}):new Promise((r,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{va()?r():setTimeout(()=>{va()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),r()},500)};const d=document.createElement("script");d.id="google-maps-script",d.type="text/javascript";const c=Array.isArray(a)?a.join(","):a;d.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${c}&callback=${o}&loading=async`,d.async=!0,d.defer=!0,d.onerror=()=>{delete window[o],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(d)}catch(o){i(o)}})},Xt=(e,a,n=18,r=400,i=400,o="red",d=Va.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${r}x${i}&markers=color:${o}%7Clabel:A%7C${e},${a}&key=${d}`,Rd=({onLocationChange:e,initialLocation:a})=>{const n=l.useRef(null),r=l.useRef(null),i=l.useRef(null),o=l.useRef(null),[d,c]=l.useState(!0),[u,p]=l.useState(!1),[m,x]=l.useState(a||null),y=18,h=l.useCallback(j=>{x(j),e(j)},[e]);l.useEffect(()=>{let j=!0;(async()=>{try{if(await Qn(Va.apiKey,Va.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),c(!1);return}window.google?.maps?.Geocoder&&(o.current=new window.google.maps.Geocoder),c(!1)}catch(T){console.error("Error al cargar Google Maps:",T),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(T=>{const I=T.coords.latitude,A=T.coords.longitude,D=I.toString(),U=A.toString(),M=Xt(I,A,y);h({lat:D,lng:U,title:"",description:"",url:M})},T=>{console.error("Error getting location:",T);const I=-34.6037,A=-58.3816;h({lat:I.toString(),lng:A.toString(),title:"",description:"",url:Xt(I,A,y)})})},[a,h,y]),l.useEffect(()=>{if(d||r.current)return;const j=setTimeout(()=>{r.current||C()},50);return()=>clearTimeout(j)},[d]),l.useEffect(()=>{u&&m&&g()},[u,m]),l.useEffect(()=>()=>{i.current&&(i.current.setMap(null),i.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",T=>{v(T)}),p(!0)}catch(j){console.error("Error inicializando mapa:",j)}},v=j=>{if(!j.latLng||!o.current)return;const T={lat:j.latLng.lat(),lng:j.latLng.lng()};i.current?i.current.setPosition(T):r.current&&(i.current=new window.google.maps.Marker({position:T,map:r.current})),o.current.geocode({location:T},(I,A)=>{if(A==="OK"&&I&&I[0]){const D=I[0].formatted_address,U=Xt(T.lat,T.lng,y);h({lat:T.lat.toString(),lng:T.lng.toString(),title:D||"",description:"",url:U})}else{const D=Xt(T.lat,T.lng,y);h({lat:T.lat.toString(),lng:T.lng.toString(),title:`${T.lat.toFixed(6)}, ${T.lng.toFixed(6)}`,description:"",url:D})}})},g=()=>{if(!(!r.current||!m))try{const j={lat:parseFloat(m.lat),lng:parseFloat(m.lng)};r.current.setCenter(j),i.current?i.current.setPosition(j):i.current=new window.google.maps.Marker({position:j,map:r.current})}catch(j){console.error("Error actualizando mapa:",j)}},w=(j,T)=>{const I=Xt(j.lat,j.lng,y);h({lat:j.lat.toString(),lng:j.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(Pd,{onPlaceSelected:w}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Nd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const i=Me(),[o,d]=l.useState(null),c=l.useRef(null);l.useEffect(()=>{e||d(null)},[e]),l.useEffect(()=>{c.current&&o&&(c.current.scrollTop=c.current.scrollHeight/4)},[o]);const u=l.useCallback(m=>{d(m)},[]),p=l.useCallback(()=>{o&&(n(o.title||`${o.lat}, ${o.lng}`,o.lat,o.lng),a())},[o,n,a]);return t.jsxs(s.Dialog,{open:e,onClose:a,maxWidth:"md",fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,PaperProps:{sx:{maxHeight:"80vh",height:"80vh"}},sx:{"& .MuiDialog-paper":{backgroundColor: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:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(s.IconButton,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(Ia,{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:i("global.cancel","Cancelar")}),t.jsx(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:p,disabled:!o,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},Ld=({locationField:e,disabled:a})=>{const n=Me(),[r,i]=l.useState(!1),{value:o,type:d,...c}=e.attributes,u=o||"",p=()=>{a||i(!0)},m=()=>{i(!1)},x=y=>{e.actions.changeValue(y)};return a?t.jsx(s.Box,{children:t.jsx(ze,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Xa,{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(ze,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(s.TextField,{...c,value:u,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick: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:m,onSelectLocation:x,initialAddress:u})]})},Od=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:i})=>{const o=Me(),d=s.useTheme();return t.jsx(s.List,{sx:{width:"100%",height:"100%",overflow:"auto",border:`1px solid ${d.palette.divider}`,borderTop:"none",backgroundColor:d.palette.background.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12))"},onScroll:e,children:i&&a?.map(c=>t.jsxs(s.ListItemButton,{sx:{width:"100%"},onClick:()=>n(c),selected:r.includes(c.id),children:[t.jsx(s.ListItemIcon,{children:t.jsx(Be.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(s.ListItemText,{primary:o(c.name),secondary:c?.phone})]},c.id))})},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,i]=l.useState([]),[o,d]=l.useState(!1),[c,u]=l.useState(!1),[p,m]=l.useState(!1),[x,y]=l.useState(!1),[h,C]=l.useState(1),[v,g]=l.useState(!1),w=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),g(!1),C(1),y(!1),i([])},[]),j=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 k={...zd,currentPage:U,filter:[{value:D,column:"name",condition:""}]},R=await jd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:k,signal:M.signal});if(M.signal.aborted)return;const z=j(R?.contactos??[]);d(!0);const L=R?.paginacion?.total??0;i(H=>{const $=U===1?z:(()=>{const X=new Map;for(const Z of H)X.set(Z.id,Z);for(const Z of z)X.set(Z.id,Z);return Array.from(X.values())})();return L&&$.length>=L&&g(!0),$})}finally{u(!1),m(!1),y(!1)}},[e]),I=l.useCallback(D=>{w(),D&&(a.current&&(clearTimeout(a.current),a.current=null),m(!0),a.current=setTimeout(()=>{T({query:D,page:1})},800))},[T,w]),A=l.useCallback((D,U)=>{const M=D.target;if(!(M.scrollHeight-M.scrollTop-M.clientHeight<1)||v||c||!U)return;const k=h+1;y(!0),C(k),T({query:U,page:k})},[v,c,h,T]);return{contactList:r,hasSearched:o,isLoading:c,isLoadingTimer:p,isNextPage:x,handleQueryChanged:I,handleScroll:A,resetSearchState:w}}const Zn=({linkContactsHandler:e,disabled:a=!1})=>{const n=Me(),r=Nn(),i=l.useRef(null),[o,d]=l.useState(null),{action:{handleSearchChange:c,handleSelectContact:u,handleRemoveContact:p},state:{search:m,selectedContacts:x}}=e,{contactList:y,hasSearched:h,isLoading:C,isLoadingTimer:v,handleQueryChanged:g,handleScroll:w,resetSearchState:j}=_d(r),T=m||"",I=x[0]??null,A=!!o&&T.length>0&&!a&&!I;l.useEffect(()=>{T?g(T):j()},[T,g,j]);const D=k=>{c(k),k&&!o?d(i.current):k||d(null)},U=k=>{u(k),d(null),j()},M=()=>{d(null)};return a?t.jsx(ze,{title:n("global.linkContacts"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[I&&t.jsx(Qa,{sx:{opacity:.5,color:k=>k.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:k=>k.palette.text.secondary,fontSize:"0.9rem"},children:I?I.name:"-"})]})}):t.jsx(s.ClickAwayListener,{onClickAway:M,children:t.jsxs(s.Box,{children:[t.jsx(ze,{title:n("global.linkContacts"),children:t.jsx(s.TextField,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:I?I.name:T,onChange:k=>{I||D(k.target.value)},onFocus:()=>{T&&!I&&d(i.current)},inputProps:{readOnly:!!I},InputProps:{startAdornment:t.jsx(s.InputAdornment,{position:"start",children:t.jsx(Qa,{sx:{opacity:.5},fontSize:"small"})}),endAdornment:I?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.IconButton,{size:"small",edge:"end",onClick:p,children:t.jsx(Ia,{fontSize:"small"})})}):C||v?t.jsx(s.InputAdornment,{position:"end",children:t.jsx(s.CircularProgress,{size:18})}):null}})}),t.jsx(s.Popper,{open:A,anchorEl:o,placement:"bottom-start",style:{width:o?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(s.Paper,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[h&&y.length>0&&t.jsx(Od,{handleScroll:k=>w(k,T),contactList:y,handleSelectContact:U,selectedContactIds:[],search:T}),h&&y.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:i,handleSaveUpdatedEvent:o,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:p,selectedTask:m,handleToggleTaskCompleted:x,event:y,task:h,eventCalendarId:C,taskCalendarId:v,isCreatingEvent:g,isUpdatingEvent:w,isCreatingTask:j,isUpdatingTask:T}=l.useContext(La),I=Me(),A=c==="event",D=g,U=w,M=!1,k=j,R=T,z=()=>{A?n():u()},L=(()=>{if(r==="view")return i;if(r==="edit")return A?()=>o?.():()=>p?.();if(r==="create")return z})(),H=I(r==="view"?A?"global.editEvent":"global.editTask":r==="edit"?A?"global.saveEvent":"global.saveTask":A?"global.createEvent":"global.createTask"),$=A?D||U:k||R,X=()=>{if(r==="view")return!0;const _=A?y:h,S=A?C:v;return _?.titleField?.attributes?.value?.trim().length>0&&!!S},Z=A?D||U||e||!X():k||R||e||!X(),ne=!A&&r==="view",V=m?.isCompleted||!1;return ne?t.jsx(s.DialogActions,{children:t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.CheckCircleOutline,{}),size:"small",loading:R,disabled:R,onClick:x,variant:"contained",color:V?"inherit":"primary",children:V?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")}),A&&(r==="edit"||r==="view")&&t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.EventAvailable,{}),size:"small",disabled:e,loading:M,onClick:d,variant:"contained",children:I("global.finalizeEvent")}),t.jsx(tt.LoadingButton,{startIcon:t.jsx(Be.EditCalendar,{}),size:"small",loading:$,disabled:Z,onClick:L,variant:"contained",children:H})]})},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",Yd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:i=!1})=>{const o=Me(),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(xa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Hd)}),t.jsx(s.Typography,{variant:"body1",children:e.format(Gd)})]})]}):t.jsxs(xa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(za,{children:t.jsxs(Je.LocalizationProvider,{dateAdapter:Ja.AdapterDayjs,children:[t.jsx(Je.DatePicker,{disabled:n,value:e,onChange:d,slotProps:{textField:()=>({label:o("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:K()}),t.jsx(_a,{variant:"body1",children:"_"}),t.jsx(Je.TimePicker,{disabled:n,value:e,onChange:c,ampm:!1,slotProps:{textField:()=>({label:o("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(s.Fade,{in:r,children:t.jsx(s.Typography,{color:"red",variant:"caption",children:o("conversations.sidebar.events.errorDate")})})]})},tr=({disabled:e,calendars:a,userId:n,value:r,onChange:i,loading:o=!1})=>{const d=Me(),c=l.useMemo(()=>a??[],[a]),u=l.useMemo(()=>{const p=c.find(m=>m.id===r);return e&&r&&!p&&!o&&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,o]);if(e){if(o)return t.jsx(ze,{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(ze,{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(ze,{title:d("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e||o,size:"small",fullWidth:!0,options:c,value:u,onChange:(p,m)=>i(m?.id??""),getOptionLabel:p=>p?.title??"",isOptionEqualToValue:(p,m)=>p.id===m.id,loading:o,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:[o?t.jsx(s.CircularProgress,{color:"inherit",size:20}):null,p.InputProps.endAdornment]})}})})})},qd=({checked:e,onChange:a,disabled:n})=>{const r=Me();return t.jsx(s.Box,{sx:{display:"flex",alignItems:"center"},children:t.jsx(s.FormControlLabel,{control:t.jsx(s.Checkbox,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},Kd=({colorField:e,disabled:a,onColorChange:n})=>{const r=Me(),i=e.attributes.value||"#1976d2",o=(c=>{if(c.startsWith("#"))return c;const u=c.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(u&&u[1]&&u[2]&&u[3]){const p=parseInt(u[1]),m=parseInt(u[2]),x=parseInt(u[3]),y=h=>{const C=h.toString(16);return C.length===1?"0"+C:C};return`#${y(p)}${y(m)}${y(x)}`}return"#1976d2"})(i),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(ze,{title:r("global.color","Color"),children:t.jsxs(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(s.Box,{sx:{width:40,height:40,backgroundColor:o,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(s.Typography,{variant:"body2",sx:{color:"text.secondary"},children:o})]})}):t.jsx(ze,{title:r("global.color","Color"),children:t.jsx(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:o,onChange:d,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},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 i=Me(),o=p=>{a(p.target.value)},d=l.useMemo(()=>ar.map(p=>t.jsx(s.MenuItem,{value:p.value,children:i(p.label,p.label)},p.value)),[i]),c=l.useMemo(()=>{const p=ar.find(m=>m.value===e);return p?i(p.label,p.label):i("global.noRepeat")},[e,i]);if(n)return r?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ea,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(ze,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ea,{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:o,startAdornment:t.jsx(Ea,{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(ze,{title:i("global.recurrence","Recurrencia"),children:u})},Xd=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:i})=>{const{t:o}=Ke.useTranslation(),d=()=>{n(),a()},c=i==="event"?o("calendar.deleteEvent","Eliminar evento"):o("calendar.deleteTask","Eliminar tarea"),u=i==="event"?o("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):o("calendar.confirmDeleteTask","\xBFEst\xE1s seguro de que quer\xE9s eliminar esta tarea?");return t.jsxs(s.Dialog,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor: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:o("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:d,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:o("global.delete","Eliminar")})]})]})},Qd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=Ke.useTranslation(),[o,d]=l.useState("single"),c=()=>{n(o==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(s.DialogContent,{children:[r&&t.jsxs(s.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(s.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(s.RadioGroup,{value:o,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(s.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(s.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},Zd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=Ke.useTranslation(),[o,d]=l.useState("single"),c=()=>{n(o==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(s.DialogContent,{children:[r&&t.jsxs(s.Box,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(s.FormControl,{component:"fieldset",fullWidth:!0,children:t.jsxs(s.RadioGroup,{value:o,onChange:p=>d(p.target.value),children:[t.jsx(s.FormControlLabel,{value:"single",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(s.FormControlLabel,{value:"all",control:t.jsx(s.Radio,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(s.DialogActions,{sx:{px:3,pb:2},children:[t.jsx(s.Button,{onClick:u,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(s.Button,{onClick:c,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},ec=()=>{const e=Me(),{event:a,task:n,dialogMode:r,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:m,taskCalendarId:x,setTaskCalendarId:y,eventCalendarId:h,setEventCalendarId:C,myCalendars:v,otherCalendars:g,isLoadingCalendars:w,handleDeleteTask:j,userManuallyChangedColor:T,setUserManuallyChangedColor:I,eventDialog:{open:A,handleClose:D},confirmDeleteDialog:U,handleConfirmDelete:M,deleteRecurringDialog:k,handleConfirmDeleteRecurring:R,editRecurringDialog:z,handleConfirmEditRecurring:L,hiddenTabs:H,savingSnackbar:$,handleCloseSnackbar:X}=l.useContext(La);if(!a||!n)return t.jsx(s.Modal,{open:A,onClose:D,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:A,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 Z=u==="event",ne=Z?a:n,V=Z?i:m,_=l.useRef(null);l.useEffect(()=>{A||(_.current=null)},[A]);const{titleField:S,descriptionField:B,date:E,linkContact:W}=ne,G=Z?a.notifications:null,se=Z?{locationField:a.locationField,colorField:a.colorField,allDay:a.allDay,setAllDay:a.setAllDay,isPrivate:a.isPrivate,setIsPrivate:a.setIsPrivate,recurrenceRule:a.recurrenceRule,setRecurrenceRule:a.setRecurrenceRule}:null,ie=e(r==="edit"?Z?"global.editEvent":"global.editTask":r==="create"?Z?"global.createEvent":"global.createTask":Z?"global.showEvent":"global.showTask"),je=(r==="edit"||r==="view")&&!!V?.id,me=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!A||T||!h)return;const Y=v.find(pe=>pe.id===h);Y?.color&&a.colorField.actions.changeValue(Y.color)},[r,u,A,h,T,v]),l.useEffect(()=>{if(!A||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))},[A,u,r,E.state.selectedStartDate.valueOf(),E.state.selectedEndDate.valueOf()]);const ee=Y=>{if(Y==="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(Y)},Ee=Y=>{a.colorField.actions.changeValue(Y),I(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:A,onClose:D,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:A,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:ie}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[me&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(Ut,{fontSize:"small"})}),je&&t.jsx(s.IconButton,{size:"small",onClick:Z?o:j,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(oa,{fontSize:"small"})}),me&&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(Wa,{disabled:!1,titleField:S,variantMode:"inline"}),!H&&t.jsx(Vd,{value:u,onChange:ee,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Wa,{disabled:r==="view",titleField:S}),t.jsx(Kn,{disabled:r==="view",descriptionField:B}),t.jsx(tr,{disabled:r==="view",calendars:[...v,...g],userId:v[0]?.userId,value:h,onChange:Y=>C(Y),loading:w}),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:se?.allDay??!1})})}),se&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(qd,{checked:se.allDay,onChange:se.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Jd,{disabled:r==="view",value:se.recurrenceRule,onChange:se.setRecurrenceRule,hideLabel:!0})})]})]}),se&&t.jsx(t.Fragment,{children:t.jsx(Kd,{disabled:r==="view",colorField:se.colorField,onColorChange:r==="create"?Ee:void 0})}),G&&t.jsx(Ud,{disabled:r==="view",notificationsField:G}),t.jsx(Zn,{linkContactsHandler:W,disabled:r==="view"}),se&&t.jsx(Ld,{disabled:r==="view",locationField:se.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(Wa,{disabled:r==="view",titleField:S}),t.jsx(Kn,{disabled:r==="view",descriptionField:B}),t.jsx(tr,{disabled:r==="view",calendars:[...v,...g],userId:v[0]?.userId,value:x,onChange:Y=>y(Y),loading:w}),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(as,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Yd,{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:i?.finalized})})]})})}),t.jsx(Xd,{open:U.open,onClose:U.handleClose,onConfirm:M,itemTitle:U.itemType==="event"?i?.title:m?.title,itemType:U.itemType}),t.jsx(Qd,{open:k.open,onClose:k.handleClose,onConfirm:R,eventTitle:i?.title}),t.jsx(Zd,{open:z.open,onClose:z.handleClose,onConfirm:L,eventTitle:i?.title}),t.jsx(s.Snackbar,{open:$.open,autoHideDuration:6e3,onClose:X,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:X,severity:$.severity,sx:{width:"100%"},variant:"filled",children:$.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:i,language:o="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:p,selectedEvent:m,selectedTask:x,hiddenTabs:y=!1,onActionComplete:h,contactId:C,initialStartDate:v,initialEndDate:g}=e,{i18n:w}=Ke.useTranslation();l.useEffect(()=>{o&&w.changeLanguage(o)},[o,w]);const j=l.useMemo(()=>({baseUrl:r,spaceId:i}),[r,i]);return t.jsx(Pl,{value:j,children:t.jsx(wd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:m,externalSelectedTask:x,hiddenTabs:y,externalOnActionComplete:h,externalContactId:C,externalInitialStartDate:v,externalInitialEndDate:g,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:zt,children:t.jsx(tc,{...e})})})},Ca=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)"}}),ir=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)"}}),or=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:Ca,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 ns.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 Ca;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 ir;case"lightLime":return cr;case"lightOrange":return fr;case"lightPink":return or;case"lightPurple":return lr;case"lightRed":return sr;case"lightTeal":return dr;case"lightYellow":return ur;default:return Ca}},sc=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:ic,toggleModeTheme:oc}=br.actions,lc=e=>e.Theme.toggleStatus,dc=e=>e.Theme.themeSelected,cc=e=>e.Theme.darkMode;br.reducer,exports.ContactInfoPopup=on,exports.EditContactModal=Ul,exports.EventsDialog=ac,exports.MuiComponentsConfig=nr,exports.darkBlack=yr,exports.darkBlue=hr,exports.i18n=zt,exports.isValidThemeName=sc,exports.lightAmber=pr,exports.lightBlue=rr,exports.lightBlueIndigo=Ca,exports.lightBrown=gr,exports.lightGray=mr,exports.lightGreen=ir,exports.lightLime=cr,exports.lightOrange=fr,exports.lightPink=or,exports.lightPurple=lr,exports.lightRed=sr,exports.lightTeal=dr,exports.lightYellow=ur,exports.selectThemeToggleStatus=lc,exports.selectedDarkTheme=cc,exports.selectedTheme=dc,exports.toggleModeTheme=oc,exports.toggleTheme=ic,exports.updateTheme=xr;
|
|
21
21
|
//# sourceMappingURL=index.js.map
|