@trii/components 2.0.78 → 2.0.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";var l=require("react"),s=require("@mui/material"),
|
|
2
|
-
`+Se+f}}var Z=!1,
|
|
3
|
-
`),
|
|
4
|
-
`),he=
|
|
5
|
-
`+
|
|
1
|
+
"use strict";var l=require("react"),s=require("@mui/material"),Ae=require("@mui/icons-material"),Dr=require("@mui/icons-material/ArrowForward"),Ar=require("@mui/icons-material/Message"),ne=require("@trii/types/dist/Contacts"),ut=require("moment"),Ke=require("react-i18next"),Fr=require("i18next"),Ha=require("@mui/icons-material/Close"),Ft=require("@mui/icons-material/Edit"),Br=require("@mui/icons-material/Label"),ra=require("@mui/icons-material/Delete"),$r=require("@mui/icons-material/PhotoCamera"),ja=require("@mui/icons-material/ArrowBack"),pt=require("@mui/icons-material/Save"),Mr=require("@mui/material/Popper"),tt=require("@mui/lab"),bt=require("@trii/types/dist/Common/Channels"),J=require("dayjs"),Pr=require("@mui/icons-material/AddLocationAlt"),Bt=require("@mui/x-date-pickers/AdapterDayjs"),$t=require("@mui/x-date-pickers/LocalizationProvider"),Ga=require("@mui/x-date-pickers"),Mt=require("@mui/material/Box"),Ya=require("@mui/icons-material/Cancel"),Ur=require("@mui/x-date-pickers/TimePicker"),Je=require("@mui/x-date-pickers-pro"),we=require("@mui/system"),Rr=require("@mui/icons-material/LocalPhone"),qa=require("google-libphonenumber"),Ka=require("@mui/icons-material/Add"),Nr=require("@mui/icons-material/MoreVert"),Lr=require("@mui/icons-material/WhatsApp"),Or=require("@mui/icons-material/Mms"),zr=require("@mui/icons-material/CheckRounded"),Wr=require("@mui/icons-material/CloseRounded"),_r=require("@mui/material/CircularProgress"),Vr=require("@mui/material/InputAdornment"),Hr=require("@mui/material/Typography"),Gr=require("@mui/icons-material/Warning"),Yr=require("@mui/material/Chip"),sa=require("@trii/types/dist/Calendar"),Ja=require("@mui/x-date-pickers-pro/AdapterDayjs"),Qa=require("@mui/icons-material/Place"),wa=require("@mui/icons-material/Person"),qr=require("@mui/icons-material/CalendarMonth"),Ta=require("@mui/icons-material/Repeat"),Kr=require("@mui/icons-material/WarningAmber"),Jr=require("@mui/icons-material/ContentCopy"),Qr=require("@mui/icons-material/AccessTime"),Xa=require("@reduxjs/toolkit"),Xr=require("axios");function Zr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ka={exports:{}},Pt={},Za;function es(){if(Za)return Pt;Za=1;var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function d(c,u,p){var h,y={},m=null,g=null;p!==void 0&&(m=""+p),u.key!==void 0&&(m=""+u.key),u.ref!==void 0&&(g=u.ref);for(h in u)r.call(u,h)&&!i.hasOwnProperty(h)&&(y[h]=u[h]);if(c&&c.defaultProps)for(h in u=c.defaultProps,u)y[h]===void 0&&(y[h]=u[h]);return{$$typeof:a,type:c,key:m,ref:g,props:y,_owner:o.current}}return Pt.Fragment=n,Pt.jsx=d,Pt.jsxs=d,Pt}var Ut={},en;function ts(){return en||(en=1,process.env.NODE_ENV!=="production"&&(function(){var e=l,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),b=Symbol.iterator,S="@@iterator";function x(f){if(f===null||typeof f!="object")return null;var A=b&&f[b]||f[S];return typeof A=="function"?A:null}var T=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(f){{for(var A=arguments.length,z=new Array(A>1?A-1:0),ee=1;ee<A;ee++)z[ee-1]=arguments[ee];j("error",f,z)}}function j(f,A,z){{var ee=T.ReactDebugCurrentFrame,oe=ee.getStackAddendum();oe!==""&&(A+="%s",z=z.concat([oe]));var ge=z.map(function(ie){return String(ie)});ge.unshift("Warning: "+A),Function.prototype.apply.call(console[f],console,ge)}}var w=!1,$=!1,E=!1,F=!1,D=!1,I;I=Symbol.for("react.module.reference");function R(f){return!!(typeof f=="string"||typeof f=="function"||f===r||f===i||D||f===o||f===p||f===h||F||f===g||w||$||E||typeof f=="object"&&f!==null&&(f.$$typeof===m||f.$$typeof===y||f.$$typeof===d||f.$$typeof===c||f.$$typeof===u||f.$$typeof===I||f.getModuleId!==void 0))}function V(f,A,z){var ee=f.displayName;if(ee)return ee;var oe=A.displayName||A.name||"";return oe!==""?z+"("+oe+")":z}function W(f){return f.displayName||"Context"}function Y(f){if(f==null)return null;if(typeof f.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f;switch(f){case r:return"Fragment";case n:return"Portal";case i:return"Profiler";case o:return"StrictMode";case p:return"Suspense";case h:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case c:var A=f;return W(A)+".Consumer";case d:var z=f;return W(z._context)+".Provider";case u:return V(f,f.render,"ForwardRef");case y:var ee=f.displayName||null;return ee!==null?ee:Y(f.type)||"Memo";case m:{var oe=f,ge=oe._payload,ie=oe._init;try{return Y(ie(ge))}catch{return null}}}return null}var B=Object.assign,X=0,H,L,k,M,O,U,G;function _(){}_.__reactDisabledLog=!0;function ae(){{if(X===0){H=console.log,L=console.info,k=console.warn,M=console.error,O=console.group,U=console.groupCollapsed,G=console.groupEnd;var f={configurable:!0,enumerable:!0,value:_,writable:!0};Object.defineProperties(console,{info:f,log:f,warn:f,error:f,group:f,groupCollapsed:f,groupEnd:f})}X++}}function de(){{if(X--,X===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:B({},f,{value:H}),info:B({},f,{value:L}),warn:B({},f,{value:k}),error:B({},f,{value:M}),group:B({},f,{value:O}),groupCollapsed:B({},f,{value:U}),groupEnd:B({},f,{value:G})})}X<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var le=T.ReactCurrentDispatcher,Se;function ve(f,A,z){{if(Se===void 0)try{throw Error()}catch(oe){var ee=oe.stack.trim().match(/\n( *(at )?)/);Se=ee&&ee[1]||""}return`
|
|
2
|
+
`+Se+f}}var Z=!1,Ue;{var ce=typeof WeakMap=="function"?WeakMap:Map;Ue=new ce}function q(f,A){if(!f||Z)return"";{var z=Ue.get(f);if(z!==void 0)return z}var ee;Z=!0;var oe=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ge;ge=le.current,le.current=null,ae();try{if(A){var ie=function(){throw Error()};if(Object.defineProperty(ie.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ie,[])}catch(De){ee=De}Reflect.construct(f,[],ie)}else{try{ie.call()}catch(De){ee=De}f.call(ie.prototype)}}else{try{throw Error()}catch(De){ee=De}f()}}catch(De){if(De&&ee&&typeof De.stack=="string"){for(var re=De.stack.split(`
|
|
3
|
+
`),Ee=ee.stack.split(`
|
|
4
|
+
`),he=re.length-1,Ce=Ee.length-1;he>=1&&Ce>=0&&re[he]!==Ee[Ce];)Ce--;for(;he>=1&&Ce>=0;he--,Ce--)if(re[he]!==Ee[Ce]){if(he!==1||Ce!==1)do if(he--,Ce--,Ce<0||re[he]!==Ee[Ce]){var Oe=`
|
|
5
|
+
`+re[he].replace(" at new "," at ");return f.displayName&&Oe.includes("<anonymous>")&&(Oe=Oe.replace("<anonymous>",f.displayName)),typeof f=="function"&&Ue.set(f,Oe),Oe}while(he>=1&&Ce>=0);break}}}finally{Z=!1,le.current=ge,de(),Error.prepareStackTrace=oe}var it=f?f.displayName||f.name:"",Xe=it?ve(it):"";return typeof f=="function"&&Ue.set(f,Xe),Xe}function pe(f,A,z){return q(f,!1)}function et(f){var A=f.prototype;return!!(A&&A.isReactComponent)}function Q(f,A,z){if(f==null)return"";if(typeof f=="function")return q(f,et(f));if(typeof f=="string")return ve(f);switch(f){case p:return ve("Suspense");case h:return ve("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return pe(f.render);case y:return Q(f.type,A,z);case m:{var ee=f,oe=ee._payload,ge=ee._init;try{return Q(ge(oe),A,z)}catch{}}}return""}var $e=Object.prototype.hasOwnProperty,_e={},Ge=T.ReactDebugCurrentFrame;function ue(f){if(f){var A=f._owner,z=Q(f.type,f._source,A?A.type:null);Ge.setExtraStackFrame(z)}else Ge.setExtraStackFrame(null)}function qt(f,A,z,ee,oe){{var ge=Function.call.bind($e);for(var ie in f)if(ge(f,ie)){var re=void 0;try{if(typeof f[ie]!="function"){var Ee=Error((ee||"React class")+": "+z+" type `"+ie+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[ie]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ee.name="Invariant Violation",Ee}re=f[ie](A,ie,ee,z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(he){re=he}re&&!(re instanceof Error)&&(ue(oe),C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",ee||"React class",z,ie,typeof re),ue(null)),re instanceof Error&&!(re.message in _e)&&(_e[re.message]=!0,ue(oe),C("Failed %s type: %s",z,re.message),ue(null))}}}var nt=Array.isArray;function St(f){return nt(f)}function jt(f){{var A=typeof Symbol=="function"&&Symbol.toStringTag,z=A&&f[Symbol.toStringTag]||f.constructor.name||"Object";return z}}function Kt(f){try{return Jt(f),!1}catch{return!0}}function Jt(f){return""+f}function wt(f){if(Kt(f))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",jt(f)),Jt(f)}var dt=T.ReactCurrentOwner,Re={key:!0,ref:!0,__self:!0,__source:!0},ct,se,fe;fe={};function Ye(f){if($e.call(f,"ref")){var A=Object.getOwnPropertyDescriptor(f,"ref").get;if(A&&A.isReactWarning)return!1}return f.ref!==void 0}function Me(f){if($e.call(f,"key")){var A=Object.getOwnPropertyDescriptor(f,"key").get;if(A&&A.isReactWarning)return!1}return f.key!==void 0}function Qt(f,A){if(typeof f.ref=="string"&&dt.current&&A&&dt.current.stateNode!==A){var z=Y(dt.current.type);fe[z]||(C('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',Y(dt.current.type),f.ref),fe[z]=!0)}}function Ne(f,A){{var z=function(){ct||(ct=!0,C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",A))};z.isReactWarning=!0,Object.defineProperty(f,"key",{get:z,configurable:!0})}}function ba(f,A){{var z=function(){se||(se=!0,C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",A))};z.isReactWarning=!0,Object.defineProperty(f,"ref",{get:z,configurable:!0})}}var xa=function(f,A,z,ee,oe,ge,ie){var re={$$typeof:a,type:f,key:A,ref:z,props:ie,_owner:ge};return re._store={},Object.defineProperty(re._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(re,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.defineProperty(re,"_source",{configurable:!1,enumerable:!1,writable:!1,value:oe}),Object.freeze&&(Object.freeze(re.props),Object.freeze(re)),re};function Xt(f,A,z,ee,oe){{var ge,ie={},re=null,Ee=null;z!==void 0&&(wt(z),re=""+z),Me(A)&&(wt(A.key),re=""+A.key),Ye(A)&&(Ee=A.ref,Qt(A,oe));for(ge in A)$e.call(A,ge)&&!Re.hasOwnProperty(ge)&&(ie[ge]=A[ge]);if(f&&f.defaultProps){var he=f.defaultProps;for(ge in he)ie[ge]===void 0&&(ie[ge]=he[ge])}if(re||Ee){var Ce=typeof f=="function"?f.displayName||f.name||"Unknown":f;re&&Ne(ie,Ce),Ee&&ba(ie,Ce)}return xa(f,re,Ee,oe,ee,dt.current,ie)}}var Tt=T.ReactCurrentOwner,Zt=T.ReactDebugCurrentFrame;function qe(f){if(f){var A=f._owner,z=Q(f.type,f._source,A?A.type:null);Zt.setExtraStackFrame(z)}else Zt.setExtraStackFrame(null)}var kt;kt=!1;function mt(f){return typeof f=="object"&&f!==null&&f.$$typeof===a}function Le(){{if(Tt.current){var f=Y(Tt.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 ht(f){{if(f!==void 0){var A=f.fileName.replace(/^.*[\\\/]/,""),z=f.lineNumber;return`
|
|
8
8
|
|
|
9
|
-
Check your code at `+
|
|
9
|
+
Check your code at `+A+":"+z+"."}return""}}var yt={};function ea(f){{var A=Le();if(!A){var z=typeof f=="string"?f:f.displayName||f.name;z&&(A=`
|
|
10
10
|
|
|
11
|
-
Check the top-level render call using <`+
|
|
11
|
+
Check the top-level render call using <`+z+">.")}return A}}function ta(f,A){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var z=ea(A);if(yt[z])return;yt[z]=!0;var ee="";f&&f._owner&&f._owner!==Tt.current&&(ee=" It was passed a child from "+Y(f._owner.type)+"."),qe(f),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',z,ee),qe(null)}}function Qe(f,A){{if(typeof f!="object")return;if(St(f))for(var z=0;z<f.length;z++){var ee=f[z];mt(ee)&&ta(ee,A)}else if(mt(f))f._store&&(f._store.validated=!0);else if(f){var oe=x(f);if(typeof oe=="function"&&oe!==f.entries)for(var ge=oe.call(f),ie;!(ie=ge.next()).done;)mt(ie.value)&&ta(ie.value,A)}}}function aa(f){{var A=f.type;if(A==null||typeof A=="string")return;var z;if(typeof A=="function")z=A.propTypes;else if(typeof A=="object"&&(A.$$typeof===u||A.$$typeof===y))z=A.propTypes;else return;if(z){var ee=Y(A);qt(z,f.props,"prop",ee,f)}else if(A.PropTypes!==void 0&&!kt){kt=!0;var oe=Y(A);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",oe||"Unknown")}typeof A.getDefaultProps=="function"&&!A.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function rt(f){{for(var A=Object.keys(f.props),z=0;z<A.length;z++){var ee=A[z];if(ee!=="children"&&ee!=="key"){qe(f),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ee),qe(null);break}}f.ref!==null&&(qe(f),C("Invalid attribute `ref` supplied to `React.Fragment`."),qe(null))}}var na={};function st(f,A,z,ee,oe,ge){{var ie=R(f);if(!ie){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 Ee=ht(oe);Ee?re+=Ee:re+=Le();var he;f===null?he="null":St(f)?he="array":f!==void 0&&f.$$typeof===a?(he="<"+(Y(f.type)||"Unknown")+" />",re=" Did you accidentally export a JSX literal instead of a component?"):he=typeof f,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",he,re)}var Ce=Xt(f,A,z,oe,ge);if(Ce==null)return Ce;if(ie){var Oe=A.children;if(Oe!==void 0)if(ee)if(St(Oe)){for(var it=0;it<Oe.length;it++)Qe(Oe[it],f);Object.freeze&&Object.freeze(Oe)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Qe(Oe,f)}if($e.call(A,"key")){var Xe=Y(f),De=Object.keys(A).filter(function(Sa){return Sa!=="key"}),At=De.length>0?"{key: someKey, "+De.join(": ..., ")+": ...}":"{key: someKey}";if(!na[Xe+At]){var Ca=De.length>0?"{"+De.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
|
|
12
12
|
let props = %s;
|
|
13
13
|
<%s {...props} />
|
|
14
14
|
React keys must be passed directly to JSX without using spread:
|
|
15
15
|
let props = %s;
|
|
16
|
-
<%s key={someKey} {...props} />`,St,Ze,x,Ze),Kt[Ze+St]=!0}}return f===r?ya(Ce):Yt(Ce),Ce}}function ba(f,D,L){return Jt(f,D,L,!0)}function xa(f,D,L){return Jt(f,D,L,!1)}var va=xa,Qt=ba;Et.Fragment=r,Et.jsx=va,Et.jsxs=Qt})()),Et}process.env.NODE_ENV==="production"?wa.exports=Wr():wa.exports=_r();var t=wa.exports;zr(t);const Vr=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})),Za=s.styled(s.IconButton)({padding:4}),Hr=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Gr=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),qr=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Yr=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),Kr=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:i=!1,onError:o,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(g=>v=>{try{if(v.preventDefault(),v.stopPropagation(),!g)throw new Error("Navigation URL is required");v.ctrlKey||v.metaKey||v.button===1?window.open(g,"_blank","noopener,noreferrer"):r(g)}catch(S){o?.(S instanceof Error?S:new Error("Navigation failed"))}},[r,o]),p=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),y=u(`/a/conversations/conversations?contactId=${n}`),h=a||"Unknown Contact",m=`Avatar for ${h}`;return t.jsxs(Hr,{children:[t.jsxs(Vr,{children:[t.jsx(Za,{color:"info",size:"small",onClick:g=>{p(g),d()},onMouseDown:g=>{g.button===1&&(p(g),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(yr,{fontSize:"small"})}),t.jsx(Za,{color:"info",size:"small",onClick:g=>{y(g),d()},onMouseDown:g=>{g.button===1&&(y(g),d())},"aria-label":"Go to conversations",children:t.jsx(br,{fontSize:"small"})})]}),i?t.jsx(Yr,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(Gr,{src:e,alt:m,onError:()=>o?.(new Error("Failed to load avatar"))}),t.jsx(qr,{variant:"h6",title:h,children:h})]})},Jr=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Qr=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),Xr=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Zr=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),es=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),ts=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),as=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),ns=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const i=o=>t.jsx(Xr,{children:t.jsxs(es,{children:[t.jsx(Zr,{children:e}),t.jsxs(ts,{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(as,{variant:"body2",fontSize:12,color:"text.secondary",children:o.note})]})},o.id);return t.jsxs(Jr,{children:[r&&t.jsx(Qr,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},rs=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%"}),os=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),is=s.styled(s.Typography)({fontSize:14}),ls=s.styled(Fe.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),ds=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),r=(i,o)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(d=>r(d,o)).join(", ");if(typeof i=="string"){const d=lt(i,lt.ISO_8601).isValid(),c=u=>lt(i).format(u);switch(o){case se.ContactField_type.TIME:return d?c("HH:mm"):i;case se.ContactField_type.DATE:return d?c("DD/MM/YYYY"):i;case se.ContactField_type.TIMERANGE:case se.ContactField_type.DATERANGE:if(d)return o===se.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=i.split(" ");if(u.length===2){const[p,y]=u,h=o===se.ContactField_type.TIMERANGE?lt(p).format("HH:mm"):lt(p).format("DD/MM/YYYY"),m=o===se.ContactField_type.TIMERANGE?lt(y).format("HH:mm"):lt(y).format("DD/MM/YYYY");return`${h} - ${m}`}return i;default:return i}}return i};return t.jsxs(rs,{children:[t.jsx(ss,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,o)=>i.value.length>0&&t.jsxs(os,{children:[t.jsx(ls,{}),t.jsxs(is,{children:[n(i.nameKey),":"," ",r(i.value,i.type)]})]},o))]})},cs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),us=s.styled(s.Box)({marginBottom:16}),ps=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),fs=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(cs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(us,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(ps,{label:n.name,color:"primary",size:"small"},n.id))})]});function en(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 gs=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ms=({contactData:e,title:a})=>!e||!en(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(gs,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function tn(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 hs=({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})},ys=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),bs=({contactData:e,title:a,navigate:n})=>!e||!tn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ys,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(hs,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var xs="Labels",vs="Phone",Cs="Business",Ss="Business Members",js="Properties",ws="View",Ts="Tags",Is={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"},ks={searchAddress:"Search address",enterLocation:"Enter a location",city:"City",state:"State",postalCode:"Postal code",country:"Country",saveMainAddress:"Save main address",saveSecondaryAddress:"Save secondary address",loadingGoogleMaps:"Loading Google Maps...",googleMapsUnavailable:"Google Maps unavailable",googleMapsNotLoaded:"Google Maps not loaded",selectedPlaceNoLocation:"Selected place has no location data"},Es={upload:"Upload photo",delete:"Delete photo"},Ds={from:"From",to:"To"},As={contactDetails:{contactOwner:"Contact Owner",business:"Business",createdBy:"Created By",modifiedBy:"Modified By",street:"Street",city:"City",state:"State",postcode:"Postcode",country:"Country",addressInformation:"Address Information",primaryAddress:"Primary Address",secondaryAddress:"Secondary Address",contactInformation:"Contact Information",phones:"Phones",contactInfo:{emptySelection:"No selection"}},businessDetails:{businessOwner:"Business Owner"},sidebar:{events:{errorDate:"End date must be after start date"}}},Fs={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"},Bs={labels:xs,phone:vs,business:Cs,businessMembers:Ss,properties:js,view:ws,tags:Ts,global:Is,searchLocationModal:ks,avatar:Es,contactEdit:Ds,conversations:As,calendarView:Fs},$s="Etiquetas",Ms="Tel\xE9fono",Ps="Empresa",Us="Miembros de la empresa",Rs="Propiedades",Ns="Ver",Ls="Etiquetas",Os={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"},zs={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"},Ws={upload:"Subir foto",delete:"Eliminar foto"},_s={from:"Desde",to:"Hasta"},Vs={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"}}},Hs={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"},Gs={labels:$s,phone:Ms,business:Ps,businessMembers:Us,properties:Rs,view:Ns,tags:Ls,global:Os,searchLocationModal:zs,avatar:Ws,contactEdit:_s,conversations:Vs,calendarView:Hs};const qs={en:{translation:Bs},es:{translation:Gs}},Dt=xr.createInstance();Dt.use(qe.initReactI18next).init({resources:qs,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Ys=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"}})),Ks=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:i,navigate:o,language:d="en"})=>{const{t:c,i18n:u}=qe.useTranslation();l.useEffect(()=>{d&&u.changeLanguage(d)},[d,u]);const p=c,y=tn(r),h=en(r),m=[{icon:t.jsx(Fe.PhoneEnabled,{fontSize:"small"}),title:p("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Fe.Email,{fontSize:"small"}),title:p("email"),contactList:r?.emails||[],showTitle:!0},{icon:t.jsx(Fe.WhatsApp,{fontSize:"small"}),title:"IM",contactList:r?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Fe.Facebook,{fontSize:"small"}),contactList:r?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Fe.Instagram,{fontSize:"small"}),contactList:r?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Fe.ThreeP,{fontSize:"small"}),contactList:r?.ims_webchat||[],showTitle:!1}];return l.useEffect(()=>{const g=v=>{v.key==="Escape"&&n()};return e&&window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[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(Ys,{children:t.jsxs(s.CardContent,{children:[t.jsx(Kr,{navigate:o,contactId:r?.id,imgUrl:i,name:r?.name,onClose:n,isBusiness:y}),t.jsx(fs,{contactData:r,title:p("labels")}),h&&t.jsx(ms,{contactData:r,title:p("business")}),y&&t.jsx(bs,{contactData:r,title:p("businessMembers"),navigate:o}),m.map((g,v)=>t.jsx(ns,{icon:g.icon,title:g.title,contactList:g.contactList,showTitle:g.showTitle},v)),t.jsx(ds,{properties:r?.properties,title:p("properties")})]})})})})},an=e=>t.jsx(qe.I18nextProvider,{i18n:Dt,children:t.jsx(Ks,{...e})}),nn=e=>e,rn=l.createContext(nn),Js=({t:e,children:a})=>t.jsx(rn.Provider,{value:e,children:a}),be=()=>{const e=l.useContext(rn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),nn)},Qs=({tags:e,onEditTags:a})=>{const n=be(),[r,i]=l.useState(null),o=l.useMemo(()=>e??[],[e]),d=o.slice(0,4),c=Math.max(o.length-d.length,0),u=h=>{i(h.currentTarget)},p=()=>{i(null)},y=!!r;return t.jsxs(s.Box,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(s.Box,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(s.Stack,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[d.map(h=>t.jsx(s.Chip,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id)),c>0?t.jsx(s.Chip,{label:`+${c}`,size:"small",variant:"outlined",onClick:u,sx:{borderRadius:999}}):null]}),t.jsx(s.IconButton,{className:"tags-action",size:"small","aria-label":o.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:h=>h.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:o.length?t.jsx(jt,{fontSize:"small"}):t.jsx(vr,{fontSize:"small"})})]}),t.jsx(s.Popover,{open:y,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(h=>t.jsx(s.Chip,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id))})]})})]})},sn=l.createContext(null),Xs=sn.Provider,nt=()=>l.useContext(sn),Zs=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),eo=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),to=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),ao=s.styled(s.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),no=({displayName:e,contactType:a,firstName:n,lastName:r,name:i,entityId:o,onEntityUpdated:d})=>{const c=nt(),[u,p]=l.useState(!1),[y,h]=l.useState(!1),[m,g]=l.useState({firstName:n||"",lastName:r||"",name:i||""});l.useEffect(()=>{g({firstName:n||"",lastName:r||"",name:i||""})},[n,r,i]);const v=async()=>{if(!(!c||!o||!a||a==="unknown")){h(!0);try{let b={};a==="contact"?b={firstName:m.firstName,lastName:m.lastName}:a==="business"&&(b={name:m.name});const j=await c.updateEntity({entityType:a,entityId:o,body:b});j&&d&&d(j),p(!1)}catch(b){console.error("Failed to update name",b)}finally{h(!1)}}},S=a==="contact"||a==="business";return u?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(s.TextField,{value:m.firstName,onChange:b=>g({...m,firstName:b.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:m.lastName,onChange:b=>g({...m,lastName:b.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:m.name,onChange:b=>g({...m,name:b.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:v,disabled:y,color:"primary",children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Fe.Save,{})})]}):t.jsx(eo,{children:t.jsxs(to,{children:[t.jsx(Zs,{variant:"h6",title:e,children:e}),S&&t.jsx(ao,{size:"small",onClick:()=>p(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Fe.Edit,{fontSize:"small"})})]})})},ro=({src:e,alt:a,onError:n,onUpload:r,onDelete:i,isUploading:o,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:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(Cr,{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(Xt,{fontSize:"small"})})]})]})},so=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),oo=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:i,onUploadPhoto:o,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:y,contactType:h,firstName:m,lastName:g,name:v,entityId:S,onEntityUpdated:b})=>{const j=`Avatar for ${a}`;return t.jsxs(so,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(ro,{src:e,alt:j,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:o,isUploading:u,onDelete:p,isDeleting:y}),t.jsx(no,{displayName:a,contactType:h,firstName:m,lastName:g,name:v,entityId:S,onEntityUpdated:b}),t.jsx(Qs,{tags:r,onEditTags:i})]})},Ta=20,io=e=>{const{popperContainer:a,...n}=e;return t.jsx(Sr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},lo=({value:e,options:a,onChange:n,onBack:r,onSave:i,isSaving:o,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=be(),[y,h]=l.useState(""),[m,g]=l.useState(Ta),v=l.useDeferredValue(y),S=l.useMemo(()=>a??[],[a]),b=l.useMemo(()=>{const E=String(v??"").trim().toLowerCase();return E?S.filter(F=>String(F?.name??"").toLowerCase().includes(E)):S},[S,v]),j=l.useMemo(()=>b.slice(0,m),[b,m]),C=l.useMemo(()=>{const E=new Map;for(const F of e??[])F?.id&&E.set(String(F.id),F);for(const F of j??[])F?.id&&(E.has(String(F.id))||E.set(String(F.id),F));return Array.from(E.values())},[e,j]),w=(E,F)=>{h(F??""),g(Ta)},T=E=>{const F=E;F.scrollTop+F.clientHeight>=F.scrollHeight-24&&g(A=>A+Ta)},P=()=>{const E=String(y??"").trim(),F=!E||o||c;return t.jsxs(s.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(et.LoadingButton,{onClick:()=>d(E),loading:c,disabled:F,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(Ca,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:p("tags")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(et.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(dt,{}),onClick:i,loading:o,disabled:o,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(E,F)=>n(F),options:C,filterOptions:E=>E,inputValue:y,onInputChange:w,getOptionLabel:E=>E?.name??"",isOptionEqualToValue:(E,F)=>String(E?.id)===String(F?.id),PopperComponent:E=>t.jsx(io,{...E,popperContainer:u}),renderOption:(E,F)=>{const{key:A,...k}=E;return l.createElement("li",{...k,key:F?.id?String(F.id):String(A??F?.name??"")},F.name??"")},renderTags:(E,F)=>E.map((A,k)=>{const N=F({index:k}),{key:V,...O}=N;return t.jsx(s.Chip,{label:A.name??"",...O},A?.id?String(A.id):String(V??A?.name??k))}),size:"small",renderInput:E=>t.jsx(s.TextField,{...E,size:"small"}),ListboxProps:{onScroll:T,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(P,{}),sx:{width:"100%"}})]})};var co=Object.defineProperty,uo=(e,a,n)=>a in e?co(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,on=(e,a,n)=>uo(e,typeof a!="symbol"?a+"":a,n);let ln=class extends Error{constructor(a,n,r){super(a),on(this,"status"),on(this,"body"),this.name="ApiError",this.status=n,this.body=r}};async function Re({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 ln(c,o.status,d)}return d}async function po({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 ln(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 Pe(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ie(e,`/contacts/${n}`),MEDIA:Ie(e,`/media/${n}`),SETTINGS:Ie(e,`/settings/${n}`)}}async function fo({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Ie(r.CONTACTS,"/labels");return Re({url:i,signal:n})}async function dn({baseUrl:e,spaceId:a,name:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/labels");return Re({url:o,method:"POST",body:{name:n},signal:r})}async function go({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Re({url:o,signal:r})}async function mo({baseUrl:e,spaceId:a,businessId:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Re({url:o,signal:r})}async function ho({baseUrl:e,spaceId:a,forType:n,signal:r}){const i=Pe(e,a),o=`${Ie(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Re({url:o,signal:r})}async function Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Pe(e,a),u=Ie(c.CONTACTS,d);return Re({url:u,method:"PUT",body:i,signal:o})}async function yo({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/Search");return Re({url:o,method:"POST",body:n,signal:r})}async function bo({baseUrl:e,spaceId:a,business:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/business");return Re({url:o,method:"POST",body:n,signal:r})}async function ea({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses");return Re({url:o,method:"DELETE",body:n,signal:r})}async function xo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses/check");return Re({url:o,method:"POST",body:n,signal:r})}async function vo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,"/contactAddresses/set");return Re({url:o,method:"POST",body:n,signal:r})}async function Co({baseUrl:e,spaceId:a,data:n,signal:r}){const i=Pe(e,a),o=Ie(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Re({url:o,method:"PUT",body:n,signal:r})}async function cn({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Ie(r.SETTINGS,"/user");return Re({url:i,signal:n})}async function So({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),i=Ie(r.SETTINGS,"/users");return Re({url:i,signal:n})}async function jo({baseUrl:e,spaceId:a,signal:n,userId:r}){const i=Pe(e,a),o=Ie(i.SETTINGS,`/usersInfo/${r}`);return Re({url:o,signal:n})}async function un({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i}){const o=Pe(e,a),d=new FormData;d.append("file",r,r.name);const c=Ie(o.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return po({url:c,formData:d,signal:i})}const pn=(e,a)=>({fetchLabels:({signal:n}={})=>fo({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>dn({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>go({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>mo({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>yo({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>bo({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>ho({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:i,signal:o})=>Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:o}),deleteAddress:({data:n,signal:r})=>ea({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>ea({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>xo({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>vo({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Co({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>cn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>So({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>jo({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:i})=>un({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i})}),fn=()=>!!window?.google?.maps?.places?.Autocomplete,wo=(e=1e4)=>new Promise(a=>{if(fn()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(fn()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),To=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[i,o]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await wo(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}},Io=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=be(),i=l.useRef(null),o=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:y}=To(),h=l.useMemo(()=>p?r("searchLocationModal.loadingGoogleMaps"):y?r("searchLocationModal.googleMapsUnavailable"):u?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[u,p,y,n,r]);return l.useEffect(()=>{d.current=e},[e]),l.useEffect(()=>{c.current=a},[a]),l.useEffect(()=>{if(!u||!i.current||o.current)return;const m=window?.google;if(!m?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let g=null;const v=()=>{document.querySelectorAll(".pac-container").forEach(b=>{const j=b;j.style.zIndex="20000",j.style.position="fixed"})};g=new MutationObserver(b=>{for(const j of b)for(const C of Array.from(j.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const w=C;w.classList?.contains("pac-container")&&(w.style.zIndex="20000",w.style.position="fixed")}}),g.observe(document.body,{childList:!0,subtree:!0}),v(),window.setTimeout(v,100),o.current=new m.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const S=o.current.addListener?.("place_changed",()=>{const b=o.current?.getPlace?.();if(!b?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let j="",C="",w="",T="",P="",E="";const F=b.address_components??[];for(const V of F){const O=V?.types??[];if(O.includes("locality")||O.includes("administrative_area_level_2")){j=V.long_name;continue}if(O.includes("administrative_area_level_1")){C=V.long_name;continue}if(O.includes("country")){w=V.long_name;continue}if(O.includes("postal_code")){T=V.long_name;continue}if(O.includes("route")){P=V.long_name;continue}O.includes("street_number")&&(E=V.long_name)}const A=typeof b.geometry.location.lat=="function"?b.geometry.location.lat():0,k=typeof b.geometry.location.lng=="function"?b.geometry.location.lng():0,N={location:{lat:A,lng:k},address:b.formatted_address??"",city:j,state:C,country:w,postalCode:T,streetName:P,streetNumber:E,shortAddress:[P,E].filter(Boolean).join(" ")};d.current(N)});return()=>{g&&g.disconnect(),S?.remove&&S.remove(),o.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:i,placeholder:h,disabled:p||!u||!!y,error:!!y})},ko={street:"",city:"",state:"",zipcode:"",country:""},Eo=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:i,onEntityUpdated:o})=>{const d=be(),[c,u]=l.useState(ko),[p,y]=l.useState(""),[h,m]=l.useState(""),[g,v]=l.useState(!1),[S,b]=l.useState(!1),j=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),C=A=>{y(A.address??"");const k=String(A.shortAddress??"").trim()||[A.streetName,A.streetNumber].filter(Boolean).join(" ").trim();u({street:k,city:A.city??"",state:A.state??"",zipcode:A.postalCode??"",country:A.country??""}),m("")},w=A=>{m(String(A??""))},T=A=>k=>{const N=k.target.value;u(V=>({...V,[A]:N}))},P=async()=>{if(!g&&!(!e||!a)&&r){v(!0);try{const A=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address1:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(A),i()}finally{v(!1)}}},E=async()=>{if(!S&&!(!e||!a)&&r){b(!0);try{const A=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address2:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});o?.(A),i()}finally{b(!1)}}},F=!j||g||S;return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(s.IconButton,{size:"small",onClick:i,"aria-label":d("global.back"),children:t.jsx(Ca,{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(Io,{onPlaceSelected:C,onError:w,placeholder:d("searchLocationModal.enterLocation")}),h?t.jsx(s.Typography,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:h}):null]}),t.jsx(s.TextField,{label:d("conversations.contactDetails.street"),value:c.street,onChange:T("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:T("city"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.state"),value:c.state,onChange:T("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:T("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(s.TextField,{label:d("searchLocationModal.country"),value:c.country,onChange:T("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(et.LoadingButton,{variant:"contained",size:"large",startIcon:t.jsx(dt,{}),onClick:P,loading:g,disabled:F,children:d("searchLocationModal.saveMainAddress")}),t.jsx(et.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(dt,{}),onClick:E,loading:S,disabled:F,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Ia(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 gn(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 Do({open:e,baseUrl:a,spaceId:n,contactId:r}){const i=l.useRef(null),o=l.useMemo(()=>!a||!n?null:pn(a,n),[a,n]),[d,c]=l.useState({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),u=l.useMemo(()=>!!(e&&o&&r),[e,o,r]);l.useEffect(()=>{e||(i.current?.abort(),c({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const p=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!p||!o)return;const m=new AbortController;return c(g=>({...g,labelsLoading:!0,labelsError:null})),o.fetchLabels({signal:m.signal}).then(g=>{c(v=>({...v,labels:g,labelsLoading:!1,labelsError:null}))}).catch(g=>{m.signal.aborted||c(v=>({...v,labelsLoading:!1,labelsError:g}))}),()=>{m.abort()}},[o,p]),l.useEffect(()=>{if(!u||!o)return;i.current?.abort();const m=new AbortController;return i.current=m,c(g=>({...g,isLoading:!0,error:null,contactData:null})),o.fetchContact({contactId:r,signal:m.signal}).then(g=>{c(v=>({...v,isLoading:!1,error:null,contactData:g}))}).catch(g=>{m.signal.aborted||c(v=>({...v,isLoading:!1,error:g}))}),()=>{m.abort()}},[o,u,r]);const y=l.useMemo(()=>!!(e&&o),[e,o]);l.useEffect(()=>{if(!y||!o)return;const m=new AbortController;return c(g=>({...g,userLoading:!0,userError:null})),o.fetchUserTrii({signal:m.signal}).then(g=>{c(v=>({...v,userLoading:!1,userError:null,userTrii:g}))}).catch(g=>{m.signal.aborted||c(v=>({...v,userLoading:!1,userError:g}))}),()=>{m.abort()}},[o,y]);const h=l.useMemo(()=>{const m=d.contactData,g=Ia(m),v=gn(m);let S="unknown";g&&(S="business"),v&&(S="contact");let b="Unknown Contact";g?b=m.name:v&&(b=`${m.firstName} ${m.lastName}`.trim());const j=m?.tags??[];return{isBusiness:g,isContact:v,contactType:S,displayName:b,tags:j,labels:d.labels,contactFields:d.contactFields,userTrii:d.userTrii,userLoading:d.userLoading,userError:d.userError}},[d.contactData,d.labels,d.contactFields,d.userTrii,d.userLoading,d.userError]);return l.useEffect(()=>{if(!e||!o)return;const m=d.contactData,g=Ia(m),v=gn(m),S=g?"business":v?"contact":null;if(!S)return;const b=new AbortController;return c(j=>({...j,contactFieldsLoading:!0,contactFieldsError:null})),o.fetchContactFields({forType:S,signal:b.signal}).then(j=>{c(C=>({...C,contactFields:j,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(j=>{b.signal.aborted||c(C=>({...C,contactFieldsLoading:!1,contactFieldsError:j}))}),()=>{b.abort()}},[o,e,d.contactData]),{state:d,selectors:h,actions:{setContactData:m=>c(g=>({...g,contactData:m??null})),clearError:()=>c(m=>({...m,error:null}))}}}const At=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:i,onEntityUpdated:o})=>{const[d,c]=l.useState(i??""),[u,p]=l.useState(null),[y,h]=l.useState(!1),[m,g]=l.useState(!1),v=l.useRef(null),S=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function b(k){return k.split("?sv=")[0]}function j(k){return k.split("&cacheId=")[0]}function C(k){let N=b(k);return!N||(N=j(N),!N)?"":N}const w=async()=>{if(!e||!a)return null;const k=await cn({baseUrl:e,spaceId:a});return p(k),k},T=async k=>{const N=(u??await w())?.storageAzureSAS,V=N?.expireAt,O=V?new Date(V):null;let q=N?.sas??"";if((!q||O&&O<new Date)&&(q=(await w())?.storageAzureSAS?.sas??""),!q)return k;const B=`${Date.now()}`;return`${k}${q}&cacheId=${B}`},P=async k=>{if(!k){c("");return}const N=b(k);if(!N)return;const V=await T(N);c(V)},E=async k=>{const N=k.target.files?.[0];if(N&&S){v.current&&(v.current.value=""),h(!0);try{const V=await un({baseUrl:e,spaceId:a,contactId:r,file:N}),O=await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:V}});o?.(O),await P(V)}finally{h(!1)}}},F=()=>{v.current?.click()},A=async()=>{if(S&&!m){g(!0);try{await Je({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),o?.({imageUrl:""}),c("")}finally{g(!1)}}};return l.useEffect(()=>{if(!i){c("");return}P(i)},[i]),{inputAtributes:{onChange:E,ref:v,type:"file",accept:"image/*"},action:{uploadImage:F,deleteImage:A},imageUrl:d,removeParams:C,isUploading:y,isDeleting:m}},xe=(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)}}}},mn=(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 ta;const Ao=new Uint8Array(16);function Fo(){if(!ta&&(ta=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ta))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ta(Ao)}const Be=[];for(let e=0;e<256;++e)Be.push((e+256).toString(16).slice(1));function Bo(e,a=0){return Be[e[a+0]]+Be[e[a+1]]+Be[e[a+2]]+Be[e[a+3]]+"-"+Be[e[a+4]]+Be[e[a+5]]+"-"+Be[e[a+6]]+Be[e[a+7]]+"-"+Be[e[a+8]]+Be[e[a+9]]+"-"+Be[e[a+10]]+Be[e[a+11]]+Be[e[a+12]]+Be[e[a+13]]+Be[e[a+14]]+Be[e[a+15]]}const $o=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var hn={randomUUID:$o};function Ft(e,a,n){if(hn.randomUUID&&!a&&!e)return hn.randomUUID();e=e||{};const r=e.random||(e.rng||Fo)();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 Bo(r)}function Mo(e){return{id:Ft(),address:"",note:"",channelType:e,isSaved:!1}}var aa={createNewAddress:Mo};const Po=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Uo=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var yt={getEditedField:Po,getAddressesWithUpdatedValues:Uo};const yn=({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||[]),[y,h]=l.useState(a?.ims_mercadolibre||[]),[m,g]=l.useState(a?.ims_webchat||[]),[v,S]=l.useState(a?.ims_instagram||[]),[b,j]=l.useState(a?.ims_whatsapp||[]),[C,w]=l.useState(a?.emails||[]),[T,P]=l.useState(a?.phones||[]),[E,F]=l.useState(a?.ims_rcs||[]),A=()=>{const I=aa.createNewAddress(ht.ChannelType.PHONE),M=[...T,I];P(M)},k=()=>{const I=aa.createNewAddress(ht.ChannelType.EMAIL),M=[...C,I];w(M)},N=()=>{const I=aa.createNewAddress(ht.ChannelType.WHATSAPP),M=[...b,I];j(M)},V=()=>{const I=aa.createNewAddress(ht.ChannelType.RCS),M=[...E,I];F(M)},O=I=>{const M=[...b,I];j(M),c(W=>({...W??{},ims_whatsapp:M}))},q=(I,M)=>{if(M){if(M.channelType===3){const W=C.map(R=>R.id===I?M:R);w(W),c(R=>({...R??{},emails:W}))}if(M.channelType===5){const W=T.map(R=>R.id===I?M:R);P(W),c(R=>({...R??{},phones:W}))}if(M.channelType===13){const W=b.map(R=>R.id===I?M:R);j(W),c(R=>({...R??{},ims_whatsapp:W}))}if(M.channelType===21){const W=E.map(R=>R.id===I?M:R);F(W),c(R=>({...R??{},ims_rcs:W}))}if(M.channelType===41){const W=y.map(R=>R.id===I?M:R);h(W),c(R=>({...R??{},ims_mercadolibre:W}))}}},B=async(I,M,W)=>{const R=I.target.value;if(W===3){const G=yt.getAddressesWithUpdatedValues(R,M,C);w(G)}else if(W===5){const G=yt.getAddressesWithUpdatedValues(R,M,T);P(G)}else if(W===13){const G=yt.getAddressesWithUpdatedValues(R,M,b);j(G)}else if(W===21){const G=yt.getAddressesWithUpdatedValues(R,M,E);F(G)}else if(W===41){const G=yt.getAddressesWithUpdatedValues(R,M,y);h(G)}},te=(I,M,W)=>{if(W===14){const R=u.map(G=>G.id===M?{...G,note:I.target.value}:G);p(R)}if(W===20){const R=m.map(G=>G.id===M?{...G,note:I.target.value}:G);g(R)}if(W===16){const R=v.map(G=>G.id===M?{...G,note:I.target.value}:G);S(R)}if(W===3){const R=C.map(G=>G.id===M?{...G,note:I.target.value}:G);w(R)}if(W===5){const R=T.map(G=>G.id===M?{...G,note:I.target.value}:G);P(R)}if(W===13){const R=b.map(G=>G.id===M?{...G,note:I.target.value}:G);j(R)}if(W===21){const R=E.map(G=>G.id===M?{...G,note:I.target.value}:G);F(R)}if(W===41){const R=y.map(G=>G.id===M?{...G,note:I.target.value}:G);h(R)}},H=async(I,M)=>{if(e&&(M===3||M===5||M===13||M===14||M===20||M===16||M===21||M===41)){o(I);const W={contactId:e,contactAddressId:I,type:M};switch(n?await n(r(W)):await r(W),o(!1),M){case 3:const R=C.filter(Z=>Z.id!==I);w(R),c(Z=>({...Z??{},emails:R}));break;case 5:const G=T.filter(Z=>Z.id!==I);P(G),c(Z=>({...Z??{},phones:G}));break;case 13:const _=b.filter(Z=>Z.id!==I);j(_),c(Z=>({...Z??{},ims_whatsapp:_}));break;case 21:const ae=E.filter(Z=>Z.id!==I);F(ae),c(Z=>({...Z??{},ims_rcs:ae}));break;case 41:const ue=y.filter(Z=>Z.id!==I);h(ue),c(Z=>({...Z??{},ims_mercadolibre:ue}));break;case 14:const le=u.filter(Z=>Z.id!==I);p(le),c(Z=>({...Z??{},ims_facebook:le}));break;case 20:const Se=m.filter(Z=>Z.id!==I);g(Se),c(Z=>({...Z??{},ims_webchat:Se}));break;case 16:const ve=v.filter(Z=>Z.id!==I);S(ve),c(Z=>({...Z??{},ims_instagram:ve}));break}}};function z(){p(d?.ims_facebook||[]),h(d?.ims_mercadolibre||[]),g(d?.ims_webchat||[]),S(d?.ims_instagram||[]),j(d?.ims_whatsapp||[]),F(d?.ims_rcs||[]),w(d?.emails||[]),P(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(w(a.emails),P(a.phones)),j(a?.ims_whatsapp||[]),F(a?.ims_rcs||[]),p(a?.ims_facebook||[]),g(a?.ims_webchat||[]),S(a?.ims_instagram||[]),h(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:b,imsRCS:E,imsMercadolibre:y,imsFacebooks:u,imsWebchats:m,imsInstagrams:v,emails:C,phoneNumbers:T},action:{handleAddressFieldChange:B,handleNoteFieldChange:te,handleDeleteAddress:H,addPhone:A,addEmail:k,addWhatsapp:N,addRCS:V,replaceAddress:q,addWhatsappVerified:O,resetToInitialContactInformation:z},state:{isDeletingAddress:i}}},bn=({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)}}}},Ro=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async de=>{!n||!r||await ea({baseUrl:n,spaceId:r,data:de})},[n,r]),o=async de=>de,[d,c]=l.useState([]),u=xe("text",e?.name||""),p=At({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),y=mn(e?.owner),h=bn({initialState:e?.tags??[]}),[m,g]=l.useState([]),{field:{imsFacebooks:v,imsMercadolibre:S,imsWebchats:b,imsInstagrams:j,imsWhatsapp:C,emails:w,phoneNumbers:T,imsRCS:P},action:{addPhone:E,addEmail:F,addWhatsapp:A,addRCS:k,addWhatsappVerified:N,replaceAddress:V,handleAddressFieldChange:O,handleNoteFieldChange:q,handleDeleteAddress:B,resetToInitialContactInformation:te},state:{isDeletingAddress:H}}=yn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),z=xe("text",e?.address1?.street||""),I=xe("text",e?.address2?.street||""),M=xe("text",e?.address1?.city||""),W=xe("text",e?.address2?.city||""),R=xe("text",e?.address1?.state||""),G=xe("text",e?.address2?.state||""),_=xe("text",e?.address1?.zipcode||""),ae=xe("text",e?.address2?.zipcode||""),ue=xe("text",e?.address1?.country||""),le=xe("text",e?.address2?.country||""),Se=(de,K,pe)=>K!==pe&&!(K===null&&pe==="")?{[de]:pe}:{},ve=()=>{if(!e)return null;const de={street:z.attributes.value,city:M.attributes.value,state:R.attributes.value,zipcode:_.attributes.value,country:ue.attributes.value},K={street:I.attributes.value,city:W.attributes.value,state:G.attributes.value,zipcode:ae.attributes.value,country:le.attributes.value};return{id:e.id,...Se("owner",e.owner,y.attributes.value),...Se("name",e.name,u.attributes.value),imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,tags:h.attributes.value,properties:d,members:m,phoneNumbers:T,emails:w,address1:de,address2:K}};function Z(de){if(!e)return;const K=X=>X.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),pe=e.properties.find(X=>X.nameKey===de)??e.properties.find(X=>K(X.nameKey)===K(de));if(!pe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${de}`);return}const Ge=d.map(X=>X.nameKey===de?{...X,value:pe.value}:X);c(Ge)}const Ne=()=>e?a.map(de=>{const K=X=>X.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),pe=e.properties.find(X=>X.nameKey===de.nameKey)??e.properties.find(X=>K(X.nameKey)===K(de.nameKey));if(pe)return{...pe,nameKey:de.nameKey,type:pe.type??de.type,value:pe.value};const Ge=d.find(X=>X.nameKey===de.nameKey);return{nameKey:de.nameKey,type:de.type,value:Ge?Ge.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Ne())},[e,a]),l.useEffect(()=>{e&&h.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:P,contactImage:p,contactPropietary:y,imsMercadolibre:S,imsFacebooks:v,imsWebchats:b,imsInstagrams:j,emails:w,phoneNumbers:T,homeAddress:z,secondaryHomeAddress:I,city:M,secondaryCity:W,state:R,secondaryState:G,postalCode:_,secondaryPostalCode:ae,country:ue,secondaryCountry:le,customProperties:d,labelMultipleSelect:h},action:{setCustomProperties:c,addWhatsapp:A,addRCS:k,getEditedBusiness:ve,handleAddressFieldChange:O,handleNoteFieldChange:q,handleDeleteAddress:B,addPhone:E,addEmail:F,replaceAddress:V,addWhatsappVerified:N,resetToInitialContactInformation:te,resetCustomProperty:Z},state:{isDeletingAddress:H},selectedContacts:m,setSelectedContacts:g}},No=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=l.useMemo(()=>async X=>{!n||!r||await ea({baseUrl:n,spaceId:r,data:X})},[n,r]),o=async X=>X,{getEditedField:d}=yt,[c,u]=l.useState([]),p=xe("text",e?.firstName||""),y=xe("text",e?.lastName||""),h=At({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[m,g]=l.useState(e?.birthDate?Q(e.birthDate):null),v=yn({entityId:e?.id,initial:e,dispatch:o,deleteAddress:i}),{field:{imsFacebooks:S,imsMercadolibre:b,imsWebchats:j,imsInstagrams:C,imsWhatsapp:w,emails:T,phoneNumbers:P,imsRCS:E},action:{addPhone:F,addEmail:A,addWhatsapp:k,addRCS:N,addWhatsappVerified:V,replaceAddress:O,handleAddressFieldChange:q,handleNoteFieldChange:B,handleDeleteAddress:te,resetToInitialContactInformation:H},state:{isDeletingAddress:z}}=v,I=bn({initialState:e?.tags}),M=mn(e?.owner),W=xe("text",e?.address1?.street),R=xe("text",e?.address2?.street),G=xe("text",e?.address1?.city),_=xe("text",e?.address2?.city),ae=xe("text",e?.address1?.state),ue=xe("text",e?.address2?.state),le=xe("text",e?.address1?.zipcode),Se=xe("text",e?.address2?.zipcode),ve=xe("text",e?.address1?.country),Z=xe("text",e?.address2?.country),Ne=()=>{if(!e)return null;const X=e,ge=I.attributes.value.map(Y=>({id:Y.id,name:Y.name})),De=P.map(Y=>{const{id:Ve,...je}=Y;return je}),re=T.map(Y=>{const{id:Ve,...je}=Y;return je});return{id:X.id,owner:M.attributes.value,firstName:p.attributes.value,lastName:y.attributes.value,address1:{...d("street",X.address1?.street,W.attributes.value),...d("city",X.address1?.street,G.attributes.value),...d("state",X.address1?.street,ae.attributes.value),...d("zipcode",X.address1?.street,le.attributes.value),...d("country",X.address1?.street,ve.attributes.value)},address2:{...d("street",X.address2?.street,R.attributes.value),...d("city",X.address2?.street,_.attributes.value),...d("state",X.address2?.street,ue.attributes.value),...d("zipcode",X.address2?.street,Se.attributes.value),...d("country",X.address2?.street,Z.attributes.value)},emails:re,phones:De,tags:ge,imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,properties:c,birthDate:m?.toDate()}};function de(){e&&(!e.businessId||e.businessName)}function K(){g(e?.birthDate?Q(e.birthDate):null)}function pe(X){if(!e)return;const ge=Y=>Y.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),De=e.properties.find(Y=>Y.nameKey===X)??e.properties.find(Y=>ge(Y.nameKey)===ge(X));if(!De){console.error(`No se encontr\xF3 una propiedad con nameKey: ${X}`);return}const re=c.map(Y=>Y.nameKey===X?{...Y,value:De.value}:Y);u(re)}const Ge=()=>e?a.map(X=>{const ge=Y=>Y.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),De=e.properties.find(Y=>Y.nameKey===X.nameKey)??e.properties.find(Y=>ge(Y.nameKey)===ge(X.nameKey));if(De)return{...De,nameKey:X.nameKey,type:De.type??X.type,value:De.value};const re=c.find(Y=>Y.nameKey===X.nameKey);return{nameKey:X.nameKey,type:X.type,value:re?re.value:""}}):[];return l.useEffect(()=>{e&&a&&u(Ge())},[e,a]),l.useEffect(()=>{e?.tags&&I.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:m,imsWhatsapp:w,imsRCS:E,contactFirstname:p,contactLastname:y,contactImage:h,contactPropietary:M,imsMercadolibre:b,imsFacebooks:S,imsWebchats:j,imsInstagrams:C,emails:T,phoneNumbers:P,homeAddress:W,secondaryHomeAddress:R,city:G,secondaryCity:_,state:ae,secondaryState:ue,postalCode:le,secondaryPostalCode:Se,country:ve,secondaryCountry:Z,customProperties:c,labelMultipleSelect:I},action:{setBirthDate:g,setCustomProperties:u,getEditedContact:Ne,handleAddressFieldChange:q,handleNoteFieldChange:B,handleDeleteAddress:te,addPhone:F,addEmail:A,addWhatsapp:k,addRCS:N,replaceAddress:O,addWhatsappVerified:V,resetToInitialContactInformation:H,resetSelectedBusiness:de,resetBirthDate:K,resetCustomProperty:pe},state:{isDeletingAddress:z}}},ka=l.createContext(null),Lo=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=No({contact:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(ka.Provider,{value:{entityType:"contact",editEntity:o,entityId:String(a.id)},children:e})},Oo=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const o=Ro({business:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(ka.Provider,{value:{entityType:"business",editEntity:o,entityId:String(a.id)},children:e})},zo=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o})=>a==="contact"?t.jsx(Lo,{contact:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}):t.jsx(Oo,{business:n,customContactFields:r,baseUrl:i,spaceId:o,children:e}),tt=()=>{const e=l.useContext(ka);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},bt=({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},na=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const i=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(jr,{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]})},xn=({children:e,...a})=>t.jsx(s.Box,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),Wo=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Tt.LocalizationProvider,{dateAdapter:wt.AdapterDayjs,children:t.jsx(It,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Va.DatePicker,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:r})})})},_o={view:"main",setView:()=>{}},vn=l.createContext(null),Vo=vn.Provider,Ho=()=>l.useContext(vn)||(console.warn("[useEditContactView] using noop, context value is missing"),_o),Cn=()=>{},Sn=l.createContext(Cn),Go=({navigate:e,children:a})=>t.jsx(Sn.Provider,{value:e,children:a}),qo=()=>l.useContext(Sn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),Cn);function Yo({value:e,displayValue:a,businessId:n}){const r=nt(),i=qo(),[o,d]=l.useState(null),c=At({initialImageUrl:o?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[y,h]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async m=>{const g=m.currentTarget;if(h(!0),!r){console.error("API is null");return}const v=await r.fetchBusiness({businessId:n});if(v&&Ia(v)&&d(v),h(!1),!g){console.error("Target element is null");return}p(g)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:m=>m.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),o&&t.jsx(an,{contactData:o,open:!!u,anchorEl:u,onClose:()=>p(null),navigate:i,avatarImgUrl:c.imageUrl}),y&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const Ko=e=>"email"in e,Ea=e=>e.entityType==="contact"&&e.inputType==="birthday",Jo=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),jn=s.styled(s.IconButton)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),rt=e=>{const{title:a,value:n,isNotEditable:r,displayValue:i,baseUrl:o,spaceId:d,minWidth:c,onEntityUpdated:u}=e,p=be(),{setView:y}=Ho(),h=e.inputType??"text",[m,g]=l.useState(!1),[v,S]=l.useState(!1),b=l.useRef(null),[j,C]=l.useState(!1),[w,T]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const B=b.current;if(!B)return;const te=()=>{const H=B.scrollWidth>B.clientWidth;C(z=>z===H?z:H)};if(te(),typeof ResizeObserver<"u"){let H=0;const z=new ResizeObserver(()=>{if(typeof window>"u"){te();return}H&&window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>{te()})});return z.observe(B),()=>{typeof window<"u"&&H&&window.cancelAnimationFrame(H),z.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",te),()=>{window.removeEventListener("resize",te)}},[a]),l.useEffect(()=>{e.entityType==="business"?T(n):T(typeof n=="string"?n:void 0)},[n,e.entityType]);const P=()=>{if(e.entityType==="contact"&&h==="selectBusiness"){y("businessSelect");return}g(B=>!B)},E=B=>{T(B.target.value)},F=B=>{const te=B.target.value;T(te)},A=()=>{Ea(e)&&e.contact.action.resetBirthDate(),g(!1)},k=async()=>{if(!e.constructUpdateObject){g(!1);return}if(e.entityType==="business"&&w===void 0){g(!1);return}S(!0);try{if(!o||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let B=w===void 0?null:w;if(Ea(e)){const I=Q(e.contact.field.birthDate);I.isValid()&&(B=I.toISOString())}const te=e.constructUpdateObject(B),H=e.entityId??te?.id;if(!H)throw new Error("Missing contactId for updateEntity");const z=await Je({baseUrl:o,spaceId:d,entityType:"contact",entityId:H,body:te});u?.(z)}else{const B=e.constructUpdateObject(w),te=e.entityId??B?.id;if(!te)throw new Error("Missing businessId for updateEntity");const H=await Je({baseUrl:o,spaceId:d,entityType:"business",entityId:te,body:B});u?.(H)}}finally{S(!1),g(!1)}},N=typeof w=="string"?w:"",V=w instanceof Date?w.toISOString():typeof w=="string"?w:"",O=c??(e.entityType==="contact"?"45%":"200px"),q=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:B=>B.palette.mode==="dark"?"1e1e1e":B.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:O,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[j?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:b,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:b,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:m?t.jsxs(t.Fragment,{children:[t.jsx(jn,{size:"small",onClick:k,children:v?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{})}),t.jsx(jn,{size:"small",onClick:A,children:t.jsx(Ha,{})})]}):t.jsx(Jo,{className:"edit-icon",size:"small",onClick:P,children:t.jsx(jt,{})})]}),t.jsx(s.Box,{width:m?"100%":"50%",position:"relative",children:m&&h==="text"?t.jsx(s.TextField,{value:V,onChange:E,variant:"standard",size:"small",sx:{width:"100%"}}):m&&(h==="select"||h==="selectMembers")?t.jsxs(s.Select,{value:N,onChange:F,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(s.MenuItem,{value:"",children:p("conversations.contactDetails.contactInfo.emptySelection")}):null,q.map((B,te)=>t.jsx(s.MenuItem,{value:B.id,children:e.entityType==="contact"?B.name?.trim()||(Ko(B)?B.email:"")||"Sin nombre":B.name?.trim()||B.email||"Sin nombre"},te))]}):m&&Ea(e)?t.jsx(Wo,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!m&&e.entityType==="contact"&&h==="selectBusiness"&&e.businessId?t.jsx(Yo,{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:B=>B.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Bt=e=>{const{title:a,value:n,isNotEditable:r,options:i=[],displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:y,onEntityUpdated:h}=e;if(e.inputType==="birthday")return t.jsx(rt,{entityType:"contact",entityId:y,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:h});const m=e.inputType??"text";return t.jsx(rt,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:r,inputType:m,options:i,displayValue:o,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:h})},Qo=({nameKey:e,value:a,onChange:n,type:r})=>{const i=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)&&o(u)},o=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:i,inputProps:{pattern:"[0-9]*"},multiline:r===se.ContactField_type.LONGTEXT,rows:r===se.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},Xo=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Tt.LocalizationProvider,{dateAdapter:wt.AdapterDayjs,children:t.jsx(It,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Va.DatePicker,{value:e?Q(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Zo=({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: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))]})})},ei=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Tt.LocalizationProvider,{dateAdapter:wt.AdapterDayjs,children:t.jsx(It,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(wr.TimePicker,{value:e?Q(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},ti=({value:e,handleChange:a,userTimeFormat:n})=>{const r=be(),i=[Q().set("hour",0).set("minute",0),Q().set("hour",0).set("minute",0)],o=n==="24"?"HH:mm":"hh:mm";return t.jsx(Tt.LocalizationProvider,{dateAdapter:wt.AdapterDayjs,children:t.jsx(It,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ye.MultiInputTimeRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:d=>a(d),format:o})})})},ai=({value:e,handleChange:a,userDateFormat:n})=>{const r=be(),i=[Q(),Q()],o=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Tt.LocalizationProvider,{dateAdapter:wt.AdapterDayjs,children:t.jsx(It,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ye.MultiInputDateRangeField,{slotProps:{textField:({position:d})=>({label:r(d==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:o}})},value:e||i,onChange:d=>a(d),format:o})})})},ni=s.styled(s.IconButton)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),wn=s.styled(s.IconButton)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),ri=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),Tn=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})),si=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"})),In=({property:e,entity:a,entityType:n,entityId:r,customContactFields:i,userTrii:o,baseUrl:d,spaceId:c,onEntityUpdated:u})=>{const{customProperties:p}=a.field,{setCustomProperties:y}=a.action,[h,m]=l.useState(!1),[g,v]=l.useState(!1),S=l.useRef(null),[b,j]=l.useState(!1),C=(o?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),w=o?.regCon_timeFormat||"24",T=z=>z===se.ContactField_type.NUMBER_INTEGER||z===se.ContactField_type.NUMBER_DECIMAL||z===se.ContactField_type.NUMBER_CURRENCY||z===se.ContactField_type.NUMBER_ACCOUNTING||z===se.ContactField_type.CURRENCY,P=(z,I)=>z.toLowerCase()==="dni"?!0:T(I),E=(z,I,M)=>{if(M===""||M===null||M===void 0)return null;if(P(z,I)){const W=Number(M);return Number.isNaN(W)?M:W}return M},F=()=>m(z=>!z),A=()=>{m(!1),a.action.resetCustomProperty(e.nameKey)},k=async()=>{if(!d||!c||!r)return;v(!0);const z=p.find(_=>_.nameKey===e.nameKey)||e,{nameKey:I,value:M}=z,W=i.find(_=>_.nameKey===I)?.type??z.type;let R;if(W===se.ContactField_type.TIME){const _=Q(M);_.isValid()?R=_.format(w==="24"?"HH:mm":"hh:mm"):R=M}else if(W===se.ContactField_type.DATE){const _=Q(M);_.isValid()?R=_.toISOString():R=M}else R=E(I,W,M);const G={properties:[{nameKey:I,type:W,value:R}]};try{const _=await Je({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:G}),ae=p.map(ue=>ue.nameKey===I?{...ue,type:W,value:R}:ue);y(ae),u?.(_)}finally{v(!1),m(!1)}},N=z=>i.find(I=>I.nameKey===z)?.name||z;l.useEffect(()=>{const z=S.current;if(!z)return;const I=()=>{const M=z.scrollWidth>z.clientWidth;j(W=>W===M?W:M)};if(I(),typeof ResizeObserver<"u"){let M=0;const W=new ResizeObserver(()=>{if(typeof window>"u"){I();return}M&&window.cancelAnimationFrame(M),M=window.requestAnimationFrame(()=>{I()})});return W.observe(z),()=>{typeof window<"u"&&M&&window.cancelAnimationFrame(M),W.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}},[i,e.nameKey]);const V=(z,I)=>{const M=e.type===se.ContactField_type.DATERANGE?Array.isArray(I)&&I[0]&&I[1]?`${Q(I[0]).toISOString()} - ${Q(I[1]).toISOString()}`:"":e.type===se.ContactField_type.DATE?Q(I).isValid()?Q(I).toISOString():"Invalid Date":e.type===se.ContactField_type.TIME?Q(I).isValid()?Q(I).toISOString():"Invalid Time":I,W=p.map(R=>R.nameKey===z?{...R,value:M}:R);y(W)},{type:O,nameKey:q,value:B}=e,te=z=>z==null?!1:typeof z=="string"?z.trim().length>0:!0,H=()=>O===se.ContactField_type.DATE?t.jsx(Xo,{value:B?Q(B):null,handleChange:z=>V(q,z?.toDate()),dateFormat:C}):O===se.ContactField_type.TIME?t.jsx(ei,{value:e?.valueDate?Q(e.valueDate):B?Q(B):null,handleChange:z=>V(q,z),userTimeFormat:w}):O===se.ContactField_type.DATERANGE?t.jsx(ai,{value:B&&typeof B=="string"&&B.includes(" - ")?[Q(B.split(" - ")[0]),Q(B.split(" - ")[1])]:null,handleChange:z=>V(q,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userDateFormat:C}):O===se.ContactField_type.TIMERANGE?t.jsx(ti,{value:Array.isArray(B)&&B.length===2?[Q(B[0]),Q(B[1])]:null,handleChange:z=>V(q,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userTimeFormat:w}):O===se.ContactField_type.OPTIONS?t.jsx(Zo,{value:typeof B=="string"?B:"",handleChange:z=>V(q,z),options:i.find(z=>z.nameKey===q)?.typeOptions??[]}):t.jsx(Qo,{type:O,nameKey:q,value:B,onChange:V});return t.jsxs(ri,{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:[b?t.jsx(s.Tooltip,{title:N(e.nameKey),arrow:!0,children:t.jsx(Tn,{ref:S,flexGrow:1,noWrap:!0,children:N(e.nameKey)})}):t.jsx(Tn,{ref:S,flexGrow:1,noWrap:!0,children:N(e.nameKey)}),h?t.jsxs(t.Fragment,{children:[t.jsx(wn,{size:"small",onClick:k,children:g?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{})}),t.jsx(wn,{size:"small",onClick:A,children:t.jsx(Ha,{})})]}):t.jsx(ni,{className:"edit-icon",size:"small",onClick:F,children:t.jsx(jt,{})})]}),t.jsx(s.Box,{width:h||e.type===se.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:h?H():t.jsx(si,{children:te(e?.value)?e.type===se.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const z=e.value.split(" - ");if(z.length===2){const[I,M]=z,W=Q(I),R=Q(M);return`${W.isValid()?W.format(C):"-"} - ${R.isValid()?R.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Q(e.value[0]).format(C)} - ${Q(e.value[1]).format(C)}`;return`${e.value}`})():e.type===se.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Q(e.value[0]).format(w==="24"?"HH:mm":"hh:mm")} - ${Q(e.value[1]).format(w==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===se.ContactField_type.TIME?(()=>{try{const z=e.valueDate||e.value;return`${Q(z).format(w==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===se.ContactField_type.DATE?(()=>{try{return`${Q(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},oi=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,u=be(),{entityType:p,editEntity:y}=tt(),h=nt();if(p!=="contact")return null;const[m,g]=l.useState([]),[v,S]=l.useState(null),[b,j]=l.useState(null),[C,w]=l.useState(null),T=y;l.useEffect(()=>{if(!h)return;const k=new AbortController;return h.fetchUsers({signal:k.signal}).then(N=>{k.signal.aborted||g(N??[])}).catch(()=>{k.signal.aborted||g([])}),()=>{k.abort()}},[h]),l.useEffect(()=>{const k=new AbortController,N=async V=>{if(!V||!h)return null;try{const O=await h.fetchUserTriiById({userId:V,signal:k.signal});return O?.display_name||O?.email||null}catch{return null}};return(async()=>{const V=bt({userId:n.owner,users:m,currentUser:d})??(n.owner?await N(n.owner):null),O=bt({userId:n.createdBy??void 0,users:m,currentUser:d})??(n.createdBy?await N(n.createdBy):null),q=bt({userId:n.updatedBy??void 0,users:m,currentUser:d})??(n.updatedBy?await N(n.updatedBy):null);k.signal.aborted||(S(V),w(O),j(q))})(),()=>{k.abort()}},[h,n,m,d]);const P=(a||"YYYY/MM/DD").toUpperCase(),E=T.field.birthDate,F=E?.isValid()?E.format(P):null,A=k=>{const N=new Date;let V=N.getFullYear()-k.getFullYear();const O=N.getMonth()-k.getMonth();return(O<0||O===0&&N.getDate()<k.getDate())&&V--,V};return t.jsx(na,{title:"General",children:t.jsxs(xn,{children:[t.jsx(Bt,{title:u("conversations.contactDetails.contactOwner"),displayValue:v||"-",value:n.owner,inputType:"select",options:m,constructUpdateObject:k=>({owner:typeof k=="string"?k:""}),contact:T,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Bt,{title:u("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:T,baseUrl:i,spaceId:o,contactId:n.id,onEntityUpdated:c}),t.jsx(Bt,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:T,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Bt,{title:u("conversations.contactDetails.modifiedBy"),value:b||"-",isNotEditable:!0,contact:T,baseUrl:i,spaceId:o,contactId:n.id}),t.jsx(Bt,{title:u("global.birthdate"),inputType:"birthday",displayValue:E?`${F} (${A(E.toDate())})`:"-",value:E?E.toISOString():"",constructUpdateObject:k=>({birthDate:k}),contact:T,baseUrl:i,spaceId:o,contactId:n.id,dateFormat:a,onEntityUpdated:c}),T.field.customProperties.map(k=>t.jsx(In,{property:k,entity:T,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:i,spaceId:o,onEntityUpdated:c},k.nameKey))]})})},Da=({title:e,value:a,isNotEditable:n,inputType:r="text",options:i=[],displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:p,onEntityUpdated:y})=>t.jsx(rt,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:i,displayValue:o,constructUpdateObject:d,baseUrl:c,spaceId:u,onEntityUpdated:y}),ii=e=>{const a=be(),{entityData:n,customContactFields:r,baseUrl:i,spaceId:o,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=tt(),y=nt();if(u!=="business")return null;const[h,m]=l.useState([]),[g,v]=l.useState(null),[S,b]=l.useState(null),[j,C]=l.useState(null),w=p;return l.useEffect(()=>{if(!y)return;const T=new AbortController;return y.fetchUsers({signal:T.signal}).then(P=>{T.signal.aborted||m(P??[])}).catch(()=>{T.signal.aborted||m([])}),()=>{T.abort()}},[y]),l.useEffect(()=>{const T=new AbortController,P=async E=>{if(!E||!y)return null;try{const F=await y.fetchUserTriiById({userId:E,signal:T.signal});return F?.display_name||F?.email||null}catch{return null}};return(async()=>{const E=bt({userId:n.owner,users:h,currentUser:d})??(n.owner?await P(n.owner):null),F=bt({userId:n.createdBy??void 0,users:h,currentUser:d})??(n.createdBy?await P(n.createdBy):null),A=bt({userId:n.updatedBy??void 0,users:h,currentUser:d})??(n.updatedBy?await P(n.updatedBy):null);T.signal.aborted||(v(E),C(F),b(A))})(),()=>{T.abort()}},[y,n,h,d]),t.jsx(na,{title:"General",children:t.jsxs(xn,{children:[t.jsx(Da,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:g||"-",inputType:"select",options:h,constructUpdateObject:T=>({owner:typeof T=="string"?T:""}),baseUrl:i,spaceId:o,businessId:n.id,onEntityUpdated:c}),t.jsx(Da,{title:a("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0}),t.jsx(Da,{title:a("conversations.contactDetails.modifiedBy"),value:S||"-",isNotEditable:!0}),w.field.customProperties.map(T=>t.jsx(In,{property:T,entity:w,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:i,spaceId:o,onEntityUpdated:c},T.nameKey))]})})},li=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(oi,{...e,entityData:n,entityType:"contact"}):t.jsx(ii,{...e,entityData:n,entityType:"business"})},di=()=>{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("")}}},ci=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),ui=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),pi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),fi=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),gi=Te.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Aa=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),mi=Te.styled(Aa)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),hi=Te.styled(Aa)(({})=>({fontSize:14,fontWeight:500})),yi=Te.styled(Aa)(({})=>({fontSize:14,fontWeight:500})),bi=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=At({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(ci,{children:[t.jsx(ui,{children:t.jsxs(fi,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(hi,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(yi,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(mi,{children:e.note})})]})}),t.jsxs(pi,{children:[a!==""&&t.jsx(gi,{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(Fe.Star,{sx:{color:"#fcac34"}}):t.jsx(Fe.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},Fa=Ga.PhoneNumberUtil.getInstance(),xi=e=>{if(!e||!e.trim())return e;try{const a=Fa.parse(e,void 0);return Fa.isValidNumber(a)?Fa.format(a,Ga.PhoneNumberFormat.INTERNATIONAL):e}catch{return e}},vi=Te.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),Ci=Te.styled(Tr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Si=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(1),backgroundColor:e.palette.background.dropdownMenu,borderRadius:e.shape.borderRadius,color:e.palette.text.primary,width:"50%",paddingBottom:"3px",minHeight:"50px",position:"relative"})),ji=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),wi=Te.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ti=Te.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),kn=Te.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Ii=Te.styled(kn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),ki=Te.styled(kn)(({})=>({fontSize:14,fontWeight:500})),Ei=({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(()=>xi(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Si,{children:[t.jsxs(ji,{children:[t.jsx(vi,{onClick:a,color:"primary",size:"small",children:t.jsx(Ci,{})}),t.jsxs(Ti,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(ki,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Ii,{children:e.note})})]})]}),t.jsx(wi,{children:t.jsx(s.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(s.IconButton,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(Fe.Star,{sx:{color:"#fcac34"}}):t.jsx(Fe.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},Di=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}})),Ai=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),Fi=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Bi=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),$i=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Mi=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:i})=>t.jsxs(Di,{children:[t.jsxs(Fi,{children:[t.jsx(Ai,{children:e}),t.jsx($i,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(jt,{fontSize:"small",sx:{color:o=>o.palette.secondary.main}})})]}),t.jsx(Bi,{children:a.map((o,d)=>n?t.jsx(Ei,{item:o},d):t.jsx(bi,{item:o,owner:i},d))})]}),Pi=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),Ui={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ra=({title:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:Ui.container,children:[t.jsx(s.Typography,{variant:"subtitle2",children:e}),t.jsx(s.Button,{onClick:a,size:"small",startIcon:t.jsx(qa,{}),variant:"text",color:"primary",children:n("global.add")})]})},Ri={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:Ri.container,children:e}),En={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Ni=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:i})=>{const o=be(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:y}=a,[h,m]=l.useState(!1),[g,v]=l.useState(null),[S,b]=l.useState(!1),j=A=>{c(A.currentTarget)},C=()=>{c(null)},w=()=>{b(!1)},T=()=>{e(),C()},P=async()=>{m(!0);try{if(!i)return;const A=await i(13);if(!A)return;v(A),b(!0)}catch(A){console.error("Error verifying WhatsApp account:",A)}finally{m(!1)}C()},E=async()=>{m(!0);try{if(!i)return;const A=await i(21);if(!A)return;v(A),b(!0)}catch(A){console.error("Error verifying RCS account:",A)}finally{m(!1)}C()},F=async()=>{await n(),b(!1)};return t.jsxs(s.Box,{children:[t.jsx(s.IconButton,{"aria-controls":u?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:j,children:t.jsx(Ir,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:T,children:[t.jsx(s.ListItemIcon,{children:t.jsx(Xt,{color:"error"})}),t.jsx(s.ListItemText,{children:o("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:P,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(kr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:E,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(Er,{})}),t.jsx(s.ListItemText,{children:o("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:S,onClose:w,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(s.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:A=>A.palette.background.default},children:g?.success?t.jsxs(t.Fragment,{children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.wspAccountFound")," ",y]}),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:F,color:"primary",children:o("optionsMenu.yesLink")}),t.jsx(s.Button,{onClick:w,color:"secondary",children:"No"})]})]}):t.jsxs(s.Box,{sx:{position:"relative"},children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[o("optionsMenu.noWspAccountFound")," ",y]}),t.jsx(s.Button,{onClick:w,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:o("global.cancel")})]})})})]})},Mt=e=>{const a=be(),n=nt(),{editEntity:r,entityId:i}=tt(),[o,d]=l.useState(!1),c=e.checked??!0,u=e.entityId??i,{note:p,channelType:y,id:h,address:m}=e.addressData,g=!e.addressData.hasOwnProperty("isSaved"),v=e.replaceAddress??r.action.replaceAddress,S=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),b=async T=>{if(!n||!u)return null;const P=await n.setContactAddress({data:{address:m,contactId:u,type:T}});return v(h,P),P},j=async()=>{if(!n||!u)return;const T=await n.updateContactAddress({data:{contactAddressId:h,contactId:u,note:p??""}});v(h,T)},C=async()=>{d(!0),g?(await j(),d(!1)):await b(y)&&d(!1)},w=async()=>{d(!0);const T=await b(13);T&&S&&S(T),T&&d(!1)};return t.jsxs(s.Box,{sx:{...En.container},children:[g&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:T=>e.handleNoteFieldChange(T,h,y),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:En.noteTextField}),t.jsx(s.IconButton,{onClick:C,children:o?t.jsx(s.CircularProgress,{size:24}):t.jsx(dt,{color:"primary"})}),t.jsx(Ni,{onDelete:()=>e.handleDeleteAddress(h,y),addressData:e.addressData,handleLinkAccountSave:w,checked:c&&!o,onCheckContactAddress:async T=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:m,type:T}})}catch{return null}}})]})},Li={container:{display:"flex",gap:"100px",alignItems:"center"}},Pt=({children:e})=>t.jsx(s.Box,{sx:Li.container,children:e}),Oi={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Ut=({children:e})=>t.jsx(s.Box,{sx:{...Oi.container},children:e}),zi=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Fr,{size:20});case"available":return t.jsx(Dr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Ar,{style:{height:27,width:27},color:"error"});default:return null}},Dn=({status:e,text:a})=>t.jsxs(Br,{position:"end",children:[a?t.jsx($r,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(zi,{status:e})})]}),Wi={code:{width:"60%",color:"gray"}},_i=({data:e,editEntity:a})=>{const n=a.action;return t.jsx($t,{children:t.jsxs(Pt,{children:[t.jsx(s.Typography,{sx:Wi.code,variant:"body2",children:e.address}),t.jsx(Mt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},Vi=({IMSs:e,editEntity:a})=>t.jsx(Ut,{children:e?.map(n=>t.jsx(_i,{data:n,editEntity:a},n.id))}),sa=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(Pi,{title:a}),t.jsx(Vi,{IMSs:n,editEntity:e})]}),Hi={addressField:{}},Ba=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:i,address:o}=e,d=be(),c=nt(),[u,p]=l.useState("idle"),[y,h]=l.useState(o),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(o!==""&&o!==y){if(!c)return;p("loading"),h(o);const v={address:o,type:i};try{const S=await c.checkContactAddress({data:v}),{success:b,warnings:j}=S;n(j),p(b?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[c,e,o,i,y,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:Hi.addressField,size:"small",label:i===ht.ChannelType.WHATSAPP||i===ht.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:o,onChange:g=>{a(g,r,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Dn,{status:u})})}})})},Gi={addressField:{}},qi=({data:e,onChange:a,setWarnings:n})=>{const r=nt(),i=be(),{id:o,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[y,h]=l.useState(c),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(c!==""&&c!==y){if(!r)return;p("loading"),h(c);const v={address:c,type:d};try{const{success:S,warnings:b}=await r.checkContactAddress({data:v});n(b),p(S?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:Gi.addressField,size:"small",label:i("global.number"),value:c,onChange:g=>{a(g,o,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Dn,{status:u})})}})})},$a={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Yi=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:$a.secondaryContainer,children:t.jsx(Pr,{icon:t.jsx(Mr,{sx:$a.icon}),sx:$a.chip,label:e,color:"error",variant:"outlined"})})}),oa=({warnings:e})=>{const a=be();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(Yi,{text:a(`contactAddressError.${n}`)},r))})})},Ki={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Ji=({data:e})=>{const a="edit",{editEntity:n}=tt(),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($t,{children:t.jsxs(Pt,{children:[t.jsxs(s.Box,{sx:{...Ki.numberCountryContainer,flexDirection:"column"},children:[t.jsx(qi,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),o.length>0&&t.jsx(oa,{warnings:o})]}),t.jsx(Mt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},Qi=({phoneNumbers:e})=>t.jsx(Ut,{variant:"large",children:e?.map(a=>t.jsx(Ji,{data:a},a.id))}),Xi=({phoneNumbers:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ra,{handleAdd:a,title:n("global.phones")}),t.jsx(Qi,{phoneNumbers:e})]})},An={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Zi=({data:e})=>{const a="edit",{editEntity:n}=tt(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs($t,{children:[t.jsxs(Pt,{children:[t.jsx(s.Box,{sx:An.numberCountryContainer,children:t.jsx(s.Box,{sx:An.adressInputBox,children:t.jsx(Ba,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Mt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(oa,{warnings:o})]})},el=({emails:e})=>t.jsx(Ut,{variant:"large",children:e?.map(a=>t.jsx(Zi,{data:a},a.id))}),tl=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ra,{handleAdd:a,title:"Emails"}),t.jsx(el,{emails:e})]}),Fn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},al=({data:e})=>{const a="edit",{editEntity:n}=tt(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs($t,{children:[t.jsxs(Pt,{children:[t.jsx(s.Box,{sx:Fn.numberCountryContainer,children:t.jsx(s.Box,{sx:Fn.adressInputBox,children:t.jsx(Ba,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Mt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(oa,{warnings:o})]})},nl=({whatsapps:e})=>t.jsx(Ut,{variant:"large",children:e?.map(a=>t.jsx(al,{data:a},a.id))}),rl=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ra,{handleAdd:a,title:"WhatsApp"}),t.jsx(nl,{whatsapps:e})]}),Bn={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}=tt(),r=n.action,i=n.state,[o,d]=l.useState([]);return t.jsxs($t,{children:[t.jsxs(Pt,{children:[t.jsx(s.Box,{sx:Bn.numberCountryContainer,children:t.jsx(s.Box,{sx:Bn.adressInputBox,children:t.jsx(Ba,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Mt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),o.length>0&&t.jsx(oa,{warnings:o})]})},ol=({RCSs:e})=>t.jsx(Ut,{variant:"large",children:e?.map(a=>t.jsx(sl,{data:a},a.id))}),il=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ra,{handleAdd:a,title:"RCS"}),t.jsx(ol,{RCSs:e})]}),ll=Te.styled(s.Box)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.panel,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),dl=({open:e,onClose:a,title:n})=>{const r=be(),{editEntity:i}=tt(),{emails:o,phoneNumbers:d,imsWhatsapp:c,imsRCS:u}=i.field,{addEmail:p,addPhone:y,addWhatsapp:h,resetToInitialContactInformation:m,addRCS:g}=i.action;function v(){a(),m()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(ll,{children:[(()=>{switch(n){case"Phones":return t.jsx(Xi,{handleAdd:y,phoneNumbers:d});case"Emails":return t.jsx(tl,{handleAdd:p,emails:o});case"Whatsapp":return t.jsx(rl,{handleAdd:h,whatsapps:c});case"RCS":return t.jsx(il,{handleAdd:g,RCSs:u});case"Facebook":return t.jsx(sa,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(sa,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(sa,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(sa,{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:v,children:r("global.close")})})]})})},cl=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:i}=di(),{editEntity:o}=tt(),d=be(),c=o.field.phoneNumbers,u=o.field.emails,p=o.field.imsFacebooks,y=o.field.imsWhatsapp,h=o.field.imsMercadolibre,m=o.field.imsWebchats,g=o.field.imsInstagrams,v=o.field.imsRCS,S=[{key:"phones",title:d("conversations.contactDetails.phones"),items:c,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:u,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:p,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:y,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:v,modalTitle:"RCS",visible:v.length>0},{key:"mercado-libre",title:"Mercado libre",items:h,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:m,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:g,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(na,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:S.filter(b=>b.visible).map(b=>t.jsx(Mi,{handleEdit:()=>r(b.modalTitle),title:b.title,methodItems:b.items,isPhone:b.isPhone,owner:e},b.key))})}),t.jsx(dl,{open:a,onClose:i,title:n})]})},ul=({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=be(),u=({addressNumber:p,title:y})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(s.Typography,{variant:"body2",children:y}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-3",children:[t.jsx("div",{className:"col-span-2",children:t.jsx(rt,{entityType:e,title:c("conversations.contactDetails.street"),value:a[p]?.street??"",...d,constructUpdateObject:h=>({[p]:{street:h}}),minWidth:"100%"})}),t.jsx(rt,{entityType:e,title:c("conversations.contactDetails.city"),value:a[p]?.city??"",...d,constructUpdateObject:h=>({[p]:{city:h}}),minWidth:"100%"}),t.jsx(rt,{entityType:e,title:c("conversations.contactDetails.state"),value:a[p]?.state??"",...d,constructUpdateObject:h=>({[p]:{state:h}}),minWidth:"100%"}),t.jsx(rt,{entityType:e,title:c("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...d,constructUpdateObject:h=>({[p]:{zipcode:h}}),minWidth:"100%"}),t.jsx(rt,{entityType:e,title:c("conversations.contactDetails.country"),value:a[p]?.country??"",...d,constructUpdateObject:h=>({[p]:{country:h}}),minWidth:"100%"})]})]});return t.jsx(na,{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")})]})})},pl=({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]),fl=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:i,labels:o,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[y,h]=l.useState([]),[m,g]=l.useState(!1),[v,S]=l.useState(!1),[b,j]=l.useState([]),[C,w]=l.useState(!1),T=l.useMemo(()=>{const A=o??[],k=b??[],N=new Map;for(const V of A)V?.id&&N.set(String(V.id),V);for(const V of k)V?.id&&N.set(String(V.id),V);return Array.from(N.values())},[o,b]),P=l.useCallback(()=>{p("main"),h([]),g(!1),S(!1),j([]),w(!1)},[]);l.useEffect(()=>{e||P()},[e,P]),l.useEffect(()=>{if(u!=="tags"){g(!1);return}if(m||!T.length)return;const A=new Set(d.map(N=>String(N.id))),k=T.filter(N=>A.has(String(N?.id)));h(k),g(!0)},[u,m,T,d]);const E=l.useCallback(async A=>{if(C||!a||!n)return;const k=String(A??"").trim();if(!k)return;const N=k.toLowerCase(),V=T.find(O=>String(O?.name??"").trim().toLowerCase()===N);if(V?.id){h(O=>{const q=O??[];return q.some(B=>String(B?.id)===String(V.id))?q:[...q,V]});return}w(!0);try{const O=await dn({baseUrl:a,spaceId:n,name:k});j(q=>{const B=q??[];return!O?.id||B.some(te=>String(te?.id)===String(O.id))?B:[...B,O]}),h(q=>{const B=q??[];return!O?.id||B.some(te=>String(te?.id)===String(O.id))?B:[...B,O]})}finally{w(!1)}},[C,a,n,T]),F=l.useCallback(async()=>{if(v||!a||!n||!r||i!=="contact"&&i!=="business")return;const A=y.filter(k=>k?.id&&k?.name).map(k=>({id:String(k.id),name:String(k.name)}));S(!0);try{await Je({baseUrl:a,spaceId:n,entityType:i,entityId:String(r.id),body:{tags:A}}),c(A),p("main")}finally{S(!1)}},[v,a,n,r,i,y,c]);return{view:u,setView:p,draftLabels:y,setDraftLabels:h,labelsOptions:T,isSaving:v,isCreatingLabel:C,handleCreateLabel:E,handleSaveTags:F}},gl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),ml={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},hl=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:i,onEntityUpdated:o,currentUser:d})=>{const c=be(),u=nt(),p=l.useRef(null),y=l.useRef(null),[h,m]=l.useState(()=>r?.businessName??""),[g,v]=l.useState(!1),[S,b]=l.useState(!1),[j,C]=l.useState(!1),[w,T]=l.useState([]),[P,E]=l.useState(r??null),[F,A]=l.useState(1),[k,N]=l.useState(!1),[V,O]=l.useState(!1),q=l.useMemo(()=>{const _=d?.display_name,ae=d?.email;return String(_||ae||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),y.current?.abort()},[]),l.useEffect(()=>{E(r??null),m(r?.businessName??"")},[r]);const B=()=>{y.current?.abort(),y.current=null,p.current&&(clearTimeout(p.current),p.current=null),v(!1),O(!1),A(1),N(!1),T([])},te=_=>_.filter(ae=>!!ae?.id).map(ae=>({businessId:String(ae.id),businessName:String(ae.name??"")})),H=async({query:_,page:ae})=>{if(!u)return;y.current?.abort();const ue=new AbortController;y.current=ue,b(!0);try{const le={...ml,currentPage:ae,filter:[{value:_,column:"name",condition:""}]},Se=await u.fetchBusinessTableData({pagination:le,signal:ue.signal});if(ue.signal.aborted)return;const ve=te(Se?.contactos??[]);v(!0);const Z=Se?.paginacion?.total??0;T(Ne=>{const de=ae===1?ve:(()=>{const K=new Map;for(const pe of Ne)K.set(pe.businessId,pe);for(const pe of ve)K.set(pe.businessId,pe);return Array.from(K.values())})();return Z&&de.length>=Z&&O(!0),de})}finally{b(!1),C(!1),N(!1)}},z=_=>{B(),_&&(p.current&&(clearTimeout(p.current),p.current=null),C(!0),p.current=setTimeout(()=>{H({query:_,page:1})},800))},I=_=>{const ae=_.target;if(!(ae.scrollHeight-ae.scrollTop-ae.clientHeight<1)||V||S||!h)return;const ue=F+1;N(!0),A(ue),H({query:h,page:ue})},M=async()=>{if(!u||!q)return;const _=String(h??"").trim();if(_){b(!0);try{const ae={name:_,owner:q,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ue=await u.createBusiness({business:ae}),le={businessId:String(ue.id??""),businessName:String(ue.name??_)};T([le]),E(le),v(!0)}finally{b(!1)}}},W=async()=>{if(!e||!a||!n)return;const _=P?.businessId??"",ae=await Je({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:_}});o?.(ae),i()},R=g&&w.length===0&&h?t.jsxs(s.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),t.jsx(et.LoadingButton,{size:"small",variant:"contained",onClick:M,loading:S,disabled:S||!q,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),G=!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(Ca,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"subtitle1",children:c("conversations.contactDetails.business")}),t.jsx(s.Box,{sx:{flex:1}}),t.jsx(et.LoadingButton,{variant:"contained",size:"small",startIcon:t.jsx(dt,{}),onClick:W,loading:!1,disabled:G,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[S||j||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:P,onChange:(_,ae)=>{E(ae)},inputValue:h,onInputChange:(_,ae,ue)=>{m(ae),ue==="input"&&z(ae)},options:w,getOptionLabel:_=>_?.businessName??"",isOptionEqualToValue:(_,ae)=>_.businessId===ae.businessId,noOptionsText:R,renderInput:_=>t.jsx(s.TextField,{..._,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{..._.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[S||j?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,_.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:I}})]})]})},yl=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:i,sx:o,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:p})=>{const{t:y,i18n:h}=qe.useTranslation(),m=l.useRef(null);l.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!u){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const 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&&h.changeLanguage(d)},[d,h]);const g=H=>y(H),v=l.useMemo(()=>!n||!r?null:pn(n,r),[n,r]),{state:S,selectors:b,actions:j}=Do({open:e,baseUrl:n,spaceId:r,contactId:i}),C=pl({entity:S.contactData,setEntity:H=>{j.setContactData(H??void 0),H&&p&&p(H)}}),{view:w,setView:T,draftLabels:P,setDraftLabels:E,labelsOptions:F,isSaving:A,isCreatingLabel:k,handleCreateLabel:N,handleSaveTags:V}=fl({open:e,baseUrl:n,spaceId:r,contactData:S.contactData,contactType:b.contactType,labels:b.labels,selectedTags:b.tags,onTagsUpdated:H=>{if(!S.contactData)return;const z={...S.contactData,tags:H};j.setContactData(z),p&&p(z)}}),O=At({baseUrl:n,spaceId:r,entityType:b.contactType==="business"||b.contactType==="contact"?b.contactType:void 0,entityId:S.contactData?String(S.contactData.id):void 0,initialImageUrl:S.contactData?.imageUrl,onEntityUpdated:C}),q=gl({onClose:a}),B={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:H=>H.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},te=Array.isArray(o)?[B,...o]:o?[B,o]:B;return t.jsx(Xs,{value:v,children:t.jsx(Js,{t:g,children:t.jsx(Go,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:q,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:te,ref:m,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:q,sx:{position:"absolute",right:5,top:5,color:H=>H.palette.grey[500],zIndex:1},size:"small",children:t.jsx(_a,{sx:{fontSize:20}})}),S.isLoading&&!S.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):S.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):S.contactData?t.jsx(Vo,{value:{view:w,setView:T},children:t.jsx(zo,{entityType:b.contactType==="business"?"business":"contact",entityData:S.contactData,customContactFields:b.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(s.Box,{sx:{position:"relative",height:"100%"},children:[t.jsx(s.Fade,{in:w==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(oo,{imgUrl:O.imageUrl,displayName:b.displayName,tags:b.tags,onEditTags:()=>{T("tags")},onUploadPhoto:O.action.uploadImage,onPhotoFileChange:O.inputAtributes.onChange,photoInputRef:O.inputAtributes.ref,isUploadingPhoto:O.isUploading,onDeletePhoto:O.action.deleteImage,isDeletingPhoto:O.isDeleting,contactType:b.contactType,entityId:S.contactData?.id,firstName:b.isContact?S.contactData.firstName:void 0,lastName:b.isContact?S.contactData.lastName:void 0,name:b.isBusiness?S.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(li,{dateFormat:b.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:b.contactType==="contact"||b.contactType==="business"?b.contactType:"contact",entityData:S.contactData,customContactFields:b.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:C,currentUser:b.userTrii}),t.jsx(ul,{entityType:b.contactType==="contact"||b.contactType==="business"?b.contactType:"contact",entityData:S.contactData,baseUrl:n,spaceId:r,onEntityUpdated:C,onDirectionSearchClick:()=>T("searchLocation")}),t.jsx(cl,{ownerData:S.contactData})]})]})}),t.jsx(s.Fade,{in:w==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Eo,{baseUrl:n,spaceId:r,entityType:b.contactType==="business"?"business":"contact",entityId:String(S.contactData.id),onBack:()=>T("main"),onEntityUpdated:C})})}),t.jsx(s.Fade,{in:w==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(lo,{value:P,options:F,onChange:E,onBack:()=>T("main"),onSave:V,isSaving:A,onCreateNew:N,isCreatingNew:k,popperContainer:m.current})})}),t.jsx(s.Fade,{in:w==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(s.Box,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(hl,{baseUrl:n,spaceId:r,contactId:String(S.contactData.id),initialBusiness:b.isContact&&S.contactData?.businessId?{businessId:String(S.contactData.businessId),businessName:String(S.contactData.businessName??"")}:null,onBack:()=>T("main"),onEntityUpdated:C,currentUser:b.userTrii})})})]})})}):null]})})})})})})},bl=e=>t.jsx(qe.I18nextProvider,{i18n:Dt,children:t.jsx(yl,{...e})}),$n=l.createContext(null),xl=$n.Provider,Mn=()=>l.useContext($n),vl={events:[],setEvents:()=>{},filteredEvents:[]},Cl=(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])},Pn={open:!1,handleOpen:()=>{},handleClose:()=>{}},Un=()=>{const[e,a]=l.useState(!1),n=l.useCallback(()=>{a(!0)},[]),r=l.useCallback(()=>{a(!1)},[]);return l.useMemo(()=>({open:e,handleOpen:n,handleClose:r}),[e,n,r])},ct={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},ut=(e,a)=>{const[n,r]=l.useState(a||""),[i,o]=l.useState(!1),[d,c]=l.useState("");l.useEffect(()=>{r(a||"")},[a]);const u=l.useCallback(S=>{o(!0),c(S)},[]),p=l.useCallback(()=>{o(!1),c("")},[]),y=l.useCallback(S=>{r(S.target.value)},[]),h=l.useCallback(S=>{r(S)},[]),m=l.useCallback(()=>{r(a||"")},[a]),g=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:m,changeValue:h}),[u,p,m,h]),v=l.useMemo(()=>({error:i,helperText:d,type:e,value:n,onChange:y}),[i,d,e,n,y]);return{actions:g,attributes:v}};function Rn(e){return typeof e=="number"}const Sl={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function jl(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const y={id:Ft(),timeValue:15,timePeriod:Zt.EventNotificationPeriod.MINUTE,sendToContact:!1};n(h=>h.concat(y))},[]),i=l.useCallback(y=>{n(h=>h.filter(m=>m.id!==y))},[]),o=l.useCallback((y,h)=>{const m=Number(y.target.value);Rn(m)&&n(g=>g.map(v=>v.id===h?{...v,timeValue:m}:v))},[]),d=l.useCallback((y,h)=>{if(!Rn(y.target.value))return;const m=y.target.value;n(g=>g.map(v=>v.id===h?{...v,timePeriod:m}:v))},[]),c=l.useCallback((y,h)=>{const m=y.target.checked;n(g=>g.map(v=>v.id===h?{...v,sendToContact:m}:v))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const y=e.map(h=>({...h,id:h.id||Ft()}));n(y)}},[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 wl={state:{selectedStartDate:Q(),selectedEndDate:Q().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Tl={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Il={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},kl={titleField:ct,descriptionField:ct,locationField:ct,colorField:ct,date:wl,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Sl,shareWithUsers:Il,linkContact:Tl,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},El=(e,a)=>{const[n,r]=l.useState(e??Q()),[i,o]=l.useState(a??Q().add(30,"minute")),[d,c]=l.useState(!1),u=l.useCallback(h=>m=>{h(m)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),y=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:p,action:y}},Dl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),i=l.useCallback(y=>{r(h=>h.some(m=>m.id===y.id)?h:[...h,{id:y.id,name:y.name??""}]),a("")},[]),o=l.useCallback(y=>{r(h=>h.filter(m=>m.id!==y))},[]),d=l.useCallback(y=>{a(y)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),p=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:d,resetField:c}),[i,o,d,c]);return{state:u,action:p}},Al=()=>{const[e,a]=l.useState([]),n=l.useCallback(()=>{a([])},[]),r=l.useMemo(()=>({userIds:e}),[e]),i=l.useMemo(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Fl=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),r=ut("text",e?.details??e?.description??""),i=ut("text",e?.location??""),o=ut("text",e?.color??"#1976d2"),d=El(e?.startAt?Q(e.startAt):void 0,e?.endAt?Q(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,y]=l.useState(e?.isPrivate??!1),[h,m]=l.useState(e?.rule??""),g=jl(e?.notifications),v=Al(),S=Dl(),b=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:g.notifications.filter(C=>C.timeValue>0).map(C=>({id:C.id,timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:v.field.userIds,rule:h,relatedContactId:S.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,g.notifications,v.field.userIds,h,S.state.selectedContacts]),j=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),i.actions.resetValue(),o.actions.changeValue("#1976d2"),u(!1),y(!1),m(""),g.action.resetNotifications(),v.action.resetField(),S.action.resetField(),d.action.setError(!1)},[n.actions,r.actions,i.actions,o.actions,g.action,v.action,S.action,d.action]);return l.useEffect(()=>{const C=e?.id;!e||a.current===C||(a.current=C,u(e.allDay??!1),y(e.isPrivate??!1),m(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),o.actions.changeValue(e.color??"#1976d2"),e.startAt&&d.action.setSelectedStartDate(Q(e.startAt)),e.endAt&&d.action.setSelectedEndDate(Q(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:i,colorField:o,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:y,recurrenceRule:h,setRecurrenceRule:m,notifications:g,shareWithUsers:v,linkContact:S,create:b,resetFields:j}),[n,r,i,o,d,c,p,h,g,v,S,b,j])},Bl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},$l={nameField:ct,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Bl,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Ml=()=>{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}},Pl=()=>{const e=ut("text",""),[a,n]=l.useState("#ffffff"),[r,i]=l.useState(null),o=Ml(),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])},Ul={tasks:[],setTasks:()=>{},filteredTasks:[]},Rl=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])},Nl={state:{selectedStartDate:Q(),selectedEndDate:Q(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ll={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Ol={titleField:ct,descriptionField:ct,date:Nl,linkContact:Ll,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},zl=(e,a)=>{const[n,r]=l.useState(e??Q()),[i,o]=l.useState(a??Q()),[d,c]=l.useState(!1),u=l.useCallback(h=>m=>{h(m)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:i,error:d}),[n,i,d]),y=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:o,setError:c,handleSelect:u}),[u]);return{state:p,action:y}},Wl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),i=l.useCallback(y=>{r(h=>h.some(m=>m.id===y.id)?h:[...h,{id:y.id,name:y.name??""}]),a("")},[]),o=l.useCallback(y=>{r(h=>h.filter(m=>m.id!==y))},[]),d=l.useCallback(y=>{a(y)},[]),c=l.useCallback(()=>{a(""),r([])},[]),u=l.useMemo(()=>({search:e,selectedContacts:n}),[e,n]),p=l.useMemo(()=>({handleSelectContact:i,handleRemoveContact:o,handleSearchChange:d,resetField:c}),[i,o,d,c]);return{state:u,action:p}},_l=e=>{const a=l.useRef(null),n=ut("text",e?.title??""),r=ut("text",e?.description??""),i=zl(e?.startAt?Q(e.startAt):void 0,e?.startAt?Q(e.startAt):void 0),o=Wl(),d=l.useCallback(()=>({title:n.attributes.value,description:r.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:o.state.selectedContacts[0]?.id??null}),[n.attributes.value,r.attributes.value,i.state.selectedStartDate,o.state.selectedContacts]),c=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.action.resetField(),i.action.setError(!1)},[n.actions,r.actions,o.action,i.action]);return l.useEffect(()=>{const u=e?.id;if(!(!e||a.current===u)&&(a.current=u,n.actions.changeValue(e.title??""),r.actions.changeValue(e.description??""),e.startAt)){const p=Q(e.startAt);i.action.setSelectedStartDate(p),i.action.setSelectedEndDate(p)}},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,date:i,linkContact:o,create:d,resetFields:c}),[n,r,i,o,d,c])},Ma=l.createContext({eventDialog:Pn,createCalendarDialog:Pn,event:kl,events:vl,calendar:$l,dialogMode:"view",handleCreateEvent:()=>{},handleSelectEvent:()=>{},handleOpenEventCreate:()=>{},handleStartEditingEvent:()=>{},handleSaveUpdatedEvent:()=>{},handleEndEvent:()=>{},handleDeleteEvent:()=>{},handleResizeEvent:()=>{},selectedEvent:{},savingSnackbar:{open:!1,message:"",severity:"info"},handleCloseSnackbar:()=>{},dialogType:"event",setDialogType:()=>{},handleOpenTaskCreate:()=>{},handleOpenCreateFromSlot:()=>{},handleCloseCreateCalendarDialog:()=>{},calendarDialogMode:"create",editingCalendar:null,handleOpenCreateCalendarDialog:()=>{},handleOpenEditCalendarDialog:()=>{},handleSubmitCalendar:async()=>{},tasks:Ul,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Ol,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],isLoadingCalendars:!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}),Nn=e=>e,Ln=l.createContext(Nn),Vl=({t:e,children:a})=>t.jsx(Ln.Provider,{value:e,children:a}),$e=()=>{const e=l.useContext(Ln);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Nn)};var Hl=Object.defineProperty,Gl=(e,a,n)=>a in e?Hl(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,On=(e,a,n)=>Gl(e,typeof a!="symbol"?a+"":a,n);class ql extends Error{constructor(a,n,r){super(a),On(this,"status"),On(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function Ee({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 ql(c,o.status,d)}return d}function ke(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function ia(e,a){const n=encodeURIComponent(a);return{CONTACTS:ke(e,`/contacts/${n}`),MEDIA:ke(e,`/media/${n}`),SETTINGS:ke(e,`/settings/${n}`),CALENDAR:ke(e,`/calendar/${n}`)}}function He(e){return ia(e.baseUrl,e.spaceId).CALENDAR}async function Yl(e){const a=ia(e.baseUrl,e.spaceId);return Ee({url:ke(a.SETTINGS,"/user")})}async function Kl(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return Ee({url:r})}async function Jl(e,a){const n=He(e);return Ee({url:ke(n,"/events"),method:"POST",body:a})}async function zn(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 Ee({url:c,method:"PUT",body:i})}return Ee({url:ke(n,`/events/${r}`),method:"PUT",body:i})}async function Pa(e,a,n){const r=He(e);if(n){const i=n instanceof Date?n.toISOString():n,o=`${r}/events/${a}?occurrence=${i}`;await Ee({url:o,method:"DELETE"})}else await Ee({url:ke(r,`/events/${a}`),method:"DELETE"})}async function Ql(e,a){const n=He(e);return Ee({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Xl(e,a){const n=He(e);return Ee({url:ke(n,`/Task/${a}`)})}async function Zl(e,a){const n=He(e);return Ee({url:ke(n,"/Task"),method:"POST",body:a})}async function Wn(e,a,n){const r=He(e);return Ee({url:ke(r,`/Task/${a}`),method:"PUT",body:n})}async function ed(e,a){const n=He(e);await Ee({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function td(e,a,n){const r=He(e);return Ee({url:ke(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function ad(e){const a=He(e);return Ee({url:ke(a,"/Calendar")})}async function nd(e,a){const n=He(e);return Ee({url:ke(n,"/Calendar"),method:"POST",body:a})}async function rd(e,a,n){const r=He(e);return Ee({url:ke(r,`/Calendar/${a}`),method:"PUT",body:n})}async function sd({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=ia(e,a),o=ke(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ee({url:o,signal:r})}async function od({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=ia(e,a),o=ke(i.CONTACTS,"/Search");return Ee({url:o,method:"POST",body:n,signal:r})}function Ua(e){const a=Q(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 Rt=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},Nt=e=>e?e.parentId?e.parentId:Rt(e.id):"",id=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:i="event",externalEventCalendarId:o,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:p=!1,externalContactId:y,externalOnActionComplete:h})=>{const{t:m}=qe.useTranslation(),g=Mn(),v=(x,...U)=>m(x,...U),[S,b]=l.useState(i),[j,C]=l.useState(null),[w,T]=l.useState(null),[P,E]=l.useState(r),[F,A]=l.useState(d||""),[k,N]=l.useState(o||""),[V,O]=l.useState(!1),[q,B]=l.useState("create"),[te,H]=l.useState(null),[z,I]=l.useState({open:!1,message:"",severity:"info"}),[M,W]=l.useState(!1),[R,G]=l.useState("event"),[_,ae]=l.useState(!1),[ue,le]=l.useState(!1),[Se,ve]=l.useState(null),Z="trii_calendar_last_view",Ne=x=>x==="month"||x==="week"||x==="day",[de,K]=l.useState(()=>{try{const x=localStorage.getItem(Z);return Ne(x)?x:"month"}catch{return"month"}}),[pe,Ge]=l.useState(new Date),X=x=>{Ge(x),K("day")},ge=Un(),De=Un(),re=Fl(j??void 0),Y=_l(w??void 0);l.useEffect(()=>{r!==void 0&&E(r)},[r]),l.useEffect(()=>{i!==void 0&&b(i)},[i]),l.useEffect(()=>{o!==void 0&&N(o)},[o]),l.useEffect(()=>{d!==void 0&&A(d)},[d]),l.useEffect(()=>{c!==void 0&&C(c)},[c]),l.useEffect(()=>{u!==void 0&&T(u)},[u]),l.useEffect(()=>{if(!y||!g||r!=="create"||!ge.open)return;let x=!1;return sd({baseUrl:g.baseUrl,spaceId:g.spaceId,contactId:y}).then(U=>{x||!U||(re.linkContact.action.resetField(),re.linkContact.action.handleSelectContact(U),Y.linkContact.action.resetField(),Y.linkContact.action.handleSelectContact(U))}).catch(()=>{}),()=>{x=!0}},[y,ge.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!ge.open){if(r==="create"){re.resetFields(),Y.resetFields(),O(!1),C(null),T(null),re.date.action.setError(!1),Y.date.action.setError(!1);const x=Ua(new Date),U=x.add(30,"minute");if(i==="task"?(Y.date.action.setSelectedStartDate(x),Y.date.action.setSelectedEndDate(x)):(re.date.action.setSelectedStartDate(x),re.date.action.setSelectedEndDate(U)),!o){const $=Le?.[0]??Ke?.[0]?.id??Ue?.[0]?.id??"";$&&N($)}if(!d){const $=Le?.[0]??Ue?.[0]?.id??"";$&&A($)}}ge.handleOpen()}else!a&&ge.open&&ge.handleClose()},[a]);const Ve=()=>{(P==="edit"||P==="create")&&(re.resetFields(),Y.resetFields()),re.date.action.setError(!1),Y.date.action.setError(!1),n?n():ge.handleClose()},je=Pl(),pt=q==="create",[Ue,pa]=l.useState([]),[Ot,vt]=l.useState(!1),[st,fa]=l.useState([]),[ot,zt]=l.useState(""),ft="calendar_selected_ids",[Le,gt]=l.useState(()=>{try{const x=localStorage.getItem(ft);return x?JSON.parse(x):[]}catch{return[]}}),Ct=Cl(Le,st),Wt=Rl(Le),ga=()=>{I(x=>({...x,open:!1}))},Qe=l.useCallback((x,U,$)=>{h?.(x,U,$)},[h]);function _t(x){const U=x?.startAt??x?.start,$=x?.endAt??x?.end??U;return{startAt:U,endAt:$}}const{myCalendars:Ke,otherCalendars:Vt}=l.useMemo(()=>{const x=Ue??[];if(!ot)return{myCalendars:x,otherCalendars:[]};const U=x.filter(J=>J.userId===ot),$=x.filter(J=>J.userId!==ot);return U.length===0&&x.length>0?{myCalendars:x,otherCalendars:[]}:{myCalendars:U,otherCalendars:$}},[Ue,ot]),Oe=l.useCallback(async()=>{if(g)try{const x=new Date,U=x.getUTCFullYear(),$=x.getUTCMonth(),J=new Date(Date.UTC(U,$-1,1,0,0,0)).toISOString(),ne=new Date(Date.UTC(U,$+2,1,0,0,0)).toISOString(),ye=await Kl(g,J,ne);fa(ye)}catch(x){console.error("Error fetching activities:",x)}},[g]),Xe=l.useCallback(async x=>{if(g)try{const U=await Xl(g,x);Wt.setTasks(U.map($=>({id:$.id,title:$.title||"",start:new Date($.startAt),end:new Date($.endAt||$.startAt),startAt:$.startAt,endAt:$.endAt,description:$.description,calendarId:$.calendarId,isCompleted:$.isCompleted||!1,relatedContact:$.relatedContact,kind:"task"})))}catch(U){console.error("Error fetching tasks:",U)}},[g]),it=l.useCallback(async()=>{if(g){vt(!0);try{const x=await ad(g);pa(x)}catch(x){console.error("Error fetching calendars:",x)}finally{vt(!1)}}},[g]);l.useEffect(()=>{if(!ge.open)return;const x=Ke?.[0]?.id??Ue?.[0]?.id??"";x&&(P==="create"&&(k||N(x),F||A(x)),(P==="view"||P==="edit")&&S==="event"&&(k||N(x)),(P==="view"||P==="edit")&&S==="task"&&(F||A(x)))},[Ue,Ke,ge.open,P,S]),l.useEffect(()=>{if(!g)return;it(),Oe();let x=!1;return Yl(g).then(U=>{x||zt(U.uid)}).catch(()=>{}),()=>{x=!0}},[g,it,Oe]);function mt(x,U,$){b(x),E("create"),C(null),T(null),re.resetFields(),Y.resetFields(),O(!1);const J=Ua(U??new Date),ne=$?Ua($):J.add(30,"minute"),ye=ne.isAfter(J)?ne:J.add(30,"minute");if(x==="task"){Y.date.action.setSelectedStartDate(J),Y.date.action.setSelectedEndDate(J),Y.date.action.setError(!1);const We=Le?.[0]??Ue?.[0]?.id??"";A(We)}else{re.date.action.setSelectedStartDate(J),re.date.action.setSelectedEndDate(ye),re.date.action.setError(!1);const We=Le?.[0]??Ke?.[0]?.id??Ue?.[0]?.id??"";N(We);const me=Ke?.find(we=>we.id===We)??Ue?.find(we=>we.id===We);me?.color&&re.colorField.actions.changeValue(me.color)}ge.handleOpen()}function ma(){mt("event")}function Ht(){re.date.action.setError(!1),Y.date.action.setError(!1),E("edit")}function ha(x){const{startAt:U,endAt:$}=_t(x),J={...x,kind:"event",startAt:U,endAt:$,details:x?.details??""};b("event"),C(J),T(null),N(J.calendarId??""),E("view"),re.date.action.setError(!1),Y.date.action.setError(!1),ge.handleOpen()}async function Gt(x){if(!g)return;let U;if(x)U={title:x.title,details:x.description||x.details||"",startAt:new Date(x.startAt),endAt:new Date(x.endAt),allDay:x.allDay,location:x.location||"",isPrivate:x.isPrivate||!1,color:x.color||"",rule:x.rule||"",contactId:x.relatedContactId||y||null,sharedWith:x.sharedWith||[],notifications:(x.notifications||[]).map(ne=>({id:Ft(),timeValue:ne.value,timePeriod:ne.type,sendToContact:ne.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const ne=re.create();if(!ne.title){I({open:!0,message:v("global.nameRequired"),severity:"error"});return}U={...ne,startAt:new Date(ne.startAt),endAt:new Date(ne.endAt),contactId:ne.relatedContactId||y||null,eventTypeId:"",repeatId:"",notifications:ne.notifications.map(ye=>({...ye,id:ye.id||Ft()}))}}const $=k;if(!$){I({open:!0,message:v("global.errorSavingChanges"),severity:"error"});return}const J={...U,calendarId:$};try{I({open:!0,message:v("global.savingChanges"),severity:"info"});const ne=await Jl(g,J);Le.includes($)||gt(ye=>[...ye,$]),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("created","event",ne),Oe(),re.resetFields(),Ve()}catch(ne){console.error("Error creando evento:",ne);const ye=ne?.response?.data?.message||ne?.message||v("global.errorSavingChanges");I({open:!0,message:ye,severity:"error"})}}async function qt(){if(!j?.id)return;const x=re.create(),U=k||j.calendarId||"";if(!U){I({open:!0,message:v("global.errorSavingChanges"),severity:"error"});return}j.originalOccurrenceDate!=null?(ve(()=>async $=>{await Yt(x,U,$)}),le(!0)):await Yt(x,U,!1)}async function Yt(x,U,$){const J=j?.originalOccurrenceDate!=null,ne={title:x.title,details:x.details,startAt:x.startAt,endAt:x.endAt,allDay:x.allDay,isPrivate:x.isPrivate,location:x.location,color:x.color,calendarId:U,notifications:x.notifications,sharedWith:x.sharedWith};($||!J)&&(ne.rule=x.rule);const ye=Nt(j),We={updatedActivity:ne,activityId:ye};J&&!$&&(We.originalOccurrenceDate=j.originalOccurrenceDate);try{const me=await zn(g,We);me&&(C(me),me.calendarId&&N(me.calendarId)),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("updated","event",me),Oe(),Ve()}catch(me){console.error("Error actualizando evento:",me);const we=me?.response?.data?.message||me?.message||v("global.errorSavingChanges");I({open:!0,message:we,severity:"error"})}}async function ya(x){le(!1),Se&&(await Se(x),ve(null))}async function Kt(){j?.originalOccurrenceDate!=null?ae(!0):(G("event"),W(!0))}async function Jt(){if(g)if(W(!1),R==="event")try{const x=Nt(j);Ve(),await Pa(g,x),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:x}),Oe()}catch(x){console.error("Error deleting event:",x);const U=x?.message?.includes("duplicate key")?v("global.eventAlreadyDeleted","El evento ya fue eliminado"):v("global.errorSavingChanges");I({open:!0,message:U,severity:"error"})}else{if(!w?.id)return;try{const x=Rt(w.id),U=w.calendarId;Ve(),await ed(g,x),T(null),Y.resetFields(),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:x}),U&&Xe(U)}catch(x){console.error("Error deleting task:",x);const U=x?.message?.includes("duplicate key")?v("global.taskAlreadyDeleted","La tarea ya fue eliminada"):v("global.errorSavingChanges");I({open:!0,message:U,severity:"error"})}}}async function ba(x){ae(!1);const U=Nt(j);Ve();try{x?await Pa(g,U):await Pa(g,U,j.originalOccurrenceDate),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:U}),Oe()}catch($){console.error("Error deleting recurring event:",$);const J=$?.message?.includes("duplicate key")?v("global.eventAlreadyDeleted","El evento ya fue eliminado"):v("global.errorSavingChanges");I({open:!0,message:J,severity:"error"})}}async function xa(){if(!g)return;const x=Nt(j);await Ql(g,x),Ve()}async function va(x,U,$){const J=U instanceof Date?U:new Date(U),ne=$ instanceof Date?$:new Date($),ye=J.toISOString(),We=ne.toISOString(),me=x.kind==="task";!me&&x.originalOccurrenceDate!=null?(C(x),ve(()=>async we=>{await Qt(x,ye,We,J,ne,me,we)}),le(!0)):await Qt(x,ye,We,J,ne,me,!1)}async function Qt(x,U,$,J,ne,ye,We){ye||Ct.setEvents(me=>me.map(we=>we.id===x.id?{...we,start:J,end:ne,startAt:J,endAt:ne}:we)),I({open:!0,message:v("global.savingChanges"),severity:"info"});try{if(ye){const me=Rt(x.id),we={title:x.title,description:x.description,startAt:U,endAt:$,calendarId:x.calendarId,allDay:x.allDay||!1,isCompleted:x.isCompleted||!1};await Wn(g,me,we),await Xe(x.calendarId)}else{const me=Nt(x),we=x.originalOccurrenceDate!=null,za={title:x.title,details:x.details,startAt:new Date(U),endAt:new Date($),allDay:x.allDay,isPrivate:x.isPrivate,location:x.location,color:x.color,calendarId:x.calendarId};(We||!we)&&(za.rule=x.rule);const Wa={updatedActivity:za,activityId:me};we&&!We&&(Wa.originalOccurrenceDate=x.originalOccurrenceDate),await zn(g,Wa)}I({open:!0,message:v("global.changesSaved"),severity:"success"}),Oe()}catch{ye||Ct.setEvents(me=>me.map(we=>we.id===x.id?{...we,start:x.start,end:x.end}:we)),I({open:!0,message:v("global.errorSavingChanges"),severity:"error"})}}function f(x,U){mt("event",x,U)}function D(){je.nameField.actions.resetValue(),je.handleColorChange("#ffffff"),je.shareWithUsers.action.resetField(),je.handleGoogleCalendarChange(null)}function L(){D(),H(null),B("create"),De.handleClose()}function ee(x){je.nameField.actions.changeValue(x.title??""),je.nameField.actions.onSuccess(),je.handleColorChange(x.color??"#ffffff"),je.shareWithUsers.action.setUserIds(x.sharedWith??[]),je.handleGoogleCalendarChange(x.googleCalendar??null)}function ce(){B("create"),H(null),D(),De.handleOpen()}function fe(x){B("edit"),H(x),ee(x),De.handleOpen()}async function ie(){if(!g)return;const x=(je.nameField.attributes.value??"").trim();if(!x){I({open:!0,message:v("global.nameRequired"),severity:"error"});return}const U=je.shareWithUsers.field.userIds,$={title:x,color:je.color,sharedWith:U.length?U:void 0,googleCalendar:je.googleCalendar};try{if(pt)await nd(g,$);else{const J=te?.id;if(!J)return;await rd(g,J,$)}L(),I({open:!0,message:v(pt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),it()}catch{I({open:!0,message:v("global.errorSavingChanges"),severity:"error"})}}async function oe(x){if(!g)return;let U;if(x?U={title:x.title,description:x.description||"",startAt:x.startAt,contactId:x.relatedContactId||null}:U=Y.create(),!U.title){I({open:!0,message:v("global.nameRequired"),severity:"error"});return}const $=F;if(!$){I({open:!0,message:v("global.errorSavingChanges"),severity:"error"});return}const J={...U,calendarId:$,contactId:U.contactId||U.relatedContactId||y||null};try{I({open:!0,message:v("global.savingChanges"),severity:"info"});const ne=await Zl(g,J);Le.includes($)||gt(ye=>[...ye,$]),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("created","task",ne),Xe($),Y.resetFields(),Ve()}catch(ne){console.error("Error creando tarea:",ne);const ye=ne?.response?.data?.message||ne?.message||v("global.errorSavingChanges");I({open:!0,message:ye,severity:"error"})}}function Ae(){mt("task")}async function he(){if(!g||!w?.id)return;const x=Y.create();if(!x.title){I({open:!0,message:v("global.nameRequired"),severity:"error"});return}const U=F||w.calendarId;if(!U){I({open:!0,message:v("global.errorSavingChanges"),severity:"error"});return}const $={...x,calendarId:U};try{const J=Rt(w.id),ne=await Wn(g,J,$);ne&&T(ne),I({open:!0,message:v("global.changesSaved"),severity:"success"}),Qe("updated","task",ne),Xe(U),Ve()}catch(J){console.error("Error actualizando tarea:",J);const ne=J?.response?.data?.message||J?.message||v("global.errorSavingChanges");I({open:!0,message:ne,severity:"error"})}}async function Ce(){w?.id&&(G("task"),W(!0))}async function ze(){if(!g||!w?.id)return;const x=!w.isCompleted;try{const U=Rt(w.id),$=w.calendarId,J=await td(g,U,x);J&&T(J),I({open:!0,message:v("global.changesSaved"),severity:"success"}),$&&Xe($)}catch{I({open:!0,message:v("global.errorSavingChanges"),severity:"error"})}}function at(){const x=S==="event",U=x?j:w;if(!U)return;const $={...U};x?(C(null),E("create"),O(!0),setTimeout(()=>{if(re.titleField.actions.changeValue($.title??""),re.descriptionField.actions.changeValue($.details??$.description??""),re.locationField.actions.changeValue($.location??""),re.colorField.actions.changeValue($.color??""),re.setAllDay($.allDay??!1),re.setIsPrivate($.isPrivate??!1),re.setRecurrenceRule($.rule??""),re.date.action.setSelectedStartDate(Q($.startAt)),re.date.action.setSelectedEndDate(Q($.endAt)),re.date.action.setError(!1),re.notifications.action.resetNotifications(),$.relatedContact?.id&&re.linkContact.action.handleSelectContact($.relatedContact),$.sharedWith){const J=$.sharedWith.map(ne=>ne.id);re.shareWithUsers.action.setUserIds(J)}N($.calendarId??k)},50)):(T(null),E("create"),setTimeout(()=>{Y.titleField.actions.changeValue($.title??""),Y.descriptionField.actions.changeValue($.description??""),Y.date.action.setSelectedStartDate(Q($.startAt)),Y.date.action.setSelectedEndDate(Q($.startAt)),Y.date.action.setError(!1),$.relatedContact?.id&&Y.linkContact.action.handleSelectContact($.relatedContact),A($.calendarId??F)},50))}function Ze(x){const{startAt:U,endAt:$}=_t(x),J={...x,kind:"task",startAt:U,endAt:$,description:x?.description??""};b("task"),T(J),A(J.calendarId??""),N(J.calendarId??""),C(null),E("view"),re.date.action.setError(!1),Y.date.action.setError(!1),ge.handleOpen()}function Me(x){return x?.kind==="task"?Ze(x):ha(x)}l.useEffect(()=>{try{Le&&localStorage.setItem(ft,JSON.stringify(Le))}catch{}},[Le]),l.useEffect(()=>{Ue?.length&>(x=>{const U=new Set(Ue.map(J=>J.id)),$=(x??[]).filter(J=>U.has(J));return $.length?$:Ue.map(J=>J.id)})},[Ue]),l.useEffect(()=>{try{localStorage.setItem(Z,de)}catch{}},[de]);const St={eventDialog:{...ge,handleClose:Ve},dialogMode:P,createCalendarDialog:De,event:re,calendar:je,events:Ct,handleCreateEvent:Gt,handleSelectEvent:Me,handleOpenEventCreate:ma,handleStartEditingEvent:Ht,handleSaveUpdatedEvent:qt,handleEndEvent:xa,handleDeleteEvent:Kt,handleResizeEvent:va,selectedEvent:j,savingSnackbar:z,handleCloseSnackbar:ga,dialogType:S,setDialogType:b,handleOpenTaskCreate:Ae,handleOpenCreateFromSlot:f,handleCloseCreateCalendarDialog:L,calendarDialogMode:q,editingCalendar:te,handleOpenCreateCalendarDialog:ce,handleOpenEditCalendarDialog:fe,handleSubmitCalendar:ie,tasks:Wt,activeCalendarIds:Le,setActiveCalendarIds:gt,handleCreateTask:oe,task:Y,selectedTask:w,taskCalendarId:F,setTaskCalendarId:A,eventCalendarId:k,setEventCalendarId:N,userManuallyChangedColor:V,setUserManuallyChangedColor:O,myCalendars:Ke,otherCalendars:Vt,isLoadingCalendars:Ot,handleSaveUpdatedTask:he,handleDeleteTask:Ce,handleToggleTaskCompleted:ze,handleDuplicateItem:at,calendarView:de,setCalendarView:K,calendarDate:pe,setCalendarDate:Ge,navigateToDate:X,confirmDeleteDialog:{open:M,handleClose:()=>W(!1),itemType:R},handleConfirmDelete:Jt,deleteRecurringDialog:{open:_,handleClose:()=>ae(!1)},handleConfirmDeleteRecurring:ba,editRecurringDialog:{open:ue,handleClose:()=>{le(!1),ve(null)}},handleConfirmEditRecurring:ya,hiddenTabs:p};return t.jsx(Vl,{t:v,children:t.jsx(Ma.Provider,{value:St,children:e})})},la=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),Ra=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Na=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),xt="DD/MM/YYYY",da="HH:mm",ld=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:i,disabled:o,hideLabel:d=!1,allDay:c=!1})=>{const u=$e(),p=l.useMemo(()=>a.diff(e,"minute"),[e,a]),y=l.useMemo(()=>{if(p===0)return"0 min";const b=Math.floor(p/60),j=p%60;return b===0?`${j} min`:j===0?`${b} h`:`${b}.${Math.round(j/60*10)} h`},[p]),h=b=>{if(!b)return;const j=b.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=b.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(j),r(C)},m=b=>{if(!b)return;const j=b.hour(0).minute(0).second(0).millisecond(0);n(j)},g=b=>{if(!b)return;const j=b.hour(23).minute(59).second(59).millisecond(999);r(j)},v=b=>{if(!b)return;const j=e.hour(b.hour()).minute(b.minute()).second(0).millisecond(0),C=j.add(p,"minute");n(j),r(C)},S=b=>{if(!b)return;let j=e.hour(b.hour()).minute(b.minute()).second(0).millisecond(0);(j.isBefore(e)||j.isSame(e))&&(j=j.add(1,"day")),r(j)};return o?t.jsxs(la,{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(xt)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(xt)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(xt)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(da)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(da)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",y,")"]})]})]})]}):t.jsxs(la,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),t.jsx(Ye.LocalizationProvider,{dateAdapter:Ya.AdapterDayjs,children:c?t.jsxs(Ra,{children:[t.jsx(Ye.DatePicker,{disabled:o,format:xt,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:m,minDate:Q(),sx:{flex:1}}),t.jsx(Na,{variant:"body1",children:"\u2013"}),t.jsx(Ye.DatePicker,{disabled:o,format:xt,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:a,onChange:g,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(s.Box,{sx:{mb:1},children:t.jsx(Ye.DatePicker,{disabled:o,format:xt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:h,minDate:Q()})}),t.jsxs(Ra,{children:[t.jsx(Ye.TimePicker,{disabled:o,format:da,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:e,onChange:v,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Na,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ye.TimePicker,{disabled:o,format:da,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:b=>b.palette.background.panel}}}},value:a,onChange:S,sx:{alignSelf:"baseline",width:"100%"}}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",y,")"]})]})]})]})}),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 _e=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),La=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=$e(),{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(_e,{title:r("global.title"),children:t.jsx(s.Typography,{variant:"body1",sx:{py:.5,color:u=>u.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})}):t.jsx(_e,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:o})})},dd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),cd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"4px 0px"})),_n=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),ud=s.styled(s.TextField)(()=>({width:"13%"})),pd=s.styled(s.Select)(()=>({width:"23%"})),fd=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),gd=s.styled(s.IconButton)(()=>({ml:"auto",color:"error"})),Vn=[{title:"minute",value:Zt.EventNotificationPeriod.MINUTE},{title:"hour",value:Zt.EventNotificationPeriod.HOUR},{title:"day",value:Zt.EventNotificationPeriod.DAY}],md=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:i,disabled:o=!1})=>{const d=$e(),c=e.timeValue??0;return o?t.jsxs(cd,{children:[t.jsx(_n,{children:t.jsxs(s.Typography,{variant:"body1",sx:{color:"text.secondary"},children:[d("calendarView.reminders.sendReminder.pt1")," ",c," ",d(`calendarView.reminders.timePeriod.${Vn.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(dd,{children:[t.jsxs(_n,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(ud,{disabled:o,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(pd,{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:Vn.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(fd,{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(gd,{disabled:o,onClick:()=>i(e.id),sx:{ml:"auto"},children:t.jsx(Xt,{})})]})]})},hd=s.styled(s.Box)`
|
|
16
|
+
<%s key={someKey} {...props} />`,At,Xe,Ca,Xe),na[Xe+At]=!0}}return f===r?rt(Ce):aa(Ce),Ce}}function It(f,A,z){return st(f,A,z,!0)}function Et(f,A,z){return st(f,A,z,!1)}var Dt=Et,va=It;Ut.Fragment=r,Ut.jsx=Dt,Ut.jsxs=va})()),Ut}process.env.NODE_ENV==="production"?ka.exports=es():ka.exports=ts();var t=ka.exports;Zr(t);const as=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}),ns=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),rs=s.styled(s.Avatar)({width:60,height:60,marginBottom:8}),ss=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),is=s.styled(s.Box)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),os=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:o=!1,onError:i,onClose:d,isBusiness:c=!1})=>{const u=l.useCallback(g=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!g)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(g,"_blank","noopener,noreferrer"):r(g)}catch(S){i?.(S instanceof Error?S:new Error("Navigation failed"))}},[r,i]),p=u(c?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),h=u(`/a/conversations/conversations?contactId=${n}`),y=a||"Unknown Contact",m=`Avatar for ${y}`;return t.jsxs(ns,{children:[t.jsxs(as,{children:[t.jsx(tn,{color:"info",size:"small",onClick:g=>{p(g),d()},onMouseDown:g=>{g.button===1&&(p(g),d())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Dr,{fontSize:"small"})}),t.jsx(tn,{color:"info",size:"small",onClick:g=>{h(g),d()},onMouseDown:g=>{g.button===1&&(h(g),d())},"aria-label":"Go to conversations",children:t.jsx(Ar,{fontSize:"small"})})]}),o?t.jsx(is,{children:t.jsx(s.CircularProgress,{size:24})}):t.jsx(rs,{src:e,alt:m,onError:()=>i?.(new Error("Failed to load avatar"))}),t.jsx(ss,{variant:"h6",title:y,children:y})]})},ls=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ds=s.styled(s.Box)({width:"100%",borderBottom:"1px solid lightgray"}),cs=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),us=s.styled(s.Box)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),ps=s.styled(s.Box)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),fs=s.styled(s.Box)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),gs=s.styled(s.Typography)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),ms=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const o=i=>t.jsx(cs,{children:t.jsxs(ps,{children:[t.jsx(us,{children:e}),t.jsxs(fs,{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(gs,{variant:"body2",fontSize:12,color:"text.secondary",children:i.note})]})},i.id);return t.jsxs(ls,{children:[r&&t.jsx(ds,{children:t.jsx(s.Typography,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(o)]})},hs=s.styled(s.Box)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),ys=s.styled(s.Typography)({borderBottom:"1px solid lightgray",width:"100%"}),bs=s.styled(s.Box)({display:"flex",alignItems:"center",gap:8,width:"100%"}),xs=s.styled(s.Typography)({fontSize:14}),vs=s.styled(Ae.Handyman)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Cs=({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=ut(o,ut.ISO_8601).isValid(),c=u=>ut(o).format(u);switch(i){case ne.ContactField_type.TIME:return d?c("HH:mm"):o;case ne.ContactField_type.DATE:return d?c("DD/MM/YYYY"):o;case ne.ContactField_type.TIMERANGE:case ne.ContactField_type.DATERANGE:if(d)return i===ne.ContactField_type.TIMERANGE?c("HH:mm"):c("DD/MM/YYYY");const u=o.split(" ");if(u.length===2){const[p,h]=u,y=i===ne.ContactField_type.TIMERANGE?ut(p).format("HH:mm"):ut(p).format("DD/MM/YYYY"),m=i===ne.ContactField_type.TIMERANGE?ut(h).format("HH:mm"):ut(h).format("DD/MM/YYYY");return`${y} - ${m}`}return o;default:return o}}return o};return t.jsxs(hs,{children:[t.jsx(ys,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((o,i)=>o.value.length>0&&t.jsxs(bs,{children:[t.jsx(vs,{}),t.jsxs(xs,{children:[n(o.nameKey),":"," ",r(o.value,o.type)]})]},i))]})},Ss=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),js=s.styled(s.Box)({marginBottom:16}),ws=s.styled(s.Chip)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Ts=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ss,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(js,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(ws,{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 ks=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Is=({contactData:e,title:a})=>!e||!an(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(ks,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(s.Typography,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function 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 Es=({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})},Ds=s.styled(s.Typography)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),As=({contactData:e,title:a,navigate:n})=>!e||!nn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(Ds,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(Es,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var Fs="Labels",Bs="Phone",$s="Business",Ms="Business Members",Ps="Properties",Us="View",Rs="Tags",Ns={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"},Ls={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"},Os={upload:"Upload photo",delete:"Delete photo"},zs={from:"From",to:"To"},Ws={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"}}},_s={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"},Vs={labels:Fs,phone:Bs,business:$s,businessMembers:Ms,properties:Ps,view:Us,tags:Rs,global:Ns,searchLocationModal:Ls,avatar:Os,contactEdit:zs,conversations:Ws,calendarView:_s},Hs="Etiquetas",Gs="Tel\xE9fono",Ys="Empresa",qs="Miembros de la empresa",Ks="Propiedades",Js="Ver",Qs="Etiquetas",Xs={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"},Zs={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"},ei={upload:"Subir foto",delete:"Eliminar foto"},ti={from:"Desde",to:"Hasta"},ai={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"}}},ni={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"},ri={labels:Hs,phone:Gs,business:Ys,businessMembers:qs,properties:Ks,view:Js,tags:Qs,global:Xs,searchLocationModal:Zs,avatar:ei,contactEdit:ti,conversations:ai,calendarView:ni};const si={en:{translation:Vs},es:{translation:ri}},Rt=Fr.createInstance();Rt.use(Ke.initReactI18next).init({resources:si,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ii=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"}})),oi=({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,h=nn(r),y=an(r),m=[{icon:t.jsx(Ae.PhoneEnabled,{fontSize:"small"}),title:p("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Ae.Email,{fontSize:"small"}),title:p("email"),contactList:r?.emails||[],showTitle:!0},{icon:t.jsx(Ae.WhatsApp,{fontSize:"small"}),title:"IM",contactList:r?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Ae.Facebook,{fontSize:"small"}),contactList:r?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Ae.Instagram,{fontSize:"small"}),contactList:r?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Ae.ThreeP,{fontSize:"small"}),contactList:r?.ims_webchat||[],showTitle:!1}];return l.useEffect(()=>{const g=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[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(ii,{children:t.jsxs(s.CardContent,{children:[t.jsx(os,{navigate:i,contactId:r?.id,imgUrl:o,name:r?.name,onClose:n,isBusiness:h}),t.jsx(Ts,{contactData:r,title:p("labels")}),y&&t.jsx(Is,{contactData:r,title:p("business")}),h&&t.jsx(As,{contactData:r,title:p("businessMembers"),navigate:i}),m.map((g,b)=>t.jsx(ms,{icon:g.icon,title:g.title,contactList:g.contactList,showTitle:g.showTitle},b)),t.jsx(Cs,{properties:r?.properties,title:p("properties")})]})})})})},rn=e=>t.jsx(Ke.I18nextProvider,{i18n:Rt,children:t.jsx(oi,{...e})}),sn=e=>e,on=l.createContext(sn),li=({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)},di=({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)},h=!!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(Ft,{fontSize:"small"}):t.jsx(Br,{fontSize:"small"})})]}),t.jsx(s.Popover,{open:h,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),ci=ln.Provider,ot=()=>l.useContext(ln),ui=s.styled(s.Typography)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),pi=s.styled(s.Box)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),fi=s.styled(s.Box)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),gi=s.styled(s.IconButton)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),mi=({displayName:e,contactType:a,firstName:n,lastName:r,name:o,entityId:i,onEntityUpdated:d})=>{const c=ot(),[u,p]=l.useState(!1),[h,y]=l.useState(!1),[m,g]=l.useState({firstName:n||"",lastName:r||"",name:o||""});l.useEffect(()=>{g({firstName:n||"",lastName:r||"",name:o||""})},[n,r,o]);const b=async()=>{if(!(!c||!i||!a||a==="unknown")){y(!0);try{let x={};a==="contact"?x={firstName:m.firstName,lastName:m.lastName}:a==="business"&&(x={name:m.name});const T=await c.updateEntity({entityType:a,entityId:i,body:x});T&&d&&d(T),p(!1)}catch(x){console.error("Failed to update name",x)}finally{y(!1)}}},S=a==="contact"||a==="business";return u?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(s.TextField,{value:m.firstName,onChange:x=>g({...m,firstName:x.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(s.TextField,{value:m.lastName,onChange:x=>g({...m,lastName:x.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(s.TextField,{value:m.name,onChange:x=>g({...m,name:x.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(s.IconButton,{onClick:b,disabled:h,color:"primary",children:h?t.jsx(s.CircularProgress,{size:24}):t.jsx(Ae.Save,{})})]}):t.jsx(pi,{children:t.jsxs(fi,{children:[t.jsx(ui,{variant:"h6",title:e,children:e}),S&&t.jsx(gi,{size:"small",onClick:()=>p(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Ae.Edit,{fontSize:"small"})})]})})},hi=({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($r,{fontSize:"small"})}),t.jsx(s.IconButton,{size:"small","aria-label":c("avatar.delete"),onClick:o,disabled:!!d,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(ra,{fontSize:"small"})})]})]})},yi=s.styled(s.Box)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),bi=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:o,onUploadPhoto:i,onPhotoFileChange:d,photoInputRef:c,isUploadingPhoto:u,onDeletePhoto:p,isDeletingPhoto:h,contactType:y,firstName:m,lastName:g,name:b,entityId:S,onEntityUpdated:x})=>{const T=`Avatar for ${a}`;return t.jsxs(yi,{children:[t.jsx("input",{ref:c,type:"file",accept:"image/*",onChange:d,style:{display:"none"}}),t.jsx(hi,{src:e,alt:T,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:i,isUploading:u,onDelete:p,isDeleting:h}),t.jsx(mi,{displayName:a,contactType:y,firstName:m,lastName:g,name:b,entityId:S,onEntityUpdated:x}),t.jsx(di,{tags:r,onEditTags:o})]})},Ia=20,xi=e=>{const{popperContainer:a,...n}=e;return t.jsx(Mr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},vi=({value:e,options:a,onChange:n,onBack:r,onSave:o,isSaving:i,onCreateNew:d,isCreatingNew:c,popperContainer:u})=>{const p=be(),[h,y]=l.useState(""),[m,g]=l.useState(Ia),b=l.useDeferredValue(h),S=l.useMemo(()=>a??[],[a]),x=l.useMemo(()=>{const E=String(b??"").trim().toLowerCase();return E?S.filter(F=>String(F?.name??"").toLowerCase().includes(E)):S},[S,b]),T=l.useMemo(()=>x.slice(0,m),[x,m]),C=l.useMemo(()=>{const E=new Map;for(const F of e??[])F?.id&&E.set(String(F.id),F);for(const F of T??[])F?.id&&(E.has(String(F.id))||E.set(String(F.id),F));return Array.from(E.values())},[e,T]),j=(E,F)=>{y(F??""),g(Ia)},w=E=>{const F=E;F.scrollTop+F.clientHeight>=F.scrollHeight-24&&g(D=>D+Ia)},$=()=>{const E=String(h??"").trim(),F=!E||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(E),loading:c,disabled:F,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(ja,{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(pt,{}),onClick:o,loading:i,disabled:i,children:p("global.save")})]}),t.jsx(s.Autocomplete,{multiple:!0,disablePortal:!1,value:e,onChange:(E,F)=>n(F),options:C,filterOptions:E=>E,inputValue:h,onInputChange:j,getOptionLabel:E=>E?.name??"",isOptionEqualToValue:(E,F)=>String(E?.id)===String(F?.id),PopperComponent:E=>t.jsx(xi,{...E,popperContainer:u}),renderOption:(E,F)=>{const{key:D,...I}=E;return l.createElement("li",{...I,key:F?.id?String(F.id):String(D??F?.name??"")},F.name??"")},renderTags:(E,F)=>E.map((D,I)=>{const R=F({index:I}),{key:V,...W}=R;return t.jsx(s.Chip,{label:D.name??"",...W},D?.id?String(D.id):String(V??D?.name??I))}),size:"small",renderInput:E=>t.jsx(s.TextField,{...E,size:"small"}),ListboxProps:{onScroll:w,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx($,{}),sx:{width:"100%"}})]})};var Ci=Object.defineProperty,Si=(e,a,n)=>a in e?Ci(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,dn=(e,a,n)=>Si(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 ji({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 Pe(e,a){const n=encodeURIComponent(a);return{CONTACTS:Te(e,`/contacts/${n}`),MEDIA:Te(e,`/media/${n}`),SETTINGS:Te(e,`/settings/${n}`)}}async function wi({baseUrl:e,spaceId:a,signal:n}){const r=Pe(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=Pe(e,a),i=Te(o.CONTACTS,"/labels");return ze({url:i,method:"POST",body:{name:n},signal:r})}async function Ti({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function ki({baseUrl:e,spaceId:a,businessId:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,`/business/${encodeURIComponent(n)}`);return ze({url:i,signal:r})}async function Ii({baseUrl:e,spaceId:a,forType:n,signal:r}){const o=Pe(e,a),i=`${Te(o.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return ze({url:i,signal:r})}async function Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}){const d=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,c=Pe(e,a),u=Te(c.CONTACTS,d);return ze({url:u,method:"PUT",body:o,signal:i})}async function Ei({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,"/Search");return ze({url:i,method:"POST",body:n,signal:r})}async function Di({baseUrl:e,spaceId:a,business:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,"/business");return ze({url:i,method:"POST",body:n,signal:r})}async function ia({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,"/contactAddresses");return ze({url:i,method:"DELETE",body:n,signal:r})}async function Ai({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,"/contactAddresses/check");return ze({url:i,method:"POST",body:n,signal:r})}async function Fi({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Pe(e,a),i=Te(o.CONTACTS,"/contactAddresses/set");return ze({url:i,method:"POST",body:n,signal:r})}async function Bi({baseUrl:e,spaceId:a,data:n,signal:r}){const o=Pe(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=Pe(e,a),o=Te(r.SETTINGS,"/user");return ze({url:o,signal:n})}async function $i({baseUrl:e,spaceId:a,signal:n}){const r=Pe(e,a),o=Te(r.SETTINGS,"/users");return ze({url:o,signal:n})}async function Mi({baseUrl:e,spaceId:a,signal:n,userId:r}){const o=Pe(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=Pe(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 ji({url:c,formData:d,signal:o})}const gn=(e,a)=>({fetchLabels:({signal:n}={})=>wi({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})=>Ti({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>ki({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>Ei({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>Di({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>Ii({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:o,signal:i})=>Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:o,signal:i}),deleteAddress:({data:n,signal:r})=>ia({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>ia({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>Ai({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>Fi({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>Bi({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>pn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>$i({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>Mi({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,Pi=(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)}),Ui=()=>{const[e,a]=l.useState(!1),[n,r]=l.useState(!0),[o,i]=l.useState(null);return l.useEffect(()=>{(async()=>{try{const d=await Pi(1e4);a(d),d||i("Google Maps API failed to load")}catch{i("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:o}},Ri=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=be(),o=l.useRef(null),i=l.useRef(null),d=l.useRef(e),c=l.useRef(a),{isLoaded:u,isLoading:p,error:h}=Ui(),y=l.useMemo(()=>p?r("searchLocationModal.loadingGoogleMaps"):h?r("searchLocationModal.googleMapsUnavailable"):u?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[u,p,h,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 m=window?.google;if(!m?.maps?.places?.Autocomplete){c.current?.(r("searchLocationModal.googleMapsUnavailable"));return}o.current.focus();let g=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(x=>{const T=x;T.style.zIndex="20000",T.style.position="fixed"})};g=new MutationObserver(x=>{for(const T of x)for(const C of Array.from(T.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const j=C;j.classList?.contains("pac-container")&&(j.style.zIndex="20000",j.style.position="fixed")}}),g.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),i.current=new m.maps.places.Autocomplete(o.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const S=i.current.addListener?.("place_changed",()=>{const x=i.current?.getPlace?.();if(!x?.geometry?.location){c.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let T="",C="",j="",w="",$="",E="";const F=x.address_components??[];for(const V of F){const W=V?.types??[];if(W.includes("locality")||W.includes("administrative_area_level_2")){T=V.long_name;continue}if(W.includes("administrative_area_level_1")){C=V.long_name;continue}if(W.includes("country")){j=V.long_name;continue}if(W.includes("postal_code")){w=V.long_name;continue}if(W.includes("route")){$=V.long_name;continue}W.includes("street_number")&&(E=V.long_name)}const D=typeof x.geometry.location.lat=="function"?x.geometry.location.lat():0,I=typeof x.geometry.location.lng=="function"?x.geometry.location.lng():0,R={location:{lat:D,lng:I},address:x.formatted_address??"",city:T,state:C,country:j,postalCode:w,streetName:$,streetNumber:E,shortAddress:[$,E].filter(Boolean).join(" ")};d.current(R)});return()=>{g&&g.disconnect(),S?.remove&&S.remove(),i.current=null}},[u,r]),t.jsx(s.TextField,{fullWidth:!0,size:"small",inputRef:o,placeholder:y,disabled:p||!u||!!h,error:!!h})},Ni={street:"",city:"",state:"",zipcode:"",country:""},Li=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:o,onEntityUpdated:i})=>{const d=be(),[c,u]=l.useState(Ni),[p,h]=l.useState(""),[y,m]=l.useState(""),[g,b]=l.useState(!1),[S,x]=l.useState(!1),T=l.useMemo(()=>!!(String(c.street??"").trim()||String(c.city??"").trim()||String(c.state??"").trim()||String(c.zipcode??"").trim()||String(c.country??"").trim()),[c]),C=D=>{h(D.address??"");const I=String(D.shortAddress??"").trim()||[D.streetName,D.streetNumber].filter(Boolean).join(" ").trim();u({street:I,city:D.city??"",state:D.state??"",zipcode:D.postalCode??"",country:D.country??""}),m("")},j=D=>{m(String(D??""))},w=D=>I=>{const R=I.target.value;u(V=>({...V,[D]:R}))},$=async()=>{if(!g&&!(!e||!a)&&r){b(!0);try{const D=await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address1:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});i?.(D),o()}finally{b(!1)}}},E=async()=>{if(!S&&!(!e||!a)&&r){x(!0);try{const D=await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address2:{street:String(c.street??""),city:String(c.city??""),state:String(c.state??""),zipcode:String(c.zipcode??""),country:String(c.country??"")}}});i?.(D),o()}finally{x(!1)}}},F=!T||g||S;return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsxs(s.Stack,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(s.IconButton,{size:"small",onClick:o,"aria-label":d("global.back"),children:t.jsx(ja,{fontSize:"small"})}),t.jsx(s.Typography,{variant:"h6",children:d("searchLocationModal.searchAddress")})]}),t.jsxs(s.Stack,{spacing:3,children:[t.jsxs(s.Box,{sx:{position:"relative",zIndex:1400},children:[t.jsx(Ri,{onPlaceSelected:C,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(pt,{}),onClick:$,loading:g,disabled:F,children:d("searchLocationModal.saveMainAddress")}),t.jsx(tt.LoadingButton,{variant:"outlined",size:"large",startIcon:t.jsx(pt,{}),onClick:E,loading:S,disabled:F,children:d("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Ea(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 Oi({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 m=new AbortController;return c(g=>({...g,labelsLoading:!0,labelsError:null})),i.fetchLabels({signal:m.signal}).then(g=>{c(b=>({...b,labels:g,labelsLoading:!1,labelsError:null}))}).catch(g=>{m.signal.aborted||c(b=>({...b,labelsLoading:!1,labelsError:g}))}),()=>{m.abort()}},[i,p]),l.useEffect(()=>{if(!u||!i)return;o.current?.abort();const m=new AbortController;return o.current=m,c(g=>({...g,isLoading:!0,error:null,contactData:null})),i.fetchContact({contactId:r,signal:m.signal}).then(g=>{c(b=>({...b,isLoading:!1,error:null,contactData:g}))}).catch(g=>{m.signal.aborted||c(b=>({...b,isLoading:!1,error:g}))}),()=>{m.abort()}},[i,u,r]);const h=l.useMemo(()=>!!(e&&i),[e,i]);l.useEffect(()=>{if(!h||!i)return;const m=new AbortController;return c(g=>({...g,userLoading:!0,userError:null})),i.fetchUserTrii({signal:m.signal}).then(g=>{c(b=>({...b,userLoading:!1,userError:null,userTrii:g}))}).catch(g=>{m.signal.aborted||c(b=>({...b,userLoading:!1,userError:g}))}),()=>{m.abort()}},[i,h]);const y=l.useMemo(()=>{const m=d.contactData,g=Ea(m),b=hn(m);let S="unknown";g&&(S="business"),b&&(S="contact");let x="Unknown Contact";g?x=m.name:b&&(x=`${m.firstName} ${m.lastName}`.trim());const T=m?.tags??[];return{isBusiness:g,isContact:b,contactType:S,displayName:x,tags:T,labels:d.labels,contactFields:d.contactFields,userTrii:d.userTrii,userLoading:d.userLoading,userError:d.userError}},[d.contactData,d.labels,d.contactFields,d.userTrii,d.userLoading,d.userError]);return l.useEffect(()=>{if(!e||!i)return;const m=d.contactData,g=Ea(m),b=hn(m),S=g?"business":b?"contact":null;if(!S)return;const x=new AbortController;return c(T=>({...T,contactFieldsLoading:!0,contactFieldsError:null})),i.fetchContactFields({forType:S,signal:x.signal}).then(T=>{c(C=>({...C,contactFields:T,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(T=>{x.signal.aborted||c(C=>({...C,contactFieldsLoading:!1,contactFieldsError:T}))}),()=>{x.abort()}},[i,e,d.contactData]),{state:d,selectors:y,actions:{setContactData:m=>c(g=>({...g,contactData:m??null})),clearError:()=>c(m=>({...m,error:null}))}}}const Nt=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:o,onEntityUpdated:i})=>{const[d,c]=l.useState(o??""),[u,p]=l.useState(null),[h,y]=l.useState(!1),[m,g]=l.useState(!1),b=l.useRef(null),S=l.useMemo(()=>!!(e&&a&&n&&r),[e,a,n,r]);function x(I){return I.split("?sv=")[0]}function T(I){return I.split("&cacheId=")[0]}function C(I){let R=x(I);return!R||(R=T(R),!R)?"":R}const j=async()=>{if(!e||!a)return null;const I=await pn({baseUrl:e,spaceId:a});return p(I),I},w=async I=>{const R=(u??await j())?.storageAzureSAS,V=R?.expireAt,W=V?new Date(V):null;let Y=R?.sas??"";if((!Y||W&&W<new Date)&&(Y=(await j())?.storageAzureSAS?.sas??""),!Y)return I;const B=`${Date.now()}`;return`${I}${Y}&cacheId=${B}`},$=async I=>{if(!I){c("");return}const R=x(I);if(!R)return;const V=await w(R);c(V)},E=async I=>{const R=I.target.files?.[0];if(R&&S){b.current&&(b.current.value=""),y(!0);try{const V=await fn({baseUrl:e,spaceId:a,contactId:r,file:R}),W=await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:V}});i?.(W),await $(V)}finally{y(!1)}}},F=()=>{b.current?.click()},D=async()=>{if(S&&!m){g(!0);try{await Ze({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),i?.({imageUrl:""}),c("")}finally{g(!1)}}};return l.useEffect(()=>{if(!o){c("");return}$(o)},[o]),{inputAtributes:{onChange:E,ref:b,type:"file",accept:"image/*"},action:{uploadImage:F,deleteImage:D},imageUrl:d,removeParams:C,isUploading:h,isDeleting:m}},xe=(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 oa;const zi=new Uint8Array(16);function Wi(){if(!oa&&(oa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!oa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return oa(zi)}const Fe=[];for(let e=0;e<256;++e)Fe.push((e+256).toString(16).slice(1));function _i(e,a=0){return Fe[e[a+0]]+Fe[e[a+1]]+Fe[e[a+2]]+Fe[e[a+3]]+"-"+Fe[e[a+4]]+Fe[e[a+5]]+"-"+Fe[e[a+6]]+Fe[e[a+7]]+"-"+Fe[e[a+8]]+Fe[e[a+9]]+"-"+Fe[e[a+10]]+Fe[e[a+11]]+Fe[e[a+12]]+Fe[e[a+13]]+Fe[e[a+14]]+Fe[e[a+15]]}const Vi=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var bn={randomUUID:Vi};function Lt(e,a,n){if(bn.randomUUID&&!a&&!e)return bn.randomUUID();e=e||{};const r=e.random||(e.rng||Wi)();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 _i(r)}function Hi(e){return{id:Lt(),address:"",note:"",channelType:e,isSaved:!1}}var la={createNewAddress:Hi};const Gi=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Yi=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var xt={getEditedField:Gi,getAddressesWithUpdatedValues:Yi};const xn=({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||[]),[h,y]=l.useState(a?.ims_mercadolibre||[]),[m,g]=l.useState(a?.ims_webchat||[]),[b,S]=l.useState(a?.ims_instagram||[]),[x,T]=l.useState(a?.ims_whatsapp||[]),[C,j]=l.useState(a?.emails||[]),[w,$]=l.useState(a?.phones||[]),[E,F]=l.useState(a?.ims_rcs||[]),D=()=>{const k=la.createNewAddress(bt.ChannelType.PHONE),M=[...w,k];$(M)},I=()=>{const k=la.createNewAddress(bt.ChannelType.EMAIL),M=[...C,k];j(M)},R=()=>{const k=la.createNewAddress(bt.ChannelType.WHATSAPP),M=[...x,k];T(M)},V=()=>{const k=la.createNewAddress(bt.ChannelType.RCS),M=[...E,k];F(M)},W=k=>{const M=[...x,k];T(M),c(O=>({...O??{},ims_whatsapp:M}))},Y=(k,M)=>{if(M){if(M.channelType===3){const O=C.map(U=>U.id===k?M:U);j(O),c(U=>({...U??{},emails:O}))}if(M.channelType===5){const O=w.map(U=>U.id===k?M:U);$(O),c(U=>({...U??{},phones:O}))}if(M.channelType===13){const O=x.map(U=>U.id===k?M:U);T(O),c(U=>({...U??{},ims_whatsapp:O}))}if(M.channelType===21){const O=E.map(U=>U.id===k?M:U);F(O),c(U=>({...U??{},ims_rcs:O}))}if(M.channelType===41){const O=h.map(U=>U.id===k?M:U);y(O),c(U=>({...U??{},ims_mercadolibre:O}))}}},B=async(k,M,O)=>{const U=k.target.value;if(O===3){const G=xt.getAddressesWithUpdatedValues(U,M,C);j(G)}else if(O===5){const G=xt.getAddressesWithUpdatedValues(U,M,w);$(G)}else if(O===13){const G=xt.getAddressesWithUpdatedValues(U,M,x);T(G)}else if(O===21){const G=xt.getAddressesWithUpdatedValues(U,M,E);F(G)}else if(O===41){const G=xt.getAddressesWithUpdatedValues(U,M,h);y(G)}},X=(k,M,O)=>{if(O===14){const U=u.map(G=>G.id===M?{...G,note:k.target.value}:G);p(U)}if(O===20){const U=m.map(G=>G.id===M?{...G,note:k.target.value}:G);g(U)}if(O===16){const U=b.map(G=>G.id===M?{...G,note:k.target.value}:G);S(U)}if(O===3){const U=C.map(G=>G.id===M?{...G,note:k.target.value}:G);j(U)}if(O===5){const U=w.map(G=>G.id===M?{...G,note:k.target.value}:G);$(U)}if(O===13){const U=x.map(G=>G.id===M?{...G,note:k.target.value}:G);T(U)}if(O===21){const U=E.map(G=>G.id===M?{...G,note:k.target.value}:G);F(U)}if(O===41){const U=h.map(G=>G.id===M?{...G,note:k.target.value}:G);y(U)}},H=async(k,M)=>{if(e&&(M===3||M===5||M===13||M===14||M===20||M===16||M===21||M===41)){i(k);const O={contactId:e,contactAddressId:k,type:M};switch(n?await n(r(O)):await r(O),i(!1),M){case 3:const U=C.filter(Z=>Z.id!==k);j(U),c(Z=>({...Z??{},emails:U}));break;case 5:const G=w.filter(Z=>Z.id!==k);$(G),c(Z=>({...Z??{},phones:G}));break;case 13:const _=x.filter(Z=>Z.id!==k);T(_),c(Z=>({...Z??{},ims_whatsapp:_}));break;case 21:const ae=E.filter(Z=>Z.id!==k);F(ae),c(Z=>({...Z??{},ims_rcs:ae}));break;case 41:const de=h.filter(Z=>Z.id!==k);y(de),c(Z=>({...Z??{},ims_mercadolibre:de}));break;case 14:const le=u.filter(Z=>Z.id!==k);p(le),c(Z=>({...Z??{},ims_facebook:le}));break;case 20:const Se=m.filter(Z=>Z.id!==k);g(Se),c(Z=>({...Z??{},ims_webchat:Se}));break;case 16:const ve=b.filter(Z=>Z.id!==k);S(ve),c(Z=>({...Z??{},ims_instagram:ve}));break}}};function L(){p(d?.ims_facebook||[]),y(d?.ims_mercadolibre||[]),g(d?.ims_webchat||[]),S(d?.ims_instagram||[]),T(d?.ims_whatsapp||[]),F(d?.ims_rcs||[]),j(d?.emails||[]),$(d?.phones||[])}return l.useEffect(()=>{c(a),a?.emails&&a?.phones&&(j(a.emails),$(a.phones)),T(a?.ims_whatsapp||[]),F(a?.ims_rcs||[]),p(a?.ims_facebook||[]),g(a?.ims_webchat||[]),S(a?.ims_instagram||[]),y(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:x,imsRCS:E,imsMercadolibre:h,imsFacebooks:u,imsWebchats:m,imsInstagrams:b,emails:C,phoneNumbers:w},action:{handleAddressFieldChange:B,handleNoteFieldChange:X,handleDeleteAddress:H,addPhone:D,addEmail:I,addWhatsapp:R,addRCS:V,replaceAddress:Y,addWhatsappVerified:W,resetToInitialContactInformation:L},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)}}}},qi=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async ce=>{!n||!r||await ia({baseUrl:n,spaceId:r,data:ce})},[n,r]),i=async ce=>ce,[d,c]=l.useState([]),u=xe("text",e?.name||""),p=Nt({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),h=yn(e?.owner),y=vn({initialState:e?.tags??[]}),[m,g]=l.useState([]),{field:{imsFacebooks:b,imsMercadolibre:S,imsWebchats:x,imsInstagrams:T,imsWhatsapp:C,emails:j,phoneNumbers:w,imsRCS:$},action:{addPhone:E,addEmail:F,addWhatsapp:D,addRCS:I,addWhatsappVerified:R,replaceAddress:V,handleAddressFieldChange:W,handleNoteFieldChange:Y,handleDeleteAddress:B,resetToInitialContactInformation:X},state:{isDeletingAddress:H}}=xn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),L=xe("text",e?.address1?.street||""),k=xe("text",e?.address2?.street||""),M=xe("text",e?.address1?.city||""),O=xe("text",e?.address2?.city||""),U=xe("text",e?.address1?.state||""),G=xe("text",e?.address2?.state||""),_=xe("text",e?.address1?.zipcode||""),ae=xe("text",e?.address2?.zipcode||""),de=xe("text",e?.address1?.country||""),le=xe("text",e?.address2?.country||""),Se=(ce,q,pe)=>q!==pe&&!(q===null&&pe==="")?{[ce]:pe}:{},ve=()=>{if(!e)return null;const ce={street:L.attributes.value,city:M.attributes.value,state:U.attributes.value,zipcode:_.attributes.value,country:de.attributes.value},q={street:k.attributes.value,city:O.attributes.value,state:G.attributes.value,zipcode:ae.attributes.value,country:le.attributes.value};return{id:e.id,...Se("owner",e.owner,h.attributes.value),...Se("name",e.name,u.attributes.value),imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,tags:y.attributes.value,properties:d,members:m,phoneNumbers:w,emails:j,address1:ce,address2:q}};function Z(ce){if(!e)return;const q=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),pe=e.properties.find(Q=>Q.nameKey===ce)??e.properties.find(Q=>q(Q.nameKey)===q(ce));if(!pe){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ce}`);return}const et=d.map(Q=>Q.nameKey===ce?{...Q,value:pe.value}:Q);c(et)}const Ue=()=>e?a.map(ce=>{const q=Q=>Q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),pe=e.properties.find(Q=>Q.nameKey===ce.nameKey)??e.properties.find(Q=>q(Q.nameKey)===q(ce.nameKey));if(pe)return{...pe,nameKey:ce.nameKey,type:pe.type??ce.type,value:pe.value};const et=d.find(Q=>Q.nameKey===ce.nameKey);return{nameKey:ce.nameKey,type:ce.type,value:et?et.value:""}}):[];return l.useEffect(()=>{e&&a&&c(Ue())},[e,a]),l.useEffect(()=>{e&&y.actions.setValue(e.tags??[])},[e]),{field:{name:u,imsWhatsapp:C,imsRCS:$,contactImage:p,contactPropietary:h,imsMercadolibre:S,imsFacebooks:b,imsWebchats:x,imsInstagrams:T,emails:j,phoneNumbers:w,homeAddress:L,secondaryHomeAddress:k,city:M,secondaryCity:O,state:U,secondaryState:G,postalCode:_,secondaryPostalCode:ae,country:de,secondaryCountry:le,customProperties:d,labelMultipleSelect:y},action:{setCustomProperties:c,addWhatsapp:D,addRCS:I,getEditedBusiness:ve,handleAddressFieldChange:W,handleNoteFieldChange:Y,handleDeleteAddress:B,addPhone:E,addEmail:F,replaceAddress:V,addWhatsappVerified:R,resetToInitialContactInformation:X,resetCustomProperty:Z},state:{isDeletingAddress:H},selectedContacts:m,setSelectedContacts:g}},Ki=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const o=l.useMemo(()=>async Q=>{!n||!r||await ia({baseUrl:n,spaceId:r,data:Q})},[n,r]),i=async Q=>Q,{getEditedField:d}=xt,[c,u]=l.useState([]),p=xe("text",e?.firstName||""),h=xe("text",e?.lastName||""),y=Nt({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[m,g]=l.useState(e?.birthDate?J(e.birthDate):null),b=xn({entityId:e?.id,initial:e,dispatch:i,deleteAddress:o}),{field:{imsFacebooks:S,imsMercadolibre:x,imsWebchats:T,imsInstagrams:C,imsWhatsapp:j,emails:w,phoneNumbers:$,imsRCS:E},action:{addPhone:F,addEmail:D,addWhatsapp:I,addRCS:R,addWhatsappVerified:V,replaceAddress:W,handleAddressFieldChange:Y,handleNoteFieldChange:B,handleDeleteAddress:X,resetToInitialContactInformation:H},state:{isDeletingAddress:L}}=b,k=vn({initialState:e?.tags}),M=yn(e?.owner),O=xe("text",e?.address1?.street),U=xe("text",e?.address2?.street),G=xe("text",e?.address1?.city),_=xe("text",e?.address2?.city),ae=xe("text",e?.address1?.state),de=xe("text",e?.address2?.state),le=xe("text",e?.address1?.zipcode),Se=xe("text",e?.address2?.zipcode),ve=xe("text",e?.address1?.country),Z=xe("text",e?.address2?.country),Ue=()=>{if(!e)return null;const Q=e,$e=k.attributes.value.map(ue=>({id:ue.id,name:ue.name})),_e=$.map(ue=>{const{id:qt,...nt}=ue;return nt}),Ge=w.map(ue=>{const{id:qt,...nt}=ue;return nt});return{id:Q.id,owner:M.attributes.value,firstName:p.attributes.value,lastName:h.attributes.value,address1:{...d("street",Q.address1?.street,O.attributes.value),...d("city",Q.address1?.street,G.attributes.value),...d("state",Q.address1?.street,ae.attributes.value),...d("zipcode",Q.address1?.street,le.attributes.value),...d("country",Q.address1?.street,ve.attributes.value)},address2:{...d("street",Q.address2?.street,U.attributes.value),...d("city",Q.address2?.street,_.attributes.value),...d("state",Q.address2?.street,de.attributes.value),...d("zipcode",Q.address2?.street,Se.attributes.value),...d("country",Q.address2?.street,Z.attributes.value)},emails:Ge,phones:_e,tags:$e,imageUrl:y.imageUrl?y.removeParams(y.imageUrl):null,properties:c,birthDate:m?.toDate()}};function ce(){e&&(!e.businessId||e.businessName)}function q(){g(e?.birthDate?J(e.birthDate):null)}function pe(Q){if(!e)return;const $e=ue=>ue.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),_e=e.properties.find(ue=>ue.nameKey===Q)??e.properties.find(ue=>$e(ue.nameKey)===$e(Q));if(!_e){console.error(`No se encontr\xF3 una propiedad con nameKey: ${Q}`);return}const Ge=c.map(ue=>ue.nameKey===Q?{...ue,value:_e.value}:ue);u(Ge)}const et=()=>e?a.map(Q=>{const $e=ue=>ue.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),_e=e.properties.find(ue=>ue.nameKey===Q.nameKey)??e.properties.find(ue=>$e(ue.nameKey)===$e(Q.nameKey));if(_e)return{..._e,nameKey:Q.nameKey,type:_e.type??Q.type,value:_e.value};const Ge=c.find(ue=>ue.nameKey===Q.nameKey);return{nameKey:Q.nameKey,type:Q.type,value:Ge?Ge.value:""}}):[];return l.useEffect(()=>{e&&a&&u(et())},[e,a]),l.useEffect(()=>{e?.tags&&k.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:m,imsWhatsapp:j,imsRCS:E,contactFirstname:p,contactLastname:h,contactImage:y,contactPropietary:M,imsMercadolibre:x,imsFacebooks:S,imsWebchats:T,imsInstagrams:C,emails:w,phoneNumbers:$,homeAddress:O,secondaryHomeAddress:U,city:G,secondaryCity:_,state:ae,secondaryState:de,postalCode:le,secondaryPostalCode:Se,country:ve,secondaryCountry:Z,customProperties:c,labelMultipleSelect:k},action:{setBirthDate:g,setCustomProperties:u,getEditedContact:Ue,handleAddressFieldChange:Y,handleNoteFieldChange:B,handleDeleteAddress:X,addPhone:F,addEmail:D,addWhatsapp:I,addRCS:R,replaceAddress:W,addWhatsappVerified:V,resetToInitialContactInformation:H,resetSelectedBusiness:ce,resetBirthDate:q,resetCustomProperty:pe},state:{isDeletingAddress:L}}},Da=l.createContext(null),Ji=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=Ki({contact:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Da.Provider,{value:{entityType:"contact",editEntity:i,entityId:String(a.id)},children:e})},Qi=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:o})=>{const i=qi({business:a,customContactFields:n,baseUrl:r,spaceId:o});return t.jsx(Da.Provider,{value:{entityType:"business",editEntity:i,entityId:String(a.id)},children:e})},Xi=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i})=>a==="contact"?t.jsx(Ji,{contact:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}):t.jsx(Qi,{business:n,customContactFields:r,baseUrl:o,spaceId:i,children:e}),at=()=>{const e=l.useContext(Da);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},vt=({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},da=({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(Pr,{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}),Zi=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx($t.LocalizationProvider,{dateAdapter:Bt.AdapterDayjs,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ga.DatePicker,{value:e,onChange:o=>a(o),slotProps:{textField:{size:"small"}},format:r})})})},eo={view:"main",setView:()=>{}},Sn=l.createContext(null),to=Sn.Provider,ao=()=>l.useContext(Sn)||(console.warn("[useEditContactView] using noop, context value is missing"),eo),jn=()=>{},wn=l.createContext(jn),no=({navigate:e,children:a})=>t.jsx(wn.Provider,{value:e,children:a}),ro=()=>l.useContext(wn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),jn);function so({value:e,displayValue:a,businessId:n}){const r=ot(),o=ro(),[i,d]=l.useState(null),c=Nt({initialImageUrl:i?.imageUrl,entityType:"business",entityId:n}),[u,p]=l.useState(null),[h,y]=l.useState(!1);return t.jsxs(s.Box,{display:"flex",alignItems:"center",children:[t.jsx(s.Typography,{onClick:async m=>{const g=m.currentTarget;if(y(!0),!r){console.error("API is null");return}const b=await r.fetchBusiness({businessId:n});if(b&&Ea(b)&&d(b),y(!1),!g){console.error("Target element is null");return}p(g)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:m=>m.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}),h&&t.jsx(s.Box,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(s.CircularProgress,{size:20})})]})}const io=e=>"email"in e,Aa=e=>e.entityType==="contact"&&e.inputType==="birthday",oo=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:h}=ao(),y=e.inputType??"text",[m,g]=l.useState(!1),[b,S]=l.useState(!1),x=l.useRef(null),[T,C]=l.useState(!1),[j,w]=l.useState(()=>e.entityType==="business"||typeof n=="string"?n:void 0);l.useEffect(()=>{const B=x.current;if(!B)return;const X=()=>{const H=B.scrollWidth>B.clientWidth;C(L=>L===H?L:H)};if(X(),typeof ResizeObserver<"u"){let H=0;const L=new ResizeObserver(()=>{if(typeof window>"u"){X();return}H&&window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>{X()})});return L.observe(B),()=>{typeof window<"u"&&H&&window.cancelAnimationFrame(H),L.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",X),()=>{window.removeEventListener("resize",X)}},[a]),l.useEffect(()=>{e.entityType==="business"?w(n):w(typeof n=="string"?n:void 0)},[n,e.entityType]);const $=()=>{if(e.entityType==="contact"&&y==="selectBusiness"){h("businessSelect");return}g(B=>!B)},E=B=>{w(B.target.value)},F=B=>{const X=B.target.value;w(X)},D=()=>{Aa(e)&&e.contact.action.resetBirthDate(),g(!1)},I=async()=>{if(!e.constructUpdateObject){g(!1);return}if(e.entityType==="business"&&j===void 0){g(!1);return}S(!0);try{if(!i||!d)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let B=j===void 0?null:j;if(Aa(e)){const k=J(e.contact.field.birthDate);k.isValid()&&(B=k.toISOString())}const X=e.constructUpdateObject(B),H=e.entityId??X?.id;if(!H)throw new Error("Missing contactId for updateEntity");const L=await Ze({baseUrl:i,spaceId:d,entityType:"contact",entityId:H,body:X});u?.(L)}else{const B=e.constructUpdateObject(j),X=e.entityId??B?.id;if(!X)throw new Error("Missing businessId for updateEntity");const H=await Ze({baseUrl:i,spaceId:d,entityType:"business",entityId:X,body:B});u?.(H)}}finally{S(!1),g(!1)}},R=typeof j=="string"?j:"",V=j instanceof Date?j.toISOString():typeof j=="string"?j:"",W=c??(e.entityType==="contact"?"45%":"200px"),Y=e.options??[];return t.jsxs(s.Box,{className:"fadein col-5",sx:{display:"flex",backgroundColor:B=>B.palette.mode==="dark"?"1e1e1e":B.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:W,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",children:[T?t.jsx(s.Tooltip,{title:a,arrow:!0,children:t.jsx(s.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(s.Typography,{ref:x,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:B=>B.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:m?t.jsxs(t.Fragment,{children:[t.jsx(Tn,{size:"small",onClick:I,children:b?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{})}),t.jsx(Tn,{size:"small",onClick:D,children:t.jsx(Ya,{})})]}):t.jsx(oo,{className:"edit-icon",size:"small",onClick:$,children:t.jsx(Ft,{})})]}),t.jsx(s.Box,{width:m?"100%":"50%",position:"relative",children:m&&y==="text"?t.jsx(s.TextField,{value:V,onChange:E,variant:"standard",size:"small",sx:{width:"100%"}}):m&&(y==="select"||y==="selectMembers")?t.jsxs(s.Select,{value:R,onChange:F,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(s.MenuItem,{value:"",children:p("conversations.contactDetails.contactInfo.emptySelection")}):null,Y.map((B,X)=>t.jsx(s.MenuItem,{value:B.id,children:e.entityType==="contact"?B.name?.trim()||(io(B)?B.email:"")||"Sin nombre":B.name?.trim()||B.email||"Sin nombre"},X))]}):m&&Aa(e)?t.jsx(Zi,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!m&&e.entityType==="contact"&&y==="selectBusiness"&&e.businessId?t.jsx(so,{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:B=>B.palette.text.primary,children:o||typeof n=="string"&&n||"-"})})]})},Ot=e=>{const{title:a,value:n,isNotEditable:r,options:o=[],displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,contactId:h,onEntityUpdated:y}=e;if(e.inputType==="birthday")return t.jsx(lt,{entityType:"contact",entityId:h,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 m=e.inputType??"text";return t.jsx(lt,{entityType:"contact",entityId:h,title:a,value:n,isNotEditable:r,inputType:m,options:o,displayValue:i,constructUpdateObject:d,businessId:c,baseUrl:u,spaceId:p,onEntityUpdated:y})},lo=({nameKey:e,value:a,onChange:n,type:r})=>{const o=u=>{r===ne.ContactField_type.NUMBER_ACCOUNTING||r===ne.ContactField_type.NUMBER_DECIMAL||r===ne.ContactField_type.NUMBER_CURRENCY||r===ne.ContactField_type.CURRENCY?d(u):r===ne.ContactField_type.NUMBER_INTEGER?c(u):(r===ne.ContactField_type.LONGTEXT||r===ne.ContactField_type.TEXT||r===ne.ContactField_type.ADDRESS)&&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===ne.ContactField_type.LONGTEXT,rows:r===ne.ContactField_type.LONGTEXT?4:1,sx:{width:"100%"}})},co=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx($t.LocalizationProvider,{dateAdapter:Bt.AdapterDayjs,children:t.jsx(Mt,{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}}})})})},uo=({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))]})})},po=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx($t.LocalizationProvider,{dateAdapter:Bt.AdapterDayjs,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Ur.TimePicker,{value:e?J(e):null,onChange:o=>a(o),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},fo=({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($t.LocalizationProvider,{dateAdapter:Bt.AdapterDayjs,children:t.jsx(Mt,{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})})})},go=({value:e,handleChange:a,userDateFormat:n})=>{const r=be(),o=[J(),J()],i=(n||"YYYY/MM/DD").toUpperCase();return t.jsx($t.LocalizationProvider,{dateAdapter:Bt.AdapterDayjs,children:t.jsx(Mt,{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})})})},mo=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"}})),ho=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),In=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})),yo=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:h}=a.action,[y,m]=l.useState(!1),[g,b]=l.useState(!1),S=l.useRef(null),[x,T]=l.useState(!1),C=(i?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),j=i?.regCon_timeFormat||"24",w=L=>L===ne.ContactField_type.NUMBER_INTEGER||L===ne.ContactField_type.NUMBER_DECIMAL||L===ne.ContactField_type.NUMBER_CURRENCY||L===ne.ContactField_type.NUMBER_ACCOUNTING||L===ne.ContactField_type.CURRENCY,$=(L,k)=>L.toLowerCase()==="dni"?!0:w(k),E=(L,k,M)=>{if(M===""||M===null||M===void 0)return null;if($(L,k)){const O=Number(M);return Number.isNaN(O)?M:O}return M},F=()=>m(L=>!L),D=()=>{m(!1),a.action.resetCustomProperty(e.nameKey)},I=async()=>{if(!d||!c||!r)return;b(!0);const L=p.find(_=>_.nameKey===e.nameKey)||e,{nameKey:k,value:M}=L,O=o.find(_=>_.nameKey===k)?.type??L.type;let U;if(O===ne.ContactField_type.TIME){const _=J(M);_.isValid()?U=_.format(j==="24"?"HH:mm":"hh:mm"):U=M}else if(O===ne.ContactField_type.DATE){const _=J(M);_.isValid()?U=_.toISOString():U=M}else U=E(k,O,M);const G={properties:[{nameKey:k,type:O,value:U}]};try{const _=await Ze({baseUrl:d,spaceId:c,entityType:n,entityId:r,body:G}),ae=p.map(de=>de.nameKey===k?{...de,type:O,value:U}:de);h(ae),u?.(_)}finally{b(!1),m(!1)}},R=L=>o.find(k=>k.nameKey===L)?.name||L;l.useEffect(()=>{const L=S.current;if(!L)return;const k=()=>{const M=L.scrollWidth>L.clientWidth;T(O=>O===M?O:M)};if(k(),typeof ResizeObserver<"u"){let M=0;const O=new ResizeObserver(()=>{if(typeof window>"u"){k();return}M&&window.cancelAnimationFrame(M),M=window.requestAnimationFrame(()=>{k()})});return O.observe(L),()=>{typeof window<"u"&&M&&window.cancelAnimationFrame(M),O.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[o,e.nameKey]);const V=(L,k)=>{const M=e.type===ne.ContactField_type.DATERANGE?Array.isArray(k)&&k[0]&&k[1]?`${J(k[0]).toISOString()} - ${J(k[1]).toISOString()}`:"":e.type===ne.ContactField_type.DATE?J(k).isValid()?J(k).toISOString():"Invalid Date":e.type===ne.ContactField_type.TIME?J(k).isValid()?J(k).toISOString():"Invalid Time":k,O=p.map(U=>U.nameKey===L?{...U,value:M}:U);h(O)},{type:W,nameKey:Y,value:B}=e,X=L=>L==null?!1:typeof L=="string"?L.trim().length>0:!0,H=()=>W===ne.ContactField_type.DATE?t.jsx(co,{value:B?J(B):null,handleChange:L=>V(Y,L?.toDate()),dateFormat:C}):W===ne.ContactField_type.TIME?t.jsx(po,{value:e?.valueDate?J(e.valueDate):B?J(B):null,handleChange:L=>V(Y,L),userTimeFormat:j}):W===ne.ContactField_type.DATERANGE?t.jsx(go,{value:B&&typeof B=="string"&&B.includes(" - ")?[J(B.split(" - ")[0]),J(B.split(" - ")[1])]:null,handleChange:L=>V(Y,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userDateFormat:C}):W===ne.ContactField_type.TIMERANGE?t.jsx(fo,{value:Array.isArray(B)&&B.length===2?[J(B[0]),J(B[1])]:null,handleChange:L=>V(Y,[L[0]?.toDate?.(),L[1]?.toDate?.()]),userTimeFormat:j}):W===ne.ContactField_type.OPTIONS?t.jsx(uo,{value:typeof B=="string"?B:"",handleChange:L=>V(Y,L),options:o.find(L=>L.nameKey===Y)?.typeOptions??[]}):t.jsx(lo,{type:W,nameKey:Y,value:B,onChange:V});return t.jsxs(ho,{className:`fadein ${e.type===ne.ContactField_type.LONGTEXT?"col-12":"col-5"}`,children:[t.jsxs(s.Box,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[x?t.jsx(s.Tooltip,{title:R(e.nameKey),arrow:!0,children:t.jsx(In,{ref:S,flexGrow:1,noWrap:!0,children:R(e.nameKey)})}):t.jsx(In,{ref:S,flexGrow:1,noWrap:!0,children:R(e.nameKey)}),y?t.jsxs(t.Fragment,{children:[t.jsx(kn,{size:"small",onClick:I,children:g?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{})}),t.jsx(kn,{size:"small",onClick:D,children:t.jsx(Ya,{})})]}):t.jsx(mo,{className:"edit-icon",size:"small",onClick:F,children:t.jsx(Ft,{})})]}),t.jsx(s.Box,{width:y||e.type===ne.ContactField_type.LONGTEXT?"100%":"50%",position:"relative",children:y?H():t.jsx(yo,{children:X(e?.value)?e.type===ne.ContactField_type.DATERANGE?(()=>{if(typeof e.value=="string"){const L=e.value.split(" - ");if(L.length===2){const[k,M]=L,O=J(k),U=J(M);return`${O.isValid()?O.format(C):"-"} - ${U.isValid()?U.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${J(e.value[0]).format(C)} - ${J(e.value[1]).format(C)}`;return`${e.value}`})():e.type===ne.ContactField_type.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${J(e.value[0]).format(j==="24"?"HH:mm":"hh:mm")} - ${J(e.value[1]).format(j==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ne.ContactField_type.TIME?(()=>{try{const L=e.valueDate||e.value;return`${J(L).format(j==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ne.ContactField_type.DATE?(()=>{try{return`${J(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},bo=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,u=be(),{entityType:p,editEntity:h}=at(),y=ot();if(p!=="contact")return null;const[m,g]=l.useState([]),[b,S]=l.useState(null),[x,T]=l.useState(null),[C,j]=l.useState(null),w=h;l.useEffect(()=>{if(!y)return;const I=new AbortController;return y.fetchUsers({signal:I.signal}).then(R=>{I.signal.aborted||g(R??[])}).catch(()=>{I.signal.aborted||g([])}),()=>{I.abort()}},[y]),l.useEffect(()=>{const I=new AbortController,R=async V=>{if(!V||!y)return null;try{const W=await y.fetchUserTriiById({userId:V,signal:I.signal});return W?.display_name||W?.email||null}catch{return null}};return(async()=>{const V=vt({userId:n.owner,users:m,currentUser:d})??(n.owner?await R(n.owner):null),W=vt({userId:n.createdBy??void 0,users:m,currentUser:d})??(n.createdBy?await R(n.createdBy):null),Y=vt({userId:n.updatedBy??void 0,users:m,currentUser:d})??(n.updatedBy?await R(n.updatedBy):null);I.signal.aborted||(S(V),j(W),T(Y))})(),()=>{I.abort()}},[y,n,m,d]);const $=(a||"YYYY/MM/DD").toUpperCase(),E=w.field.birthDate,F=E?.isValid()?E.format($):null,D=I=>{const R=new Date;let V=R.getFullYear()-I.getFullYear();const W=R.getMonth()-I.getMonth();return(W<0||W===0&&R.getDate()<I.getDate())&&V--,V};return t.jsx(da,{title:"General",children:t.jsxs(Cn,{children:[t.jsx(Ot,{title:u("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:m,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,onEntityUpdated:c}),t.jsx(Ot,{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(Ot,{title:u("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Ot,{title:u("conversations.contactDetails.modifiedBy"),value:x||"-",isNotEditable:!0,contact:w,baseUrl:o,spaceId:i,contactId:n.id}),t.jsx(Ot,{title:u("global.birthdate"),inputType:"birthday",displayValue:E?`${F} (${D(E.toDate())})`:"-",value:E?E.toISOString():"",constructUpdateObject:I=>({birthDate:I}),contact:w,baseUrl:o,spaceId:i,contactId:n.id,dateFormat:a,onEntityUpdated:c}),w.field.customProperties.map(I=>t.jsx(En,{property:I,entity:w,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:d,baseUrl:o,spaceId:i,onEntityUpdated:c},I.nameKey))]})})},Fa=({title:e,value:a,isNotEditable:n,inputType:r="text",options:o=[],displayValue:i,constructUpdateObject:d,baseUrl:c,spaceId:u,businessId:p,onEntityUpdated:h})=>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:h}),xo=e=>{const a=be(),{entityData:n,customContactFields:r,baseUrl:o,spaceId:i,currentUser:d,onEntityUpdated:c}=e,{entityType:u,editEntity:p}=at(),h=ot();if(u!=="business")return null;const[y,m]=l.useState([]),[g,b]=l.useState(null),[S,x]=l.useState(null),[T,C]=l.useState(null),j=p;return l.useEffect(()=>{if(!h)return;const w=new AbortController;return h.fetchUsers({signal:w.signal}).then($=>{w.signal.aborted||m($??[])}).catch(()=>{w.signal.aborted||m([])}),()=>{w.abort()}},[h]),l.useEffect(()=>{const w=new AbortController,$=async E=>{if(!E||!h)return null;try{const F=await h.fetchUserTriiById({userId:E,signal:w.signal});return F?.display_name||F?.email||null}catch{return null}};return(async()=>{const E=vt({userId:n.owner,users:y,currentUser:d})??(n.owner?await $(n.owner):null),F=vt({userId:n.createdBy??void 0,users:y,currentUser:d})??(n.createdBy?await $(n.createdBy):null),D=vt({userId:n.updatedBy??void 0,users:y,currentUser:d})??(n.updatedBy?await $(n.updatedBy):null);w.signal.aborted||(b(E),C(F),x(D))})(),()=>{w.abort()}},[h,n,y,d]),t.jsx(da,{title:"General",children:t.jsxs(Cn,{children:[t.jsx(Fa,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:g||"-",inputType:"select",options:y,constructUpdateObject:w=>({owner:typeof w=="string"?w:""}),baseUrl:o,spaceId:i,businessId:n.id,onEntityUpdated:c}),t.jsx(Fa,{title:a("conversations.contactDetails.createdBy"),value:T||"-",isNotEditable:!0}),t.jsx(Fa,{title:a("conversations.contactDetails.modifiedBy"),value:S||"-",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))]})})},vo=e=>{const{entityType:a,entityData:n}=e;return l.useMemo(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(bo,{...e,entityData:n,entityType:"contact"}):t.jsx(xo,{...e,entityData:n,entityType:"business"})},Co=()=>{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("")}}},So=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"})),jo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),wo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),To=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"})),ko=we.styled(s.Avatar)(({})=>({width:32,height:32,cursor:"pointer"})),Ba=we.styled(s.Box)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),Io=we.styled(Ba)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Eo=we.styled(Ba)(({})=>({fontSize:14,fontWeight:500})),Do=we.styled(Ba)(({})=>({fontSize:14,fontWeight:500})),Ao=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Nt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(So,{children:[t.jsx(jo,{children:t.jsxs(To,{children:[t.jsx(s.Tooltip,{title:e.address||"",arrow:!0,children:t.jsx(Eo,{children:e.address})}),t.jsx(s.Tooltip,{title:e.profileName||"",arrow:!0,children:t.jsx(Do,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(Io,{children:e.note})})]})}),t.jsxs(wo,{children:[a!==""&&t.jsx(ko,{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(Ae.Star,{sx:{color:"#fcac34"}}):t.jsx(Ae.StarBorder,{sx:{color:"#fcac34"}})})})]})]})})},$a=qa.PhoneNumberUtil.getInstance(),Fo=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}},Bo=we.styled(s.IconButton)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),$o=we.styled(Rr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),Mo=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"})),Po=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),Uo=we.styled(s.Box)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Ro=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"})),No=we.styled(Dn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),Lo=we.styled(Dn)(({})=>({fontSize:14,fontWeight:500})),Oo=({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(()=>Fo(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(Mo,{children:[t.jsxs(Po,{children:[t.jsx(Bo,{onClick:a,color:"primary",size:"small",children:t.jsx($o,{})}),t.jsxs(Ro,{children:[t.jsx(s.Tooltip,{title:n||"",arrow:!0,children:t.jsx(Lo,{children:n})}),t.jsx(s.Tooltip,{title:e.note||"",arrow:!0,children:t.jsx(No,{children:e.note})})]})]}),t.jsx(Uo,{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(Ae.Star,{sx:{color:"#fcac34"}}):t.jsx(Ae.StarBorder,{sx:{color:"#fcac34"}})})})})]})})},zo=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}})),Wo=s.styled(s.Typography)(({})=>({letterSpacing:-.5,fontSize:14})),_o=s.styled(s.Box)(({})=>({display:"flex",alignItems:"center"})),Vo=s.styled(s.Box)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),Ho=s.styled(s.IconButton)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Go=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:o})=>t.jsxs(zo,{children:[t.jsxs(_o,{children:[t.jsx(Wo,{children:e}),t.jsx(Ho,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Ft,{fontSize:"small",sx:{color:i=>i.palette.secondary.main}})})]}),t.jsx(Vo,{children:a.map((i,d)=>n?t.jsx(Oo,{item:i},d):t.jsx(Ao,{item:i,owner:o},d))})]}),Yo=({title:e})=>t.jsx(s.Box,{children:t.jsx(s.Typography,{variant:"subtitle2",children:e})}),qo={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ca=({title:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:qo.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")})]})},Ko={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},zt=({children:e})=>t.jsx(s.Box,{sx:Ko.container,children:e}),An={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Jo=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:o})=>{const i=be(),[d,c]=l.useState(null),u=!!d,{channelType:p,address:h}=a,[y,m]=l.useState(!1),[g,b]=l.useState(null),[S,x]=l.useState(!1),T=D=>{c(D.currentTarget)},C=()=>{c(null)},j=()=>{x(!1)},w=()=>{e(),C()},$=async()=>{m(!0);try{if(!o)return;const D=await o(13);if(!D)return;b(D),x(!0)}catch(D){console.error("Error verifying WhatsApp account:",D)}finally{m(!1)}C()},E=async()=>{m(!0);try{if(!o)return;const D=await o(21);if(!D)return;b(D),x(!0)}catch(D){console.error("Error verifying RCS account:",D)}finally{m(!1)}C()},F=async()=>{await n(),x(!1)};return t.jsxs(s.Box,{children:[t.jsx(s.IconButton,{"aria-controls":u?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:T,children:t.jsx(Nr,{})}),t.jsxs(s.Menu,{id:"basic-menu",anchorEl:d,open:u,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(s.MenuItem,{onClick:w,children:[t.jsx(s.ListItemIcon,{children:t.jsx(ra,{color:"error"})}),t.jsx(s.ListItemText,{children:i("global.delete")})]}),p===5&&t.jsxs(s.MenuItem,{onClick:$,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Lr,{sx:{color:"green"}})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(s.MenuItem,{onClick:E,disabled:!r,children:[t.jsx(s.ListItemIcon,{children:y?t.jsx(s.CircularProgress,{size:24}):t.jsx(Or,{})}),t.jsx(s.ListItemText,{children:i("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(s.Modal,{open:S,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:D=>D.palette.background.default},children:g?.success?t.jsxs(t.Fragment,{children:[t.jsxs(s.Typography,{id:"modal-modal-title",variant:"h6",component:"h2",children:[i("optionsMenu.wspAccountFound")," ",h]}),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:F,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")," ",h]}),t.jsx(s.Button,{onClick:j,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:i("global.cancel")})]})})})]})},Wt=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:h,id:y,address:m}=e.addressData,g=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??r.action.replaceAddress,S=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),x=async w=>{if(!n||!u)return null;const $=await n.setContactAddress({data:{address:m,contactId:u,type:w}});return b(y,$),$},T=async()=>{if(!n||!u)return;const w=await n.updateContactAddress({data:{contactAddressId:y,contactId:u,note:p??""}});b(y,w)},C=async()=>{d(!0),g?(await T(),d(!1)):await x(h)&&d(!1)},j=async()=>{d(!0);const w=await x(13);w&&S&&S(w),w&&d(!1)};return t.jsxs(s.Box,{sx:{...An.container},children:[g&&t.jsx(s.TextField,{size:"small",label:a("global.note"),variant:"outlined",onChange:w=>e.handleNoteFieldChange(w,y,h),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",sx:An.noteTextField}),t.jsx(s.IconButton,{onClick:C,children:i?t.jsx(s.CircularProgress,{size:24}):t.jsx(pt,{color:"primary"})}),t.jsx(Jo,{onDelete:()=>e.handleDeleteAddress(y,h),addressData:e.addressData,handleLinkAccountSave:j,checked:c&&!i,onCheckContactAddress:async w=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:m,type:w}})}catch{return null}}})]})},Qo={container:{display:"flex",gap:"100px",alignItems:"center"}},_t=({children:e})=>t.jsx(s.Box,{sx:Qo.container,children:e}),Xo={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Vt=({children:e})=>t.jsx(s.Box,{sx:{...Xo.container},children:e}),Zo=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(_r,{size:20});case"available":return t.jsx(zr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Wr,{style:{height:27,width:27},color:"error"});default:return null}},Fn=({status:e,text:a})=>t.jsxs(Vr,{position:"end",children:[a?t.jsx(Hr,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(Zo,{status:e})})]}),el={code:{width:"60%",color:"gray"}},tl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(zt,{children:t.jsxs(_t,{children:[t.jsx(s.Typography,{sx:el.code,variant:"body2",children:e.address}),t.jsx(Wt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},al=({IMSs:e,editEntity:a})=>t.jsx(Vt,{children:e?.map(n=>t.jsx(tl,{data:n,editEntity:a},n.id))}),ua=({editEntity:e,title:a,IMSs:n})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(Yo,{title:a}),t.jsx(al,{IMSs:n,editEntity:e})]}),nl={addressField:{}},Ma=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:o,address:i}=e,d=be(),c=ot(),[u,p]=l.useState("idle"),[h,y]=l.useState(i),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(i!==""&&i!==h){if(!c)return;p("loading"),y(i);const b={address:i,type:o};try{const S=await c.checkContactAddress({data:b}),{success:x,warnings:T}=S;n(T),p(x?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[c,e,i,o,h,n]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:nl.addressField,size:"small",label:o===bt.ChannelType.WHATSAPP||o===bt.ChannelType.RCS?d?d("global.number"):"Number":d?d("global.email"):"Email",value:i,onChange:g=>{a(g,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Fn,{status:u})})}})})},rl={addressField:{}},sl=({data:e,onChange:a,setWarnings:n})=>{const r=ot(),o=be(),{id:i,channelType:d,address:c}=e,[u,p]=l.useState("idle"),[h,y]=l.useState(c),m=!e.hasOwnProperty("isSaved");return l.useEffect(()=>{let g=setTimeout(async()=>{if(c!==""&&c!==h){if(!r)return;p("loading"),y(c);const b={address:c,type:d};try{const{success:S,warnings:x}=await r.checkContactAddress({data:b});n(x),p(S?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(g)},[e]),t.jsx(t.Fragment,{children:t.jsx(s.TextField,{disabled:m,sx:rl.addressField,size:"small",label:o("global.number"),value:c,onChange:g=>{a(g,i,d)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(Fn,{status:u})})}})})},Pa={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},il=({text:e})=>t.jsx(s.Grid,{item:!0,children:t.jsx(s.Box,{sx:Pa.secondaryContainer,children:t.jsx(Yr,{icon:t.jsx(Gr,{sx:Pa.icon}),sx:Pa.chip,label:e,color:"error",variant:"outlined"})})}),pa=({warnings:e})=>{const a=be();return t.jsx(s.Box,{children:t.jsx(s.Grid,{container:!0,children:e?.map((n,r)=>t.jsx(il,{text:a(`contactAddressError.${n}`)},r))})})},ol={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},ll=({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(zt,{children:t.jsxs(_t,{children:[t.jsxs(s.Box,{sx:{...ol.numberCountryContainer,flexDirection:"column"},children:[t.jsx(sl,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange}),i.length>0&&t.jsx(pa,{warnings:i})]}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:c})]})})},dl=({phoneNumbers:e})=>t.jsx(Vt,{variant:"large",children:e?.map(a=>t.jsx(ll,{data:a},a.id))}),cl=({phoneNumbers:e,handleAdd:a})=>{const n=be();return t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ca,{handleAdd:a,title:n("global.phones")}),t.jsx(dl,{phoneNumbers:e})]})},Bn={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},ul=({data:e})=>{const a="edit",{editEntity:n}=at(),r=n.action,o=n.state,[i,d]=l.useState([]);return t.jsxs(zt,{children:[t.jsxs(_t,{children:[t.jsx(s.Box,{sx:Bn.numberCountryContainer,children:t.jsx(s.Box,{sx:Bn.adressInputBox,children:t.jsx(Ma,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(pa,{warnings:i})]})},pl=({emails:e})=>t.jsx(Vt,{variant:"large",children:e?.map(a=>t.jsx(ul,{data:a},a.id))}),fl=({emails:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ca,{handleAdd:a,title:"Emails"}),t.jsx(pl,{emails:e})]}),$n={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(zt,{children:[t.jsxs(_t,{children:[t.jsx(s.Box,{sx:$n.numberCountryContainer,children:t.jsx(s.Box,{sx:$n.adressInputBox,children:t.jsx(Ma,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(pa,{warnings:i})]})},ml=({whatsapps:e})=>t.jsx(Vt,{variant:"large",children:e?.map(a=>t.jsx(gl,{data:a},a.id))}),hl=({whatsapps:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ca,{handleAdd:a,title:"WhatsApp"}),t.jsx(ml,{whatsapps: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(zt,{children:[t.jsxs(_t,{children:[t.jsx(s.Box,{sx:Mn.numberCountryContainer,children:t.jsx(s.Box,{sx:Mn.adressInputBox,children:t.jsx(Ma,{data:e,setWarnings:d,onChange:r.handleAddressFieldChange})})}),t.jsx(Wt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:o.isDeletingAddress,replaceAddress:r.replaceAddress})]}),i.length>0&&t.jsx(pa,{warnings:i})]})},bl=({RCSs:e})=>t.jsx(Vt,{variant:"large",children:e?.map(a=>t.jsx(yl,{data:a},a.id))}),xl=({RCSs:e,handleAdd:a})=>t.jsxs(s.Box,{sx:{width:"100%"},children:[t.jsx(ca,{handleAdd:a,title:"RCS"}),t.jsx(bl,{RCSs:e})]}),vl=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})),Cl=({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:h,addWhatsapp:y,resetToInitialContactInformation:m,addRCS:g}=o.action;function b(){a(),m()}return t.jsx(s.Modal,{open:e,onClose:a,children:t.jsxs(vl,{children:[(()=>{switch(n){case"Phones":return t.jsx(cl,{handleAdd:h,phoneNumbers:d});case"Emails":return t.jsx(fl,{handleAdd:p,emails:i});case"Whatsapp":return t.jsx(hl,{handleAdd:y,whatsapps:c});case"RCS":return t.jsx(xl,{handleAdd:g,RCSs:u});case"Facebook":return t.jsx(ua,{title:"Facebook",IMSs:o.field.imsFacebooks,editEntity:o});case"Webchat":return t.jsx(ua,{title:"Webchat",IMSs:o.field.imsWebchats,editEntity:o});case"Instagram":return t.jsx(ua,{title:"Instagram",IMSs:o.field.imsInstagrams,editEntity:o});case"Mercado libre":return t.jsx(ua,{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:b,children:r("global.close")})})]})})},Sl=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:o}=Co(),{editEntity:i}=at(),d=be(),c=i.field.phoneNumbers,u=i.field.emails,p=i.field.imsFacebooks,h=i.field.imsWhatsapp,y=i.field.imsMercadolibre,m=i.field.imsWebchats,g=i.field.imsInstagrams,b=i.field.imsRCS,S=[{key:"phones",title:d("conversations.contactDetails.phones"),items:c,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:u,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:p,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:h,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:b,modalTitle:"RCS",visible:b.length>0},{key:"mercado-libre",title:"Mercado libre",items:y,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:m,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:g,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(da,{title:d("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:S.filter(x=>x.visible).map(x=>t.jsx(Go,{handleEdit:()=>r(x.modalTitle),title:x.title,methodItems:x.items,isPhone:x.isPhone,owner:e},x.key))})}),t.jsx(Cl,{open:a,onClose:o,title:n})]})},jl=({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:h})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(s.Typography,{variant:"body2",children:h}),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(da,{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")})]})})},wl=({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]),Tl=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:o,labels:i,selectedTags:d,onTagsUpdated:c})=>{const[u,p]=l.useState("main"),[h,y]=l.useState([]),[m,g]=l.useState(!1),[b,S]=l.useState(!1),[x,T]=l.useState([]),[C,j]=l.useState(!1),w=l.useMemo(()=>{const D=i??[],I=x??[],R=new Map;for(const V of D)V?.id&&R.set(String(V.id),V);for(const V of I)V?.id&&R.set(String(V.id),V);return Array.from(R.values())},[i,x]),$=l.useCallback(()=>{p("main"),y([]),g(!1),S(!1),T([]),j(!1)},[]);l.useEffect(()=>{e||$()},[e,$]),l.useEffect(()=>{if(u!=="tags"){g(!1);return}if(m||!w.length)return;const D=new Set(d.map(R=>String(R.id))),I=w.filter(R=>D.has(String(R?.id)));y(I),g(!0)},[u,m,w,d]);const E=l.useCallback(async D=>{if(C||!a||!n)return;const I=String(D??"").trim();if(!I)return;const R=I.toLowerCase(),V=w.find(W=>String(W?.name??"").trim().toLowerCase()===R);if(V?.id){y(W=>{const Y=W??[];return Y.some(B=>String(B?.id)===String(V.id))?Y:[...Y,V]});return}j(!0);try{const W=await un({baseUrl:a,spaceId:n,name:I});T(Y=>{const B=Y??[];return!W?.id||B.some(X=>String(X?.id)===String(W.id))?B:[...B,W]}),y(Y=>{const B=Y??[];return!W?.id||B.some(X=>String(X?.id)===String(W.id))?B:[...B,W]})}finally{j(!1)}},[C,a,n,w]),F=l.useCallback(async()=>{if(b||!a||!n||!r||o!=="contact"&&o!=="business")return;const D=h.filter(I=>I?.id&&I?.name).map(I=>({id:String(I.id),name:String(I.name)}));S(!0);try{await Ze({baseUrl:a,spaceId:n,entityType:o,entityId:String(r.id),body:{tags:D}}),c(D),p("main")}finally{S(!1)}},[b,a,n,r,o,h,c]);return{view:u,setView:p,draftLabels:h,setDraftLabels:y,labelsOptions:w,isSaving:b,isCreatingLabel:C,handleCreateLabel:E,handleSaveTags:F}},kl=({onClose:e})=>l.useCallback((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),Il={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},El=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:o,onEntityUpdated:i,currentUser:d})=>{const c=be(),u=ot(),p=l.useRef(null),h=l.useRef(null),[y,m]=l.useState(()=>r?.businessName??""),[g,b]=l.useState(!1),[S,x]=l.useState(!1),[T,C]=l.useState(!1),[j,w]=l.useState([]),[$,E]=l.useState(r??null),[F,D]=l.useState(1),[I,R]=l.useState(!1),[V,W]=l.useState(!1),Y=l.useMemo(()=>{const _=d?.display_name,ae=d?.email;return String(_||ae||"").trim()},[d]);l.useEffect(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),h.current?.abort()},[]),l.useEffect(()=>{E(r??null),m(r?.businessName??"")},[r]);const B=()=>{h.current?.abort(),h.current=null,p.current&&(clearTimeout(p.current),p.current=null),b(!1),W(!1),D(1),R(!1),w([])},X=_=>_.filter(ae=>!!ae?.id).map(ae=>({businessId:String(ae.id),businessName:String(ae.name??"")})),H=async({query:_,page:ae})=>{if(!u)return;h.current?.abort();const de=new AbortController;h.current=de,x(!0);try{const le={...Il,currentPage:ae,filter:[{value:_,column:"name",condition:""}]},Se=await u.fetchBusinessTableData({pagination:le,signal:de.signal});if(de.signal.aborted)return;const ve=X(Se?.contactos??[]);b(!0);const Z=Se?.paginacion?.total??0;w(Ue=>{const ce=ae===1?ve:(()=>{const q=new Map;for(const pe of Ue)q.set(pe.businessId,pe);for(const pe of ve)q.set(pe.businessId,pe);return Array.from(q.values())})();return Z&&ce.length>=Z&&W(!0),ce})}finally{x(!1),C(!1),R(!1)}},L=_=>{B(),_&&(p.current&&(clearTimeout(p.current),p.current=null),C(!0),p.current=setTimeout(()=>{H({query:_,page:1})},800))},k=_=>{const ae=_.target;if(!(ae.scrollHeight-ae.scrollTop-ae.clientHeight<1)||V||S||!y)return;const de=F+1;R(!0),D(de),H({query:y,page:de})},M=async()=>{if(!u||!Y)return;const _=String(y??"").trim();if(_){x(!0);try{const ae={name:_,owner:Y,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},de=await u.createBusiness({business:ae}),le={businessId:String(de.id??""),businessName:String(de.name??_)};w([le]),E(le),b(!0)}finally{x(!1)}}},O=async()=>{if(!e||!a||!n)return;const _=$?.businessId??"",ae=await Ze({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:_}});i?.(ae),o()},U=g&&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:M,loading:S,disabled:S||!Y,children:c("global.createNew")})]}):t.jsx(s.Typography,{variant:"body2",children:c("global.noOptions")}),G=!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(ja,{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(pt,{}),onClick:O,loading:!1,disabled:G,children:c("global.save")})]}),t.jsxs(s.Box,{sx:{position:"relative"},children:[S||T||I?t.jsx(s.Box,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(s.LinearProgress,{sx:{borderRadius:1}})}):null,t.jsx(s.Autocomplete,{fullWidth:!0,disablePortal:!0,value:$,onChange:(_,ae)=>{E(ae)},inputValue:y,onInputChange:(_,ae,de)=>{m(ae),de==="input"&&L(ae)},options:j,getOptionLabel:_=>_?.businessName??"",isOptionEqualToValue:(_,ae)=>_.businessId===ae.businessId,noOptionsText:U,renderInput:_=>t.jsx(s.TextField,{..._,size:"small",label:c("conversations.contactDetails.business"),placeholder:c("global.noValue"),InputProps:{..._.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[S||T?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null,_.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:k}})]})]})},Dl=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:o,sx:i,language:d="en",navigate:c,googleMapsApiKey:u,onEntityUpdated:p})=>{const{t:h,i18n:y}=Ke.useTranslation(),m=l.useRef(null);l.useEffect(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!u){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const 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 g=H=>h(H),b=l.useMemo(()=>!n||!r?null:gn(n,r),[n,r]),{state:S,selectors:x,actions:T}=Oi({open:e,baseUrl:n,spaceId:r,contactId:o}),C=wl({entity:S.contactData,setEntity:H=>{T.setContactData(H??void 0),H&&p&&p(H)}}),{view:j,setView:w,draftLabels:$,setDraftLabels:E,labelsOptions:F,isSaving:D,isCreatingLabel:I,handleCreateLabel:R,handleSaveTags:V}=Tl({open:e,baseUrl:n,spaceId:r,contactData:S.contactData,contactType:x.contactType,labels:x.labels,selectedTags:x.tags,onTagsUpdated:H=>{if(!S.contactData)return;const L={...S.contactData,tags:H};T.setContactData(L),p&&p(L)}}),W=Nt({baseUrl:n,spaceId:r,entityType:x.contactType==="business"||x.contactType==="contact"?x.contactType:void 0,entityId:S.contactData?String(S.contactData.id):void 0,initialImageUrl:S.contactData?.imageUrl,onEntityUpdated:C}),Y=kl({onClose:a}),B={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:H=>H.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},X=Array.isArray(i)?[B,...i]:i?[B,i]:B;return t.jsx(ci,{value:b,children:t.jsx(li,{t:g,children:t.jsx(no,{navigate:c,children:t.jsx(s.Modal,{open:e,onClose:Y,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:e,timeout:200,children:t.jsxs(s.Box,{sx:X,ref:m,children:[t.jsx(s.IconButton,{"aria-label":"close",onClick:Y,sx:{position:"absolute",right:5,top:5,color:H=>H.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Ha,{sx:{fontSize:20}})}),S.isLoading&&!S.contactData?t.jsx(s.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(s.CircularProgress,{})}):S.error?t.jsx(s.Box,{sx:{mb:2},children:"Failed to load contact"}):S.contactData?t.jsx(to,{value:{view:j,setView:w},children:t.jsx(Xi,{entityType:x.contactType==="business"?"business":"contact",entityData:S.contactData,customContactFields:x.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(bi,{imgUrl:W.imageUrl,displayName:x.displayName,tags:x.tags,onEditTags:()=>{w("tags")},onUploadPhoto:W.action.uploadImage,onPhotoFileChange:W.inputAtributes.onChange,photoInputRef:W.inputAtributes.ref,isUploadingPhoto:W.isUploading,onDeletePhoto:W.action.deleteImage,isDeletingPhoto:W.isDeleting,contactType:x.contactType,entityId:S.contactData?.id,firstName:x.isContact?S.contactData.firstName:void 0,lastName:x.isContact?S.contactData.lastName:void 0,name:x.isBusiness?S.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(s.Box,{sx:{px:1,pb:2},children:[t.jsx(vo,{dateFormat:x.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:S.contactData,customContactFields:x.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:C,currentUser:x.userTrii}),t.jsx(jl,{entityType:x.contactType==="contact"||x.contactType==="business"?x.contactType:"contact",entityData:S.contactData,baseUrl:n,spaceId:r,onEntityUpdated:C,onDirectionSearchClick:()=>w("searchLocation")}),t.jsx(Sl,{ownerData:S.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(Li,{baseUrl:n,spaceId:r,entityType:x.contactType==="business"?"business":"contact",entityId:String(S.contactData.id),onBack:()=>w("main"),onEntityUpdated:C})})}),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(vi,{value:$,options:F,onChange:E,onBack:()=>w("main"),onSave:V,isSaving:D,onCreateNew:R,isCreatingNew:I,popperContainer:m.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(El,{baseUrl:n,spaceId:r,contactId:String(S.contactData.id),initialBusiness:x.isContact&&S.contactData?.businessId?{businessId:String(S.contactData.businessId),businessName:String(S.contactData.businessName??"")}:null,onBack:()=>w("main"),onEntityUpdated:C,currentUser:x.userTrii})})})]})})}):null]})})})})})})},Al=e=>t.jsx(Ke.I18nextProvider,{i18n:Rt,children:t.jsx(Dl,{...e})}),Pn=l.createContext(null),Fl=Pn.Provider,Un=()=>l.useContext(Pn),Bl={events:[],setEvents:()=>{},filteredEvents:[]},$l=(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])},ft={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},gt=(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(S=>{i(!0),c(S)},[]),p=l.useCallback(()=>{i(!1),c("")},[]),h=l.useCallback(S=>{r(S.target.value)},[]),y=l.useCallback(S=>{r(S)},[]),m=l.useCallback(()=>{r(a||"")},[a]),g=l.useMemo(()=>({onError:u,onSuccess:p,resetValue:m,changeValue:y}),[u,p,m,y]),b=l.useMemo(()=>({error:o,helperText:d,type:e,value:n,onChange:h}),[o,d,e,n,h]);return{actions:g,attributes:b}};function Ln(e){return typeof e=="number"}const Ml={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function Pl(e){const[a,n]=l.useState(e||[]),r=l.useCallback(()=>{const h={id:Lt(),timeValue:15,timePeriod:sa.EventNotificationPeriod.MINUTE,sendToContact:!1};n(y=>y.concat(h))},[]),o=l.useCallback(h=>{n(y=>y.filter(m=>m.id!==h))},[]),i=l.useCallback((h,y)=>{const m=Number(h.target.value);Ln(m)&&n(g=>g.map(b=>b.id===y?{...b,timeValue:m}:b))},[]),d=l.useCallback((h,y)=>{if(!Ln(h.target.value))return;const m=h.target.value;n(g=>g.map(b=>b.id===y?{...b,timePeriod:m}:b))},[]),c=l.useCallback((h,y)=>{const m=h.target.checked;n(g=>g.map(b=>b.id===y?{...b,sendToContact:m}:b))},[]),u=l.useCallback(()=>{n([])},[]);l.useEffect(()=>{if(e){const h=e.map(y=>({...y,id:y.id||Lt()}));n(h)}},[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 Ul={state:{selectedStartDate:J(),selectedEndDate:J().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Rl={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Nl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Ll={titleField:ft,descriptionField:ft,locationField:ft,colorField:ft,date:Ul,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:Ml,shareWithUsers:Nl,linkContact:Rl,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},Ol=(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=>m=>{y(m)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),h=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:h}},zl=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),o=l.useCallback(h=>{r(y=>y.some(m=>m.id===h.id)?y:[...y,{id:h.id,name:h.name??""}]),a("")},[]),i=l.useCallback(h=>{r(y=>y.filter(m=>m.id!==h))},[]),d=l.useCallback(h=>{a(h)},[]),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}},Wl=()=>{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}},_l=e=>{const a=l.useRef(null),n=gt("text",e?.title??""),r=gt("text",e?.details??e?.description??""),o=gt("text",e?.location??""),i=gt("text",e?.color??"#1976d2"),d=Ol(e?.startAt?J(e.startAt):void 0,e?.endAt?J(e.endAt):void 0),[c,u]=l.useState(e?.allDay??!1),[p,h]=l.useState(e?.isPrivate??!1),[y,m]=l.useState(e?.rule??""),g=Pl(e?.notifications),b=Wl(),S=zl(),x=l.useCallback(()=>({title:n.attributes.value,details:r.attributes.value,location:o.attributes.value,allDay:c,isPrivate:p,color:i.attributes.value,startAt:d.state.selectedStartDate.toISOString(),endAt:d.state.selectedEndDate.toISOString(),notifications:g.notifications.filter(C=>C.timeValue>0).map(C=>({id:C.id,timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:b.field.userIds,rule:y,relatedContactId:S.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,g.notifications,b.field.userIds,y,S.state.selectedContacts]),T=l.useCallback(()=>{n.actions.resetValue(),r.actions.resetValue(),o.actions.resetValue(),i.actions.changeValue("#1976d2"),u(!1),h(!1),m(""),g.action.resetNotifications(),b.action.resetField(),S.action.resetField(),d.action.setError(!1)},[n.actions,r.actions,o.actions,i.actions,g.action,b.action,S.action,d.action]);return l.useEffect(()=>{const C=e?.id;!e||a.current===C||(a.current=C,u(e.allDay??!1),h(e.isPrivate??!1),m(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),o.actions.changeValue(e.location??""),i.actions.changeValue(e.color??"#1976d2"),e.startAt&&d.action.setSelectedStartDate(J(e.startAt)),e.endAt&&d.action.setSelectedEndDate(J(e.endAt)))},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,locationField:o,colorField:i,date:d,allDay:c,setAllDay:u,isPrivate:p,setIsPrivate:h,recurrenceRule:y,setRecurrenceRule:m,notifications:g,shareWithUsers:b,linkContact:S,create:x,resetFields:T}),[n,r,o,i,d,c,p,y,g,b,S,x,T])},Vl={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Hl={nameField:ft,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Vl,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Gl=()=>{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}},Yl=()=>{const e=gt("text",""),[a,n]=l.useState("#ffffff"),[r,o]=l.useState(null),i=Gl(),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])},ql={tasks:[],setTasks:()=>{},filteredTasks:[]},Kl=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])},Jl={state:{selectedStartDate:J(),selectedEndDate:J(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ql={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Xl={titleField:ft,descriptionField:ft,date:Jl,linkContact:Ql,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},Zl=(e,a)=>{const[n,r]=l.useState(e??J()),[o,i]=l.useState(a??J()),[d,c]=l.useState(!1),u=l.useCallback(y=>m=>{y(m)},[]),p=l.useMemo(()=>({selectedStartDate:n,selectedEndDate:o,error:d}),[n,o,d]),h=l.useMemo(()=>({setSelectedStartDate:r,setSelectedEndDate:i,setError:c,handleSelect:u}),[u]);return{state:p,action:h}},ed=()=>{const[e,a]=l.useState(""),[n,r]=l.useState([]),o=l.useCallback(h=>{r(y=>y.some(m=>m.id===h.id)?y:[...y,{id:h.id,name:h.name??""}]),a("")},[]),i=l.useCallback(h=>{r(y=>y.filter(m=>m.id!==h))},[]),d=l.useCallback(h=>{a(h)},[]),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}},td=e=>{const a=l.useRef(null),n=gt("text",e?.title??""),r=gt("text",e?.description??""),o=Zl(e?.startAt?J(e.startAt):void 0,e?.startAt?J(e.startAt):void 0),i=ed(),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)},[n.actions,r.actions,i.action,o.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=J(e.startAt);o.action.setSelectedStartDate(p),o.action.setSelectedEndDate(p)}},[e?.id]),l.useMemo(()=>({titleField:n,descriptionField:r,date:o,linkContact:i,create:d,resetFields:c}),[n,r,o,i,d,c])},Ua=l.createContext({eventDialog:Rn,createCalendarDialog:Rn,event:Ll,events:Bl,calendar:Hl,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:ql,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Xl,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}),On=e=>e,zn=l.createContext(On),ad=({t:e,children:a})=>t.jsx(zn.Provider,{value:e,children:a}),Be=()=>{const e=l.useContext(zn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),On)};var nd=Object.defineProperty,rd=(e,a,n)=>a in e?nd(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Wn=(e,a,n)=>rd(e,typeof a!="symbol"?a+"":a,n);class sd 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 Ie({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 sd(c,i.status,d)}return d}function ke(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function fa(e,a){const n=encodeURIComponent(a);return{CONTACTS:ke(e,`/contacts/${n}`),MEDIA:ke(e,`/media/${n}`),SETTINGS:ke(e,`/settings/${n}`),CALENDAR:ke(e,`/calendar/${n}`)}}function He(e){return fa(e.baseUrl,e.spaceId).CALENDAR}async function id(e){const a=fa(e.baseUrl,e.spaceId);return Ie({url:ke(a.SETTINGS,"/user")})}async function od(e,a,n){const r=`${He(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return Ie({url:r})}async function ld(e,a){const n=He(e);return Ie({url:ke(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 Ie({url:c,method:"PUT",body:o})}return Ie({url:ke(n,`/events/${r}`),method:"PUT",body:o})}async function Ra(e,a,n){const r=He(e);if(n){const o=n instanceof Date?n.toISOString():n,i=`${r}/events/${a}?occurrence=${o}`;await Ie({url:i,method:"DELETE"})}else await Ie({url:ke(r,`/events/${a}`),method:"DELETE"})}async function dd(e,a){const n=He(e);return Ie({url:ke(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function cd(e,a){const n=He(e);return Ie({url:ke(n,`/Task/${a}`)})}async function ud(e,a){const n=He(e);return Ie({url:ke(n,"/Task"),method:"POST",body:a})}async function Vn(e,a,n){const r=He(e);return Ie({url:ke(r,`/Task/${a}`),method:"PUT",body:n})}async function pd(e,a){const n=He(e);await Ie({url:ke(n,`/Task/${a}`),method:"DELETE"})}async function fd(e,a,n){const r=He(e);return Ie({url:ke(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function gd(e){const a=He(e);return Ie({url:ke(a,"/Calendar")})}async function md(e,a){const n=He(e);return Ie({url:ke(n,"/Calendar"),method:"POST",body:a})}async function hd(e,a,n){const r=He(e);return Ie({url:ke(r,`/Calendar/${a}`),method:"PUT",body:n})}async function yd({baseUrl:e,spaceId:a,contactId:n,signal:r}){const o=fa(e,a),i=ke(o.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ie({url:i,signal:r})}async function bd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const o=fa(e,a),i=ke(o.CONTACTS,"/Search");return Ie({url:i,method:"POST",body:n,signal:r})}function Na(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 Ht=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},Gt=e=>e?e.parentId?e.parentId:Ht(e.id):"",xd=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:o="event",externalEventCalendarId:i,externalTaskCalendarId:d,externalSelectedEvent:c,externalSelectedTask:u,hiddenTabs:p=!1,externalContactId:h,externalOnActionComplete:y})=>{const{t:m}=Ke.useTranslation(),g=Un(),b=(v,...N)=>m(v,...N),[S,x]=l.useState(o),[T,C]=l.useState(null),[j,w]=l.useState(null),[$,E]=l.useState(r),[F,D]=l.useState(d||""),[I,R]=l.useState(i||""),[V,W]=l.useState(!1),[Y,B]=l.useState("create"),[X,H]=l.useState(null),[L,k]=l.useState({open:!1,message:"",severity:"info"}),[M,O]=l.useState(!1),[U,G]=l.useState("event"),[_,ae]=l.useState(!1),[de,le]=l.useState(!1),[Se,ve]=l.useState(null),[Z,Ue]=l.useState(!1),[ce,q]=l.useState(!1),[pe,et]=l.useState(!1),[Q,$e]=l.useState(!1),[_e,Ge]=l.useState(!1),[ue,qt]=l.useState(!1),nt="trii_calendar_last_view",St=v=>v==="month"||v==="week"||v==="day",[jt,Kt]=l.useState(()=>{try{const v=localStorage.getItem(nt);return St(v)?v:"month"}catch{return"month"}}),[Jt,wt]=l.useState(new Date),dt=v=>{wt(v),Kt("day")},Re=Nn(),ct=Nn(),se=_l(T??void 0),fe=td(j??void 0);l.useEffect(()=>{r!==void 0&&E(r)},[r]),l.useEffect(()=>{o!==void 0&&x(o)},[o]),l.useEffect(()=>{i!==void 0&&R(i)},[i]),l.useEffect(()=>{d!==void 0&&D(d)},[d]),l.useEffect(()=>{c!==void 0&&(C(c),c?.calendarId&&R(c.calendarId))},[c]),l.useEffect(()=>{u!==void 0&&(w(u),u?.calendarId&&D(u.calendarId))},[u]),l.useEffect(()=>{if(!h||!g||r!=="create"||!Re.open)return;let v=!1;return yd({baseUrl:g.baseUrl,spaceId:g.spaceId,contactId:h}).then(N=>{v||!N||(se.linkContact.action.resetField(),se.linkContact.action.handleSelectContact(N),fe.linkContact.action.resetField(),fe.linkContact.action.handleSelectContact(N))}).catch(()=>{}),()=>{v=!0}},[h,Re.open]),l.useEffect(()=>{if(a!==void 0)if(a&&!Re.open){if(r==="create"){se.resetFields(),fe.resetFields(),W(!1),C(null),w(null),se.date.action.setError(!1),fe.date.action.setError(!1);const v=Na(new Date),N=v.add(30,"minute");if(o==="task"?(fe.date.action.setSelectedStartDate(v),fe.date.action.setSelectedEndDate(v)):(se.date.action.setSelectedStartDate(v),se.date.action.setSelectedEndDate(N)),!i){const P=Le?.[0]??rt?.[0]?.id??Ne?.[0]?.id??"";P&&R(P)}if(!d){const P=Le?.[0]??Ne?.[0]?.id??"";P&&D(P)}}Re.handleOpen()}else!a&&Re.open&&Re.handleClose()},[a]);const Ye=()=>{($==="edit"||$==="create")&&(se.resetFields(),fe.resetFields()),se.date.action.setError(!1),fe.date.action.setError(!1),n?n():Re.handleClose()},Me=Yl(),Qt=Y==="create",[Ne,ba]=l.useState([]),[xa,Xt]=l.useState(!1),[Tt,Zt]=l.useState([]),[qe,kt]=l.useState(""),mt="calendar_selected_ids",[Le,ht]=l.useState(()=>{try{const v=localStorage.getItem(mt);return v?JSON.parse(v):[]}catch{return[]}}),yt=$l(Le,Tt),ea=Kl(Le),ta=()=>{k(v=>({...v,open:!1}))},Qe=l.useCallback((v,N,P)=>{y?.(v,N,P)},[y]);function aa(v){const N=v?.startAt??v?.start,P=v?.endAt??v?.end??N;return{startAt:N,endAt:P}}const{myCalendars:rt,otherCalendars:na}=l.useMemo(()=>{const v=Ne??[];if(!qe)return{myCalendars:v,otherCalendars:[]};const N=v.filter(K=>K.userId===qe),P=v.filter(K=>K.userId!==qe);return N.length===0&&v.length>0?{myCalendars:v,otherCalendars:[]}:{myCalendars:N,otherCalendars:P}},[Ne,qe]),st=l.useCallback(async()=>{if(g)try{const v=new Date,N=v.getUTCFullYear(),P=v.getUTCMonth(),K=new Date(Date.UTC(N,P-1,1,0,0,0)).toISOString(),te=new Date(Date.UTC(N,P+2,1,0,0,0)).toISOString(),ye=await od(g,K,te);Zt(ye)}catch(v){console.error("Error fetching activities:",v)}},[g]),It=l.useCallback(async v=>{if(g)try{const N=await cd(g,v);ea.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)}},[g]),Et=l.useCallback(async()=>{if(g){Xt(!0);try{const v=await gd(g);ba(v)}catch(v){console.error("Error fetching calendars:",v)}finally{Xt(!1)}}},[g]);l.useEffect(()=>{const v=rt?.[0]?.id??Ne?.[0]?.id??"";v&&Re.open&&$==="create"&&(I||R(v),F||D(v))},[Re.open,$]),l.useEffect(()=>{if(!g)return;Et(),st();let v=!1;return id(g).then(N=>{v||kt(N.uid)}).catch(()=>{}),()=>{v=!0}},[g,Et,st]);function Dt(v,N,P){x(v),E("create"),C(null),w(null),se.resetFields(),fe.resetFields(),W(!1);const K=Na(N??new Date),te=P?Na(P):K.add(30,"minute"),ye=te.isAfter(K)?te:K.add(30,"minute");if(v==="task"){fe.date.action.setSelectedStartDate(K),fe.date.action.setSelectedEndDate(K),fe.date.action.setError(!1);const Ve=Le?.[0]??Ne?.[0]?.id??"";D(Ve)}else{se.date.action.setSelectedStartDate(K),se.date.action.setSelectedEndDate(ye),se.date.action.setError(!1);const Ve=Le?.[0]??rt?.[0]?.id??Ne?.[0]?.id??"";R(Ve);const me=rt?.find(je=>je.id===Ve)??Ne?.find(je=>je.id===Ve);me?.color&&se.colorField.actions.changeValue(me.color)}Re.handleOpen()}function va(){Dt("event")}function f(){se.date.action.setError(!1),fe.date.action.setError(!1),E("edit")}function A(v){const{startAt:N,endAt:P}=aa(v),K={...v,kind:"event",startAt:N,endAt:P,details:v?.details??""};x("event"),C(K),w(null);const te=K.calendarId||rt?.[0]?.id||Ne?.[0]?.id||"";R(te),E("view"),se.date.action.setError(!1),fe.date.action.setError(!1),Re.handleOpen()}async function z(v){if(!g)return;let N;if(v)N={title:v.title,details:v.description||v.details||"",startAt:new Date(v.startAt),endAt:new Date(v.endAt),allDay:v.allDay,location:v.location||"",isPrivate:v.isPrivate||!1,color:v.color||"",rule:v.rule||"",contactId:v.relatedContactId||h||null,sharedWith:v.sharedWith||[],notifications:(v.notifications||[]).map(te=>({id:Lt(),timeValue:te.value,timePeriod:te.type,sendToContact:te.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const te=se.create();if(!te.title){k({open:!0,message:b("global.nameRequired"),severity:"error"});return}N={...te,startAt:new Date(te.startAt),endAt:new Date(te.endAt),contactId:te.relatedContactId||h||null,eventTypeId:"",repeatId:"",notifications:te.notifications.map(ye=>({...ye,id:ye.id||Lt()}))}}const P=I;if(!P){k({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const K={...N,calendarId:P};Ue(!0);try{k({open:!0,message:b("global.savingChanges"),severity:"info"});const te=await ld(g,K);Le.includes(P)||ht(ye=>[...ye,P]),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("created","event",te),se.resetFields(),Ye()}catch(te){console.error("Error creando evento:",te);const ye=te?.response?.data?.message||te?.message||b("global.errorSavingChanges");k({open:!0,message:ye,severity:"error"})}finally{Ue(!1)}}async function ee(){if(!T?.id)return;const v=se.create(),N=I||T.calendarId||"";if(!N){k({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}T.originalOccurrenceDate!=null?(ve(()=>async P=>{await oe(v,N,P)}),le(!0)):await oe(v,N,!1)}async function oe(v,N,P){const K=T?.originalOccurrenceDate!=null,te={title:v.title,details:v.details,startAt:v.startAt,endAt:v.endAt,allDay:v.allDay,isPrivate:v.isPrivate,location:v.location,color:v.color,calendarId:N,notifications:v.notifications,sharedWith:v.sharedWith};(P||!K)&&(te.rule=v.rule);const ye=Gt(T),Ve={updatedActivity:te,activityId:ye};K&&!P&&(Ve.originalOccurrenceDate=T.originalOccurrenceDate),q(!0);try{const me=await _n(g,Ve);me&&(C(me),me.calendarId&&R(me.calendarId)),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("updated","event",me),Ye()}catch(me){console.error("Error actualizando evento:",me);const je=me?.response?.data?.message||me?.message||b("global.errorSavingChanges");k({open:!0,message:je,severity:"error"})}finally{q(!1)}}async function ge(v){le(!1),Se&&(await Se(v),ve(null))}async function ie(){T?.originalOccurrenceDate!=null?ae(!0):(G("event"),O(!0))}async function re(){if(g)if(O(!1),U==="event")try{const v=Gt(T);Ye(),await Ra(g,v),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:v}),st()}catch(v){console.error("Error deleting event:",v);const N=v?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");k({open:!0,message:N,severity:"error"})}else{if(!j?.id)return;try{const v=Ht(j.id),N=j.calendarId;Ye(),await pd(g,v),w(null),fe.resetFields(),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","task",{id:v}),N&&It(N)}catch(v){console.error("Error deleting task:",v);const N=v?.message?.includes("duplicate key")?b("global.taskAlreadyDeleted","La tarea ya fue eliminada"):b("global.errorSavingChanges");k({open:!0,message:N,severity:"error"})}}}async function Ee(v){ae(!1);const N=Gt(T);Ye();try{v?await Ra(g,N):await Ra(g,N,T.originalOccurrenceDate),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("deleted","event",{id:N}),st()}catch(P){console.error("Error deleting recurring event:",P);const K=P?.message?.includes("duplicate key")?b("global.eventAlreadyDeleted","El evento ya fue eliminado"):b("global.errorSavingChanges");k({open:!0,message:K,severity:"error"})}}async function he(){if(!g)return;const v=Gt(T);await dd(g,v),Ye()}async function Ce(v,N,P){const K=N instanceof Date?N:new Date(N),te=P instanceof Date?P:new Date(P),ye=K.toISOString(),Ve=te.toISOString(),me=v.kind==="task";!me&&v.originalOccurrenceDate!=null?(C(v),ve(()=>async je=>{await Oe(v,ye,Ve,K,te,me,je)}),le(!0)):await Oe(v,ye,Ve,K,te,me,!1)}async function Oe(v,N,P,K,te,ye,Ve){ye||yt.setEvents(me=>me.map(je=>je.id===v.id?{...je,start:K,end:te,startAt:K,endAt:te}:je)),k({open:!0,message:b("global.savingChanges"),severity:"info"});try{if(ye){const me=Ht(v.id),je={title:v.title,description:v.description,startAt:N,endAt:P,calendarId:v.calendarId,allDay:v.allDay||!1,isCompleted:v.isCompleted||!1};await Vn(g,me,je),await It(v.calendarId)}else{const me=Gt(v),je=v.originalOccurrenceDate!=null,_a={title:v.title,details:v.details,startAt:new Date(N),endAt:new Date(P),allDay:v.allDay,isPrivate:v.isPrivate,location:v.location,color:v.color,calendarId:v.calendarId};(Ve||!je)&&(_a.rule=v.rule);const Va={updatedActivity:_a,activityId:me};je&&!Ve&&(Va.originalOccurrenceDate=v.originalOccurrenceDate),await _n(g,Va)}k({open:!0,message:b("global.changesSaved"),severity:"success"}),st()}catch{ye||yt.setEvents(me=>me.map(je=>je.id===v.id?{...je,start:v.start,end:v.end}:je)),k({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function it(v,N){Dt("event",v,N)}function Xe(){Me.nameField.actions.resetValue(),Me.handleColorChange("#ffffff"),Me.shareWithUsers.action.resetField(),Me.handleGoogleCalendarChange(null)}function De(){Xe(),H(null),B("create"),ct.handleClose()}function At(v){Me.nameField.actions.changeValue(v.title??""),Me.nameField.actions.onSuccess(),Me.handleColorChange(v.color??"#ffffff"),Me.shareWithUsers.action.setUserIds(v.sharedWith??[]),Me.handleGoogleCalendarChange(v.googleCalendar??null)}function Ca(){B("create"),H(null),Xe(),ct.handleOpen()}function Sa(v){B("edit"),H(v),At(v),ct.handleOpen()}async function xr(){if(!g)return;const v=(Me.nameField.attributes.value??"").trim();if(!v){k({open:!0,message:b("global.nameRequired"),severity:"error"});return}const N=Me.shareWithUsers.field.userIds,P={title:v,color:Me.color,sharedWith:N.length?N:void 0,googleCalendar:Me.googleCalendar};try{if(Qt)await md(g,P);else{const K=X?.id;if(!K)return;await hd(g,K,P)}De(),k({open:!0,message:b(Qt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Et()}catch{k({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}async function vr(v){if(!g)return;let N;if(v?N={title:v.title,description:v.description||"",startAt:v.startAt,contactId:v.relatedContactId||null}:N=fe.create(),!N.title){k({open:!0,message:b("global.nameRequired"),severity:"error"});return}const P=F;if(!P){k({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const K={...N,calendarId:P,contactId:N.contactId||N.relatedContactId||h||null};$e(!0);try{k({open:!0,message:b("global.savingChanges"),severity:"info"});const te=await ud(g,K);Le.includes(P)||ht(ye=>[...ye,P]),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("created","task",te),fe.resetFields(),Ye()}catch(te){console.error("Error creando tarea:",te);const ye=te?.response?.data?.message||te?.message||b("global.errorSavingChanges");k({open:!0,message:ye,severity:"error"})}finally{$e(!1)}}function Cr(){Dt("task")}async function Sr(){if(!g||!j?.id)return;const v=fe.create();if(!v.title){k({open:!0,message:b("global.nameRequired"),severity:"error"});return}const N=F||j.calendarId;if(!N){k({open:!0,message:b("global.errorSavingChanges"),severity:"error"});return}const P={...v,calendarId:N};Ge(!0);try{const K=Ht(j.id),te=await Vn(g,K,P);te&&w(te),k({open:!0,message:b("global.changesSaved"),severity:"success"}),Qe("updated","task",te),Ye()}catch(K){console.error("Error actualizando tarea:",K);const te=K?.response?.data?.message||K?.message||b("global.errorSavingChanges");k({open:!0,message:te,severity:"error"})}finally{Ge(!1)}}async function jr(){j?.id&&(G("task"),O(!0))}async function wr(){if(!g||!j?.id)return;const v=!j.isCompleted;try{const N=Ht(j.id),P=j.calendarId,K=await fd(g,N,v);K&&w(K),k({open:!0,message:b("global.changesSaved"),severity:"success"}),P&&It(P)}catch{k({open:!0,message:b("global.errorSavingChanges"),severity:"error"})}}function Tr(){const v=S==="event",N=v?T:j;if(!N)return;const P={...N};v?(C(null),E("create"),W(!0),setTimeout(()=>{if(se.titleField.actions.changeValue(P.title??""),se.descriptionField.actions.changeValue(P.details??P.description??""),se.locationField.actions.changeValue(P.location??""),se.colorField.actions.changeValue(P.color??""),se.setAllDay(P.allDay??!1),se.setIsPrivate(P.isPrivate??!1),se.setRecurrenceRule(P.rule??""),se.date.action.setSelectedStartDate(J(P.startAt)),se.date.action.setSelectedEndDate(J(P.endAt)),se.date.action.setError(!1),se.notifications.action.resetNotifications(),P.relatedContact?.id&&se.linkContact.action.handleSelectContact(P.relatedContact),P.sharedWith){const K=P.sharedWith.map(te=>te.id);se.shareWithUsers.action.setUserIds(K)}R(P.calendarId??I)},50)):(w(null),E("create"),setTimeout(()=>{fe.titleField.actions.changeValue(P.title??""),fe.descriptionField.actions.changeValue(P.description??""),fe.date.action.setSelectedStartDate(J(P.startAt)),fe.date.action.setSelectedEndDate(J(P.startAt)),fe.date.action.setError(!1),P.relatedContact?.id&&fe.linkContact.action.handleSelectContact(P.relatedContact),D(P.calendarId??F)},50))}function kr(v){const{startAt:N,endAt:P}=aa(v),K={...v,kind:"task",startAt:N,endAt:P,description:v?.description??""};x("task"),w(K),D(K.calendarId??""),R(K.calendarId??""),C(null),E("view"),se.date.action.setError(!1),fe.date.action.setError(!1),Re.handleOpen()}function Ir(v){return v?.kind==="task"?kr(v):A(v)}l.useEffect(()=>{try{Le&&localStorage.setItem(mt,JSON.stringify(Le))}catch{}},[Le]),l.useEffect(()=>{Ne?.length&&ht(v=>{const N=new Set(Ne.map(K=>K.id)),P=(v??[]).filter(K=>N.has(K));return P.length?P:Ne.map(K=>K.id)})},[Ne]),l.useEffect(()=>{try{localStorage.setItem(nt,jt)}catch{}},[jt]);const Er={eventDialog:{...Re,handleClose:Ye},dialogMode:$,createCalendarDialog:ct,event:se,calendar:Me,events:yt,handleCreateEvent:z,handleSelectEvent:Ir,handleOpenEventCreate:va,handleStartEditingEvent:f,handleSaveUpdatedEvent:ee,handleEndEvent:he,handleDeleteEvent:ie,handleResizeEvent:Ce,selectedEvent:T,savingSnackbar:L,handleCloseSnackbar:ta,dialogType:S,setDialogType:x,handleOpenTaskCreate:Cr,handleOpenCreateFromSlot:it,handleCloseCreateCalendarDialog:De,calendarDialogMode:Y,editingCalendar:X,handleOpenCreateCalendarDialog:Ca,handleOpenEditCalendarDialog:Sa,handleSubmitCalendar:xr,tasks:ea,activeCalendarIds:Le,setActiveCalendarIds:ht,handleCreateTask:vr,task:fe,selectedTask:j,taskCalendarId:F,setTaskCalendarId:D,eventCalendarId:I,setEventCalendarId:R,userManuallyChangedColor:V,setUserManuallyChangedColor:W,myCalendars:rt,otherCalendars:na,isLoadingCalendars:xa,isCreatingEvent:Z,isUpdatingEvent:ce,isDeletingEvent:pe,isCreatingTask:Q,isUpdatingTask:_e,isDeletingTask:ue,handleSaveUpdatedTask:Sr,handleDeleteTask:jr,handleToggleTaskCompleted:wr,handleDuplicateItem:Tr,calendarView:jt,setCalendarView:Kt,calendarDate:Jt,setCalendarDate:wt,navigateToDate:dt,confirmDeleteDialog:{open:M,handleClose:()=>O(!1),itemType:U},handleConfirmDelete:re,deleteRecurringDialog:{open:_,handleClose:()=>ae(!1)},handleConfirmDeleteRecurring:Ee,editRecurringDialog:{open:de,handleClose:()=>{le(!1),ve(null)}},handleConfirmEditRecurring:ge,hiddenTabs:p};return t.jsx(ad,{t:b,children:t.jsx(Ua.Provider,{value:Er,children:e})})},ga=s.styled(s.Box)(()=>({display:"flex",flexDirection:"column",gap:.5})),La=s.styled(s.Box)(()=>({display:"flex",alignItems:"baseline",gap:1})),Oa=s.styled(s.Typography)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),Ct="DD/MM/YYYY",ma="HH:mm",vd=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:o,disabled:i,hideLabel:d=!1,allDay:c=!1})=>{const u=Be(),p=l.useMemo(()=>a.diff(e,"minute"),[e,a]),h=l.useMemo(()=>{if(p===0)return"0 min";const x=Math.floor(p/60),T=p%60;return x===0?`${T} min`:T===0?`${x} h`:`${x}.${Math.round(T/60*10)} h`},[p]),y=x=>{if(!x)return;const T=x.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=x.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(T),r(C)},m=x=>{if(!x)return;const T=x.hour(0).minute(0).second(0).millisecond(0);n(T)},g=x=>{if(!x)return;const T=x.hour(23).minute(59).second(59).millisecond(999);r(T)},b=x=>{if(!x)return;const T=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0),C=T.add(p,"minute");n(T),r(C)},S=x=>{if(!x)return;let T=e.hour(x.hour()).minute(x.minute()).second(0).millisecond(0);(T.isBefore(e)||T.isSame(e))&&(T=T.add(1,"day")),r(T)};return i?t.jsxs(ga,{children:[!d&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:u("global.date")}),c?t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,marginTop:"10px"},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(Ct)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(Ct)})]}):t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Ct)}),t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(s.Typography,{variant:"body1",children:e.format(ma)}),t.jsx(s.Typography,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(s.Typography,{variant:"body1",children:a.format(ma)}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",h,")"]})]})]})]}):t.jsxs(ga,{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:Ct,label:u("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:m,minDate:J(),sx:{flex:1}}),t.jsx(Oa,{variant:"body1",children:"\u2013"}),t.jsx(Je.DatePicker,{disabled:i,format:Ct,label:u("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:g,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(s.Box,{sx:{mb:1},children:t.jsx(Je.DatePicker,{disabled:i,format:Ct,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:y,minDate:J()})}),t.jsxs(La,{children:[t.jsx(Je.TimePicker,{disabled:i,format:ma,ampm:!1,slotProps:{textField:()=>({label:u("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:e,onChange:b,sx:{alignSelf:"baseline",flex:1}}),t.jsx(Oa,{variant:"body1",children:"\u2013"}),t.jsxs(s.Box,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Je.TimePicker,{disabled:i,format:ma,ampm:!1,slotProps:{textField:()=>({label:u("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:x=>x.palette.background.panel}}}},value:a,onChange:S,sx:{alignSelf:"baseline",width:"100%"}}),p>0&&t.jsxs(s.Typography,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",h,")"]})]})]})]})}),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 We=({children:e,title:a})=>t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),za=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=Be(),{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(We,{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(We,{title:r("global.title"),children:t.jsx(s.TextField,{...d,value:c,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:i})})},Cd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),Sd=s.styled(s.Box)(()=>({marginBottom:"6px",padding:"4px 0px"})),Hn=s.styled(s.Box)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),jd=s.styled(s.TextField)(()=>({width:"13%"})),wd=s.styled(s.Select)(()=>({width:"23%"})),Td=s.styled(s.Box)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),kd=s.styled(s.IconButton)(()=>({ml:"auto",color:"error"})),Gn=[{title:"minute",value:sa.EventNotificationPeriod.MINUTE},{title:"hour",value:sa.EventNotificationPeriod.HOUR},{title:"day",value:sa.EventNotificationPeriod.DAY}],Id=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:o,disabled:i=!1})=>{const d=Be(),c=e.timeValue??0;return i?t.jsxs(Sd,{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(Cd,{children:[t.jsxs(Hn,{children:[t.jsx(s.Typography,{variant:"body2",sx:{userSelect:"none"},children:d("calendarView.reminders.sendReminder.pt1")}),t.jsx(jd,{disabled:i,onChange:u=>a(u,e.id),value:c,type:"text",variant:"outlined",size:"small"}),t.jsx(wd,{disabled:i,onChange:u=>n(u,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}}},children: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(Td,{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(kd,{disabled:i,onClick:()=>o(e.id),sx:{ml:"auto"},children:t.jsx(ra,{})})]})]})},Ed=s.styled(s.Box)`
|
|
17
17
|
display: 'flex',
|
|
18
18
|
flexDirection: 'column',
|
|
19
19
|
gap: 1,
|
|
20
|
-
`,yd=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),bd=({notificationsField:e,disabled:a})=>{const n=$e(),{addNotification:r,deleteNotification:i,handleReminderChange:o,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs(hd,{children:[t.jsxs(yd,{children:[t.jsx(s.Typography,{variant:"subtitle2",sx:{userSelect:"none"},children:n("calendarView.reminders.title")}),!a&&t.jsx(s.Button,{disabled:a,startIcon:t.jsx(qa,{}),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(md,{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})]})},Hn=({descriptionField:e,disabled:a})=>{const n=$e(),{value:r,type:i,...o}=e.attributes,d=r||"";return a?t.jsx(_e,{title:n("global.description"),children:t.jsx(s.Typography,{variant:"body2",sx:{py:.5,whiteSpace:"pre-wrap",color:c=>c.palette.text.secondary,fontSize:"0.9rem"},children:d||"-"})}):t.jsx(_e,{title:n("global.description"),children:t.jsx(s.TextField,{...o,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},xd=({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=$e();l.useEffect(()=>{if(!a.current)return;const m=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const g=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(g),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!m()){const g=setTimeout(()=>{m()},500);return()=>clearTimeout(g)}},[]);const y=m=>{const g=m.target.value;if(!g||g.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:g,types:["geocode"],sessionToken:i.current||void 0},(v,S)=>{S===window.google.maps.places.PlacesServiceStatus.OK&&v?(d(v),u(!0)):(d([]),u(!1))})},h=(m,g)=>{r.current&&r.current.getDetails({placeId:m,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(v,S)=>{if(S===window.google.maps.places.PlacesServiceStatus.OK&&v?.geometry?.location){const b=v.geometry.location.lat(),j=v.geometry.location.lng(),C=v.formatted_address??g;e({lat:b,lng:j},C),a.current&&(a.current.value=C),u(!1),d([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const m=g=>{a.current&&!a.current.contains(g.target)&&u(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]),t.jsxs("div",{style:{position:"absolute",width:"100%",maxWidth:300,margin:"0 auto",zIndex:13e3,top:"10px",left:"10px"},children:[t.jsx("input",{ref:a,placeholder:p("global.searchLocation","Buscar en Google Maps"),onChange:y,onFocus:()=>o.length>0&&u(!0),style:{width:"100%",padding:"12px 16px 5px",borderRadius:"24px",border:"1px solid #ccc",backgroundColor:"white",fontSize:"15px",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",outline:"none",position:"relative",zIndex:13e3}}),c&&o.length>0&&t.jsx("div",{style:{position:"absolute",top:"100%",left:0,right:0,backgroundColor:"white",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",marginTop:"4px",maxHeight:"300px",overflowY:"auto",zIndex:13001},children:o.map(m=>t.jsxs("div",{onClick:()=>h(m.place_id,m.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:g=>{g.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:g=>{g.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:m.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:m.structured_formatting.secondary_text})]},m.place_id))})]})},Gn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",qn=["places"],Oa={apiKey:Gn,libraries:qn,loading:"async"},ca=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Yn=(e=Gn,a=qn)=>{if(ca())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++,ca()?(clearInterval(c),r()):o>=d&&(clearInterval(c),n(),Yn(e,a).then(r).catch(i))},100)}):new Promise((r,i)=>{try{n();const o="initGoogleMaps";window[o]=()=>{ca()?r():setTimeout(()=>{ca()||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)}})},Lt=(e,a,n=18,r=400,i=400,o="red",d=Oa.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}`,vd=({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),[y,h]=l.useState(a||null),m=18,g=l.useCallback(C=>{h(C),e(C)},[e]);l.useEffect(()=>{let C=!0;(async()=>{try{if(await Yn(Oa.apiKey,Oa.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),c(!1);return}window.google?.maps?.Geocoder&&(o.current=new window.google.maps.Geocoder),c(!1)}catch(w){console.error("Error al cargar Google Maps:",w),c(!1)}})(),a||navigator.geolocation.getCurrentPosition(w=>{const T=w.coords.latitude,P=w.coords.longitude,E=T.toString(),F=P.toString(),A=Lt(T,P,m);g({lat:E,lng:F,title:"",description:"",url:A})},w=>{console.error("Error getting location:",w);const T=-34.6037,P=-58.3816;g({lat:T.toString(),lng:P.toString(),title:"",description:"",url:Lt(T,P,m)})})},[a,g,m]),l.useEffect(()=>{if(d||r.current)return;const C=setTimeout(()=>{r.current||v()},50);return()=>clearTimeout(C)},[d]),l.useEffect(()=>{u&&y&&b()},[u,y]),l.useEffect(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const v=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:m,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,C),r.current.addListener("click",w=>{S(w)}),p(!0)}catch(C){console.error("Error inicializando mapa:",C)}},S=C=>{if(!C.latLng||!o.current)return;const w={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(w):r.current&&(i.current=new window.google.maps.Marker({position:w,map:r.current})),o.current.geocode({location:w},(T,P)=>{if(P==="OK"&&T&&T[0]){const E=T[0].formatted_address,F=Lt(w.lat,w.lng,m);g({lat:w.lat.toString(),lng:w.lng.toString(),title:E||"",description:"",url:F})}else{const E=Lt(w.lat,w.lng,m);g({lat:w.lat.toString(),lng:w.lng.toString(),title:`${w.lat.toFixed(6)}, ${w.lng.toFixed(6)}`,description:"",url:E})}})},b=()=>{if(!(!r.current||!y))try{const C={lat:parseFloat(y.lat),lng:parseFloat(y.lng)};r.current.setCenter(C),i.current?i.current.setPosition(C):i.current=new window.google.maps.Marker({position:C,map:r.current})}catch(C){console.error("Error actualizando mapa:",C)}},j=(C,w)=>{const T=Lt(C.lat,C.lng,m);g({lat:C.lat.toString(),lng:C.lng.toString(),title:w||"",description:"",url:T})};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(xd,{onPlaceSelected:j}),t.jsx("div",{style:{height:"100%"},ref:n})]})},Cd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const i=$e(),[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(y=>{d(y)},[]),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:y=>y.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(_a,{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(vd,{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")})]})]})})]})},Sd=({locationField:e,disabled:a})=>{const n=$e(),[r,i]=l.useState(!1),{value:o,type:d,...c}=e.attributes,u=o||"",p=()=>{a||i(!0)},y=()=>{i(!1)},h=m=>{e.actions.changeValue(m)};return a?t.jsx(s.Box,{children:t.jsx(_e,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Ka,{sx:{opacity:.5,color:m=>m.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:m=>m.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(_e,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(s.TextField,{...c,value:u,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:p,InputProps:{startAdornment:t.jsx(Ka,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(Cd,{open:r,onClose:y,onSelectLocation:h,initialAddress:u})]})},jd=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:i})=>{const o=$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: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(Fe.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(s.ListItemText,{primary:o(c.name),secondary:c?.phone})]},c.id))})},wd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function Td(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,y]=l.useState(!1),[h,m]=l.useState(!1),[g,v]=l.useState(1),[S,b]=l.useState(!1),j=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),b(!1),v(1),m(!1),i([])},[]),C=E=>E.filter(F=>!!F?.id),w=l.useCallback(async({query:E,page:F})=>{if(!e)return;n.current?.abort();const A=new AbortController;n.current=A,u(!0);try{const k={...wd,currentPage:F,filter:[{value:E,column:"name",condition:""}]},N=await od({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:k,signal:A.signal});if(A.signal.aborted)return;const V=C(N?.contactos??[]);d(!0);const O=N?.paginacion?.total??0;i(q=>{const B=F===1?V:(()=>{const te=new Map;for(const H of q)te.set(H.id,H);for(const H of V)te.set(H.id,H);return Array.from(te.values())})();return O&&B.length>=O&&b(!0),B})}finally{u(!1),y(!1),m(!1)}},[e]),T=l.useCallback(E=>{j(),E&&(a.current&&(clearTimeout(a.current),a.current=null),y(!0),a.current=setTimeout(()=>{w({query:E,page:1})},800))},[w,j]),P=l.useCallback((E,F)=>{const A=E.target;if(!(A.scrollHeight-A.scrollTop-A.clientHeight<1)||S||c||!F)return;const k=g+1;m(!0),v(k),w({query:F,page:k})},[S,c,g,w]);return{contactList:r,hasSearched:o,isLoading:c,isLoadingTimer:p,isNextPage:h,handleQueryChanged:T,handleScroll:P,resetSearchState:j}}const Kn=({linkContactsHandler:e,disabled:a=!1})=>{const n=$e(),r=Mn(),i=l.useRef(null),[o,d]=l.useState(null),{action:{handleSearchChange:c,handleSelectContact:u,handleRemoveContact:p},state:{search:y,selectedContacts:h}}=e,{contactList:m,hasSearched:g,isLoading:v,isLoadingTimer:S,handleQueryChanged:b,handleScroll:j,resetSearchState:C}=Td(r),w=y||"",T=!!o&&w.length>0&&!a,P=h.map(k=>k.id);l.useEffect(()=>{w?b(w):C()},[w,b,C]);const E=k=>{c(k),k&&!o?d(i.current):k||d(null)},F=k=>{u(k),d(null),C()},A=()=>{d(null)};return a?t.jsx(_e,{title:n("global.linkContacts"),children:h.length>0?t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:h.map(k=>t.jsx(s.Chip,{icon:t.jsx(Sa,{fontSize:"small"}),label:k.name,size:"small",variant:"outlined"},k.id))}):t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(s.ClickAwayListener,{onClickAway:A,children:t.jsxs(s.Box,{children:[t.jsxs(_e,{title:n("global.linkContacts"),children:[t.jsx(s.TextField,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:w,onChange:k=>E(k.target.value),onFocus:()=>{w&&d(i.current)},InputProps:{startAdornment:t.jsx(Sa,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:v||S?t.jsx(s.CircularProgress,{size:18,sx:{mr:1}}):null}}),h.length>0&&t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:h.map(k=>t.jsx(s.Chip,{icon:t.jsx(Sa,{fontSize:"small"}),label:k.name,size:"small",onDelete:()=>p(k.id)},k.id))})]}),t.jsx(s.Popper,{open:T,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:[g&&m.length>0&&t.jsx(jd,{handleScroll:k=>j(k,w),contactList:m,handleSelectContact:F,selectedContactIds:P,search:w}),g&&m.length===0&&t.jsx(s.Box,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(s.Typography,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},Id=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:i,handleSaveUpdatedEvent:o,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:p,selectedTask:y,handleToggleTaskCompleted:h,event:m,task:g,eventCalendarId:v,taskCalendarId:S}=l.useContext(Ma),b=$e(),j=c==="event",C=!1,w=!1,T=!1,P=()=>{j?n():u()},E=(()=>{if(r==="view")return i;if(r==="edit")return j?()=>o?.():()=>p?.();if(r==="create")return P})(),F=b(r==="view"?j?"global.editEvent":"global.editTask":r==="edit"?j?"global.saveEvent":"global.saveTask":j?"global.createEvent":"global.createTask"),A=j?C:T,k=()=>{if(r==="view")return!0;const q=j?m:g,B=j?v:S;return q?.titleField?.attributes?.value?.trim().length>0&&!!B},N=e||!k(),V=!j&&r==="view",O=y?.isCompleted||!1;return V?t.jsx(s.DialogActions,{children:t.jsx(et.LoadingButton,{startIcon:t.jsx(Fe.CheckCircleOutline,{}),size:"small",loading:T,disabled:T,onClick:h,variant:"contained",color:O?"inherit":"primary",children:O?b("global.markAsIncomplete","Marcar como incompleta"):b("global.markAsCompleted","Marcar como completada")})}):t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:b("global.cancel")}),j&&(r==="edit"||r==="view")&&t.jsx(et.LoadingButton,{startIcon:t.jsx(Fe.EventAvailable,{}),size:"small",disabled:e,loading:w,onClick:d,variant:"contained",children:b("global.finalizeEvent")}),t.jsx(et.LoadingButton,{startIcon:t.jsx(Fe.EditCalendar,{}),size:"small",loading:A,disabled:N,onClick:E,variant:"contained",children:F})]})},Jn={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},kd=({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:{...Jn},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Jn},color:"primary",children:n.task})]}),Ed="DD/MM/YYYY",Dd="HH:mm",Ad=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:i=!1})=>{const o=$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(la,{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(Ed)}),t.jsx(s.Typography,{variant:"body1",children:e.format(Dd)})]})]}):t.jsxs(la,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:o("global.date")}),t.jsx(Ra,{children:t.jsxs(Ye.LocalizationProvider,{dateAdapter:Ya.AdapterDayjs,children:[t.jsx(Ye.DatePicker,{disabled:n,value:e,onChange:d,slotProps:{textField:()=>({label:o("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:Q()}),t.jsx(Na,{variant:"body1",children:"_"}),t.jsx(Ye.TimePicker,{disabled:n,value:e,onChange:c,ampm:!1,slotProps:{textField:()=>({label:o("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:u=>u.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(s.Fade,{in:r,children:t.jsx(s.Typography,{color:"red",variant:"caption",children:o("conversations.sidebar.events.errorDate")})})]})},Qn=({disabled:e,calendars:a,userId:n,value:r,onChange:i,loading:o=!1})=>{const d=$e(),c=l.useMemo(()=>a??[],[a]),u=l.useMemo(()=>c.find(p=>p.id===r)??null,[c,r]);return e?t.jsx(_e,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Ur,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:p=>p.palette.text.secondary,fontSize:"0.9rem"},children:u?.title||"-"})]})}):t.jsx(_e,{title:d("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e||o,size:"small",fullWidth:!0,options:c,value:u,onChange:(p,y)=>i(y?.id??""),getOptionLabel:p=>p?.title??"",isOptionEqualToValue:(p,y)=>p.id===y.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:y=>y.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]})}})})})},Fd=({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:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},Bd=({colorField:e,disabled:a,onColorChange:n})=>{const r=$e(),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]),y=parseInt(u[2]),h=parseInt(u[3]),m=g=>{const v=g.toString(16);return v.length===1?"0"+v:v};return`#${m(p)}${m(y)}${m(h)}`}return"#1976d2"})(i),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(_e,{title:r("global.color","Color"),children:t.jsxs(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(s.Box,{sx:{width:40,height:40,backgroundColor: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(_e,{title:r("global.color","Color"),children:t.jsx(s.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value: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"}})})})},Xn=[{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"}],$d=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const i=$e(),o=p=>{a(p.target.value)},d=l.useMemo(()=>Xn.map(p=>t.jsx(s.MenuItem,{value:p.value,children:i(p.label,p.label)},p.value)),[i]),c=l.useMemo(()=>{const p=Xn.find(y=>y.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(ja,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(_e,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(ja,{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(ja,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}}},children:d});return r?u:t.jsx(_e,{title:i("global.recurrence","Recurrencia"),children:u})},Md=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:i})=>{const{t:o}=qe.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(Rr,{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")})]})]})},Pd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=qe.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")})]})]})},Ud=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=qe.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")})]})]})},Rd=()=>{const e=$e(),{event:a,task:n,dialogMode:r,selectedEvent:i,handleDeleteEvent:o,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:y,taskCalendarId:h,setTaskCalendarId:m,eventCalendarId:g,setEventCalendarId:v,myCalendars:S,otherCalendars:b,isLoadingCalendars:j,handleDeleteTask:C,userManuallyChangedColor:w,setUserManuallyChangedColor:T,eventDialog:{open:P,handleClose:E},confirmDeleteDialog:F,handleConfirmDelete:A,deleteRecurringDialog:k,handleConfirmDeleteRecurring:N,editRecurringDialog:V,handleConfirmEditRecurring:O,hiddenTabs:q,savingSnackbar:B,handleCloseSnackbar:te}=l.useContext(Ma);if(!a||!n)return t.jsx(s.Modal,{open:P,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:P,timeout:200,children:t.jsx(s.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:K=>K.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const H=u==="event",z=H?a:n,I=H?i:y,M=l.useRef(null),W=l.useRef(null);l.useEffect(()=>{P||(M.current=null,W.current=null)},[P]);const{titleField:R,descriptionField:G,date:_,linkContact:ae}=z,ue=H?a.notifications:null,le=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,Se=e(r==="edit"?H?"global.editEvent":"global.editTask":r==="create"?H?"global.createEvent":"global.createTask":H?"global.showEvent":"global.showTask"),ve=(r==="edit"||r==="view")&&!!I?.id,Z=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!P||w||!g)return;const K=S.find(pe=>pe.id===g);K?.color&&a.colorField.actions.changeValue(K.color)},[r,u,P,g,w,S]),l.useEffect(()=>{if(!P||u!=="event"||r!=="edit")return;const K=_.state.selectedStartDate.isAfter(_.state.selectedEndDate)&&!_.state.selectedStartDate.isSame(_.state.selectedEndDate,"minute");W.current!==K&&(W.current=K,_.action.setError(K))},[P,u,r,_.state.selectedStartDate.valueOf(),_.state.selectedEndDate.valueOf()]),l.useEffect(()=>{if(!P||r==="create")return;const K=I?.relatedContact;K?.id&&M.current!==K.id&&(M.current=K.id,ae.action.resetField(),ae.action.handleSelectContact({id:K.id,name:K.name}))},[P,r,I?.id]);const Ne=K=>{if(K==="task"){const pe=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(pe),n.date.action.setSelectedEndDate(pe),n.date.action.setError(!1),a.date.action.setError(!1)}else{const pe=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(pe),a.date.action.setError(!1),n.date.action.setError(!1)}p(K)},de=K=>{a.colorField.actions.changeValue(K),T(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:P,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:P,timeout:200,children:t.jsxs(s.Box,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",maxHeight:"calc(100vh - 64px)",bgcolor:K=>K.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:[t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:2,p:3,pt:4,overflowY:"auto",flex:1},children:[t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",justifyContent:r==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[r!=="create"&&t.jsx(s.Typography,{sx:{fontWeight:600},children:Se}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[Z&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(jt,{fontSize:"small"})}),ve&&t.jsx(s.IconButton,{size:"small",onClick:H?o:C,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(Xt,{fontSize:"small"})}),Z&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Nr,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(La,{disabled:!1,titleField:R,variantMode:"inline"}),!q&&t.jsx(kd,{value:u,onChange:Ne,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(La,{disabled:r==="view",titleField:R}),t.jsx(Hn,{disabled:r==="view",descriptionField:G}),t.jsx(Qn,{disabled:r==="view",calendars:[...S,...b],userId:S[0]?.userId,value:g,onChange:K=>v(K),loading:j}),t.jsxs(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:K=>K.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsx(s.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:t.jsx(s.Box,{sx:{flex:1},children:t.jsx(ld,{disabled:r==="view",selectedStartDate:_.state.selectedStartDate,selectedEndDate:_.state.selectedEndDate,handleSelectStart:_.action.handleSelect(_.action.setSelectedStartDate),handleSelectEnd:_.action.handleSelect(_.action.setSelectedEndDate),isError:_.state.error,hideLabel:!0,allDay:le?.allDay??!1})})}),le&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(Fd,{checked:le.allDay,onChange:le.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx($d,{disabled:r==="view",value:le.recurrenceRule,onChange:le.setRecurrenceRule,hideLabel:!0})})]})]}),le&&t.jsx(t.Fragment,{children:t.jsx(Bd,{disabled:r==="view",colorField:le.colorField,onColorChange:r==="create"?de:void 0})}),ue&&t.jsx(bd,{disabled:r==="view",notificationsField:ue}),t.jsx(Kn,{linkContactsHandler:ae,disabled:r==="view"}),le&&t.jsx(Sd,{disabled:r==="view",locationField:le.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(La,{disabled:r==="view",titleField:R}),t.jsx(Hn,{disabled:r==="view",descriptionField:G}),t.jsx(Qn,{disabled:r==="view",calendars:[...S,...b],userId:S[0]?.userId,value:h,onChange:K=>m(K),loading:j}),t.jsx(s.Box,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:K=>K.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(s.Box,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(Lr,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Ad,{disabled:r==="view",selectedDateTime:_.state.selectedStartDate,handleSelect:K=>{_.action.setSelectedStartDate(K),_.action.setSelectedEndDate(K),_.action.setError(!1)},isError:_.state.error,hideLabel:!0})})]})}),t.jsx(Kn,{linkContactsHandler:ae,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(Id,{isFinalized:i?.finalized})})]})})}),t.jsx(Md,{open:F.open,onClose:F.handleClose,onConfirm:A,itemTitle:F.itemType==="event"?i?.title:y?.title,itemType:F.itemType}),t.jsx(Pd,{open:k.open,onClose:k.handleClose,onConfirm:N,eventTitle:i?.title}),t.jsx(Ud,{open:V.open,onClose:V.handleClose,onConfirm:O,eventTitle:i?.title}),t.jsx(s.Snackbar,{open:B.open,autoHideDuration:6e3,onClose:te,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:te,severity:B.severity,sx:{width:"100%"},variant:"filled",children:B.message})})]})},Zn=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}}}}}})},Nd=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:i,language:o="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:p,selectedEvent:y,selectedTask:h,hiddenTabs:m=!1,onActionComplete:g,contactId:v}=e,{i18n:S}=qe.useTranslation();return l.useEffect(()=>{o&&S.changeLanguage(o)},[o,S]),t.jsx(xl,{value:{baseUrl:r,spaceId:i},children:t.jsx(id,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:y,externalSelectedTask:h,hiddenTabs:m,externalOnActionComplete:g,externalContactId:v,children:t.jsx(Rd,{})})})},Ld=e=>{const a=s.useTheme(),n=a?.palette?a:s.createTheme(),r=Zn(n);return t.jsx(s.ThemeProvider,{theme:r,children:t.jsx(qe.I18nextProvider,{i18n:Dt,children:t.jsx(Nd,{...e})})})},ua=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)"}}),er=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)"}}),tr=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)"}}),ar=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)"}}),nr=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)"}}),rr=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)"}}),sr=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)"}}),or=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)"}}),ir=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)"}}),lr=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)"}}),dr=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)"}}),cr=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)"}}),ur=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)"}}),pr=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)"}}),fr=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)"}}),Od="https://agent-api.trii.app/api/v1/settings/user/setTheme",zd={themeSelected:ua,darkMode:!1,toggleStatus:"idle"},gr=Ja.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await Or.put(Od,r)).data}),mr=Ja.createSlice({name:"Theme",initialState:zd,reducers:{toggleTheme:(e,a)=>{const n=hr(a.payload);Object.assign(e,{themeSelected:n,toggleStatus:"toggled"})},toggleModeTheme:e=>{e.darkMode=!e.darkMode}},extraReducers:e=>{e.addCase(gr.fulfilled,(a,n)=>{const r=hr(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),hr=e=>{switch(e){case"lightBlueIndigo":return ua;case"darkBlack":return fr;case"darkBlue":return pr;case"lightAmber":return lr;case"lightBlue":return er;case"lightBrown":return cr;case"lightGray":return ur;case"lightGreen":return ar;case"lightLime":return or;case"lightOrange":return dr;case"lightPink":return nr;case"lightPurple":return rr;case"lightRed":return tr;case"lightTeal":return sr;case"lightYellow":return ir;default:return ua}},Wd=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:_d,toggleModeTheme:Vd}=mr.actions,Hd=e=>e.Theme.toggleStatus,Gd=e=>e.Theme.themeSelected,qd=e=>e.Theme.darkMode;mr.reducer,exports.ContactInfoPopup=an,exports.EditContactModal=bl,exports.EventsDialog=Ld,exports.MuiComponentsConfig=Zn,exports.darkBlack=fr,exports.darkBlue=pr,exports.i18n=Dt,exports.isValidThemeName=Wd,exports.lightAmber=lr,exports.lightBlue=er,exports.lightBlueIndigo=ua,exports.lightBrown=cr,exports.lightGray=ur,exports.lightGreen=ar,exports.lightLime=or,exports.lightOrange=dr,exports.lightPink=nr,exports.lightPurple=rr,exports.lightRed=tr,exports.lightTeal=sr,exports.lightYellow=ir,exports.selectThemeToggleStatus=Hd,exports.selectedDarkTheme=qd,exports.selectedTheme=Gd,exports.toggleModeTheme=Vd,exports.toggleTheme=_d,exports.updateTheme=gr;
|
|
20
|
+
`,Dd=s.styled(s.Box)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),Ad=({notificationsField:e,disabled:a})=>{const n=Be(),{addNotification:r,deleteNotification:o,handleReminderChange:i,handleTimeFieldChange:d,handleTimePeriodChange:c}=e.action,u=e.notifications.length>0;return t.jsxs(Ed,{children:[t.jsxs(Dd,{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(Id,{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=Be(),{value:r,type:o,...i}=e.attributes,d=r||"";return a?t.jsx(We,{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(We,{title:n("global.description"),children:t.jsx(s.TextField,{...i,value:d,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},Fd=({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=Be();l.useEffect(()=>{if(!a.current)return;const m=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const g=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(g),o.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!m()){const g=setTimeout(()=>{m()},500);return()=>clearTimeout(g)}},[]);const h=m=>{const g=m.target.value;if(!g||g.length<3||!n.current){d([]),u(!1);return}n.current.getPlacePredictions({input:g,types:["geocode"],sessionToken:o.current||void 0},(b,S)=>{S===window.google.maps.places.PlacesServiceStatus.OK&&b?(d(b),u(!0)):(d([]),u(!1))})},y=(m,g)=>{r.current&&r.current.getDetails({placeId:m,fields:["geometry","formatted_address"],sessionToken:o.current||void 0},(b,S)=>{if(S===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const x=b.geometry.location.lat(),T=b.geometry.location.lng(),C=b.formatted_address??g;e({lat:x,lng:T},C),a.current&&(a.current.value=C),u(!1),d([]),o.current=new window.google.maps.places.AutocompleteSessionToken}})};return l.useEffect(()=>{const m=g=>{a.current&&!a.current.contains(g.target)&&u(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]),t.jsxs("div",{style:{position:"absolute",width:"100%",maxWidth:300,margin:"0 auto",zIndex:13e3,top:"10px",left:"10px"},children:[t.jsx("input",{ref:a,placeholder:p("global.searchLocation","Buscar en Google Maps"),onChange:h,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(m=>t.jsxs("div",{onClick:()=>y(m.place_id,m.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:g=>{g.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:g=>{g.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:m.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:m.structured_formatting.secondary_text})]},m.place_id))})]})},qn="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Kn=["places"],Wa={apiKey:qn,libraries:Kn,loading:"async"},ha=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Jn=(e=qn,a=Kn)=>{if(ha())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(r=>{r.parentNode?.removeChild(r)})};return document.getElementById("google-maps-script")?new Promise((r,o)=>{let i=0;const d=100,c=setInterval(()=>{i++,ha()?(clearInterval(c),r()):i>=d&&(clearInterval(c),n(),Jn(e,a).then(r).catch(o))},100)}):new Promise((r,o)=>{try{n();const i="initGoogleMaps";window[i]=()=>{ha()?r():setTimeout(()=>{ha()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),r()},500)};const d=document.createElement("script");d.id="google-maps-script",d.type="text/javascript";const c=Array.isArray(a)?a.join(","):a;d.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${c}&callback=${i}&loading=async`,d.async=!0,d.defer=!0,d.onerror=()=>{delete window[i],o(new Error("Error al cargar Google Maps API"))},document.head.appendChild(d)}catch(i){o(i)}})},Yt=(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}`,Bd=({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),[h,y]=l.useState(a||null),m=18,g=l.useCallback(C=>{y(C),e(C)},[e]);l.useEffect(()=>{let C=!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,$=j.coords.longitude,E=w.toString(),F=$.toString(),D=Yt(w,$,m);g({lat:E,lng:F,title:"",description:"",url:D})},j=>{console.error("Error getting location:",j);const w=-34.6037,$=-58.3816;g({lat:w.toString(),lng:$.toString(),title:"",description:"",url:Yt(w,$,m)})})},[a,g,m]),l.useEffect(()=>{if(d||r.current)return;const C=setTimeout(()=>{r.current||b()},50);return()=>clearTimeout(C)},[d]),l.useEffect(()=>{u&&h&&x()},[u,h]),l.useEffect(()=>()=>{o.current&&(o.current.setMap(null),o.current=null)},[]);const b=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:m,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,C),r.current.addListener("click",j=>{S(j)}),p(!0)}catch(C){console.error("Error inicializando mapa:",C)}},S=C=>{if(!C.latLng||!i.current)return;const j={lat:C.latLng.lat(),lng:C.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,$)=>{if($==="OK"&&w&&w[0]){const E=w[0].formatted_address,F=Yt(j.lat,j.lng,m);g({lat:j.lat.toString(),lng:j.lng.toString(),title:E||"",description:"",url:F})}else{const E=Yt(j.lat,j.lng,m);g({lat:j.lat.toString(),lng:j.lng.toString(),title:`${j.lat.toFixed(6)}, ${j.lng.toFixed(6)}`,description:"",url:E})}})},x=()=>{if(!(!r.current||!h))try{const C={lat:parseFloat(h.lat),lng:parseFloat(h.lng)};r.current.setCenter(C),o.current?o.current.setPosition(C):o.current=new window.google.maps.Marker({position:C,map:r.current})}catch(C){console.error("Error actualizando mapa:",C)}},T=(C,j)=>{const w=Yt(C.lat,C.lng,m);g({lat:C.lat.toString(),lng:C.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(Fd,{onPlaceSelected:T}),t.jsx("div",{style:{height:"100%"},ref:n})]})},$d=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const o=Be(),[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(h=>{d(h)},[]),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:h=>h.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(Bd,{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")})]})]})})]})},Md=({locationField:e,disabled:a})=>{const n=Be(),[r,o]=l.useState(!1),{value:i,type:d,...c}=e.attributes,u=i||"",p=()=>{a||o(!0)},h=()=>{o(!1)},y=m=>{e.actions.changeValue(m)};return a?t.jsx(s.Box,{children:t.jsx(We,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(Qa,{sx:{opacity:.5,color:m=>m.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body1",sx:{color:m=>m.palette.text.secondary,fontSize:"0.9rem"},children:u||"-"})]})})}):t.jsxs(s.Box,{children:[t.jsx(We,{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(Qa,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx($d,{open:r,onClose:h,onSelectLocation:y,initialAddress:u})]})},Pd=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:r,search:o})=>{const i=Be(),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(Ae.Person,{sx:{color:u=>u.palette.text.disabled}})}),t.jsx(s.ListItemText,{primary:i(c.name),secondary:c?.phone})]},c.id))})},Ud={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function Rd(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,h]=l.useState(!1),[y,m]=l.useState(!1),[g,b]=l.useState(1),[S,x]=l.useState(!1),T=l.useCallback(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),d(!1),x(!1),b(1),m(!1),o([])},[]),C=E=>E.filter(F=>!!F?.id),j=l.useCallback(async({query:E,page:F})=>{if(!e)return;n.current?.abort();const D=new AbortController;n.current=D,u(!0);try{const I={...Ud,currentPage:F,filter:[{value:E,column:"name",condition:""}]},R=await bd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:I,signal:D.signal});if(D.signal.aborted)return;const V=C(R?.contactos??[]);d(!0);const W=R?.paginacion?.total??0;o(Y=>{const B=F===1?V:(()=>{const X=new Map;for(const H of Y)X.set(H.id,H);for(const H of V)X.set(H.id,H);return Array.from(X.values())})();return W&&B.length>=W&&x(!0),B})}finally{u(!1),h(!1),m(!1)}},[e]),w=l.useCallback(E=>{T(),E&&(a.current&&(clearTimeout(a.current),a.current=null),h(!0),a.current=setTimeout(()=>{j({query:E,page:1})},800))},[j,T]),$=l.useCallback((E,F)=>{const D=E.target;if(!(D.scrollHeight-D.scrollTop-D.clientHeight<1)||S||c||!F)return;const I=g+1;m(!0),b(I),j({query:F,page:I})},[S,c,g,j]);return{contactList:r,hasSearched:i,isLoading:c,isLoadingTimer:p,isNextPage:y,handleQueryChanged:w,handleScroll:$,resetSearchState:T}}const Qn=({linkContactsHandler:e,disabled:a=!1})=>{const n=Be(),r=Un(),o=l.useRef(null),[i,d]=l.useState(null),{action:{handleSearchChange:c,handleSelectContact:u,handleRemoveContact:p},state:{search:h,selectedContacts:y}}=e,{contactList:m,hasSearched:g,isLoading:b,isLoadingTimer:S,handleQueryChanged:x,handleScroll:T,resetSearchState:C}=Rd(r),j=h||"",w=!!i&&j.length>0&&!a,$=y.map(I=>I.id);l.useEffect(()=>{j?x(j):C()},[j,x,C]);const E=I=>{c(I),I&&!i?d(o.current):I||d(null)},F=I=>{u(I),d(null),C()},D=()=>{d(null)};return a?t.jsx(We,{title:n("global.linkContacts"),children:y.length>0?t.jsx(s.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:y.map(I=>t.jsx(s.Chip,{icon:t.jsx(wa,{fontSize:"small"}),label:I.name,size:"small",variant:"outlined"},I.id))}):t.jsx(s.Typography,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(s.ClickAwayListener,{onClickAway:D,children:t.jsxs(s.Box,{children:[t.jsxs(We,{title:n("global.linkContacts"),children:[t.jsx(s.TextField,{ref:o,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:j,onChange:I=>E(I.target.value),onFocus:()=>{j&&d(o.current)},InputProps:{startAdornment:t.jsx(wa,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:b||S?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(I=>t.jsx(s.Chip,{icon:t.jsx(wa,{fontSize:"small"}),label:I.name,size:"small",onDelete:()=>p(I.id)},I.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:[g&&m.length>0&&t.jsx(Pd,{handleScroll:I=>T(I,j),contactList:m,handleSelectContact:F,selectedContactIds:$,search:j}),g&&m.length===0&&t.jsx(s.Box,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(s.Typography,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},Nd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:o,handleSaveUpdatedEvent:i,handleEndEvent:d,dialogType:c,handleCreateTask:u,handleSaveUpdatedTask:p,selectedTask:h,handleToggleTaskCompleted:y,event:m,task:g,eventCalendarId:b,taskCalendarId:S,isCreatingEvent:x,isUpdatingEvent:T,isCreatingTask:C,isUpdatingTask:j}=l.useContext(Ua),w=Be(),$=c==="event",E=x,F=T,D=!1,I=C,R=j,V=()=>{$?n():u()},W=(()=>{if(r==="view")return o;if(r==="edit")return $?()=>i?.():()=>p?.();if(r==="create")return V})(),Y=w(r==="view"?$?"global.editEvent":"global.editTask":r==="edit"?$?"global.saveEvent":"global.saveTask":$?"global.createEvent":"global.createTask"),B=$?E||F:I||R,X=()=>{if(r==="view")return!0;const M=$?m:g,O=$?b:S;return M?.titleField?.attributes?.value?.trim().length>0&&!!O},H=$?E||F||e||!X():I||R||e||!X(),L=!$&&r==="view",k=h?.isCompleted||!1;return L?t.jsx(s.DialogActions,{children:t.jsx(tt.LoadingButton,{startIcon:t.jsx(Ae.CheckCircleOutline,{}),size:"small",loading:R,disabled:R,onClick:y,variant:"contained",color:k?"inherit":"primary",children:k?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")}),$&&(r==="edit"||r==="view")&&t.jsx(tt.LoadingButton,{startIcon:t.jsx(Ae.EventAvailable,{}),size:"small",disabled:e,loading:D,onClick:d,variant:"contained",children:w("global.finalizeEvent")}),t.jsx(tt.LoadingButton,{startIcon:t.jsx(Ae.EditCalendar,{}),size:"small",loading:B,disabled:H,onClick:W,variant:"contained",children:Y})]})},Xn={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},Ld=({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:{...Xn},children:n.event}),t.jsx(s.Button,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Xn},color:"primary",children:n.task})]}),Od="DD/MM/YYYY",zd="HH:mm",Wd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:o=!1})=>{const i=Be(),d=u=>{if(!u)return;const p=u.hour(e.hour()).minute(e.minute());a(p)},c=u=>{if(!u)return;const p=e.hour(u.hour()).minute(u.minute());a(p)};return n?t.jsxs(ga,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:i("global.date")}),t.jsxs(s.Box,{children:[t.jsx(s.Typography,{variant:"body1",sx:{mb:1},children:e.format(Od)}),t.jsx(s.Typography,{variant:"body1",children:e.format(zd)})]})]}):t.jsxs(ga,{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(Oa,{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=Be(),c=l.useMemo(()=>a??[],[a]),u=l.useMemo(()=>{const p=c.find(h=>h.id===r);return e&&r&&!p&&!i&&console.warn("TaskCalendarSelect: Calendario no encontrado",{calendarId:r,availableCalendars:c.map(h=>({id:h.id,title:h.title})),totalCalendars:c.length}),p??null},[c,r,e,i]);if(e){if(i)return t.jsx(We,{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:h=>h.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(We,{title:d("global.calendar"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[u&&t.jsx(qr,{sx:{opacity:.5,color:h=>h.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"subtitle2",sx:{color:h=>h.palette.text.secondary,fontSize:"0.9rem"},children:p})]})})}return t.jsx(We,{title:d("global.calendar"),children:t.jsx(s.Autocomplete,{disabled:e||i,size:"small",fullWidth:!0,options:c,value:u,onChange:(p,h)=>o(h?.id??""),getOptionLabel:p=>p?.title??"",isOptionEqualToValue:(p,h)=>p.id===h.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:h=>h.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]})}})})})},_d=({checked:e,onChange:a,disabled:n})=>{const r=Be();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")})})},Vd=({colorField:e,disabled:a,onColorChange:n})=>{const r=Be(),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]),h=parseInt(u[2]),y=parseInt(u[3]),m=g=>{const b=g.toString(16);return b.length===1?"0"+b:b};return`#${m(p)}${m(h)}${m(y)}`}return"#1976d2"})(o),d=c=>{const u=c.target.value;n?n(u):e.actions.changeValue(u)};return a?t.jsx(We,{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(We,{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"}],Hd=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const o=Be(),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(h=>h.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(Ta,{sx:{opacity:.5,color:p=>p.palette.text.secondary},fontSize:"small"}),t.jsx(s.Typography,{variant:"body2",children:c})]}):t.jsx(We,{title:o("global.recurrence","Recurrencia"),children:t.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ta,{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(Ta,{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(We,{title:o("global.recurrence","Recurrencia"),children:u})},Gd=({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(Kr,{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")})]})]})},Yd=({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")})]})]})},qd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:o}=Ke.useTranslation(),[i,d]=l.useState("single"),c=()=>{n(i==="all"),a()},u=()=>{d("single"),a()};return t.jsxs(s.Dialog,{open:e,onClose:u,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(s.DialogTitle,{children:o("calendar.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")})]})]})},Kd=()=>{const e=Be(),{event:a,task:n,dialogMode:r,selectedEvent:o,handleDeleteEvent:i,handleStartEditingEvent:d,handleDuplicateItem:c,dialogType:u,setDialogType:p,selectedTask:h,taskCalendarId:y,setTaskCalendarId:m,eventCalendarId:g,setEventCalendarId:b,myCalendars:S,otherCalendars:x,isLoadingCalendars:T,handleDeleteTask:C,userManuallyChangedColor:j,setUserManuallyChangedColor:w,eventDialog:{open:$,handleClose:E},confirmDeleteDialog:F,handleConfirmDelete:D,deleteRecurringDialog:I,handleConfirmDeleteRecurring:R,editRecurringDialog:V,handleConfirmEditRecurring:W,hiddenTabs:Y,savingSnackbar:B,handleCloseSnackbar:X}=l.useContext(Ua);if(!a||!n)return t.jsx(s.Modal,{open:$,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:$,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",L=H?a:n,k=H?o:h,M=l.useRef(null),O=l.useRef(null);l.useEffect(()=>{$||(M.current=null,O.current=null)},[$]);const{titleField:U,descriptionField:G,date:_,linkContact:ae}=L,de=H?a.notifications:null,le=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,Se=e(r==="edit"?H?"global.editEvent":"global.editTask":r==="create"?H?"global.createEvent":"global.createTask":H?"global.showEvent":"global.showTask"),ve=(r==="edit"||r==="view")&&!!k?.id,Z=r==="view";l.useEffect(()=>{if(r!=="create"||u!=="event"||!$||j||!g)return;const q=S.find(pe=>pe.id===g);q?.color&&a.colorField.actions.changeValue(q.color)},[r,u,$,g,j,S]),l.useEffect(()=>{if(!$||u!=="event"||r!=="edit")return;const q=_.state.selectedStartDate.isAfter(_.state.selectedEndDate)&&!_.state.selectedStartDate.isSame(_.state.selectedEndDate,"minute");O.current!==q&&(O.current=q,_.action.setError(q))},[$,u,r,_.state.selectedStartDate.valueOf(),_.state.selectedEndDate.valueOf()]),l.useEffect(()=>{if(!$||r==="create")return;const q=k?.relatedContact;q?.id&&M.current!==q.id&&(M.current=q.id,ae.action.resetField(),ae.action.handleSelectContact({id:q.id,name:q.name}))},[$,r,k?.id]);const Ue=q=>{if(q==="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(q)},ce=q=>{a.colorField.actions.changeValue(q),w(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(s.Modal,{open:$,onClose:E,closeAfterTransition:!0,slots:{backdrop:s.Backdrop},slotProps:{backdrop:{timeout:200}},children:t.jsx(s.Fade,{in:$,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:Se}),t.jsxs(s.Box,{sx:{display:"flex",gap:1},children:[Z&&t.jsx(s.IconButton,{size:"small",onClick:d,"aria-label":e("global.edit","Editar"),children:t.jsx(Ft,{fontSize:"small"})}),ve&&t.jsx(s.IconButton,{size:"small",onClick:H?i:C,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(ra,{fontSize:"small"})}),Z&&t.jsx(s.IconButton,{size:"small",onClick:c,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Jr,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(za,{disabled:!1,titleField:U,variantMode:"inline"}),!Y&&t.jsx(Ld,{value:u,onChange:Ue,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),u==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(za,{disabled:r==="view",titleField:U}),t.jsx(Yn,{disabled:r==="view",descriptionField:G}),t.jsx(Zn,{disabled:r==="view",calendars:[...S,...x],userId:S[0]?.userId,value:g,onChange:q=>b(q),loading:T}),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(vd,{disabled:r==="view",selectedStartDate:_.state.selectedStartDate,selectedEndDate:_.state.selectedEndDate,handleSelectStart:_.action.handleSelect(_.action.setSelectedStartDate),handleSelectEnd:_.action.handleSelect(_.action.setSelectedEndDate),isError:_.state.error,hideLabel:!0,allDay:le?.allDay??!1})})}),le&&t.jsxs(s.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(_d,{checked:le.allDay,onChange:le.setAllDay,disabled:r==="view"}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Hd,{disabled:r==="view",value:le.recurrenceRule,onChange:le.setRecurrenceRule,hideLabel:!0})})]})]}),le&&t.jsx(t.Fragment,{children:t.jsx(Vd,{disabled:r==="view",colorField:le.colorField,onColorChange:r==="create"?ce:void 0})}),de&&t.jsx(Ad,{disabled:r==="view",notificationsField:de}),t.jsx(Qn,{linkContactsHandler:ae,disabled:r==="view"}),le&&t.jsx(Md,{disabled:r==="view",locationField:le.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(za,{disabled:r==="view",titleField:U}),t.jsx(Yn,{disabled:r==="view",descriptionField:G}),t.jsx(Zn,{disabled:r==="view",calendars:[...S,...x],userId:S[0]?.userId,value:y,onChange:q=>m(q),loading:T}),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(Qr,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(s.Box,{sx:{flex:1},children:t.jsx(Wd,{disabled:r==="view",selectedDateTime:_.state.selectedStartDate,handleSelect:q=>{_.action.setSelectedStartDate(q),_.action.setSelectedEndDate(q),_.action.setError(!1)},isError:_.state.error,hideLabel:!0})})]})}),t.jsx(Qn,{linkContactsHandler:ae,disabled:r==="view"})]})]}),t.jsx(s.Box,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(Nd,{isFinalized:o?.finalized})})]})})}),t.jsx(Gd,{open:F.open,onClose:F.handleClose,onConfirm:D,itemTitle:F.itemType==="event"?o?.title:h?.title,itemType:F.itemType}),t.jsx(Yd,{open:I.open,onClose:I.handleClose,onConfirm:R,eventTitle:o?.title}),t.jsx(qd,{open:V.open,onClose:V.handleClose,onConfirm:W,eventTitle:o?.title}),t.jsx(s.Snackbar,{open:B.open,autoHideDuration:6e3,onClose:X,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:t.jsx(s.Alert,{onClose:X,severity:B.severity,sx:{width:"100%"},variant:"filled",children:B.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}}}}}})},Jd=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:o,language:i="en",mode:d="create",type:c="event",eventCalendarId:u,taskCalendarId:p,selectedEvent:h,selectedTask:y,hiddenTabs:m=!1,onActionComplete:g,contactId:b}=e,{i18n:S}=Ke.useTranslation();return l.useEffect(()=>{i&&S.changeLanguage(i)},[i,S]),t.jsx(Fl,{value:{baseUrl:r,spaceId:o},children:t.jsx(xd,{externalOpen:a,externalOnClose:n,externalMode:d,externalType:c,externalEventCalendarId:u,externalTaskCalendarId:p,externalSelectedEvent:h,externalSelectedTask:y,hiddenTabs:m,externalOnActionComplete:g,externalContactId:b,children:t.jsx(Kd,{})})})},Qd=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:Rt,children:t.jsx(Jd,{...e})})})},ya=s.createTheme({name:"lightBlueIndigo",palette:{mode:"light",background:{default:"#ffffff",mainCenter:"#ebf6fd",mainGradient:"linear-gradient(270deg, #215c97, #1976d2)",navMenu:"#1976d2",dropdownMenu:"#f5f5f5",panel:"#ffffff",tooltip:"#1976d2",accordionHeader:"#F3F4F6",panelHeader:"#F3F4F6",panelCenter:"#ffffff",panelGradient:"#ffffff",paper:"#ffffff"},primary:{main:"#1976d2",light:"#42a5f5",dark:"#1565c0",contrastText:"#fff"},secondary:{main:"#1976d2",light:"#ba68c8",dark:"#7b1fa2",contrastText:"rgba(0, 0, 0, 0.87)"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20"},containerBox:{default:"#ffffff",main:"#f5f5f5"},action:{active:"rgba(0, 0, 0, 0.10)",hover:"rgba(0, 0, 0, 0.05)",selected:"#ebf6fd",disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(255, 255, 255, 0.12)"},text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.58)",colorMain:"#1976d2"},divider:"rgba(0, 0, 0, 0.12)",dropdownBox:"#ffffff",color:{icons:"#1976d2"},cellHeader:"#d3d3d3",Skeleton:{bg:"#f5f5f5"},messageBox:"#d3e6fd",boxShadow:"rgba(0, 0, 0, 0.1)",disabled:"rgba(0, 0, 0, 0.26)"}}),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)"}}),Xd="https://agent-api.trii.app/api/v1/settings/user/setTheme",Zd={themeSelected:ya,darkMode:!1,toggleStatus:"idle"},hr=Xa.createAsyncThunk("Theme/updateTheme",async(e,{getState:a})=>{const{uid:n}=a().User.user,r=JSON.stringify({theme:e,uid:n});return(await Xr.put(Xd,r)).data}),yr=Xa.createSlice({name:"Theme",initialState:Zd,reducers:{toggleTheme:(e,a)=>{const n=br(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=br(n.payload.theme);Object.assign(a,{themeSelected:r})})}}),br=e=>{switch(e){case"lightBlueIndigo":return ya;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 ya}},ec=e=>["lightBlueIndigo","darkBlack","darkBlue","lightAmber","lightBlue","lightBrown","lightGray","lightGreen","lightLime","lightOrange","lightPink","lightPurple","lightRed","lightTeal","lightYellow"].includes(e),{toggleTheme:tc,toggleModeTheme:ac}=yr.actions,nc=e=>e.Theme.toggleStatus,rc=e=>e.Theme.themeSelected,sc=e=>e.Theme.darkMode;yr.reducer,exports.ContactInfoPopup=rn,exports.EditContactModal=Al,exports.EventsDialog=Qd,exports.MuiComponentsConfig=tr,exports.darkBlack=mr,exports.darkBlue=gr,exports.i18n=Rt,exports.isValidThemeName=ec,exports.lightAmber=cr,exports.lightBlue=ar,exports.lightBlueIndigo=ya,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=nc,exports.selectedDarkTheme=sc,exports.selectedTheme=rc,exports.toggleModeTheme=ac,exports.toggleTheme=tc,exports.updateTheme=hr;
|
|
21
21
|
//# sourceMappingURL=index.js.map
|