@trii/components 2.0.69 → 2.0.70
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 +10 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/types/components/EventsDialog/EventsDialog.d.ts +2 -0
- package/dist/types/components/EventsDialog/context/CalendarContext.d.ts +1 -0
- package/dist/types/components/EventsDialog/context/CalendarContextProvider.d.ts +3 -1
- package/dist/types/components/EventsDialog/services/calendarApi.d.ts +2 -0
- package/dist/types/components/EventsDialog/theme/MuiComponentsConfig.d.ts +3 -0
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
`+
|
|
3
|
-
`),
|
|
4
|
-
`),
|
|
5
|
-
`+
|
|
1
|
+
import hn,{useCallback as se,useEffect as G,createContext as ot,useContext as et,useState as x,useMemo as ae,useDeferredValue as Pr,createElement as Nr,useRef as xe}from"react";import{styled as ee,Box as C,IconButton as be,Avatar as Oa,Typography as Y,CircularProgress as qe,Tooltip as lt,Chip as Pt,Popper as gn,ClickAwayListener as yn,CardContent as Rr,Stack as Qe,Popover as Mr,TextField as we,Autocomplete as La,Button as Pe,Divider as fn,Select as da,MenuItem as tt,FormControl as za,Menu as Or,ListItemIcon as ua,ListItemText as pa,Modal as Nt,Grid as xn,LinearProgress as Lr,Backdrop as Wa,Fade as at,FormControlLabel as wt,Checkbox as bn,Dialog as ma,DialogContent as ha,useTheme as vn,List as zr,ListItemButton as Wr,Paper as Br,DialogActions as Rt,DialogTitle as Ba,RadioGroup as Cn,Radio as ga,createTheme as jn,ThemeProvider as _r}from"@mui/material";import{Handyman as Vr,PhoneEnabled as Yr,Email as Hr,WhatsApp as Gr,Facebook as Kr,Instagram as qr,ThreeP as Jr,Save as Qr,Edit as Xr,Star as wn,StarBorder as In,Person as Zr,CheckCircleOutline as es,EventAvailable as ts,EditCalendar as as}from"@mui/icons-material";import ns from"@mui/icons-material/ArrowForward";import rs from"@mui/icons-material/Message";import{ContactField_type as ce}from"@trii/types/dist/Contacts";import gt from"moment";import{initReactI18next as ss,I18nextProvider as _a,useTranslation as yt}from"react-i18next";import is from"i18next";import Sn from"@mui/icons-material/Close";import Mt from"@mui/icons-material/Edit";import os from"@mui/icons-material/Label";import ya from"@mui/icons-material/Delete";import ls from"@mui/icons-material/PhotoCamera";import Va from"@mui/icons-material/ArrowBack";import ft from"@mui/icons-material/Save";import cs from"@mui/material/Popper";import{LoadingButton as nt}from"@mui/lab";import{ChannelType as It}from"@trii/types/dist/Common/Channels";import Q from"dayjs";import ds from"@mui/icons-material/AddLocationAlt";import{AdapterDayjs as Ot}from"@mui/x-date-pickers/AdapterDayjs";import{LocalizationProvider as Lt}from"@mui/x-date-pickers/LocalizationProvider";import{DatePicker as En}from"@mui/x-date-pickers";import zt from"@mui/material/Box";import Tn from"@mui/icons-material/Cancel";import{TimePicker as us}from"@mui/x-date-pickers/TimePicker";import{MultiInputTimeRangeField as ps,MultiInputDateRangeField as ms,LocalizationProvider as Dn,DatePicker as fa,TimePicker as Ya}from"@mui/x-date-pickers-pro";import{styled as $e}from"@mui/system";import hs from"@mui/icons-material/LocalPhone";import{PhoneNumberUtil as gs,PhoneNumberFormat as ys}from"google-libphonenumber";import An from"@mui/icons-material/Add";import fs from"@mui/icons-material/MoreVert";import xs from"@mui/icons-material/WhatsApp";import bs from"@mui/icons-material/Mms";import vs from"@mui/icons-material/CheckRounded";import Cs from"@mui/icons-material/CloseRounded";import js from"@mui/material/CircularProgress";import ws from"@mui/material/InputAdornment";import Is from"@mui/material/Typography";import Ss from"@mui/icons-material/Warning";import Es from"@mui/material/Chip";import{EventNotificationPeriod as xa}from"@trii/types/dist/Calendar";import{AdapterDayjs as kn}from"@mui/x-date-pickers-pro/AdapterDayjs";import $n from"@mui/icons-material/Place";import Un from"@mui/icons-material/Person";import Ts from"@mui/icons-material/CalendarMonth";import Ha from"@mui/icons-material/Repeat";import Ds from"@mui/icons-material/WarningAmber";import As from"@mui/icons-material/ContentCopy";import ks from"@mui/icons-material/AccessTime";function $s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ga={exports:{}},Wt={},Fn;function Us(){if(Fn)return Wt;Fn=1;var e=hn,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(l,c,p){var y,m={},d=null,h=null;p!==void 0&&(d=""+p),c.key!==void 0&&(d=""+c.key),c.ref!==void 0&&(h=c.ref);for(y in c)r.call(c,y)&&!s.hasOwnProperty(y)&&(m[y]=c[y]);if(l&&l.defaultProps)for(y in c=l.defaultProps,c)m[y]===void 0&&(m[y]=c[y]);return{$$typeof:a,type:l,key:d,ref:h,props:m,_owner:i.current}}return Wt.Fragment=n,Wt.jsx=o,Wt.jsxs=o,Wt}var Bt={},Pn;function Fs(){return Pn||(Pn=1,process.env.NODE_ENV!=="production"&&(function(){var e=hn,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),y=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),b=Symbol.iterator,v="@@iterator";function g(u){if(u===null||typeof u!="object")return null;var A=b&&u[b]||u[v];return typeof A=="function"?A:null}var w=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function j(u){{for(var A=arguments.length,z=new Array(A>1?A-1:0),ne=1;ne<A;ne++)z[ne-1]=arguments[ne];I("error",u,z)}}function I(u,A,z){{var ne=w.ReactDebugCurrentFrame,he=ne.getStackAddendum();he!==""&&(A+="%s",z=z.concat([he]));var fe=z.map(function(pe){return String(pe)});fe.unshift("Warning: "+A),Function.prototype.apply.call(console[u],console,fe)}}var S=!1,W=!1,T=!1,D=!1,$=!1,P;P=Symbol.for("react.module.reference");function V(u){return!!(typeof u=="string"||typeof u=="function"||u===r||u===s||$||u===i||u===p||u===y||D||u===h||S||W||T||typeof u=="object"&&u!==null&&(u.$$typeof===d||u.$$typeof===m||u.$$typeof===o||u.$$typeof===l||u.$$typeof===c||u.$$typeof===P||u.getModuleId!==void 0))}function H(u,A,z){var ne=u.displayName;if(ne)return ne;var he=A.displayName||A.name||"";return he!==""?z+"("+he+")":z}function M(u){return u.displayName||"Context"}function J(u){if(u==null)return null;if(typeof u.tag=="number"&&j("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u;switch(u){case r:return"Fragment";case n:return"Portal";case s:return"Profiler";case i:return"StrictMode";case p:return"Suspense";case y:return"SuspenseList"}if(typeof u=="object")switch(u.$$typeof){case l:var A=u;return M(A)+".Consumer";case o:var z=u;return M(z._context)+".Provider";case c:return H(u,u.render,"ForwardRef");case m:var ne=u.displayName||null;return ne!==null?ne:J(u.type)||"Memo";case d:{var he=u,fe=he._payload,pe=he._init;try{return J(pe(fe))}catch{return null}}}return null}var U=Object.assign,re=0,N,O,F,E,B,R,_;function X(){}X.__reactDisabledLog=!0;function ie(){{if(re===0){N=console.log,O=console.info,F=console.warn,E=console.error,B=console.group,R=console.groupCollapsed,_=console.groupEnd;var u={configurable:!0,enumerable:!0,value:X,writable:!0};Object.defineProperties(console,{info:u,log:u,warn:u,error:u,group:u,groupCollapsed:u,groupEnd:u})}re++}}function ge(){{if(re--,re===0){var u={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:U({},u,{value:N}),info:U({},u,{value:O}),warn:U({},u,{value:F}),error:U({},u,{value:E}),group:U({},u,{value:B}),groupCollapsed:U({},u,{value:R}),groupEnd:U({},u,{value:_})})}re<0&&j("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ve=w.ReactCurrentDispatcher,De;function te(u,A,z){{if(De===void 0)try{throw Error()}catch(he){var ne=he.stack.trim().match(/\n( *(at )?)/);De=ne&&ne[1]||""}return`
|
|
2
|
+
`+De+u}}var Z=!1,He;{var ye=typeof WeakMap=="function"?WeakMap:Map;He=new ye}function Ee(u,A){if(!u||Z)return"";{var z=He.get(u);if(z!==void 0)return z}var ne;Z=!0;var he=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var fe;fe=ve.current,ve.current=null,ie();try{if(A){var pe=function(){throw Error()};if(Object.defineProperty(pe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(pe,[])}catch(K){ne=K}Reflect.construct(u,[],pe)}else{try{pe.call()}catch(K){ne=K}u.call(pe.prototype)}}else{try{throw Error()}catch(K){ne=K}u()}}catch(K){if(K&&ne&&typeof K.stack=="string"){for(var de=K.stack.split(`
|
|
3
|
+
`),Me=ne.stack.split(`
|
|
4
|
+
`),je=de.length-1,Te=Me.length-1;je>=1&&Te>=0&&de[je]!==Me[Te];)Te--;for(;je>=1&&Te>=0;je--,Te--)if(de[je]!==Me[Te]){if(je!==1||Te!==1)do if(je--,Te--,Te<0||de[je]!==Me[Te]){var f=`
|
|
5
|
+
`+de[je].replace(" at new "," at ");return u.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",u.displayName)),typeof u=="function"&&He.set(u,f),f}while(je>=1&&Te>=0);break}}}finally{Z=!1,ve.current=fe,ge(),Error.prepareStackTrace=he}var L=u?u.displayName||u.name:"",k=L?te(L):"";return typeof u=="function"&&He.set(u,k),k}function Ce(u,A,z){return Ee(u,!1)}function Ae(u){var A=u.prototype;return!!(A&&A.isReactComponent)}function q(u,A,z){if(u==null)return"";if(typeof u=="function")return Ee(u,Ae(u));if(typeof u=="string")return te(u);switch(u){case p:return te("Suspense");case y:return te("SuspenseList")}if(typeof u=="object")switch(u.$$typeof){case c:return Ce(u.render);case m:return q(u.type,A,z);case d:{var ne=u,he=ne._payload,fe=ne._init;try{return q(fe(he),A,z)}catch{}}}return""}var le=Object.prototype.hasOwnProperty,me={},ke=w.ReactDebugCurrentFrame;function oe(u){if(u){var A=u._owner,z=q(u.type,u._source,A?A.type:null);ke.setExtraStackFrame(z)}else ke.setExtraStackFrame(null)}function vt(u,A,z,ne,he){{var fe=Function.call.bind(le);for(var pe in u)if(fe(u,pe)){var de=void 0;try{if(typeof u[pe]!="function"){var Me=Error((ne||"React class")+": "+z+" type `"+pe+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof u[pe]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Me.name="Invariant Violation",Me}de=u[pe](A,pe,ne,z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(je){de=je}de&&!(de instanceof Error)&&(oe(he),j("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",ne||"React class",z,pe,typeof de),oe(null)),de instanceof Error&&!(de.message in me)&&(me[de.message]=!0,oe(he),j("Failed %s type: %s",z,de.message),oe(null))}}}var Re=Array.isArray;function Dt(u){return Re(u)}function Aa(u){{var A=typeof Symbol=="function"&&Symbol.toStringTag,z=A&&u[Symbol.toStringTag]||u.constructor.name||"Object";return z}}function ka(u){try{return ut(u),!1}catch{return!0}}function ut(u){return""+u}function Zt(u){if(ka(u))return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Aa(u)),ut(u)}var st=w.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},pt,Ct,jt;jt={};function $a(u){if(le.call(u,"ref")){var A=Object.getOwnPropertyDescriptor(u,"ref").get;if(A&&A.isReactWarning)return!1}return u.ref!==void 0}function ea(u){if(le.call(u,"key")){var A=Object.getOwnPropertyDescriptor(u,"key").get;if(A&&A.isReactWarning)return!1}return u.key!==void 0}function At(u,A){if(typeof u.ref=="string"&&st.current&&A&&st.current.stateNode!==A){var z=J(st.current.type);jt[z]||(j('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',J(st.current.type),u.ref),jt[z]=!0)}}function Ua(u,A){{var z=function(){pt||(pt=!0,j("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",A))};z.isReactWarning=!0,Object.defineProperty(u,"key",{get:z,configurable:!0})}}function Ze(u,A){{var z=function(){Ct||(Ct=!0,j("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",A))};z.isReactWarning=!0,Object.defineProperty(u,"ref",{get:z,configurable:!0})}}var mt=function(u,A,z,ne,he,fe,pe){var de={$$typeof:a,type:u,key:A,ref:z,props:pe,_owner:fe};return de._store={},Object.defineProperty(de._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(de,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ne}),Object.defineProperty(de,"_source",{configurable:!1,enumerable:!1,writable:!1,value:he}),Object.freeze&&(Object.freeze(de.props),Object.freeze(de)),de};function kt(u,A,z,ne,he){{var fe,pe={},de=null,Me=null;z!==void 0&&(Zt(z),de=""+z),ea(A)&&(Zt(A.key),de=""+A.key),$a(A)&&(Me=A.ref,At(A,he));for(fe in A)le.call(A,fe)&&!Ke.hasOwnProperty(fe)&&(pe[fe]=A[fe]);if(u&&u.defaultProps){var je=u.defaultProps;for(fe in je)pe[fe]===void 0&&(pe[fe]=je[fe])}if(de||Me){var Te=typeof u=="function"?u.displayName||u.name||"Unknown":u;de&&Ua(pe,Te),Me&&Ze(pe,Te)}return mt(u,de,Me,he,ne,st.current,pe)}}var ht=w.ReactCurrentOwner,ta=w.ReactDebugCurrentFrame;function it(u){if(u){var A=u._owner,z=q(u.type,u._source,A?A.type:null);ta.setExtraStackFrame(z)}else ta.setExtraStackFrame(null)}var $t;$t=!1;function Ut(u){return typeof u=="object"&&u!==null&&u.$$typeof===a}function aa(){{if(ht.current){var u=J(ht.current.type);if(u)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+
|
|
7
|
+
Check the render method of \``+u+"`."}return""}}function na(u){{if(u!==void 0){var A=u.fileName.replace(/^.*[\\\/]/,""),z=u.lineNumber;return`
|
|
8
8
|
|
|
9
|
-
Check your code at `+
|
|
9
|
+
Check your code at `+A+":"+z+"."}return""}}var ra={};function Fa(u){{var A=aa();if(!A){var z=typeof u=="string"?u:u.displayName||u.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 sa(u,A){{if(!u._store||u._store.validated||u.key!=null)return;u._store.validated=!0;var z=Fa(A);if(ra[z])return;ra[z]=!0;var ne="";u&&u._owner&&u._owner!==ht.current&&(ne=" It was passed a child from "+J(u._owner.type)+"."),it(u),j('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',z,ne),it(null)}}function ia(u,A){{if(typeof u!="object")return;if(Dt(u))for(var z=0;z<u.length;z++){var ne=u[z];Ut(ne)&&sa(ne,A)}else if(Ut(u))u._store&&(u._store.validated=!0);else if(u){var he=g(u);if(typeof he=="function"&&he!==u.entries)for(var fe=he.call(u),pe;!(pe=fe.next()).done;)Ut(pe.value)&&sa(pe.value,A)}}}function Pa(u){{var A=u.type;if(A==null||typeof A=="string")return;var z;if(typeof A=="function")z=A.propTypes;else if(typeof A=="object"&&(A.$$typeof===c||A.$$typeof===m))z=A.propTypes;else return;if(z){var ne=J(A);vt(z,u.props,"prop",ne,u)}else if(A.PropTypes!==void 0&&!$t){$t=!0;var he=J(A);j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",he||"Unknown")}typeof A.getDefaultProps=="function"&&!A.getDefaultProps.isReactClassApproved&&j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Na(u){{for(var A=Object.keys(u.props),z=0;z<A.length;z++){var ne=A[z];if(ne!=="children"&&ne!=="key"){it(u),j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ne),it(null);break}}u.ref!==null&&(it(u),j("Invalid attribute `ref` supplied to `React.Fragment`."),it(null))}}var Ft={};function oa(u,A,z,ne,he,fe){{var pe=V(u);if(!pe){var de="";(u===void 0||typeof u=="object"&&u!==null&&Object.keys(u).length===0)&&(de+=" 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 Me=na(he);Me?de+=Me:de+=aa();var je;u===null?je="null":Dt(u)?je="array":u!==void 0&&u.$$typeof===a?(je="<"+(J(u.type)||"Unknown")+" />",de=" Did you accidentally export a JSX literal instead of a component?"):je=typeof u,j("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",je,de)}var Te=kt(u,A,z,he,fe);if(Te==null)return Te;if(pe){var f=A.children;if(f!==void 0)if(ne)if(Dt(f)){for(var L=0;L<f.length;L++)ia(f[L],u);Object.freeze&&Object.freeze(f)}else j("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ia(f,u)}if(le.call(A,"key")){var k=J(u),K=Object.keys(A).filter(function(Be){return Be!=="key"}),ue=K.length>0?"{key: someKey, "+K.join(": ..., ")+": ...}":"{key: someKey}";if(!Ft[k+ue]){var Ye=K.length>0?"{"+K.join(": ..., ")+": ...}":"{}";j(`A props object containing a "key" prop is being spread into JSX:
|
|
12
12
|
let props = %s;
|
|
13
13
|
<%s {...props} />
|
|
14
14
|
React keys must be passed directly to JSX without using spread:
|
|
15
15
|
let props = %s;
|
|
16
|
-
<%s key={someKey} {...props} />`,Ae,ke,$e,ke),kt[ke+Ae]=!0}}return d===s?na(D):$a(D),D}}function Ua(d,k,B){return sa(d,k,B,!0)}function Fa(d,k,B){return sa(d,k,B,!1)}var Pa=Fa,Na=Ua;zt.Fragment=s,zt.jsx=Pa,zt.jsxs=Na})()),zt}process.env.NODE_ENV==="production"?Ya.exports=Tr():Ya.exports=Dr();var t=Ya.exports;Er(t);const Ar=ee(v)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),An=ee(Ce)({padding:4}),kr=ee(v)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),$r=ee(Ra)({width:60,height:60,marginBottom:8}),Ur=ee(G)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Fr=ee(v)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),Pr=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:r,onClose:o,isBusiness:l=!1})=>{const c=re(g=>x=>{try{if(x.preventDefault(),x.stopPropagation(),!g)throw new Error("Navigation URL is required");x.ctrlKey||x.metaKey||x.button===1?window.open(g,"_blank","noopener,noreferrer"):s(g)}catch(j){r?.(j instanceof Error?j:new Error("Navigation failed"))}},[s,r]),u=c(l?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),h=c(`/a/conversations/conversations?contactId=${n}`),p=a||"Unknown Contact",m=`Avatar for ${p}`;return t.jsxs(kr,{children:[t.jsxs(Ar,{children:[t.jsx(An,{color:"info",size:"small",onClick:g=>{u(g),o()},onMouseDown:g=>{g.button===1&&(u(g),o())},disabled:!n,"aria-label":"View contact details",children:t.jsx(Qs,{fontSize:"small"})}),t.jsx(An,{color:"info",size:"small",onClick:g=>{h(g),o()},onMouseDown:g=>{g.button===1&&(h(g),o())},"aria-label":"Go to conversations",children:t.jsx(Zs,{fontSize:"small"})})]}),i?t.jsx(Fr,{children:t.jsx(He,{size:24})}):t.jsx($r,{src:e,alt:m,onError:()=>r?.(new Error("Failed to load avatar"))}),t.jsx(Ur,{variant:"h6",title:p,children:p})]})},Nr=ee(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Rr=ee(v)({width:"100%",borderBottom:"1px solid lightgray"}),Mr=ee(v)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Lr=ee(v)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),zr=ee(v)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Or=ee(v)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Wr=ee(G)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Br=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=r=>t.jsx(Mr,{children:t.jsxs(zr,{children:[t.jsx(Lr,{children:e}),t.jsxs(Or,{children:[t.jsx(rt,{title:r.address,arrow:!0,placement:"top",children:t.jsx(G,{variant:"subtitle1",fontWeight:"semi-bold",fontSize:14,color:"text.primary",sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",cursor:"default"},children:r.address})}),r.profileName&&t.jsx(G,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:r.profileName})]}),r.note&&t.jsx(Wr,{variant:"body2",fontSize:12,color:"text.secondary",children:r.note})]})},r.id);return t.jsxs(Nr,{children:[s&&t.jsx(Rr,{children:t.jsx(G,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},_r=ee(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Vr=ee(G)({borderBottom:"1px solid lightgray",width:"100%"}),Yr=ee(v)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Hr=ee(G)({fontSize:14}),Gr=ee(zs)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Kr=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),s=(i,r)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(o=>s(o,r)).join(", ");if(typeof i=="string"){const o=pt(i,pt.ISO_8601).isValid(),l=c=>pt(i).format(c);switch(r){case le.TIME:return o?l("HH:mm"):i;case le.DATE:return o?l("DD/MM/YYYY"):i;case le.TIMERANGE:case le.DATERANGE:if(o)return r===le.TIMERANGE?l("HH:mm"):l("DD/MM/YYYY");const c=i.split(" ");if(c.length===2){const[u,h]=c,p=r===le.TIMERANGE?pt(u).format("HH:mm"):pt(u).format("DD/MM/YYYY"),m=r===le.TIMERANGE?pt(h).format("HH:mm"):pt(h).format("DD/MM/YYYY");return`${p} - ${m}`}return i;default:return i}}return i};return t.jsxs(_r,{children:[t.jsx(Vr,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,r)=>i.value.length>0&&t.jsxs(Yr,{children:[t.jsx(Gr,{}),t.jsxs(Hr,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},r))]})},qr=ee(G)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),Jr=ee(v)({marginBottom:16}),Xr=ee($t)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),Qr=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(qr,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Jr,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(Xr,{label:n.name,color:"primary",size:"small"},n.id))})]});function kn(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 Zr=ee(G)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ei=({contactData:e,title:a})=>!e||!kn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(Zr,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(G,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function $n(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 ti=({name:e,memberId:a,navigate:n})=>{const s=`/a/conversations/conversations?contactId=${a}`,i=r=>{r.preventDefault(),r.stopPropagation(),r.ctrlKey||r.metaKey||r.button===1?window.open(s,"_blank","noopener,noreferrer"):n(s)};return t.jsx(G,{variant:"body2",color:"text.secondary",role:"link",tabIndex:0,sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:i,onMouseDown:r=>{r.button===1&&i(r)},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&i(r)},children:e})},ai=ee(G)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ni=({contactData:e,title:a,navigate:n})=>!e||!$n(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ai,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(ti,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var si="Labels",ri="Phone",ii="Business",oi="Business Members",li="Properties",ci="View",di="Tags",ui={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"},pi={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"},mi={upload:"Upload photo",delete:"Delete photo"},hi={from:"From",to:"To"},gi={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"}}},yi={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"},fi={labels:si,phone:ri,business:ii,businessMembers:oi,properties:li,view:ci,tags:di,global:ui,searchLocationModal:pi,avatar:mi,contactEdit:hi,conversations:gi,calendarView:yi},xi="Etiquetas",bi="Tel\xE9fono",vi="Empresa",Ci="Miembros de la empresa",ji="Propiedades",wi="Ver",Ii="Etiquetas",Si={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"},Ei={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"},Ti={upload:"Subir foto",delete:"Eliminar foto"},Di={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"}}},ki={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"},$i={labels:xi,phone:bi,business:vi,businessMembers:Ci,properties:ji,view:wi,tags:Ii,global:Si,searchLocationModal:Ei,avatar:Ti,contactEdit:Di,conversations:Ai,calendarView:ki};const Ui={en:{translation:fi},es:{translation:$i}},Ot=tr.createInstance();Ot.use(er).init({resources:Ui,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Fi=ee(v)(({theme:e})=>({backgroundColor:e.palette.background.panel,boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.1)",borderRadius:"8px",width:300,maxHeight:"calc(100vh - 500px)",overflowY:"auto",transition:"opacity 0.3s ease, transform 0.3s ease",padding:"8px",zIndex:1300,"&::-webkit-scrollbar":{width:5},"&::-webkit-scrollbar-track":{background:"#E0E0E0",borderRadius:10},"&::-webkit-scrollbar-thumb":{background:"#9E9E9E",borderRadius:10,transition:"background 0.3s"},"&::-webkit-scrollbar-thumb:hover":{background:"#616161"}})),Pi=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:r,language:o="en"})=>{const{t:l,i18n:c}=mt();H(()=>{o&&c.changeLanguage(o)},[o,c]);const u=l,h=$n(s),p=kn(s),m=[{icon:t.jsx(Os,{fontSize:"small"}),title:u("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(Ws,{fontSize:"small"}),title:u("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(Bs,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(_s,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Vs,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Ys,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return H(()=>{const g=x=>{x.key==="Escape"&&n()};return e&&window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[e,n]),t.jsx(un,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(pn,{onClickAway:n,children:t.jsx(Fi,{children:t.jsxs($s,{children:[t.jsx(Pr,{navigate:r,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:h}),t.jsx(Qr,{contactData:s,title:u("labels")}),p&&t.jsx(ei,{contactData:s,title:u("business")}),h&&t.jsx(ni,{contactData:s,title:u("businessMembers"),navigate:r}),m.map((g,x)=>t.jsx(Br,{icon:g.icon,title:g.title,contactList:g.contactList,showTitle:g.showTitle},x)),t.jsx(Kr,{properties:s?.properties,title:u("properties")})]})})})})},Un=e=>t.jsx(Wa,{i18n:Ot,children:t.jsx(Pi,{...e})}),Fn=e=>e,Pn=st(Fn),Ni=({t:e,children:a})=>t.jsx(Pn.Provider,{value:e,children:a}),Ie=()=>{const e=Qe(Pn);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Fn)},Ri=({tags:e,onEditTags:a})=>{const n=Ie(),[s,i]=b(null),r=te(()=>e??[],[e]),o=r.slice(0,4),l=Math.max(r.length-o.length,0),c=p=>{i(p.currentTarget)},u=()=>{i(null)},h=!!s;return t.jsxs(v,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(v,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(Ke,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[o.map(p=>t.jsx($t,{label:p.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},p.id)),l>0?t.jsx($t,{label:`+${l}`,size:"small",variant:"outlined",onClick:c,sx:{borderRadius:999}}):null]}),t.jsx(Ce,{className:"tags-action",size:"small","aria-label":r.length?n("tags.edit"):n("tags.add"),onClick:a,sx:{position:"absolute",left:"100%",ml:1,top:"50%",transform:"translateY(-50%)",color:"text.secondary",bgcolor:"background.paper",opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:r.length?t.jsx(Pt,{fontSize:"small"}):t.jsx(ar,{fontSize:"small"})})]}),t.jsx(Us,{open:h,anchorEl:s,onClose:u,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(v,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(G,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(Ke,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:r.map(p=>t.jsx($t,{label:p.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},p.id))})]})})]})},Nn=st(null),Mi=Nn.Provider,it=()=>Qe(Nn),Li=ee(G)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),zi=ee(v)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Oi=ee(v)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Wi=ee(Ce)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Bi=({displayName:e,contactType:a,firstName:n,lastName:s,name:i,entityId:r,onEntityUpdated:o})=>{const l=it(),[c,u]=b(!1),[h,p]=b(!1),[m,g]=b({firstName:n||"",lastName:s||"",name:i||""});H(()=>{g({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const x=async()=>{if(!(!l||!r||!a||a==="unknown")){p(!0);try{let y={};a==="contact"?y={firstName:m.firstName,lastName:m.lastName}:a==="business"&&(y={name:m.name});const I=await l.updateEntity({entityType:a,entityId:r,body:y});I&&o&&o(I),u(!1)}catch(y){console.error("Failed to update name",y)}finally{p(!1)}}},j=a==="contact"||a==="business";return c?t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(we,{value:m.firstName,onChange:y=>g({...m,firstName:y.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(we,{value:m.lastName,onChange:y=>g({...m,lastName:y.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(we,{value:m.name,onChange:y=>g({...m,name:y.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(Ce,{onClick:x,disabled:h,color:"primary",children:h?t.jsx(He,{size:24}):t.jsx(Hs,{})})]}):t.jsx(zi,{children:t.jsxs(Oi,{children:[t.jsx(Li,{variant:"h6",title:e,children:e}),j&&t.jsx(Wi,{size:"small",onClick:()=>u(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Gs,{fontSize:"small"})})]})})},_i=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:r,isDeleting:o})=>{const l=Ie();return t.jsxs(v,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(Ra,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(v,{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(Ce,{size:"small","aria-label":l("avatar.upload"),onClick:s,disabled:!!r,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(nr,{fontSize:"small"})}),t.jsx(Ce,{size:"small","aria-label":l("avatar.delete"),onClick:i,disabled:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(pa,{fontSize:"small"})})]})]})},Vi=ee(v)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Yi=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:r,onPhotoFileChange:o,photoInputRef:l,isUploadingPhoto:c,onDeletePhoto:u,isDeletingPhoto:h,contactType:p,firstName:m,lastName:g,name:x,entityId:j,onEntityUpdated:y})=>{const I=`Avatar for ${a}`;return t.jsxs(Vi,{children:[t.jsx("input",{ref:l,type:"file",accept:"image/*",onChange:o,style:{display:"none"}}),t.jsx(_i,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:r,isUploading:c,onDelete:u,isDeleting:h}),t.jsx(Bi,{displayName:a,contactType:p,firstName:m,lastName:g,name:x,entityId:j,onEntityUpdated:y}),t.jsx(Ri,{tags:s,onEditTags:i})]})},Ha=20,Hi=e=>{const{popperContainer:a,...n}=e;return t.jsx(sr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Gi=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:r,onCreateNew:o,isCreatingNew:l,popperContainer:c})=>{const u=Ie(),[h,p]=b(""),[m,g]=b(Ha),x=As(h),j=te(()=>a??[],[a]),y=te(()=>{const A=String(x??"").trim().toLowerCase();return A?j.filter(T=>String(T?.name??"").toLowerCase().includes(A)):j},[j,x]),I=te(()=>y.slice(0,m),[y,m]),C=te(()=>{const A=new Map;for(const T of e??[])T?.id&&A.set(String(T.id),T);for(const T of I??[])T?.id&&(A.has(String(T.id))||A.set(String(T.id),T));return Array.from(A.values())},[e,I]),w=(A,T)=>{p(T??""),g(Ha)},S=A=>{const T=A;T.scrollTop+T.clientHeight>=T.scrollHeight-24&&g(N=>N+Ha)},W=()=>{const A=String(h??"").trim(),T=!A||r||l;return t.jsxs(v,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[u("global.noOptions"),t.jsx(tt,{onClick:()=>o(A),loading:l,disabled:T,variant:"contained",size:"small",sx:{marginTop:1.3},children:u("global.createNew")})]})};return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Ke,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(Ce,{size:"small",onClick:s,"aria-label":u("global.back"),disabled:r,children:t.jsx(Ba,{fontSize:"small"})}),t.jsx(G,{variant:"subtitle1",children:u("tags")}),t.jsx(v,{sx:{flex:1}}),t.jsx(tt,{variant:"contained",size:"small",startIcon:t.jsx(ht,{}),onClick:i,loading:r,disabled:r,children:u("global.save")})]}),t.jsx(Ma,{multiple:!0,disablePortal:!1,value:e,onChange:(A,T)=>n(T),options:C,filterOptions:A=>A,inputValue:h,onInputChange:w,getOptionLabel:A=>A?.name??"",isOptionEqualToValue:(A,T)=>String(A?.id)===String(T?.id),PopperComponent:A=>t.jsx(Hi,{...A,popperContainer:c}),renderOption:(A,T)=>{const{key:N,...U}=A;return ks("li",{...U,key:T?.id?String(T.id):String(N??T?.name??"")},T.name??"")},renderTags:(A,T)=>A.map((N,U)=>{const Y=T({index:U}),{key:O,..._}=Y;return t.jsx($t,{label:N.name??"",..._},N?.id?String(N.id):String(O??N?.name??U))}),size:"small",renderInput:A=>t.jsx(we,{...A,size:"small"}),ListboxProps:{onScroll:S,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(W,{}),sx:{width:"100%"}})]})};var Ki=Object.defineProperty,qi=(e,a,n)=>a in e?Ki(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Rn=(e,a,n)=>qi(e,typeof a!="symbol"?a+"":a,n);let Mn=class extends Error{constructor(a,n,s){super(a),Rn(this,"status"),Rn(this,"body"),this.name="ApiError",this.status=n,this.body=s}};async function Oe({url:e,method:a="GET",headers:n,body:s,signal:i}){const r=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:i}),o=(r.headers.get("content-type")||"").includes("application/json")?await r.json().catch(()=>null):await r.text().catch(()=>null);if(!r.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${r.status}`;throw new Mn(l,r.status,o)}return o}async function Ji({url:e,method:a="POST",headers:n,formData:s,signal:i}){const r=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:s,signal:i}),o=(r.headers.get("content-type")||"").includes("application/json")?await r.json().catch(()=>null):await r.text().catch(()=>null);if(!r.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${r.status}`;throw new Mn(l,r.status,o)}return o}function Fe(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function Le(e,a){const n=encodeURIComponent(a);return{CONTACTS:Fe(e,`/contacts/${n}`),MEDIA:Fe(e,`/media/${n}`),SETTINGS:Fe(e,`/settings/${n}`)}}async function Xi({baseUrl:e,spaceId:a,signal:n}){const s=Le(e,a),i=Fe(s.CONTACTS,"/labels");return Oe({url:i,signal:n})}async function Ln({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/labels");return Oe({url:r,method:"POST",body:{name:n},signal:s})}async function Qi({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Oe({url:r,signal:s})}async function Zi({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Oe({url:r,signal:s})}async function eo({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Le(e,a),r=`${Fe(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Oe({url:r,signal:s})}async function qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}){const o=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,l=Le(e,a),c=Fe(l.CONTACTS,o);return Oe({url:c,method:"PUT",body:i,signal:r})}async function to({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/Search");return Oe({url:r,method:"POST",body:n,signal:s})}async function ao({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/business");return Oe({url:r,method:"POST",body:n,signal:s})}async function ga({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/contactAddresses");return Oe({url:r,method:"DELETE",body:n,signal:s})}async function no({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/contactAddresses/check");return Oe({url:r,method:"POST",body:n,signal:s})}async function so({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,"/contactAddresses/set");return Oe({url:r,method:"POST",body:n,signal:s})}async function ro({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Le(e,a),r=Fe(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Oe({url:r,method:"PUT",body:n,signal:s})}async function zn({baseUrl:e,spaceId:a,signal:n}){const s=Le(e,a),i=Fe(s.SETTINGS,"/user");return Oe({url:i,signal:n})}async function io({baseUrl:e,spaceId:a,signal:n}){const s=Le(e,a),i=Fe(s.SETTINGS,"/users");return Oe({url:i,signal:n})}async function oo({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Le(e,a),r=Fe(i.SETTINGS,`/usersInfor/${s}`);return Oe({url:r,signal:n})}async function On({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const r=Le(e,a),o=new FormData;o.append("file",s,s.name);const l=Fe(r.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return Ji({url:l,formData:o,signal:i})}const Wn=(e,a)=>({fetchLabels:({signal:n}={})=>Xi({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>Ln({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>Qi({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>Zi({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>to({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>ao({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>eo({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:r})=>qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}),deleteAddress:({data:n,signal:s})=>ga({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>ga({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>no({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>so({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>ro({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>zn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>io({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>oo({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>On({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),Bn=()=>!!window?.google?.maps?.places?.Autocomplete,lo=(e=1e4)=>new Promise(a=>{if(Bn()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(Bn()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),co=()=>{const[e,a]=b(!1),[n,s]=b(!0),[i,r]=b(null);return H(()=>{(async()=>{try{const o=await lo(1e4);a(o),o||r("Google Maps API failed to load")}catch{r("Error loading Google Maps API"),a(!1)}finally{s(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},uo=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=Ie(),i=be(null),r=be(null),o=be(e),l=be(a),{isLoaded:c,isLoading:u,error:h}=co(),p=te(()=>u?s("searchLocationModal.loadingGoogleMaps"):h?s("searchLocationModal.googleMapsUnavailable"):c?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[c,u,h,n,s]);return H(()=>{o.current=e},[e]),H(()=>{l.current=a},[a]),H(()=>{if(!c||!i.current||r.current)return;const m=window?.google;if(!m?.maps?.places?.Autocomplete){l.current?.(s("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let g=null;const x=()=>{document.querySelectorAll(".pac-container").forEach(y=>{const I=y;I.style.zIndex="20000",I.style.position="fixed"})};g=new MutationObserver(y=>{for(const I of y)for(const C of Array.from(I.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const w=C;w.classList?.contains("pac-container")&&(w.style.zIndex="20000",w.style.position="fixed")}}),g.observe(document.body,{childList:!0,subtree:!0}),x(),window.setTimeout(x,100),r.current=new m.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const j=r.current.addListener?.("place_changed",()=>{const y=r.current?.getPlace?.();if(!y?.geometry?.location){l.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let I="",C="",w="",S="",W="",A="";const T=y.address_components??[];for(const O of T){const _=O?.types??[];if(_.includes("locality")||_.includes("administrative_area_level_2")){I=O.long_name;continue}if(_.includes("administrative_area_level_1")){C=O.long_name;continue}if(_.includes("country")){w=O.long_name;continue}if(_.includes("postal_code")){S=O.long_name;continue}if(_.includes("route")){W=O.long_name;continue}_.includes("street_number")&&(A=O.long_name)}const N=typeof y.geometry.location.lat=="function"?y.geometry.location.lat():0,U=typeof y.geometry.location.lng=="function"?y.geometry.location.lng():0,Y={location:{lat:N,lng:U},address:y.formatted_address??"",city:I,state:C,country:w,postalCode:S,streetName:W,streetNumber:A,shortAddress:[W,A].filter(Boolean).join(" ")};o.current(Y)});return()=>{g&&g.disconnect(),j?.remove&&j.remove(),r.current=null}},[c,s]),t.jsx(we,{fullWidth:!0,size:"small",inputRef:i,placeholder:p,disabled:u||!c||!!h,error:!!h})},po={street:"",city:"",state:"",zipcode:"",country:""},mo=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:r})=>{const o=Ie(),[l,c]=b(po),[u,h]=b(""),[p,m]=b(""),[g,x]=b(!1),[j,y]=b(!1),I=te(()=>!!(String(l.street??"").trim()||String(l.city??"").trim()||String(l.state??"").trim()||String(l.zipcode??"").trim()||String(l.country??"").trim()),[l]),C=N=>{h(N.address??"");const U=String(N.shortAddress??"").trim()||[N.streetName,N.streetNumber].filter(Boolean).join(" ").trim();c({street:U,city:N.city??"",state:N.state??"",zipcode:N.postalCode??"",country:N.country??""}),m("")},w=N=>{m(String(N??""))},S=N=>U=>{const Y=U.target.value;c(O=>({...O,[N]:Y}))},W=async()=>{if(!g&&!(!e||!a)&&s){x(!0);try{const N=await qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address1:{street:String(l.street??""),city:String(l.city??""),state:String(l.state??""),zipcode:String(l.zipcode??""),country:String(l.country??"")}}});r?.(N),i()}finally{x(!1)}}},A=async()=>{if(!j&&!(!e||!a)&&s){y(!0);try{const N=await qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{address2:{street:String(l.street??""),city:String(l.city??""),state:String(l.state??""),zipcode:String(l.zipcode??""),country:String(l.country??"")}}});r?.(N),i()}finally{y(!1)}}},T=!I||g||j;return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Ke,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(Ce,{size:"small",onClick:i,"aria-label":o("global.back"),children:t.jsx(Ba,{fontSize:"small"})}),t.jsx(G,{variant:"h6",children:o("searchLocationModal.searchAddress")})]}),t.jsxs(Ke,{spacing:3,children:[t.jsxs(v,{sx:{position:"relative",zIndex:1400},children:[t.jsx(uo,{onPlaceSelected:C,onError:w,placeholder:o("searchLocationModal.enterLocation")}),p?t.jsx(G,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:p}):null]}),t.jsx(we,{label:o("conversations.contactDetails.street"),value:l.street,onChange:S("street"),fullWidth:!0,size:"medium"}),t.jsxs(Ke,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(we,{label:o("searchLocationModal.city"),value:l.city,onChange:S("city"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.state"),value:l.state,onChange:S("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(Ke,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(we,{label:o("searchLocationModal.postalCode"),value:l.zipcode,onChange:S("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.country"),value:l.country,onChange:S("country"),fullWidth:!0,size:"medium"})]}),u?t.jsx(G,{variant:"caption",sx:{opacity:.7},children:u}):null,t.jsxs(Ke,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(tt,{variant:"contained",size:"large",startIcon:t.jsx(ht,{}),onClick:W,loading:g,disabled:T,children:o("searchLocationModal.saveMainAddress")}),t.jsx(tt,{variant:"outlined",size:"large",startIcon:t.jsx(ht,{}),onClick:A,loading:j,disabled:T,children:o("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Ga(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}function _n(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 ho({open:e,baseUrl:a,spaceId:n,contactId:s}){const i=be(null),r=te(()=>!a||!n?null:Wn(a,n),[a,n]),[o,l]=b({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),c=te(()=>!!(e&&r&&s),[e,r,s]);H(()=>{e||(i.current?.abort(),l({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}))},[e]);const u=te(()=>!!(e&&r),[e,r]);H(()=>{if(!u||!r)return;const m=new AbortController;return l(g=>({...g,labelsLoading:!0,labelsError:null})),r.fetchLabels({signal:m.signal}).then(g=>{l(x=>({...x,labels:g,labelsLoading:!1,labelsError:null}))}).catch(g=>{m.signal.aborted||l(x=>({...x,labelsLoading:!1,labelsError:g}))}),()=>{m.abort()}},[r,u]),H(()=>{if(!c||!r)return;i.current?.abort();const m=new AbortController;return i.current=m,l(g=>({...g,isLoading:!0,error:null,contactData:null})),r.fetchContact({contactId:s,signal:m.signal}).then(g=>{l(x=>({...x,isLoading:!1,error:null,contactData:g}))}).catch(g=>{m.signal.aborted||l(x=>({...x,isLoading:!1,error:g}))}),()=>{m.abort()}},[r,c,s]);const h=te(()=>!!(e&&r),[e,r]);H(()=>{if(!h||!r)return;const m=new AbortController;return l(g=>({...g,userLoading:!0,userError:null})),r.fetchUserTrii({signal:m.signal}).then(g=>{l(x=>({...x,userLoading:!1,userError:null,userTrii:g}))}).catch(g=>{m.signal.aborted||l(x=>({...x,userLoading:!1,userError:g}))}),()=>{m.abort()}},[r,h]);const p=te(()=>{const m=o.contactData,g=Ga(m),x=_n(m);let j="unknown";g&&(j="business"),x&&(j="contact");let y="Unknown Contact";g?y=m.name:x&&(y=`${m.firstName} ${m.lastName}`.trim());const I=m?.tags??[];return{isBusiness:g,isContact:x,contactType:j,displayName:y,tags:I,labels:o.labels,contactFields:o.contactFields,userTrii:o.userTrii,userLoading:o.userLoading,userError:o.userError}},[o.contactData,o.labels,o.contactFields,o.userTrii,o.userLoading,o.userError]);return H(()=>{if(!e||!r)return;const m=o.contactData,g=Ga(m),x=_n(m),j=g?"business":x?"contact":null;if(!j)return;const y=new AbortController;return l(I=>({...I,contactFieldsLoading:!0,contactFieldsError:null})),r.fetchContactFields({forType:j,signal:y.signal}).then(I=>{l(C=>({...C,contactFields:I,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(I=>{y.signal.aborted||l(C=>({...C,contactFieldsLoading:!1,contactFieldsError:I}))}),()=>{y.abort()}},[r,e,o.contactData]),{state:o,selectors:p,actions:{setContactData:m=>l(g=>({...g,contactData:m??null})),clearError:()=>l(m=>({...m,error:null}))}}}const Wt=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:r})=>{const[o,l]=b(i??""),[c,u]=b(null),[h,p]=b(!1),[m,g]=b(!1),x=be(null),j=te(()=>!!(e&&a&&n&&s),[e,a,n,s]);function y(U){return U.split("?sv=")[0]}function I(U){return U.split("&cacheId=")[0]}function C(U){let Y=y(U);return!Y||(Y=I(Y),!Y)?"":Y}const w=async()=>{if(!e||!a)return null;const U=await zn({baseUrl:e,spaceId:a});return u(U),U},S=async U=>{const Y=(c??await w())?.storageAzureSAS,O=Y?.expireAt,_=O?new Date(O):null;let J=Y?.sas??"";if((!J||_&&_<new Date)&&(J=(await w())?.storageAzureSAS?.sas??""),!J)return U;const F=`${Date.now()}`;return`${U}${J}&cacheId=${F}`},W=async U=>{if(!U){l("");return}const Y=y(U);if(!Y)return;const O=await S(Y);l(O)},A=async U=>{const Y=U.target.files?.[0];if(Y&&j){x.current&&(x.current.value=""),p(!0);try{const O=await On({baseUrl:e,spaceId:a,contactId:s,file:Y}),_=await qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:O}});r?.(_),await W(O)}finally{p(!1)}}},T=()=>{x.current?.click()},N=async()=>{if(j&&!m){g(!0);try{await qe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),r?.({imageUrl:""}),l("")}finally{g(!1)}}};return H(()=>{if(!i){l("");return}W(i)},[i]),{inputAtributes:{onChange:A,ref:x,type:"file",accept:"image/*"},action:{uploadImage:T,deleteImage:N},imageUrl:o,removeParams:C,isUploading:h,isDeleting:m}},Se=(e,a)=>{const[n,s]=b(a||""),[i,r]=b(!1),[o,l]=b("");return H(()=>{s(a||"")},[a]),{actions:{onError:c=>{r(!0),l(c)},onSuccess:()=>{r(!1),l("")},resetValue:()=>{s(a||"")},changeValue:c=>{s(c)}},attributes:{error:i,helperText:o,type:e,value:n,onChange:c=>{s(c.target.value)}}}},Vn=(e="")=>{const[a,n]=b(e),s=o=>{n(o.target.value)},i=o=>{n(o)},r=()=>{n(e??"")};return H(()=>{n(e)},[e]),{actions:{resetValue:r,changeValue:i},attributes:{value:a,onChange:s}}};let ya;const go=new Uint8Array(16);function yo(){if(!ya&&(ya=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ya))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ya(go)}const Ne=[];for(let e=0;e<256;++e)Ne.push((e+256).toString(16).slice(1));function fo(e,a=0){return Ne[e[a+0]]+Ne[e[a+1]]+Ne[e[a+2]]+Ne[e[a+3]]+"-"+Ne[e[a+4]]+Ne[e[a+5]]+"-"+Ne[e[a+6]]+Ne[e[a+7]]+"-"+Ne[e[a+8]]+Ne[e[a+9]]+"-"+Ne[e[a+10]]+Ne[e[a+11]]+Ne[e[a+12]]+Ne[e[a+13]]+Ne[e[a+14]]+Ne[e[a+15]]}const xo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var Yn={randomUUID:xo};function Ka(e,a,n){if(Yn.randomUUID&&!a&&!e)return Yn.randomUUID();e=e||{};const s=e.random||(e.rng||yo)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,a){n=n||0;for(let i=0;i<16;++i)a[n+i]=s[i];return a}return fo(s)}function bo(e){return{id:Ka(),address:"",note:"",channelType:e,isSaved:!1}}var fa={createNewAddress:bo};const vo=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},Co=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var vt={getEditedField:vo,getAddressesWithUpdatedValues:Co};const Hn=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,r]=b(!1),[o,l]=b(()=>a),[c,u]=b(a?.ims_facebook||[]),[h,p]=b(a?.ims_mercadolibre||[]),[m,g]=b(a?.ims_webchat||[]),[x,j]=b(a?.ims_instagram||[]),[y,I]=b(a?.ims_whatsapp||[]),[C,w]=b(a?.emails||[]),[S,W]=b(a?.phones||[]),[A,T]=b(a?.ims_rcs||[]),N=()=>{const E=fa.createNewAddress(bt.PHONE),$=[...S,E];W($)},U=()=>{const E=fa.createNewAddress(bt.EMAIL),$=[...C,E];w($)},Y=()=>{const E=fa.createNewAddress(bt.WHATSAPP),$=[...y,E];I($)},O=()=>{const E=fa.createNewAddress(bt.RCS),$=[...A,E];T($)},_=E=>{const $=[...y,E];I($),l(V=>({...V??{},ims_whatsapp:$}))},J=(E,$)=>{if($){if($.channelType===3){const V=C.map(P=>P.id===E?$:P);w(V),l(P=>({...P??{},emails:V}))}if($.channelType===5){const V=S.map(P=>P.id===E?$:P);W(V),l(P=>({...P??{},phones:V}))}if($.channelType===13){const V=y.map(P=>P.id===E?$:P);I(V),l(P=>({...P??{},ims_whatsapp:V}))}if($.channelType===21){const V=A.map(P=>P.id===E?$:P);T(V),l(P=>({...P??{},ims_rcs:V}))}if($.channelType===41){const V=h.map(P=>P.id===E?$:P);p(V),l(P=>({...P??{},ims_mercadolibre:V}))}}},F=async(E,$,V)=>{const P=E.target.value;if(V===3){const K=vt.getAddressesWithUpdatedValues(P,$,C);w(K)}else if(V===5){const K=vt.getAddressesWithUpdatedValues(P,$,S);W(K)}else if(V===13){const K=vt.getAddressesWithUpdatedValues(P,$,y);I(K)}else if(V===21){const K=vt.getAddressesWithUpdatedValues(P,$,A);T(K)}else if(V===41){const K=vt.getAddressesWithUpdatedValues(P,$,h);p(K)}},L=(E,$,V)=>{if(V===14){const P=c.map(K=>K.id===$?{...K,note:E.target.value}:K);u(P)}if(V===20){const P=m.map(K=>K.id===$?{...K,note:E.target.value}:K);g(P)}if(V===16){const P=x.map(K=>K.id===$?{...K,note:E.target.value}:K);j(P)}if(V===3){const P=C.map(K=>K.id===$?{...K,note:E.target.value}:K);w(P)}if(V===5){const P=S.map(K=>K.id===$?{...K,note:E.target.value}:K);W(P)}if(V===13){const P=y.map(K=>K.id===$?{...K,note:E.target.value}:K);I(P)}if(V===21){const P=A.map(K=>K.id===$?{...K,note:E.target.value}:K);T(P)}if(V===41){const P=h.map(K=>K.id===$?{...K,note:E.target.value}:K);p(P)}},Q=async(E,$)=>{if(e&&($===3||$===5||$===13||$===14||$===20||$===16||$===21||$===41)){r(E);const V={contactId:e,contactAddressId:E,type:$};switch(n?await n(s(V)):await s(V),r(!1),$){case 3:const P=C.filter(se=>se.id!==E);w(P),l(se=>({...se??{},emails:P}));break;case 5:const K=S.filter(se=>se.id!==E);W(K),l(se=>({...se??{},phones:K}));break;case 13:const X=y.filter(se=>se.id!==E);I(X),l(se=>({...se??{},ims_whatsapp:X}));break;case 21:const ie=A.filter(se=>se.id!==E);T(ie),l(se=>({...se??{},ims_rcs:ie}));break;case 41:const pe=h.filter(se=>se.id!==E);p(pe),l(se=>({...se??{},ims_mercadolibre:pe}));break;case 14:const Ee=c.filter(se=>se.id!==E);u(Ee),l(se=>({...se??{},ims_facebook:Ee}));break;case 20:const ne=m.filter(se=>se.id!==E);g(ne),l(se=>({...se??{},ims_webchat:ne}));break;case 16:const ve=x.filter(se=>se.id!==E);j(ve),l(se=>({...se??{},ims_instagram:ve}));break}}};function z(){u(o?.ims_facebook||[]),p(o?.ims_mercadolibre||[]),g(o?.ims_webchat||[]),j(o?.ims_instagram||[]),I(o?.ims_whatsapp||[]),T(o?.ims_rcs||[]),w(o?.emails||[]),W(o?.phones||[])}return H(()=>{l(a),a?.emails&&a?.phones&&(w(a.emails),W(a.phones)),I(a?.ims_whatsapp||[]),T(a?.ims_rcs||[]),u(a?.ims_facebook||[]),g(a?.ims_webchat||[]),j(a?.ims_instagram||[]),p(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:y,imsRCS:A,imsMercadolibre:h,imsFacebooks:c,imsWebchats:m,imsInstagrams:x,emails:C,phoneNumbers:S},action:{handleAddressFieldChange:F,handleNoteFieldChange:L,handleDeleteAddress:Q,addPhone:N,addEmail:U,addWhatsapp:Y,addRCS:O,replaceAddress:J,addWhatsappVerified:_,resetToInitialContactInformation:z},state:{isDeletingAddress:i}}},Gn=({initialState:e=[]}={})=>{const[a,n]=b(e);return{attributes:{value:a,onChange:(s,i)=>{const r=i.some(o=>!a.some(l=>o.id===l.id));(a.filter(o=>!i.some(l=>l.id===o.id)).length>0||r)&&n(i)}},actions:{addValue:s=>{n(i=>i.concat(s))},setValue:s=>{n(s)}}}},jo=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=te(()=>async ye=>{!n||!s||await ga({baseUrl:n,spaceId:s,data:ye})},[n,s]),r=async ye=>ye,[o,l]=b([]),c=Se("text",e?.name||""),u=Wt({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),h=Vn(e?.owner),p=Gn({initialState:e?.tags??[]}),[m,g]=b([]),{field:{imsFacebooks:x,imsMercadolibre:j,imsWebchats:y,imsInstagrams:I,imsWhatsapp:C,emails:w,phoneNumbers:S,imsRCS:W},action:{addPhone:A,addEmail:T,addWhatsapp:N,addRCS:U,addWhatsappVerified:Y,replaceAddress:O,handleAddressFieldChange:_,handleNoteFieldChange:J,handleDeleteAddress:F,resetToInitialContactInformation:L},state:{isDeletingAddress:Q}}=Hn({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),z=Se("text",e?.address1?.street||""),E=Se("text",e?.address2?.street||""),$=Se("text",e?.address1?.city||""),V=Se("text",e?.address2?.city||""),P=Se("text",e?.address1?.state||""),K=Se("text",e?.address2?.state||""),X=Se("text",e?.address1?.zipcode||""),ie=Se("text",e?.address2?.zipcode||""),pe=Se("text",e?.address1?.country||""),Ee=Se("text",e?.address2?.country||""),ne=(ye,De,he)=>De!==he&&!(De===null&&he==="")?{[ye]:he}:{},ve=()=>{if(!e)return null;const ye={street:z.attributes.value,city:$.attributes.value,state:P.attributes.value,zipcode:X.attributes.value,country:pe.attributes.value},De={street:E.attributes.value,city:V.attributes.value,state:K.attributes.value,zipcode:ie.attributes.value,country:Ee.attributes.value};return{id:e.id,...ne("owner",e.owner,h.attributes.value),...ne("name",e.name,c.attributes.value),imageUrl:u.imageUrl?u.removeParams(u.imageUrl):null,tags:p.attributes.value,properties:o,members:m,phoneNumbers:S,emails:w,address1:ye,address2:De}};function se(ye){if(!e)return;const De=M=>M.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),he=e.properties.find(M=>M.nameKey===ye)??e.properties.find(M=>De(M.nameKey)===De(ye));if(!he){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ye}`);return}const We=o.map(M=>M.nameKey===ye?{...M,value:he.value}:M);l(We)}const Ye=()=>e?a.map(ye=>{const De=M=>M.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),he=e.properties.find(M=>M.nameKey===ye.nameKey)??e.properties.find(M=>De(M.nameKey)===De(ye.nameKey));if(he)return{...he,nameKey:ye.nameKey,type:he.type??ye.type,value:he.value};const We=o.find(M=>M.nameKey===ye.nameKey);return{nameKey:ye.nameKey,type:ye.type,value:We?We.value:""}}):[];return H(()=>{e&&a&&l(Ye())},[e,a]),H(()=>{e&&p.actions.setValue(e.tags??[])},[e]),{field:{name:c,imsWhatsapp:C,imsRCS:W,contactImage:u,contactPropietary:h,imsMercadolibre:j,imsFacebooks:x,imsWebchats:y,imsInstagrams:I,emails:w,phoneNumbers:S,homeAddress:z,secondaryHomeAddress:E,city:$,secondaryCity:V,state:P,secondaryState:K,postalCode:X,secondaryPostalCode:ie,country:pe,secondaryCountry:Ee,customProperties:o,labelMultipleSelect:p},action:{setCustomProperties:l,addWhatsapp:N,addRCS:U,getEditedBusiness:ve,handleAddressFieldChange:_,handleNoteFieldChange:J,handleDeleteAddress:F,addPhone:A,addEmail:T,replaceAddress:O,addWhatsappVerified:Y,resetToInitialContactInformation:L,resetCustomProperty:se},state:{isDeletingAddress:Q},selectedContacts:m,setSelectedContacts:g}},wo=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=te(()=>async M=>{!n||!s||await ga({baseUrl:n,spaceId:s,data:M})},[n,s]),r=async M=>M,{getEditedField:o}=vt,[l,c]=b([]),u=Se("text",e?.firstName||""),h=Se("text",e?.lastName||""),p=Wt({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[m,g]=b(e?.birthDate?Z(e.birthDate):null),x=Hn({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),{field:{imsFacebooks:j,imsMercadolibre:y,imsWebchats:I,imsInstagrams:C,imsWhatsapp:w,emails:S,phoneNumbers:W,imsRCS:A},action:{addPhone:T,addEmail:N,addWhatsapp:U,addRCS:Y,addWhatsappVerified:O,replaceAddress:_,handleAddressFieldChange:J,handleNoteFieldChange:F,handleDeleteAddress:L,resetToInitialContactInformation:Q},state:{isDeletingAddress:z}}=x,E=Gn({initialState:e?.tags}),$=Vn(e?.owner),V=Se("text",e?.address1?.street),P=Se("text",e?.address2?.street),K=Se("text",e?.address1?.city),X=Se("text",e?.address2?.city),ie=Se("text",e?.address1?.state),pe=Se("text",e?.address2?.state),Ee=Se("text",e?.address1?.zipcode),ne=Se("text",e?.address2?.zipcode),ve=Se("text",e?.address1?.country),se=Se("text",e?.address2?.country),Ye=()=>{if(!e)return null;const M=e,ue=E.attributes.value.map(ge=>({id:ge.id,name:ge.name})),Te=W.map(ge=>{const{id:Be,...lt}=ge;return lt}),je=S.map(ge=>{const{id:Be,...lt}=ge;return lt});return{id:M.id,owner:$.attributes.value,firstName:u.attributes.value,lastName:h.attributes.value,address1:{...o("street",M.address1?.street,V.attributes.value),...o("city",M.address1?.street,K.attributes.value),...o("state",M.address1?.street,ie.attributes.value),...o("zipcode",M.address1?.street,Ee.attributes.value),...o("country",M.address1?.street,ve.attributes.value)},address2:{...o("street",M.address2?.street,P.attributes.value),...o("city",M.address2?.street,X.attributes.value),...o("state",M.address2?.street,pe.attributes.value),...o("zipcode",M.address2?.street,ne.attributes.value),...o("country",M.address2?.street,se.attributes.value)},emails:je,phones:Te,tags:ue,imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,properties:l,birthDate:m?.toDate()}};function ye(){e&&(!e.businessId||e.businessName)}function De(){g(e?.birthDate?Z(e.birthDate):null)}function he(M){if(!e)return;const ue=ge=>ge.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Te=e.properties.find(ge=>ge.nameKey===M)??e.properties.find(ge=>ue(ge.nameKey)===ue(M));if(!Te){console.error(`No se encontr\xF3 una propiedad con nameKey: ${M}`);return}const je=l.map(ge=>ge.nameKey===M?{...ge,value:Te.value}:ge);c(je)}const We=()=>e?a.map(M=>{const ue=ge=>ge.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Te=e.properties.find(ge=>ge.nameKey===M.nameKey)??e.properties.find(ge=>ue(ge.nameKey)===ue(M.nameKey));if(Te)return{...Te,nameKey:M.nameKey,type:Te.type??M.type,value:Te.value};const je=l.find(ge=>ge.nameKey===M.nameKey);return{nameKey:M.nameKey,type:M.type,value:je?je.value:""}}):[];return H(()=>{e&&a&&c(We())},[e,a]),H(()=>{e?.tags&&E.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:m,imsWhatsapp:w,imsRCS:A,contactFirstname:u,contactLastname:h,contactImage:p,contactPropietary:$,imsMercadolibre:y,imsFacebooks:j,imsWebchats:I,imsInstagrams:C,emails:S,phoneNumbers:W,homeAddress:V,secondaryHomeAddress:P,city:K,secondaryCity:X,state:ie,secondaryState:pe,postalCode:Ee,secondaryPostalCode:ne,country:ve,secondaryCountry:se,customProperties:l,labelMultipleSelect:E},action:{setBirthDate:g,setCustomProperties:c,getEditedContact:Ye,handleAddressFieldChange:J,handleNoteFieldChange:F,handleDeleteAddress:L,addPhone:T,addEmail:N,addWhatsapp:U,addRCS:Y,replaceAddress:_,addWhatsappVerified:O,resetToInitialContactInformation:Q,resetSelectedBusiness:ye,resetBirthDate:De,resetCustomProperty:he},state:{isDeletingAddress:z}}},qa=st(null),Io=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=wo({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(qa.Provider,{value:{entityType:"contact",editEntity:r,entityId:String(a.id)},children:e})},So=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=jo({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(qa.Provider,{value:{entityType:"business",editEntity:r,entityId:String(a.id)},children:e})},Eo=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r})=>a==="contact"?t.jsx(Io,{contact:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}):t.jsx(So,{business:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}),at=()=>{const e=Qe(qa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Ct=({userId:e,users:a,currentUser:n})=>{if(!e)return null;if(n?.uid&&n.uid===e)return n.display_name||n.email||null;const s=a.find(i=>i?.id===e);return s?.name?.trim()||s?.email||null},xa=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=Ie();return t.jsxs(v,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(Ke,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(G,{variant:"subtitle1",children:e}),n&&t.jsx(Pe,{startIcon:t.jsx(rr,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:i("global.searchLocation")})]}),t.jsx(mn,{sx:{my:1.5}}),a]})},Kn=({children:e,...a})=>t.jsx(v,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),To=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt,{dateAdapter:Nt,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(vn,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},Do={view:"main",setView:()=>{}},qn=st(null),Ao=qn.Provider,ko=()=>Qe(qn)||(console.warn("[useEditContactView] using noop, context value is missing"),Do),Jn=()=>{},Xn=st(Jn),$o=({navigate:e,children:a})=>t.jsx(Xn.Provider,{value:e,children:a}),Uo=()=>Qe(Xn)||(console.warn("[useNavigateContext] using noop, context value is falsy"),Jn);function Fo({value:e,displayValue:a,businessId:n}){const s=it(),i=Uo(),[r,o]=b(null),l=Wt({initialImageUrl:r?.imageUrl,entityType:"business",entityId:n}),[c,u]=b(null),[h,p]=b(!1);return t.jsxs(v,{display:"flex",alignItems:"center",children:[t.jsx(G,{onClick:async m=>{const g=m.currentTarget;if(p(!0),!s){console.error("API is null");return}const x=await s.fetchBusiness({businessId:n});if(x&&Ga(x)&&o(x),p(!1),!g){console.error("Target element is null");return}u(g)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:m=>m.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),r&&t.jsx(Un,{contactData:r,open:!!c,anchorEl:c,onClose:()=>u(null),navigate:i,avatarImgUrl:l.imageUrl}),h&&t.jsx(v,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(He,{size:20})})]})}const Po=e=>"email"in e,Ja=e=>e.entityType==="contact"&&e.inputType==="birthday",No=ee(Ce)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Qn=ee(Ce)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ot=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:r,spaceId:o,minWidth:l,onEntityUpdated:c}=e,u=Ie(),{setView:h}=ko(),p=e.inputType??"text",[m,g]=b(!1),[x,j]=b(!1),y=be(null),[I,C]=b(!1),[w,S]=b(()=>e.entityType==="business"||typeof n=="string"?n:void 0);H(()=>{const F=y.current;if(!F)return;const L=()=>{const Q=F.scrollWidth>F.clientWidth;C(z=>z===Q?z:Q)};if(L(),typeof ResizeObserver<"u"){let Q=0;const z=new ResizeObserver(()=>{if(typeof window>"u"){L();return}Q&&window.cancelAnimationFrame(Q),Q=window.requestAnimationFrame(()=>{L()})});return z.observe(F),()=>{typeof window<"u"&&Q&&window.cancelAnimationFrame(Q),z.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[a]),H(()=>{e.entityType==="business"?S(n):S(typeof n=="string"?n:void 0)},[n,e.entityType]);const W=()=>{if(e.entityType==="contact"&&p==="selectBusiness"){h("businessSelect");return}g(F=>!F)},A=F=>{S(F.target.value)},T=F=>{const L=F.target.value;S(L)},N=()=>{Ja(e)&&e.contact.action.resetBirthDate(),g(!1)},U=async()=>{if(!e.constructUpdateObject){g(!1);return}if(e.entityType==="business"&&w===void 0){g(!1);return}j(!0);try{if(!r||!o)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let F=w===void 0?null:w;if(Ja(e)){const E=Z(e.contact.field.birthDate);E.isValid()&&(F=E.toISOString())}const L=e.constructUpdateObject(F),Q=e.entityId??L?.id;if(!Q)throw new Error("Missing contactId for updateEntity");const z=await qe({baseUrl:r,spaceId:o,entityType:"contact",entityId:Q,body:L});c?.(z)}else{const F=e.constructUpdateObject(w),L=e.entityId??F?.id;if(!L)throw new Error("Missing businessId for updateEntity");const Q=await qe({baseUrl:r,spaceId:o,entityType:"business",entityId:L,body:F});c?.(Q)}}finally{j(!1),g(!1)}},Y=typeof w=="string"?w:"",O=w instanceof Date?w.toISOString():typeof w=="string"?w:"",_=l??(e.entityType==="contact"?"45%":"200px"),J=e.options??[];return t.jsxs(v,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:F=>F.palette.mode==="dark"?"1e1e1e":F.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:_,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(v,{display:"flex",position:"relative",minHeight:"25px",children:[I?t.jsx(rt,{title:a,arrow:!0,children:t.jsx(G,{ref:y,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:F=>F.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(G,{ref:y,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:m?1:0,color:F=>F.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:m?t.jsxs(t.Fragment,{children:[t.jsx(Qn,{size:"small",onClick:U,children:x?t.jsx(He,{size:24}):t.jsx(ht,{})}),t.jsx(Qn,{size:"small",onClick:N,children:t.jsx(Cn,{})})]}):t.jsx(No,{className:"edit-icon",size:"small",onClick:W,children:t.jsx(Pt,{})})]}),t.jsx(v,{width:m?"100%":"50%",position:"relative",children:m&&p==="text"?t.jsx(we,{value:O,onChange:A,variant:"standard",size:"small",sx:{width:"100%"}}):m&&(p==="select"||p==="selectMembers")?t.jsxs(ia,{value:Y,onChange:T,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(Ze,{value:"",children:u("conversations.contactDetails.contactInfo.emptySelection")}):null,J.map((F,L)=>t.jsx(Ze,{value:F.id,children:e.entityType==="contact"?F.name?.trim()||(Po(F)?F.email:"")||"Sin nombre":F.name?.trim()||F.email||"Sin nombre"},L))]}):m&&Ja(e)?t.jsx(To,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!m&&e.entityType==="contact"&&p==="selectBusiness"&&e.businessId?t.jsx(Fo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(G,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:F=>F.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Bt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:u,contactId:h,onEntityUpdated:p}=e;if(e.inputType==="birthday")return t.jsx(ot,{entityType:"contact",entityId:h,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:r,constructUpdateObject:o,contact:e.contact,businessId:l,baseUrl:c,spaceId:u,dateFormat:e.dateFormat,onEntityUpdated:p});const m=e.inputType??"text";return t.jsx(ot,{entityType:"contact",entityId:h,title:a,value:n,isNotEditable:s,inputType:m,options:i,displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:u,onEntityUpdated:p})},Ro=({nameKey:e,value:a,onChange:n,type:s})=>{const i=c=>{s===le.NUMBER_ACCOUNTING||s===le.NUMBER_DECIMAL||s===le.NUMBER_CURRENCY||s===le.CURRENCY?o(c):s===le.NUMBER_INTEGER?l(c):(s===le.LONGTEXT||s===le.TEXT||s===le.ADDRESS)&&r(c)},r=c=>{n(e,c.target.value)},o=c=>{const u=c.target.value.replace(/[^0-9.]/g,"");n(e,u)},l=c=>{const u=c.target.value;/^\d*$/.test(u)&&n(e,u)};return t.jsx(we,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:s===le.LONGTEXT,rows:s===le.LONGTEXT?4:1,sx:{width:"100%"}})},Mo=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt,{dateAdapter:Nt,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(vn,{value:e?Z(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Lo=({handleChange:e,value:a,options:n})=>{const s=Ie();return t.jsx(La,{className:"fadein",sx:{width:"100%"},children:t.jsxs(ia,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(Ze,{value:"",children:s("global.noValue")}),n.map((i,r)=>t.jsx(Ze,{value:i,children:i},r))]})})},zo=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(Rt,{dateAdapter:Nt,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ir,{value:e?Z(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Oo=({value:e,handleChange:a,userTimeFormat:n})=>{const s=Ie(),i=[Z().set("hour",0).set("minute",0),Z().set("hour",0).set("minute",0)],r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Rt,{dateAdapter:Nt,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(or,{slotProps:{textField:({position:o})=>({label:s(o==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:r}})},value:e||i,onChange:o=>a(o),format:r})})})},Wo=({value:e,handleChange:a,userDateFormat:n})=>{const s=Ie(),i=[Z(),Z()],r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Rt,{dateAdapter:Nt,children:t.jsx(Mt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(lr,{slotProps:{textField:({position:o})=>({label:s(o==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:r}})},value:e||i,onChange:o=>a(o),format:r})})})},Bo=ee(Ce)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),Zn=ee(Ce)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),_o=ee(v)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),es=ee(G)(({theme:e})=>({fontWeight:600,fontSize:"0.875rem",alignSelf:"center",color:e.palette.text.primary,letterSpacing:-.5,padding:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0})),Vo=ee(G)(({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"})),ts=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:r,baseUrl:o,spaceId:l,onEntityUpdated:c})=>{const{customProperties:u}=a.field,{setCustomProperties:h}=a.action,[p,m]=b(!1),[g,x]=b(!1),j=be(null),[y,I]=b(!1),C=(r?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),w=r?.regCon_timeFormat||"24",S=z=>z===le.NUMBER_INTEGER||z===le.NUMBER_DECIMAL||z===le.NUMBER_CURRENCY||z===le.NUMBER_ACCOUNTING||z===le.CURRENCY,W=(z,E)=>z.toLowerCase()==="dni"?!0:S(E),A=(z,E,$)=>{if($===""||$===null||$===void 0)return null;if(W(z,E)){const V=Number($);return Number.isNaN(V)?$:V}return $},T=()=>m(z=>!z),N=()=>{m(!1),a.action.resetCustomProperty(e.nameKey)},U=async()=>{if(!o||!l||!s)return;x(!0);const z=u.find(X=>X.nameKey===e.nameKey)||e,{nameKey:E,value:$}=z,V=i.find(X=>X.nameKey===E)?.type??z.type;let P;if(V===le.TIME){const X=Z($);X.isValid()?P=X.format(w==="24"?"HH:mm":"hh:mm"):P=$}else if(V===le.DATE){const X=Z($);X.isValid()?P=X.toISOString():P=$}else P=A(E,V,$);const K={properties:[{nameKey:E,type:V,value:P}]};try{const X=await qe({baseUrl:o,spaceId:l,entityType:n,entityId:s,body:K}),ie=u.map(pe=>pe.nameKey===E?{...pe,type:V,value:P}:pe);h(ie),c?.(X)}finally{x(!1),m(!1)}},Y=z=>i.find(E=>E.nameKey===z)?.name||z;H(()=>{const z=j.current;if(!z)return;const E=()=>{const $=z.scrollWidth>z.clientWidth;I(V=>V===$?V:$)};if(E(),typeof ResizeObserver<"u"){let $=0;const V=new ResizeObserver(()=>{if(typeof window>"u"){E();return}$&&window.cancelAnimationFrame($),$=window.requestAnimationFrame(()=>{E()})});return V.observe(z),()=>{typeof window<"u"&&$&&window.cancelAnimationFrame($),V.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[i,e.nameKey]);const O=(z,E)=>{const $=e.type===le.DATERANGE?Array.isArray(E)&&E[0]&&E[1]?`${Z(E[0]).toISOString()} - ${Z(E[1]).toISOString()}`:"":e.type===le.DATE?Z(E).isValid()?Z(E).toISOString():"Invalid Date":e.type===le.TIME?Z(E).isValid()?Z(E).toISOString():"Invalid Time":E,V=u.map(P=>P.nameKey===z?{...P,value:$}:P);h(V)},{type:_,nameKey:J,value:F}=e,L=z=>z==null?!1:typeof z=="string"?z.trim().length>0:!0,Q=()=>_===le.DATE?t.jsx(Mo,{value:F?Z(F):null,handleChange:z=>O(J,z?.toDate()),dateFormat:C}):_===le.TIME?t.jsx(zo,{value:e?.valueDate?Z(e.valueDate):F?Z(F):null,handleChange:z=>O(J,z),userTimeFormat:w}):_===le.DATERANGE?t.jsx(Wo,{value:F&&typeof F=="string"&&F.includes(" - ")?[Z(F.split(" - ")[0]),Z(F.split(" - ")[1])]:null,handleChange:z=>O(J,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userDateFormat:C}):_===le.TIMERANGE?t.jsx(Oo,{value:Array.isArray(F)&&F.length===2?[Z(F[0]),Z(F[1])]:null,handleChange:z=>O(J,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userTimeFormat:w}):_===le.OPTIONS?t.jsx(Lo,{value:typeof F=="string"?F:"",handleChange:z=>O(J,z),options:i.find(z=>z.nameKey===J)?.typeOptions??[]}):t.jsx(Ro,{type:_,nameKey:J,value:F,onChange:O});return t.jsxs(_o,{className:`fadein ${e.type===le.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(v,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[y?t.jsx(rt,{title:Y(e.nameKey),arrow:!0,children:t.jsx(es,{ref:j,flexGrow:1,noWrap:!0,children:Y(e.nameKey)})}):t.jsx(es,{ref:j,flexGrow:1,noWrap:!0,children:Y(e.nameKey)}),p?t.jsxs(t.Fragment,{children:[t.jsx(Zn,{size:"small",onClick:U,children:g?t.jsx(He,{size:24}):t.jsx(ht,{})}),t.jsx(Zn,{size:"small",onClick:N,children:t.jsx(Cn,{})})]}):t.jsx(Bo,{className:"edit-icon",size:"small",onClick:T,children:t.jsx(Pt,{})})]}),t.jsx(v,{width:p||e.type===le.LONGTEXT?"100%":"50%",position:"relative",children:p?Q():t.jsx(Vo,{children:L(e?.value)?e.type===le.DATERANGE?(()=>{if(typeof e.value=="string"){const z=e.value.split(" - ");if(z.length===2){const[E,$]=z,V=Z(E),P=Z($);return`${V.isValid()?V.format(C):"-"} - ${P.isValid()?P.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Z(e.value[0]).format(C)} - ${Z(e.value[1]).format(C)}`;return`${e.value}`})():e.type===le.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Z(e.value[0]).format(w==="24"?"HH:mm":"hh:mm")} - ${Z(e.value[1]).format(w==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===le.TIME?(()=>{try{const z=e.valueDate||e.value;return`${Z(z).format(w==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===le.DATE?(()=>{try{return`${Z(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Yo=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,c=Ie(),{entityType:u,editEntity:h}=at(),p=it();if(u!=="contact")return null;const[m,g]=b([]),[x,j]=b(null),[y,I]=b(null),[C,w]=b(null),S=h;H(()=>{if(!p)return;const U=new AbortController;return p.fetchUsers({signal:U.signal}).then(Y=>{U.signal.aborted||g(Y??[])}).catch(()=>{U.signal.aborted||g([])}),()=>{U.abort()}},[p]),H(()=>{const U=new AbortController,Y=async O=>{if(!O||!p)return null;try{const _=await p.fetchUserTriiById({userId:O,signal:U.signal});return _?.display_name||_?.email||null}catch{return null}};return(async()=>{const O=Ct({userId:n.owner,users:m,currentUser:o})??(n.owner?await Y(n.owner):null),_=Ct({userId:n.createdBy??void 0,users:m,currentUser:o})??(n.createdBy?await Y(n.createdBy):null),J=Ct({userId:n.updatedBy??void 0,users:m,currentUser:o})??(n.updatedBy?await Y(n.updatedBy):null);U.signal.aborted||(j(O),w(_),I(J))})(),()=>{U.abort()}},[p,n,m,o]);const W=(a||"YYYY/MM/DD").toUpperCase(),A=S.field.birthDate,T=A?.isValid()?A.format(W):null,N=U=>{const Y=new Date;let O=Y.getFullYear()-U.getFullYear();const _=Y.getMonth()-U.getMonth();return(_<0||_===0&&Y.getDate()<U.getDate())&&O--,O};return t.jsx(xa,{title:"General",children:t.jsxs(Kn,{children:[t.jsx(Bt,{title:c("conversations.contactDetails.contactOwner"),displayValue:x||"-",value:n.owner,inputType:"select",options:m,constructUpdateObject:U=>({owner:typeof U=="string"?U:""}),contact:S,baseUrl:i,spaceId:r,contactId:n.id,onEntityUpdated:l}),t.jsx(Bt,{title:c("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:S,baseUrl:i,spaceId:r,contactId:n.id,onEntityUpdated:l}),t.jsx(Bt,{title:c("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Bt,{title:c("conversations.contactDetails.modifiedBy"),value:y||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Bt,{title:c("global.birthdate"),inputType:"birthday",displayValue:A?`${T} (${N(A.toDate())})`:"-",value:A?A.toISOString():"",constructUpdateObject:U=>({birthDate:U}),contact:S,baseUrl:i,spaceId:r,contactId:n.id,dateFormat:a,onEntityUpdated:l}),S.field.customProperties.map(U=>t.jsx(ts,{property:U,entity:S,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},U.nameKey))]})})},Xa=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,businessId:u,onEntityUpdated:h})=>t.jsx(ot,{entityType:"business",entityId:u,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,onEntityUpdated:h}),Ho=e=>{const a=Ie(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,{entityType:c,editEntity:u}=at(),h=it();if(c!=="business")return null;const[p,m]=b([]),[g,x]=b(null),[j,y]=b(null),[I,C]=b(null),w=u;return H(()=>{if(!h)return;const S=new AbortController;return h.fetchUsers({signal:S.signal}).then(W=>{S.signal.aborted||m(W??[])}).catch(()=>{S.signal.aborted||m([])}),()=>{S.abort()}},[h]),H(()=>{const S=new AbortController,W=async A=>{if(!A||!h)return null;try{const T=await h.fetchUserTriiById({userId:A,signal:S.signal});return T?.display_name||T?.email||null}catch{return null}};return(async()=>{const A=Ct({userId:n.owner,users:p,currentUser:o})??(n.owner?await W(n.owner):null),T=Ct({userId:n.createdBy??void 0,users:p,currentUser:o})??(n.createdBy?await W(n.createdBy):null),N=Ct({userId:n.updatedBy??void 0,users:p,currentUser:o})??(n.updatedBy?await W(n.updatedBy):null);S.signal.aborted||(x(A),C(T),y(N))})(),()=>{S.abort()}},[h,n,p,o]),t.jsx(xa,{title:"General",children:t.jsxs(Kn,{children:[t.jsx(Xa,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:g||"-",inputType:"select",options:p,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),baseUrl:i,spaceId:r,businessId:n.id,onEntityUpdated:l}),t.jsx(Xa,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(Xa,{title:a("conversations.contactDetails.modifiedBy"),value:j||"-",isNotEditable:!0}),w.field.customProperties.map(S=>t.jsx(ts,{property:S,entity:w,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},S.nameKey))]})})},Go=e=>{const{entityType:a,entityData:n}=e;return te(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Yo,{...e,entityData:n,entityType:"contact"}):t.jsx(Ho,{...e,entityData:n,entityType:"business"})},Ko=()=>{const[e,a]=b(!1),[n,s]=b("");return{isOpen:e,title:n,openModal:i=>{s(i),a(!0)},closeModal:()=>{a(!1),s("")}}},qo=Ue(v)(({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=Ue(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),Xo=Ue(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),Qo=Ue(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),Zo=Ue(Ra)(({})=>({width:32,height:32,cursor:"pointer"})),Qa=Ue(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),el=Ue(Qa)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),tl=Ue(Qa)(({})=>({fontSize:14,fontWeight:500})),al=Ue(Qa)(({})=>({fontSize:14,fontWeight:500})),nl=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Wt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(qo,{children:[t.jsx(Jo,{children:t.jsxs(Qo,{children:[t.jsx(rt,{title:e.address||"",arrow:!0,children:t.jsx(tl,{children:e.address})}),t.jsx(rt,{title:e.profileName||"",arrow:!0,children:t.jsx(al,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(rt,{title:e.note||"",arrow:!0,children:t.jsx(el,{children:e.note})})]})}),t.jsxs(Xo,{children:[a!==""&&t.jsx(Zo,{src:n,alt:e.profileName,style:{cursor:"pointer"},children:e?.profileName?.charAt(0).toUpperCase()}),t.jsx(v,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(Ce,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(fn,{sx:{color:"#fcac34"}}):t.jsx(xn,{sx:{color:"#fcac34"}})})})]})]})})},Za=dr.getInstance(),sl=e=>{if(!e||!e.trim())return e;try{const a=Za.parse(e,void 0);return Za.isValidNumber(a)?Za.format(a,ur.INTERNATIONAL):e}catch{return e}},rl=Ue(Ce)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),il=Ue(cr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),ol=Ue(v)(({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"})),ll=Ue(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),cl=Ue(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),dl=Ue(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),as=Ue(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),ul=Ue(as)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),pl=Ue(as)(({})=>({fontSize:14,fontWeight:500})),ml=({item:e})=>{const a=()=>{const s=e.address;if(!s)return;const i=new CustomEvent("call-contact-header",{detail:{phoneAddress:s}});window.dispatchEvent(i)},n=te(()=>sl(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(ol,{children:[t.jsxs(ll,{children:[t.jsx(rl,{onClick:a,color:"primary",size:"small",children:t.jsx(il,{})}),t.jsxs(dl,{children:[t.jsx(rt,{title:n||"",arrow:!0,children:t.jsx(pl,{children:n})}),t.jsx(rt,{title:e.note||"",arrow:!0,children:t.jsx(ul,{children:e.note})})]})]}),t.jsx(cl,{children:t.jsx(v,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(Ce,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(fn,{sx:{color:"#fcac34"}}):t.jsx(xn,{sx:{color:"#fcac34"}})})})})]})})},hl=ee(v)(({theme:e})=>({display:"flex",flexDirection:"column",padding:e.spacing(1,0,2,0),width:"100%",gap:e.spacing(1),"&:hover .edit-icon":{opacity:1}})),gl=ee(G)(({})=>({letterSpacing:-.5,fontSize:14})),yl=ee(v)(({})=>({display:"flex",alignItems:"center"})),fl=ee(v)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),xl=ee(Ce)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),bl=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(hl,{children:[t.jsxs(yl,{children:[t.jsx(gl,{children:e}),t.jsx(xl,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(Pt,{fontSize:"small",sx:{color:r=>r.palette.secondary.main}})})]}),t.jsx(fl,{children:a.map((r,o)=>n?t.jsx(ml,{item:r},o):t.jsx(nl,{item:r,owner:i},o))})]}),vl=({title:e})=>t.jsx(v,{children:t.jsx(G,{variant:"subtitle2",children:e})}),Cl={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},ba=({title:e,handleAdd:a})=>{const n=Ie();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(v,{sx:Cl.container,children:[t.jsx(G,{variant:"subtitle2",children:e}),t.jsx(Pe,{onClick:a,size:"small",startIcon:t.jsx(wn,{}),variant:"text",color:"primary",children:n("global.add")})]})},jl={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},_t=({children:e})=>t.jsx(v,{sx:jl.container,children:e}),ns={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},wl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const r=Ie(),[o,l]=b(null),c=!!o,{channelType:u,address:h}=a,[p,m]=b(!1),[g,x]=b(null),[j,y]=b(!1),I=N=>{l(N.currentTarget)},C=()=>{l(null)},w=()=>{y(!1)},S=()=>{e(),C()},W=async()=>{m(!0);try{if(!i)return;const N=await i(13);if(!N)return;x(N),y(!0)}catch(N){console.error("Error verifying WhatsApp account:",N)}finally{m(!1)}C()},A=async()=>{m(!0);try{if(!i)return;const N=await i(21);if(!N)return;x(N),y(!0)}catch(N){console.error("Error verifying RCS account:",N)}finally{m(!1)}C()},T=async()=>{await n(),y(!1)};return t.jsxs(v,{children:[t.jsx(Ce,{"aria-controls":c?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":c?"true":void 0,onClick:I,children:t.jsx(pr,{})}),t.jsxs(Fs,{id:"basic-menu",anchorEl:o,open:c,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(Ze,{onClick:S,children:[t.jsx(oa,{children:t.jsx(pa,{color:"error"})}),t.jsx(la,{children:r("global.delete")})]}),u===5&&t.jsxs(Ze,{onClick:W,disabled:!s,children:[t.jsx(oa,{children:p?t.jsx(He,{size:24}):t.jsx(mr,{sx:{color:"green"}})}),t.jsx(la,{children:r("optionsMenu.verifyWspAccount")})]}),u===21&&t.jsxs(Ze,{onClick:A,disabled:!s,children:[t.jsx(oa,{children:p?t.jsx(He,{size:24}):t.jsx(hr,{})}),t.jsx(la,{children:r("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(Ut,{open:j,onClose:w,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(v,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:N=>N.palette.background.default},children:g?.success?t.jsxs(t.Fragment,{children:[t.jsxs(G,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.wspAccountFound")," ",h]}),t.jsx(G,{id:"modal-modal-description",sx:{mt:2},children:r("optionsMenu.wantToLinkContact")}),t.jsxs(v,{sx:{marginTop:"10px"},children:[t.jsx(Pe,{onClick:T,color:"primary",children:r("optionsMenu.yesLink")}),t.jsx(Pe,{onClick:w,color:"secondary",children:"No"})]})]}):t.jsxs(v,{sx:{position:"relative"},children:[t.jsxs(G,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.noWspAccountFound")," ",h]}),t.jsx(Pe,{onClick:w,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:r("global.cancel")})]})})})]})},Vt=e=>{const a=Ie(),n=it(),{editEntity:s,entityId:i}=at(),[r,o]=b(!1),l=e.checked??!0,c=e.entityId??i,{note:u,channelType:h,id:p,address:m}=e.addressData,g=!e.addressData.hasOwnProperty("isSaved"),x=e.replaceAddress??s.action.replaceAddress,j=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),y=async S=>{if(!n||!c)return null;const W=await n.setContactAddress({data:{address:m,contactId:c,type:S}});return x(p,W),W},I=async()=>{if(!n||!c)return;const S=await n.updateContactAddress({data:{contactAddressId:p,contactId:c,note:u??""}});x(p,S)},C=async()=>{o(!0),g?(await I(),o(!1)):await y(h)&&o(!1)},w=async()=>{o(!0);const S=await y(13);S&&j&&j(S),S&&o(!1)};return t.jsxs(v,{sx:{...ns.container},children:[g&&t.jsx(we,{size:"small",label:a("global.note"),variant:"outlined",onChange:S=>e.handleNoteFieldChange(S,p,h),value:u,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:ns.noteTextField}),t.jsx(Ce,{onClick:C,children:r?t.jsx(He,{size:24}):t.jsx(ht,{color:"primary"})}),t.jsx(wl,{onDelete:()=>e.handleDeleteAddress(p,h),addressData:e.addressData,handleLinkAccountSave:w,checked:l&&!r,onCheckContactAddress:async S=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:m,type:S}})}catch{return null}}})]})},Il={container:{display:"flex",gap:"100px",alignItems:"center"}},Yt=({children:e})=>t.jsx(v,{sx:Il.container,children:e}),Sl={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},Ht=({children:e})=>t.jsx(v,{sx:{...Sl.container},children:e}),El=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(fr,{size:20});case"available":return t.jsx(gr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(yr,{style:{height:27,width:27},color:"error"});default:return null}},ss=({status:e,text:a})=>t.jsxs(xr,{position:"end",children:[a?t.jsx(br,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(El,{status:e})})]}),Tl={code:{width:"60%",color:"gray"}},Dl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(_t,{children:t.jsxs(Yt,{children:[t.jsx(G,{sx:Tl.code,variant:"body2",children:e.address}),t.jsx(Vt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},Al=({IMSs:e,editEntity:a})=>t.jsx(Ht,{children:e?.map(n=>t.jsx(Dl,{data:n,editEntity:a},n.id))}),va=({editEntity:e,title:a,IMSs:n})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(vl,{title:a}),t.jsx(Al,{IMSs:n,editEntity:e})]}),kl={addressField:{}},en=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:r}=e,o=Ie(),l=it(),[c,u]=b("idle"),[h,p]=b(r),m=!e.hasOwnProperty("isSaved");return H(()=>{let g=setTimeout(async()=>{if(r!==""&&r!==h){if(!l)return;u("loading"),p(r);const x={address:r,type:i};try{const j=await l.checkContactAddress({data:x}),{success:y,warnings:I}=j;n(I),u(y?"available":"unavailable")}catch{n([]),u("unavailable")}}},1700);return()=>clearTimeout(g)},[l,e,r,i,h,n]),t.jsx(t.Fragment,{children:t.jsx(we,{disabled:m,sx:kl.addressField,size:"small",label:i===bt.WHATSAPP||i===bt.RCS?o?o("global.number"):"Number":o?o("global.email"):"Email",value:r,onChange:g=>{a(g,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ss,{status:c})})}})})},$l={addressField:{}},Ul=({data:e,onChange:a,setWarnings:n})=>{const s=it(),i=Ie(),{id:r,channelType:o,address:l}=e,[c,u]=b("idle"),[h,p]=b(l),m=!e.hasOwnProperty("isSaved");return H(()=>{let g=setTimeout(async()=>{if(l!==""&&l!==h){if(!s)return;u("loading"),p(l);const x={address:l,type:o};try{const{success:j,warnings:y}=await s.checkContactAddress({data:x});n(y),u(j?"available":"unavailable")}catch{n([]),u("unavailable")}}},1700);return()=>clearTimeout(g)},[e]),t.jsx(t.Fragment,{children:t.jsx(we,{disabled:m,sx:$l.addressField,size:"small",label:i("global.number"),value:l,onChange:g=>{a(g,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ss,{status:c})})}})})},tn={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Fl=({text:e})=>t.jsx(hn,{item:!0,children:t.jsx(v,{sx:tn.secondaryContainer,children:t.jsx(Cr,{icon:t.jsx(vr,{sx:tn.icon}),sx:tn.chip,label:e,color:"error",variant:"outlined"})})}),Ca=({warnings:e})=>{const a=Ie();return t.jsx(v,{children:t.jsx(hn,{container:!0,children:e?.map((n,s)=>t.jsx(Fl,{text:a(`contactAddressError.${n}`)},s))})})},Pl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Nl=({data:e})=>{const a="edit",{editEntity:n}=at(),s=n.action,i=n.state,[r,o]=b([]),[l,c]=b(!0);return H(()=>{c(r.length===0&&(e.address??"")!=="")},[r,e.address]),t.jsx(_t,{children:t.jsxs(Yt,{children:[t.jsxs(v,{sx:{...Pl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(Ul,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange}),r.length>0&&t.jsx(Ca,{warnings:r})]}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:l})]})})},Rl=({phoneNumbers:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(Nl,{data:a},a.id))}),Ml=({phoneNumbers:e,handleAdd:a})=>{const n=Ie();return t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(ba,{handleAdd:a,title:n("global.phones")}),t.jsx(Rl,{phoneNumbers:e})]})},rs={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Ll=({data:e})=>{const a="edit",{editEntity:n}=at(),s=n.action,i=n.state,[r,o]=b([]);return t.jsxs(_t,{children:[t.jsxs(Yt,{children:[t.jsx(v,{sx:rs.numberCountryContainer,children:t.jsx(v,{sx:rs.adressInputBox,children:t.jsx(en,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ca,{warnings:r})]})},zl=({emails:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(Ll,{data:a},a.id))}),Ol=({emails:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(ba,{handleAdd:a,title:"Emails"}),t.jsx(zl,{emails:e})]}),is={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Wl=({data:e})=>{const a="edit",{editEntity:n}=at(),s=n.action,i=n.state,[r,o]=b([]);return t.jsxs(_t,{children:[t.jsxs(Yt,{children:[t.jsx(v,{sx:is.numberCountryContainer,children:t.jsx(v,{sx:is.adressInputBox,children:t.jsx(en,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ca,{warnings:r})]})},Bl=({whatsapps:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(Wl,{data:a},a.id))}),_l=({whatsapps:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(ba,{handleAdd:a,title:"WhatsApp"}),t.jsx(Bl,{whatsapps:e})]}),os={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Vl=({data:e})=>{const a="edit",{editEntity:n}=at(),s=n.action,i=n.state,[r,o]=b([]);return t.jsxs(_t,{children:[t.jsxs(Yt,{children:[t.jsx(v,{sx:os.numberCountryContainer,children:t.jsx(v,{sx:os.adressInputBox,children:t.jsx(en,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Vt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ca,{warnings:r})]})},Yl=({RCSs:e})=>t.jsx(Ht,{variant:"large",children:e?.map(a=>t.jsx(Vl,{data:a},a.id))}),Hl=({RCSs:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(ba,{handleAdd:a,title:"RCS"}),t.jsx(Yl,{RCSs:e})]}),Gl=Ue(v)(({theme:e})=>({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:1e3,backgroundColor:e.palette.background.paper,padding:e.spacing(4),borderRadius:e.shape.borderRadius})),Kl=({open:e,onClose:a,title:n})=>{const s=Ie(),{editEntity:i}=at(),{emails:r,phoneNumbers:o,imsWhatsapp:l,imsRCS:c}=i.field,{addEmail:u,addPhone:h,addWhatsapp:p,resetToInitialContactInformation:m,addRCS:g}=i.action;function x(){a(),m()}return t.jsx(Ut,{open:e,onClose:a,children:t.jsxs(Gl,{children:[(()=>{switch(n){case"Phones":return t.jsx(Ml,{handleAdd:h,phoneNumbers:o});case"Emails":return t.jsx(Ol,{handleAdd:u,emails:r});case"Whatsapp":return t.jsx(_l,{handleAdd:p,whatsapps:l});case"RCS":return t.jsx(Hl,{handleAdd:g,RCSs:c});case"Facebook":return t.jsx(va,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(va,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(va,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(va,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(G,{children:"No information available for this section."})}})(),t.jsx(v,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(Pe,{variant:"contained",color:"primary",onClick:x,children:s("global.close")})})]})})},ql=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=Ko(),{editEntity:r}=at(),o=Ie(),l=r.field.phoneNumbers,c=r.field.emails,u=r.field.imsFacebooks,h=r.field.imsWhatsapp,p=r.field.imsMercadolibre,m=r.field.imsWebchats,g=r.field.imsInstagrams,x=r.field.imsRCS,j=[{key:"phones",title:o("conversations.contactDetails.phones"),items:l,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:c,modalTitle:"Emails",visible:!0},{key:"facebook",title:"Facebook",items:u,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:h,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:x,modalTitle:"RCS",visible:x.length>0},{key:"mercado-libre",title:"Mercado libre",items:p,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(xa,{title:o("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:j.filter(y=>y.visible).map(y=>t.jsx(bl,{handleEdit:()=>s(y.modalTitle),title:y.title,methodItems:y.items,isPhone:y.isPhone,owner:e},y.key))})}),t.jsx(Kl,{open:a,onClose:i,title:n})]})},Jl=({entityType:e,entityData:a,baseUrl:n,spaceId:s,onEntityUpdated:i,onDirectionSearchClick:r})=>{const o={baseUrl:n,spaceId:s,entityId:String(a.id),onEntityUpdated:i},l=Ie(),c=({addressNumber:u,title:h})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(G,{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(ot,{entityType:e,title:l("conversations.contactDetails.street"),value:a[u]?.street??"",...o,constructUpdateObject:p=>({[u]:{street:p}}),minWidth:"100%"})}),t.jsx(ot,{entityType:e,title:l("conversations.contactDetails.city"),value:a[u]?.city??"",...o,constructUpdateObject:p=>({[u]:{city:p}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:l("conversations.contactDetails.state"),value:a[u]?.state??"",...o,constructUpdateObject:p=>({[u]:{state:p}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:l("conversations.contactDetails.postcode"),value:a[u]?.zipcode??"",...o,constructUpdateObject:p=>({[u]:{zipcode:p}}),minWidth:"100%"}),t.jsx(ot,{entityType:e,title:l("conversations.contactDetails.country"),value:a[u]?.country??"",...o,constructUpdateObject:p=>({[u]:{country:p}}),minWidth:"100%"})]})]});return t.jsx(xa,{title:l("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:r,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(c,{addressNumber:"address1",title:l("conversations.contactDetails.primaryAddress")}),t.jsx(c,{addressNumber:"address2",title:l("conversations.contactDetails.secondaryAddress")})]})})},Xl=({entity:e,setEntity:a})=>re(n=>{if(!n||typeof n!="object")return;const s=n;if("id"in s){a(n);return}if(!e)return;const i={...e,...s};a(i)},[e,a]),Ql=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:r,selectedTags:o,onTagsUpdated:l})=>{const[c,u]=b("main"),[h,p]=b([]),[m,g]=b(!1),[x,j]=b(!1),[y,I]=b([]),[C,w]=b(!1),S=te(()=>{const N=r??[],U=y??[],Y=new Map;for(const O of N)O?.id&&Y.set(String(O.id),O);for(const O of U)O?.id&&Y.set(String(O.id),O);return Array.from(Y.values())},[r,y]),W=re(()=>{u("main"),p([]),g(!1),j(!1),I([]),w(!1)},[]);H(()=>{e||W()},[e,W]),H(()=>{if(c!=="tags"){g(!1);return}if(m||!S.length)return;const N=new Set(o.map(Y=>String(Y.id))),U=S.filter(Y=>N.has(String(Y?.id)));p(U),g(!0)},[c,m,S,o]);const A=re(async N=>{if(C||!a||!n)return;const U=String(N??"").trim();if(!U)return;const Y=U.toLowerCase(),O=S.find(_=>String(_?.name??"").trim().toLowerCase()===Y);if(O?.id){p(_=>{const J=_??[];return J.some(F=>String(F?.id)===String(O.id))?J:[...J,O]});return}w(!0);try{const _=await Ln({baseUrl:a,spaceId:n,name:U});I(J=>{const F=J??[];return!_?.id||F.some(L=>String(L?.id)===String(_.id))?F:[...F,_]}),p(J=>{const F=J??[];return!_?.id||F.some(L=>String(L?.id)===String(_.id))?F:[...F,_]})}finally{w(!1)}},[C,a,n,S]),T=re(async()=>{if(x||!a||!n||!s||i!=="contact"&&i!=="business")return;const N=h.filter(U=>U?.id&&U?.name).map(U=>({id:String(U.id),name:String(U.name)}));j(!0);try{await qe({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:N}}),l(N),u("main")}finally{j(!1)}},[x,a,n,s,i,h,l]);return{view:c,setView:u,draftLabels:h,setDraftLabels:p,labelsOptions:S,isSaving:x,isCreatingLabel:C,handleCreateLabel:A,handleSaveTags:T}},Zl=({onClose:e})=>re((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),ec={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},tc=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:r,currentUser:o})=>{const l=Ie(),c=it(),u=be(null),h=be(null),[p,m]=b(()=>s?.businessName??""),[g,x]=b(!1),[j,y]=b(!1),[I,C]=b(!1),[w,S]=b([]),[W,A]=b(s??null),[T,N]=b(1),[U,Y]=b(!1),[O,_]=b(!1),J=te(()=>{const X=o?.display_name,ie=o?.email;return String(X||ie||"").trim()},[o]);H(()=>()=>{u.current&&(clearTimeout(u.current),u.current=null),h.current?.abort()},[]),H(()=>{A(s??null),m(s?.businessName??"")},[s]);const F=()=>{h.current?.abort(),h.current=null,u.current&&(clearTimeout(u.current),u.current=null),x(!1),_(!1),N(1),Y(!1),S([])},L=X=>X.filter(ie=>!!ie?.id).map(ie=>({businessId:String(ie.id),businessName:String(ie.name??"")})),Q=async({query:X,page:ie})=>{if(!c)return;h.current?.abort();const pe=new AbortController;h.current=pe,y(!0);try{const Ee={...ec,currentPage:ie,filter:[{value:X,column:"name",condition:""}]},ne=await c.fetchBusinessTableData({pagination:Ee,signal:pe.signal});if(pe.signal.aborted)return;const ve=L(ne?.contactos??[]);x(!0);const se=ne?.paginacion?.total??0;S(Ye=>{const ye=ie===1?ve:(()=>{const De=new Map;for(const he of Ye)De.set(he.businessId,he);for(const he of ve)De.set(he.businessId,he);return Array.from(De.values())})();return se&&ye.length>=se&&_(!0),ye})}finally{y(!1),C(!1),Y(!1)}},z=X=>{F(),X&&(u.current&&(clearTimeout(u.current),u.current=null),C(!0),u.current=setTimeout(()=>{Q({query:X,page:1})},800))},E=X=>{const ie=X.target;if(!(ie.scrollHeight-ie.scrollTop-ie.clientHeight<1)||O||j||!p)return;const pe=T+1;Y(!0),N(pe),Q({query:p,page:pe})},$=async()=>{if(!c||!J)return;const X=String(p??"").trim();if(X){y(!0);try{const ie={name:X,owner:J,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},pe=await c.createBusiness({business:ie}),Ee={businessId:String(pe.id??""),businessName:String(pe.name??X)};S([Ee]),A(Ee),x(!0)}finally{y(!1)}}},V=async()=>{if(!e||!a||!n)return;const X=W?.businessId??"",ie=await qe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:X}});r?.(ie),i()},P=g&&w.length===0&&p?t.jsxs(Ke,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(G,{variant:"body2",children:l("global.noOptions")}),t.jsx(tt,{size:"small",variant:"contained",onClick:$,loading:j,disabled:j||!J,children:l("global.createNew")})]}):t.jsx(G,{variant:"body2",children:l("global.noOptions")}),K=!n||!e||!a;return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Ke,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(Ce,{size:"small",onClick:i,"aria-label":l("global.back"),children:t.jsx(Ba,{fontSize:"small"})}),t.jsx(G,{variant:"subtitle1",children:l("conversations.contactDetails.business")}),t.jsx(v,{sx:{flex:1}}),t.jsx(tt,{variant:"contained",size:"small",startIcon:t.jsx(ht,{}),onClick:V,loading:!1,disabled:K,children:l("global.save")})]}),t.jsxs(v,{sx:{position:"relative"},children:[j||I||U?t.jsx(v,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(Ps,{sx:{borderRadius:1}})}):null,t.jsx(Ma,{fullWidth:!0,disablePortal:!0,value:W,onChange:(X,ie)=>{A(ie)},inputValue:p,onInputChange:(X,ie,pe)=>{m(ie),pe==="input"&&z(ie)},options:w,getOptionLabel:X=>X?.businessName??"",isOptionEqualToValue:(X,ie)=>X.businessId===ie.businessId,noOptionsText:P,renderInput:X=>t.jsx(we,{...X,size:"small",label:l("conversations.contactDetails.business"),placeholder:l("global.noValue"),InputProps:{...X.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[j||I?t.jsx(He,{size:18,sx:{mr:1}}):null,X.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:E}})]})]})},ac=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:r,language:o="en",navigate:l,googleMapsApiKey:c,onEntityUpdated:u})=>{const{t:h,i18n:p}=mt(),m=be(null);H(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!c){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const Q=document.createElement("script");return Q.src=`https://maps.googleapis.com/maps/api/js?key=${c}&libraries=places`,Q.async=!0,Q.defer=!0,document.body.appendChild(Q),()=>{}},[c]),H(()=>{o&&p.changeLanguage(o)},[o,p]);const g=Q=>h(Q),x=te(()=>!n||!s?null:Wn(n,s),[n,s]),{state:j,selectors:y,actions:I}=ho({open:e,baseUrl:n,spaceId:s,contactId:i}),C=Xl({entity:j.contactData,setEntity:Q=>{I.setContactData(Q??void 0),Q&&u&&u(Q)}}),{view:w,setView:S,draftLabels:W,setDraftLabels:A,labelsOptions:T,isSaving:N,isCreatingLabel:U,handleCreateLabel:Y,handleSaveTags:O}=Ql({open:e,baseUrl:n,spaceId:s,contactData:j.contactData,contactType:y.contactType,labels:y.labels,selectedTags:y.tags,onTagsUpdated:Q=>{if(!j.contactData)return;const z={...j.contactData,tags:Q};I.setContactData(z),u&&u(z)}}),_=Wt({baseUrl:n,spaceId:s,entityType:y.contactType==="business"||y.contactType==="contact"?y.contactType:void 0,entityId:j.contactData?String(j.contactData.id):void 0,initialImageUrl:j.contactData?.imageUrl,onEntityUpdated:C}),J=Zl({onClose:a}),F={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},L=Array.isArray(r)?[F,...r]:r?[F,r]:F;return t.jsx(Mi,{value:x,children:t.jsx(Ni,{t:g,children:t.jsx($o,{navigate:l,children:t.jsx(Ut,{open:e,onClose:J,closeAfterTransition:!0,slots:{backdrop:za},slotProps:{backdrop:{timeout:200}},children:t.jsx(et,{in:e,timeout:200,children:t.jsxs(v,{sx:L,ref:m,children:[t.jsx(Ce,{"aria-label":"close",onClick:J,sx:{position:"absolute",right:5,top:5,color:Q=>Q.palette.grey[500],zIndex:1},size:"small",children:t.jsx(bn,{sx:{fontSize:20}})}),j.isLoading&&!j.contactData?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(He,{})}):j.error?t.jsx(v,{sx:{mb:2},children:"Failed to load contact"}):j.contactData?t.jsx(Ao,{value:{view:w,setView:S},children:t.jsx(Eo,{entityType:y.contactType==="business"?"business":"contact",entityData:j.contactData,customContactFields:y.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(v,{sx:{position:"relative",height:"100%"},children:[t.jsx(et,{in:w==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Yi,{imgUrl:_.imageUrl,displayName:y.displayName,tags:y.tags,onEditTags:()=>{S("tags")},onUploadPhoto:_.action.uploadImage,onPhotoFileChange:_.inputAtributes.onChange,photoInputRef:_.inputAtributes.ref,isUploadingPhoto:_.isUploading,onDeletePhoto:_.action.deleteImage,isDeletingPhoto:_.isDeleting,contactType:y.contactType,entityId:j.contactData?.id,firstName:y.isContact?j.contactData.firstName:void 0,lastName:y.isContact?j.contactData.lastName:void 0,name:y.isBusiness?j.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(v,{sx:{px:1,pb:2},children:[t.jsx(Go,{dateFormat:y.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:y.contactType==="contact"||y.contactType==="business"?y.contactType:"contact",entityData:j.contactData,customContactFields:y.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:C,currentUser:y.userTrii}),t.jsx(Jl,{entityType:y.contactType==="contact"||y.contactType==="business"?y.contactType:"contact",entityData:j.contactData,baseUrl:n,spaceId:s,onEntityUpdated:C,onDirectionSearchClick:()=>S("searchLocation")}),t.jsx(ql,{ownerData:j.contactData})]})]})}),t.jsx(et,{in:w==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(mo,{baseUrl:n,spaceId:s,entityType:y.contactType==="business"?"business":"contact",entityId:String(j.contactData.id),onBack:()=>S("main"),onEntityUpdated:C})})}),t.jsx(et,{in:w==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Gi,{value:W,options:T,onChange:A,onBack:()=>S("main"),onSave:O,isSaving:N,onCreateNew:Y,isCreatingNew:U,popperContainer:m.current})})}),t.jsx(et,{in:w==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(tc,{baseUrl:n,spaceId:s,contactId:String(j.contactData.id),initialBusiness:y.isContact&&j.contactData?.businessId?{businessId:String(j.contactData.businessId),businessName:String(j.contactData.businessName??"")}:null,onBack:()=>S("main"),onEntityUpdated:C,currentUser:y.userTrii})})})]})})}):null]})})})})})})},nc=e=>t.jsx(Wa,{i18n:Ot,children:t.jsx(ac,{...e})}),ls=st(null),sc=ls.Provider,cs=()=>Qe(ls),rc={events:[],setEvents:()=>{},filteredEvents:[]},ic=(e,a)=>{const[n,s]=b([]);H(()=>{if(!a?.length){s([]);return}const r=a.map(o=>({id:o.id,title:o.title||"",start:new Date(o.startAt),end:new Date(o.endAt||o.startAt),startAt:o.startAt,endAt:o.endAt,allDay:o.allDay||!1,color:o.color,calendarId:o.calendarId,details:o.details,location:o.location,isPrivate:o.isPrivate,rule:o.rule,relatedContact:o.relatedContact,sharedWith:o.sharedWith,finalized:o.finalized,kind:"event",originalOccurrenceDate:o.originalOccurrenceDate,parentId:o.parentId}));s(r)},[a]);const i=te(()=>e?.length?n.filter(r=>r.calendarId&&e.includes(r.calendarId)):n,[n,e]);return te(()=>({events:n,setEvents:s,filteredEvents:i}),[n,i])},ds={open:!1,handleOpen:()=>{},handleClose:()=>{}},us=()=>{const[e,a]=b(!1),n=re(()=>{a(!0)},[]),s=re(()=>{a(!1)},[]);return te(()=>({open:e,handleOpen:n,handleClose:s}),[e,n,s])},gt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},yt=(e,a)=>{const[n,s]=b(a||""),[i,r]=b(!1),[o,l]=b("");H(()=>{s(a||"")},[a]);const c=re(j=>{r(!0),l(j)},[]),u=re(()=>{r(!1),l("")},[]),h=re(j=>{s(j.target.value)},[]),p=re(j=>{s(j)},[]),m=re(()=>{s(a||"")},[a]),g=te(()=>({onError:c,onSuccess:u,resetValue:m,changeValue:p}),[c,u,m,p]),x=te(()=>({error:i,helperText:o,type:e,value:n,onChange:h}),[i,o,e,n,h]);return{actions:g,attributes:x}};function ps(e){return typeof e=="number"}const oc={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function lc(e){const[a,n]=b(e||[]),s=re(()=>{const h={id:Ka(),timeValue:0,timePeriod:ha.MINUTE,sendToContact:!1};n(p=>p.concat(h))},[]),i=re(h=>{n(p=>p.filter(m=>m.id!==h))},[]),r=re((h,p)=>{const m=Number(h.target.value);ps(m)&&n(g=>g.map(x=>x.id===p?{...x,timeValue:m}:x))},[]),o=re((h,p)=>{if(!ps(h.target.value))return;const m=h.target.value;n(g=>g.map(x=>x.id===p?{...x,timePeriod:m}:x))},[]),l=re((h,p)=>{const m=h.target.checked;n(g=>g.map(x=>x.id===p?{...x,sendToContact:m}:x))},[]),c=re(()=>{n([])},[]);H(()=>{e&&n(e)},[e]);const u=te(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:r,handleTimePeriodChange:o,handleReminderChange:l,resetNotifications:c}),[s,i,r,o,l,c]);return{notifications:a,action:u}}const cc={state:{selectedStartDate:Z(),selectedEndDate:Z().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},dc={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},uc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},pc={titleField:gt,descriptionField:gt,locationField:gt,colorField:gt,date:cc,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:oc,shareWithUsers:uc,linkContact:dc,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},mc=(e,a)=>{const[n,s]=b(e??Z()),[i,r]=b(a??Z().add(30,"minute")),[o,l]=b(!1),c=re(p=>m=>{p(m)},[]),u=te(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),h=te(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:u,action:h}},hc=()=>{const[e,a]=b(""),[n,s]=b(""),i=re(u=>{a(u.name??""),s(u.id)},[]),r=re(u=>{a(u),u||s("")},[]),o=re(()=>{a(""),s("")},[]),l=te(()=>({search:e,contactSelectedId:n}),[e,n]),c=te(()=>({handleSelectContact:i,handleSearchChange:r,resetField:o}),[i,r,o]);return{state:l,action:c}},gc=()=>{const[e,a]=b([]),n=re(()=>{a([])},[]),s=te(()=>({userIds:e}),[e]),i=te(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},yc=e=>{const a=be(null),n=yt("text",e?.title??""),s=yt("text",e?.details??e?.description??""),i=yt("text",e?.location??""),r=yt("text",e?.color??"#1976d2"),o=mc(e?.startAt?Z(e.startAt):void 0,e?.endAt?Z(e.endAt):void 0),[l,c]=b(e?.allDay??!1),[u,h]=b(e?.isPrivate??!1),[p,m]=b(e?.rule??""),g=lc(e?.notifications),x=gc(),j=hc(),y=re(()=>({title:n.attributes.value,details:s.attributes.value,location:i.attributes.value,allDay:l,isPrivate:u,color:r.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedEndDate.toISOString(),notifications:g.notifications.map(C=>({timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:x.field.userIds,rule:p,relatedContactId:j.state.contactSelectedId||null}),[n.attributes.value,s.attributes.value,i.attributes.value,l,u,r.attributes.value,o.state.selectedStartDate,o.state.selectedEndDate,g.notifications,x.field.userIds,p,j.state.contactSelectedId]),I=re(()=>{n.actions.resetValue(),s.actions.resetValue(),i.actions.resetValue(),r.actions.changeValue("#1976d2"),c(!1),h(!1),m(""),g.action.resetNotifications(),x.action.resetField(),j.action.resetField(),o.action.setError(!1)},[n.actions,s.actions,i.actions,r.actions,g.action,x.action,j.action,o.action]);return H(()=>{const C=e?.id;!e||a.current===C||(a.current=C,c(e.allDay??!1),h(e.isPrivate??!1),m(e.rule??""),n.actions.changeValue(e.title??""),s.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),r.actions.changeValue(e.color??"#1976d2"),e.startAt&&o.action.setSelectedStartDate(Z(e.startAt)),e.endAt&&o.action.setSelectedEndDate(Z(e.endAt)))},[e?.id]),te(()=>({titleField:n,descriptionField:s,locationField:i,colorField:r,date:o,allDay:l,setAllDay:c,isPrivate:u,setIsPrivate:h,recurrenceRule:p,setRecurrenceRule:m,notifications:g,shareWithUsers:x,linkContact:j,create:y,resetFields:I}),[n,s,i,r,o,l,u,p,g,x,j,y,I])},fc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},xc={nameField:gt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:fc,googleCalendar:null,handleGoogleCalendarChange:()=>{}},bc=()=>{const[e,a]=b([]),n=re(()=>{a([])},[]),s=te(()=>({userIds:e}),[e]),i=te(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},vc=()=>{const e=yt("text",""),[a,n]=b("#ffffff"),[s,i]=b(null),r=bc(),o=re(c=>{n(c)},[]),l=re(c=>{i(c)},[]);return te(()=>({nameField:e,color:a,handleColorChange:o,shareWithUsers:r,googleCalendar:s,handleGoogleCalendarChange:l}),[e,a,o,r,s,l])},Cc={tasks:[],setTasks:()=>{},filteredTasks:[]},jc=e=>{const[a,n]=b([]),s=te(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return te(()=>({tasks:a,setTasks:n,filteredTasks:s}),[a,s])},wc={state:{selectedStartDate:Z(),selectedEndDate:Z(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ic={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Sc={titleField:gt,descriptionField:gt,date:wc,linkContact:Ic,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},Ec=(e,a)=>{const[n,s]=b(e??Z()),[i,r]=b(a??Z()),[o,l]=b(!1),c=re(p=>m=>{p(m)},[]),u=te(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),h=te(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:u,action:h}},Tc=()=>{const[e,a]=b(""),[n,s]=b(""),i=re(u=>{a(u.name??""),s(u.id)},[]),r=re(u=>{a(u),u||s("")},[]),o=re(()=>{a(""),s("")},[]),l=te(()=>({search:e,contactSelectedId:n}),[e,n]),c=te(()=>({handleSelectContact:i,handleSearchChange:r,resetField:o}),[i,r,o]);return{state:l,action:c}},Dc=e=>{const a=be(null),n=yt("text",e?.title??""),s=yt("text",e?.description??""),i=Ec(e?.startAt?Z(e.startAt):void 0,e?.startAt?Z(e.startAt):void 0),r=Tc(),o=re(()=>({title:n.attributes.value,description:s.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:r.state.contactSelectedId||null}),[n.attributes.value,s.attributes.value,i.state.selectedStartDate,r.state.contactSelectedId]),l=re(()=>{n.actions.resetValue(),s.actions.resetValue(),r.action.resetField(),i.action.setError(!1)},[n.actions,s.actions,r.action,i.action]);return H(()=>{const c=e?.id;if(!(!e||a.current===c)&&(a.current=c,n.actions.changeValue(e.title??""),s.actions.changeValue(e.description??""),e.startAt)){const u=Z(e.startAt);i.action.setSelectedStartDate(u),i.action.setSelectedEndDate(u)}},[e?.id]),te(()=>({titleField:n,descriptionField:s,date:i,linkContact:r,create:o,resetFields:l}),[n,s,i,r,o,l])},an=st({eventDialog:ds,createCalendarDialog:ds,event:pc,events:rc,calendar:xc,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:Cc,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Sc,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],handleSaveUpdatedTask:()=>{},handleDeleteTask:()=>{},handleToggleTaskCompleted:()=>{},handleDuplicateItem:()=>{},calendarView:"month",setCalendarView:()=>{},calendarDate:new Date,setCalendarDate:()=>{},navigateToDate:()=>{},confirmDeleteDialog:{open:!1,handleClose:()=>{},itemType:"event"},handleConfirmDelete:()=>{},deleteRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmDeleteRecurring:()=>{},editRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmEditRecurring:()=>{}}),ms=e=>e,hs=st(ms),Ac=({t:e,children:a})=>t.jsx(hs.Provider,{value:e,children:a}),Re=()=>{const e=Qe(hs);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),ms)};var kc=Object.defineProperty,$c=(e,a,n)=>a in e?kc(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,gs=(e,a,n)=>$c(e,typeof a!="symbol"?a+"":a,n);class Uc extends Error{constructor(a,n,s){super(a),gs(this,"status"),gs(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function ze({url:e,method:a="GET",headers:n,body:s,signal:i}){const r=await globalThis.fetch(e,{method:a,headers:{...s?{"Content-Type":"application/json"}:{},...n??{}},body:s?JSON.stringify(s):void 0,signal:i}),o=(r.headers.get("content-type")||"").includes("application/json")?await r.json().catch(()=>null):await r.text().catch(()=>null);if(!r.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${r.status}`;throw new Uc(l,r.status,o)}return o}function Me(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function ys(e,a){const n=encodeURIComponent(a);return{CONTACTS:Me(e,`/contacts/${n}`),MEDIA:Me(e,`/media/${n}`),SETTINGS:Me(e,`/settings/${n}`),CALENDAR:Me(e,`/calendar/${n}`)}}function Ve(e){return ys(e.baseUrl,e.spaceId).CALENDAR}async function Fc(e,a,n){const s=`${Ve(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return ze({url:s})}async function Pc(e,a){const n=Ve(e);return ze({url:Me(n,"/events"),method:"POST",body:a})}async function fs(e,a){const n=Ve(e),{activityId:s,updatedActivity:i,originalOccurrenceDate:r}=a;if(r){const o=r instanceof Date?r.toISOString():r,l=`${n}/events/occurrence/${s}?occurrence=${o}`;return ze({url:l,method:"PUT",body:i})}return ze({url:Me(n,`/events/${s}`),method:"PUT",body:i})}async function nn(e,a,n){const s=Ve(e);if(n){const i=n instanceof Date?n.toISOString():n,r=`${s}/events/${a}?occurrence=${i}`;await ze({url:r,method:"DELETE"})}else await ze({url:Me(s,`/events/${a}`),method:"DELETE"})}async function Nc(e,a){const n=Ve(e);return ze({url:Me(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Rc(e,a){const n=Ve(e);return ze({url:Me(n,`/Task/${a}`)})}async function Mc(e,a){const n=Ve(e);return ze({url:Me(n,"/Task"),method:"POST",body:a})}async function xs(e,a,n){const s=Ve(e);return ze({url:Me(s,`/Task/${a}`),method:"PUT",body:n})}async function Lc(e,a){const n=Ve(e);await ze({url:Me(n,`/Task/${a}`),method:"DELETE"})}async function zc(e,a,n){const s=Ve(e);return ze({url:Me(s,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Oc(e){const a=Ve(e);return ze({url:Me(a,"/Calendar")})}async function Wc(e,a){const n=Ve(e);return ze({url:Me(n,"/Calendar"),method:"POST",body:a})}async function Bc(e,a,n){const s=Ve(e);return ze({url:Me(s,`/Calendar/${a}`),method:"PUT",body:n})}function bs(e){const a=Z(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const Gt=e=>{if(!e)return e;const a=e.indexOf("_");if(a===-1)return e;const n=e.substring(0,a),s=e.substring(a+1);return/^\d{14}$/.test(s)?n:e},Kt=e=>e?e.parentId?e.parentId:Gt(e.id):"",_c=({children:e,externalOpen:a,externalOnClose:n,externalMode:s="create",externalType:i="event",externalEventCalendarId:r,externalTaskCalendarId:o,externalSelectedEvent:l,externalSelectedTask:c})=>{const{t:u}=mt(),h=cs(),p=(f,...R)=>u(f,...R),[m,g]=b(i),[x,j]=b(null),[y,I]=b(null),[C,w]=b(s),[S,W]=b(o||""),[A,T]=b(r||""),[N,U]=b(!1),[Y,O]=b("create"),[_,J]=b(null),[F,L]=b({open:!1,message:"",severity:"info"}),[Q,z]=b(!1),[E,$]=b("event"),[V,P]=b(!1),[K,X]=b(!1),[ie,pe]=b(null),Ee="trii_calendar_last_view",ne=f=>f==="month"||f==="week"||f==="day",[ve,se]=b(()=>{try{const f=localStorage.getItem(Ee);return ne(f)?f:"month"}catch{return"month"}}),[Ye,ye]=b(new Date),De=f=>{ye(f),se("day")},he=us(),We=us(),M=yc(x??void 0),ue=Dc(y??void 0);H(()=>{s!==void 0&&w(s)},[s]),H(()=>{i!==void 0&&g(i)},[i]),H(()=>{r!==void 0&&T(r)},[r]),H(()=>{o!==void 0&&W(o)},[o]),H(()=>{l!==void 0&&j(l)},[l]),H(()=>{c!==void 0&&I(c)},[c]),H(()=>{a!==void 0&&(a&&!he.open?he.handleOpen():!a&&he.open&&he.handleClose())},[a,he]);const Te=()=>{(C==="edit"||C==="create")&&(M.resetFields(),ue.resetFields()),M.date.action.setError(!1),ue.date.action.setError(!1),n?n():he.handleClose()},je=vc(),ge=Y==="create",[Be,lt]=b([]),[wt,Sa]=b([]),Jt="calendar_selected_ids",[_e,ct]=b(()=>{try{const f=localStorage.getItem(Jt);return f?JSON.parse(f):[]}catch{return[]}}),Je=ic(_e,wt),Xt=jc(_e),Qt=()=>{L(f=>({...f,open:!1}))};function It(f){const R=f?.startAt??f?.start,D=f?.endAt??f?.end??R;return{startAt:R,endAt:D}}const{myCalendars:dt,otherCalendars:Ea}=te(()=>({myCalendars:Be??[],otherCalendars:[]}),[Be]),Xe=re(async()=>{if(h)try{const f=new Date,R=f.getUTCFullYear(),D=f.getUTCMonth(),q=new Date(Date.UTC(R,D-1,1,0,0,0)).toISOString(),oe=new Date(Date.UTC(R,D+2,1,0,0,0)).toISOString(),ke=await Fc(h,q,oe);Sa(ke)}catch(f){console.error("Error fetching activities:",f)}},[h]),ut=re(async f=>{if(h)try{const R=await Rc(h,f);Xt.setTasks(R.map(D=>({id:D.id,title:D.title||"",start:new Date(D.startAt),end:new Date(D.endAt||D.startAt),startAt:D.startAt,endAt:D.endAt,description:D.description,calendarId:D.calendarId,isCompleted:D.isCompleted||!1,relatedContact:D.relatedContact,kind:"task"})))}catch(R){console.error("Error fetching tasks:",R)}},[h]),St=re(async()=>{if(h)try{const f=await Oc(h);lt(f)}catch(f){console.error("Error fetching calendars:",f)}},[h]);H(()=>{h&&(St(),Xe())},[h,St,Xe]);function Et(f,R,D){g(f),w("create"),j(null),I(null),M.resetFields(),ue.resetFields(),U(!1);const q=bs(R??new Date),oe=D?bs(D):q.add(30,"minute"),ke=oe.isAfter(q)?oe:q.add(30,"minute");if(f==="task"){ue.date.action.setSelectedStartDate(q),ue.date.action.setSelectedEndDate(q),ue.date.action.setError(!1);const xe=_e?.[0]??Be?.[0]?.id??"";W(xe)}else{M.date.action.setSelectedStartDate(q),M.date.action.setSelectedEndDate(ke),M.date.action.setError(!1);const xe=_e?.[0]??dt?.[0]?.id??Be?.[0]?.id??"";T(xe);const Ae=dt?.find($e=>$e.id===xe)??Be?.find($e=>$e.id===xe);Ae?.color&&M.colorField.actions.changeValue(Ae.color)}he.handleOpen()}function Ta(){Et("event")}function Da(){M.date.action.setError(!1),ue.date.action.setError(!1),w("edit")}function Tt(f){const{startAt:R,endAt:D}=It(f),q={...f,kind:"event",startAt:R,endAt:D,details:f?.details??""};g("event"),j(q),I(null),T(q.calendarId??""),w("view"),M.date.action.setError(!1),ue.date.action.setError(!1),he.handleOpen()}async function Zt(f){if(!h)return;let R;if(f)R={title:f.title,details:f.description||f.details||"",startAt:new Date(f.startAt),endAt:new Date(f.endAt),allDay:f.allDay,location:f.location||"",isPrivate:f.isPrivate||!1,color:f.color||"",rule:f.rule||"",contactId:f.relatedContactId||null,sharedWith:f.sharedWith||[],notifications:(f.notifications||[]).map(oe=>({id:Ka(),timeValue:oe.value,timePeriod:oe.type,sendToContact:oe.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const oe=M.create();R={...oe,startAt:new Date(oe.startAt),endAt:new Date(oe.endAt),contactId:oe.relatedContactId||null,eventTypeId:"",repeatId:""}}const D=A;if(!D){L({open:!0,message:p("global.errorSavingChanges"),severity:"error"});return}const q={...R,calendarId:D};try{L({open:!0,message:p("global.savingChanges"),severity:"info"}),M.resetFields(),Te(),await Pc(h,q),_e.includes(D)||ct(oe=>[...oe,D]),L({open:!0,message:p("global.changesSaved"),severity:"success"}),Xe()}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}async function nt(){if(!x?.id)return;const f=M.create(),R=A||x.calendarId||"";if(!R){L({open:!0,message:p("global.errorSavingChanges"),severity:"error"});return}x.originalOccurrenceDate!=null?(pe(()=>async D=>{await ft(f,R,D)}),X(!0)):await ft(f,R,!1)}async function ft(f,R,D){const q=x?.originalOccurrenceDate!=null,oe={title:f.title,details:f.details,startAt:f.startAt,endAt:f.endAt,allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:R,notifications:f.notifications,sharedWith:f.sharedWith};(D||!q)&&(oe.rule=f.rule);const ke=Kt(x),xe={updatedActivity:oe,activityId:ke};q&&!D&&(xe.originalOccurrenceDate=x.originalOccurrenceDate);try{const Ae=await fs(h,xe);Ae&&j(Ae),Te(),L({open:!0,message:p("global.changesSaved"),severity:"success"}),Xe()}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}async function Dt(f){X(!1),ie&&(await ie(f),pe(null))}async function ea(){x?.originalOccurrenceDate!=null?P(!0):($("event"),z(!0))}async function Aa(){if(h)if(z(!1),E==="event")try{const f=Kt(x);Te(),await nn(h,f),L({open:!0,message:p("global.changesSaved"),severity:"success"}),Xe()}catch(f){console.error("Error deleting event:",f);const R=f?.message?.includes("duplicate key")?p("global.eventAlreadyDeleted","El evento ya fue eliminado"):p("global.errorSavingChanges");L({open:!0,message:R,severity:"error"})}else{if(!y?.id)return;try{const f=Gt(y.id),R=y.calendarId;Te(),await Lc(h,f),I(null),ue.resetFields(),L({open:!0,message:p("global.changesSaved"),severity:"success"}),R&&ut(R)}catch(f){console.error("Error deleting task:",f);const R=f?.message?.includes("duplicate key")?p("global.taskAlreadyDeleted","La tarea ya fue eliminada"):p("global.errorSavingChanges");L({open:!0,message:R,severity:"error"})}}}async function ta(f){P(!1);const R=Kt(x);Te();try{f?await nn(h,R):await nn(h,R,x.originalOccurrenceDate),L({open:!0,message:p("global.changesSaved"),severity:"success"}),Xe()}catch(D){console.error("Error deleting recurring event:",D);const q=D?.message?.includes("duplicate key")?p("global.eventAlreadyDeleted","El evento ya fue eliminado"):p("global.errorSavingChanges");L({open:!0,message:q,severity:"error"})}}async function ka(){if(!h)return;const f=Kt(x);await Nc(h,f),Te()}async function aa(f,R,D){const q=R instanceof Date?R:new Date(R),oe=D instanceof Date?D:new Date(D),ke=q.toISOString(),xe=oe.toISOString(),Ae=f.kind==="task";!Ae&&f.originalOccurrenceDate!=null?(j(f),pe(()=>async $e=>{await At(f,ke,xe,q,oe,Ae,$e)}),X(!0)):await At(f,ke,xe,q,oe,Ae,!1)}async function At(f,R,D,q,oe,ke,xe){ke||Je.setEvents(Ae=>Ae.map($e=>$e.id===f.id?{...$e,start:q,end:oe,startAt:q,endAt:oe}:$e)),L({open:!0,message:p("global.savingChanges"),severity:"info"});try{if(ke){const Ae=Gt(f.id),$e={title:f.title,description:f.description,startAt:R,endAt:D,calendarId:f.calendarId,allDay:f.allDay||!1,isCompleted:f.isCompleted||!1};await xs(h,Ae,$e),await ut(f.calendarId)}else{const Ae=Kt(f),$e=f.originalOccurrenceDate!=null,ra={title:f.title,details:f.details,startAt:new Date(R),endAt:new Date(D),allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:f.calendarId};(xe||!$e)&&(ra.rule=f.rule);const cn={updatedActivity:ra,activityId:Ae};$e&&!xe&&(cn.originalOccurrenceDate=f.originalOccurrenceDate),await fs(h,cn)}L({open:!0,message:p("global.changesSaved"),severity:"success"}),Xe()}catch{ke||Je.setEvents(Ae=>Ae.map($e=>$e.id===f.id?{...$e,start:f.start,end:f.end}:$e)),L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}function $a(f,R){Et("event",f,R)}function na(){je.nameField.actions.resetValue(),je.handleColorChange("#ffffff"),je.shareWithUsers.action.resetField(),je.handleGoogleCalendarChange(null)}function kt(){na(),J(null),O("create"),We.handleClose()}function sa(f){je.nameField.actions.changeValue(f.title??""),je.nameField.actions.onSuccess(),je.handleColorChange(f.color??"#ffffff"),je.shareWithUsers.action.setUserIds(f.sharedWith??[]),je.handleGoogleCalendarChange(f.googleCalendar??null)}function Ua(){O("create"),J(null),na(),We.handleOpen()}function Fa(f){O("edit"),J(f),sa(f),We.handleOpen()}async function Pa(){if(!h)return;const f=(je.nameField.attributes.value??"").trim();if(!f){L({open:!0,message:p("global.nameRequired"),severity:"error"});return}const R=je.shareWithUsers.field.userIds,D={title:f,color:je.color,sharedWith:R.length?R:void 0,googleCalendar:je.googleCalendar};try{if(ge)await Wc(h,D);else{const q=_?.id;if(!q)return;await Bc(h,q,D)}kt(),L({open:!0,message:p(ge?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),St()}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}async function Na(f){if(!h)return;let R;if(f?R={title:f.title,description:f.description||"",startAt:f.startAt,contactId:f.relatedContactId||null}:R=ue.create(),!R.title){L({open:!0,message:p("global.nameRequired"),severity:"error"});return}const D=S;if(!D){L({open:!0,message:p("global.errorSavingChanges"),severity:"error"});return}const q={...R,calendarId:D};try{L({open:!0,message:p("global.savingChanges"),severity:"info"}),ue.resetFields(),Te(),await Mc(h,q),_e.includes(D)||ct(oe=>[...oe,D]),L({open:!0,message:p("global.changesSaved"),severity:"success"}),ut(D)}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}function d(){Et("task")}async function k(){if(!h||!y?.id)return;const f=ue.create();if(!f.title){L({open:!0,message:p("global.nameRequired"),severity:"error"});return}const R=S||y.calendarId;if(!R){L({open:!0,message:p("global.errorSavingChanges"),severity:"error"});return}const D={...f,calendarId:R};try{L({open:!0,message:p("global.savingChanges"),severity:"info"});const q=Gt(y.id),oe=await xs(h,q,D);oe&&I(oe),Te(),L({open:!0,message:p("global.changesSaved"),severity:"success"}),ut(R)}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}async function B(){y?.id&&($("task"),z(!0))}async function ae(){if(!h||!y?.id)return;const f=!y.isCompleted;try{const R=Gt(y.id),D=y.calendarId,q=await zc(h,R,f);q&&I(q),L({open:!0,message:p("global.changesSaved"),severity:"success"}),D&&ut(D)}catch{L({open:!0,message:p("global.errorSavingChanges"),severity:"error"})}}function me(){const f=m==="event",R=f?x:y;if(!R)return;const D={...R};f?(j(null),w("create"),U(!0),setTimeout(()=>{if(M.titleField.actions.changeValue(D.title??""),M.descriptionField.actions.changeValue(D.details??D.description??""),M.locationField.actions.changeValue(D.location??""),M.colorField.actions.changeValue(D.color??""),M.setAllDay(D.allDay??!1),M.setIsPrivate(D.isPrivate??!1),M.setRecurrenceRule(D.rule??""),M.date.action.setSelectedStartDate(Z(D.startAt)),M.date.action.setSelectedEndDate(Z(D.endAt)),M.date.action.setError(!1),M.notifications.action.resetNotifications(),D.relatedContact?.id&&M.linkContact.action.handleSelectContact(D.relatedContact),D.sharedWith){const q=D.sharedWith.map(oe=>oe.id);M.shareWithUsers.action.setUserIds(q)}T(D.calendarId??A)},50)):(I(null),w("create"),setTimeout(()=>{ue.titleField.actions.changeValue(D.title??""),ue.descriptionField.actions.changeValue(D.description??""),ue.date.action.setSelectedStartDate(Z(D.startAt)),ue.date.action.setSelectedEndDate(Z(D.startAt)),ue.date.action.setError(!1),D.relatedContact?.id&&ue.linkContact.action.handleSelectContact(D.relatedContact),W(D.calendarId??S)},50))}function fe(f){const{startAt:R,endAt:D}=It(f),q={...f,kind:"task",startAt:R,endAt:D,description:f?.description??""};g("task"),I(q),W(q.calendarId??""),T(q.calendarId??""),j(null),w("view"),M.date.action.setError(!1),ue.date.action.setError(!1),he.handleOpen()}function de(f){return f?.kind==="task"?fe(f):Tt(f)}H(()=>{try{_e&&localStorage.setItem(Jt,JSON.stringify(_e))}catch{}},[_e]),H(()=>{Be?.length&&ct(f=>{const R=new Set(Be.map(q=>q.id)),D=(f??[]).filter(q=>R.has(q));return D.length?D:Be.map(q=>q.id)})},[Be]),H(()=>{try{localStorage.setItem(Ee,ve)}catch{}},[ve]);const ce={eventDialog:{...he,handleClose:Te},dialogMode:C,createCalendarDialog:We,event:M,calendar:je,events:Je,handleCreateEvent:Zt,handleSelectEvent:de,handleOpenEventCreate:Ta,handleStartEditingEvent:Da,handleSaveUpdatedEvent:nt,handleEndEvent:ka,handleDeleteEvent:ea,handleResizeEvent:aa,selectedEvent:x,savingSnackbar:F,handleCloseSnackbar:Qt,dialogType:m,setDialogType:g,handleOpenTaskCreate:d,handleOpenCreateFromSlot:$a,handleCloseCreateCalendarDialog:kt,calendarDialogMode:Y,editingCalendar:_,handleOpenCreateCalendarDialog:Ua,handleOpenEditCalendarDialog:Fa,handleSubmitCalendar:Pa,tasks:Xt,activeCalendarIds:_e,setActiveCalendarIds:ct,handleCreateTask:Na,task:ue,selectedTask:y,taskCalendarId:S,setTaskCalendarId:W,eventCalendarId:A,setEventCalendarId:T,userManuallyChangedColor:N,setUserManuallyChangedColor:U,myCalendars:dt,otherCalendars:Ea,handleSaveUpdatedTask:k,handleDeleteTask:B,handleToggleTaskCompleted:ae,handleDuplicateItem:me,calendarView:ve,setCalendarView:se,calendarDate:Ye,setCalendarDate:ye,navigateToDate:De,confirmDeleteDialog:{open:Q,handleClose:()=>z(!1),itemType:E},handleConfirmDelete:Aa,deleteRecurringDialog:{open:V,handleClose:()=>P(!1)},handleConfirmDeleteRecurring:ta,editRecurringDialog:{open:K,handleClose:()=>{X(!1),pe(null)}},handleConfirmEditRecurring:Dt};return t.jsx(Ac,{t:p,children:t.jsx(an.Provider,{value:ce,children:e})})},ja=ee(v)(()=>({display:"flex",flexDirection:"column",gap:.5})),sn=ee(v)(()=>({display:"flex",alignItems:"center",gap:1})),rn=ee(G)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),jt="DD/MM/YYYY",wa="HH:mm",Vc=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:r,hideLabel:o=!1,allDay:l=!1})=>{const c=Re(),u=te(()=>a.diff(e,"minute"),[e,a]),h=te(()=>{if(u===0)return"0 min";const y=Math.floor(u/60),I=u%60;return y===0?`${I} min`:I===0?`${y} h`:`${y}.${Math.round(I/60*10)} h`},[u]),p=y=>{if(!y)return;const I=y.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=y.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),s(C)},m=y=>{if(!y)return;const I=y.hour(0).minute(0).second(0).millisecond(0);n(I)},g=y=>{if(!y)return;const I=y.hour(23).minute(59).second(59).millisecond(999);s(I)},x=y=>{if(!y)return;const I=e.hour(y.hour()).minute(y.minute()).second(0).millisecond(0),C=I.add(u,"minute");n(I),s(C)},j=y=>{if(!y)return;let I=e.hour(y.hour()).minute(y.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),s(I)};return r?t.jsxs(ja,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),l?t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,marginTop:"10px"},children:[t.jsx(G,{variant:"body1",children:e.format(jt)}),t.jsx(G,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(G,{variant:"body1",children:a.format(jt)})]}):t.jsxs(v,{children:[t.jsx(G,{variant:"body1",sx:{mb:1},children:e.format(jt)}),t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(G,{variant:"body1",children:e.format(wa)}),t.jsx(G,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(G,{variant:"body1",children:a.format(wa)}),u>0&&t.jsxs(G,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",h,")"]})]})]})]}):t.jsxs(ja,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),t.jsx(jn,{dateAdapter:In,children:l?t.jsxs(sn,{children:[t.jsx(ma,{disabled:r,format:jt,label:c("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:e,onChange:m,minDate:Z(),sx:{flex:1}}),t.jsx(rn,{variant:"body1",children:"\u2013"}),t.jsx(ma,{disabled:r,format:jt,label:c("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:a,onChange:g,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(v,{sx:{mb:1},children:t.jsx(ma,{disabled:r,format:jt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:e,onChange:p,minDate:Z()})}),t.jsxs(sn,{children:[t.jsx(_a,{disabled:r,format:wa,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:c("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:e,onChange:x,sx:{alignSelf:"baseline",flex:1}}),t.jsx(rn,{variant:"body1",children:"\u2013"}),t.jsxs(v,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(_a,{disabled:r,format:wa,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:c("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:a,onChange:j,sx:{alignSelf:"baseline",width:"100%"}}),u>0&&t.jsxs(G,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",h,")"]})]})]})]})}),i&&t.jsx(et,{in:i,children:t.jsx(G,{color:"red",variant:"caption",sx:{mt:.5},children:c("calendarView.reminders.errorDate")})})]})},Yc=ee(v)(()=>({display:"flex",gap:2,alignItems:"center"})),Hc=ee(v)(()=>({width:"15%",userSelect:"none"})),vs=({name:e,children:a})=>t.jsxs(Yc,{children:[t.jsx(Hc,{children:e}),a]}),Ge=({children:e,title:a})=>t.jsxs(v,{children:[t.jsx(v,{sx:{mb:1,userSelect:"none"},children:a}),e]}),on=({titleField:e,disabled:a,variantMode:n="default"})=>{const s=Re(),{value:i,type:r,...o}=e.attributes,l=i||"";return n==="inline"?t.jsx(we,{...o,value:l,disabled:a,autoFocus:!0,fullWidth:!0,placeholder:s("global.addTitle"),variant:"standard",InputProps:{disableUnderline:!1,sx:{fontSize:22,fontWeight:500}},sx:{"& .MuiInput-underline:before":{borderBottomColor:"divider"},"& .MuiInput-underline:hover:before":{borderBottomColor:"text.secondary"},"& .MuiInput-underline:after":{borderBottomWidth:2}}}):a?t.jsx(vs,{name:s("global.title"),children:t.jsx(G,{variant:"body1",sx:{py:.5},children:l||"-"})}):t.jsx(vs,{name:s("global.title"),children:t.jsx(we,{...o,value:l,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:r})})},Gc=ee(v)(()=>({marginBottom:"6px",padding:"8px 6px",border:"1px solid lightgray",borderRadius:"3px"})),Kc=ee(v)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),qc=ee(we)(()=>({width:"13%"})),Jc=ee(ia)(()=>({width:"23%"})),Xc=ee(v)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),Qc=ee(Ce)(()=>({ml:"auto"})),Zc=[{title:"minute",value:ha.MINUTE},{title:"hour",value:ha.HOUR},{title:"day",value:ha.DAY}],ed=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const r=Re(),o=e.timeValue??0;return t.jsxs(Gc,{children:[t.jsxs(Kc,{children:[r("calendarView.reminders.sendReminder.pt1"),t.jsx(qc,{onChange:l=>a(l,e.id),value:o,type:"text",variant:"outlined",size:"small"}),t.jsx(Jc,{onChange:l=>n(l,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:l=>l.palette.background.panel}}},children:Zc.map(l=>t.jsx(Ze,{value:l.value,children:r(`calendarView.reminders.timePeriod.${l.title}`)},l.value))}),r("calendarView.reminders.sendReminder.pt2")]}),t.jsxs(Xc,{children:[t.jsx(xt,{sx:{display:"flex",alignItems:"center"},label:r("calendarView.reminders.sendReminderToContact"),control:t.jsx(gn,{checked:e.sendToContact,onChange:l=>s(l,e.id),color:"secondary"})}),t.jsx(Qc,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(pa,{})})]})]})},td=ee(v)`
|
|
16
|
+
<%s key={someKey} {...props} />`,ue,k,Ye,k),Ft[k+ue]=!0}}return u===r?Na(Te):Pa(Te),Te}}function la(u,A,z){return oa(u,A,z,!0)}function ca(u,A,z){return oa(u,A,z,!1)}var Ra=ca,Ma=la;Bt.Fragment=r,Bt.jsx=Ra,Bt.jsxs=Ma})()),Bt}process.env.NODE_ENV==="production"?Ga.exports=Us():Ga.exports=Fs();var t=Ga.exports;$s(t);const Ps=ee(C)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),Nn=ee(be)({padding:4}),Ns=ee(C)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Rs=ee(Oa)({width:60,height:60,marginBottom:8}),Ms=ee(Y)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Os=ee(C)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),Ls=({imgUrl:e,name:a,contactId:n,navigate:r,isLoading:i=!1,onError:s,onClose:o,isBusiness:l=!1})=>{const c=se(h=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!h)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(h,"_blank","noopener,noreferrer"):r(h)}catch(v){s?.(v instanceof Error?v:new Error("Navigation failed"))}},[r,s]),p=c(l?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),y=c(`/a/conversations/conversations?contactId=${n}`),m=a||"Unknown Contact",d=`Avatar for ${m}`;return t.jsxs(Ns,{children:[t.jsxs(Ps,{children:[t.jsx(Nn,{color:"info",size:"small",onClick:h=>{p(h),o()},onMouseDown:h=>{h.button===1&&(p(h),o())},disabled:!n,"aria-label":"View contact details",children:t.jsx(ns,{fontSize:"small"})}),t.jsx(Nn,{color:"info",size:"small",onClick:h=>{y(h),o()},onMouseDown:h=>{h.button===1&&(y(h),o())},"aria-label":"Go to conversations",children:t.jsx(rs,{fontSize:"small"})})]}),i?t.jsx(Os,{children:t.jsx(qe,{size:24})}):t.jsx(Rs,{src:e,alt:d,onError:()=>s?.(new Error("Failed to load avatar"))}),t.jsx(Ms,{variant:"h6",title:m,children:m})]})},zs=ee(C)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Ws=ee(C)({width:"100%",borderBottom:"1px solid lightgray"}),Bs=ee(C)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),_s=ee(C)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Vs=ee(C)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Ys=ee(C)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Hs=ee(Y)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Gs=({icon:e,contactList:a,title:n,showTitle:r=!0})=>{const i=s=>t.jsx(Bs,{children:t.jsxs(Vs,{children:[t.jsx(_s,{children:e}),t.jsxs(Ys,{children:[t.jsx(lt,{title:s.address,arrow:!0,placement:"top",children:t.jsx(Y,{variant:"subtitle1",fontWeight:"semi-bold",fontSize:14,color:"text.primary",sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",cursor:"default"},children:s.address})}),s.profileName&&t.jsx(Y,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:s.profileName})]}),s.note&&t.jsx(Hs,{variant:"body2",fontSize:12,color:"text.secondary",children:s.note})]})},s.id);return t.jsxs(zs,{children:[r&&t.jsx(Ws,{children:t.jsx(Y,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},Ks=ee(C)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),qs=ee(Y)({borderBottom:"1px solid lightgray",width:"100%"}),Js=ee(C)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Qs=ee(Y)({fontSize:14}),Xs=ee(Vr)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Zs=({properties:e,title:a})=>{const n=i=>i.replace(/-/g," "),r=(i,s)=>{if(!i||Array.isArray(i)&&i.length===0)return"";if(Array.isArray(i))return i.map(o=>r(o,s)).join(", ");if(typeof i=="string"){const o=gt(i,gt.ISO_8601).isValid(),l=c=>gt(i).format(c);switch(s){case ce.TIME:return o?l("HH:mm"):i;case ce.DATE:return o?l("DD/MM/YYYY"):i;case ce.TIMERANGE:case ce.DATERANGE:if(o)return s===ce.TIMERANGE?l("HH:mm"):l("DD/MM/YYYY");const c=i.split(" ");if(c.length===2){const[p,y]=c,m=s===ce.TIMERANGE?gt(p).format("HH:mm"):gt(p).format("DD/MM/YYYY"),d=s===ce.TIMERANGE?gt(y).format("HH:mm"):gt(y).format("DD/MM/YYYY");return`${m} - ${d}`}return i;default:return i}}return i};return t.jsxs(Ks,{children:[t.jsx(qs,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,s)=>i.value.length>0&&t.jsxs(Js,{children:[t.jsx(Xs,{}),t.jsxs(Qs,{children:[n(i.nameKey),":"," ",r(i.value,i.type)]})]},s))]})},ei=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ti=ee(C)({marginBottom:16}),ai=ee(Pt)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),ni=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ei,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(ti,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(ai,{label:n.name,color:"primary",size:"small"},n.id))})]});function Rn(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 ri=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),si=({contactData:e,title:a})=>!e||!Rn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(ri,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Y,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Mn(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 ii=({name:e,memberId:a,navigate:n})=>{const r=`/a/conversations/conversations?contactId=${a}`,i=s=>{s.preventDefault(),s.stopPropagation(),s.ctrlKey||s.metaKey||s.button===1?window.open(r,"_blank","noopener,noreferrer"):n(r)};return t.jsx(Y,{variant:"body2",color:"text.secondary",role:"link",tabIndex:0,sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:i,onMouseDown:s=>{s.button===1&&i(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&i(s)},children:e})},oi=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),li=({contactData:e,title:a,navigate:n})=>!e||!Mn(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(oi,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(r=>t.jsx(ii,{memberId:String(r.id),name:r.name,navigate:n},r.id))]});var ci="Labels",di="Phone",ui="Business",pi="Business Members",mi="Properties",hi="View",gi="Tags",yi={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"},fi={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"},xi={upload:"Upload photo",delete:"Delete photo"},bi={from:"From",to:"To"},vi={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"}}},Ci={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"},ji={labels:ci,phone:di,business:ui,businessMembers:pi,properties:mi,view:hi,tags:gi,global:yi,searchLocationModal:fi,avatar:xi,contactEdit:bi,conversations:vi,calendarView:Ci},wi="Etiquetas",Ii="Tel\xE9fono",Si="Empresa",Ei="Miembros de la empresa",Ti="Propiedades",Di="Ver",Ai="Etiquetas",ki={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"},$i={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"},Ui={upload:"Subir foto",delete:"Eliminar foto"},Fi={from:"Desde",to:"Hasta"},Pi={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:wi,phone:Ii,business:Si,businessMembers:Ei,properties:Ti,view:Di,tags:Ai,global:ki,searchLocationModal:$i,avatar:Ui,contactEdit:Fi,conversations:Pi,calendarView:Ni};const Mi={en:{translation:ji},es:{translation:Ri}},_t=is.createInstance();_t.use(ss).init({resources:Mi,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Oi=ee(C)(({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"}})),Li=({open:e,anchorEl:a,onClose:n,contactData:r,avatarImgUrl:i,navigate:s,language:o="en"})=>{const{t:l,i18n:c}=yt();G(()=>{o&&c.changeLanguage(o)},[o,c]);const p=l,y=Mn(r),m=Rn(r),d=[{icon:t.jsx(Yr,{fontSize:"small"}),title:p("phone"),contactList:r?.phones||[],showTitle:!0},{icon:t.jsx(Hr,{fontSize:"small"}),title:p("email"),contactList:r?.emails||[],showTitle:!0},{icon:t.jsx(Gr,{fontSize:"small"}),title:"IM",contactList:r?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Kr,{fontSize:"small"}),contactList:r?.ims_facebook||[],showTitle:!1},{icon:t.jsx(qr,{fontSize:"small"}),contactList:r?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Jr,{fontSize:"small"}),contactList:r?.ims_webchat||[],showTitle:!1}];return G(()=>{const h=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[e,n]),t.jsx(gn,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(yn,{onClickAway:n,children:t.jsx(Oi,{children:t.jsxs(Rr,{children:[t.jsx(Ls,{navigate:s,contactId:r?.id,imgUrl:i,name:r?.name,onClose:n,isBusiness:y}),t.jsx(ni,{contactData:r,title:p("labels")}),m&&t.jsx(si,{contactData:r,title:p("business")}),y&&t.jsx(li,{contactData:r,title:p("businessMembers"),navigate:s}),d.map((h,b)=>t.jsx(Gs,{icon:h.icon,title:h.title,contactList:h.contactList,showTitle:h.showTitle},b)),t.jsx(Zs,{properties:r?.properties,title:p("properties")})]})})})})},On=e=>t.jsx(_a,{i18n:_t,children:t.jsx(Li,{...e})}),Ln=e=>e,zn=ot(Ln),zi=({t:e,children:a})=>t.jsx(zn.Provider,{value:e,children:a}),Ie=()=>{const e=et(zn);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Ln)},Wi=({tags:e,onEditTags:a})=>{const n=Ie(),[r,i]=x(null),s=ae(()=>e??[],[e]),o=s.slice(0,4),l=Math.max(s.length-o.length,0),c=m=>{i(m.currentTarget)},p=()=>{i(null)},y=!!r;return t.jsxs(C,{sx:{mt:1,display:"flex",justifyContent:"center"},children:[t.jsxs(C,{sx:{maxWidth:320,position:"relative","&:hover .tags-action, &:focus-within .tags-action":{opacity:1}},children:[t.jsxs(Qe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[o.map(m=>t.jsx(Pt,{label:m.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},m.id)),l>0?t.jsx(Pt,{label:`+${l}`,size:"small",variant:"outlined",onClick:c,sx:{borderRadius:999}}):null]}),t.jsx(be,{className:"tags-action",size:"small","aria-label":s.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:m=>m.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:s.length?t.jsx(Mt,{fontSize:"small"}):t.jsx(os,{fontSize:"small"})})]}),t.jsx(Mr,{open:y,anchorEl:r,onClose:p,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:t.jsxs(C,{sx:{p:1.5,maxWidth:320,maxHeight:240,overflowY:"auto"},children:[t.jsx(Y,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(Qe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:s.map(m=>t.jsx(Pt,{label:m.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},m.id))})]})})]})},Wn=ot(null),Bi=Wn.Provider,ct=()=>et(Wn),_i=ee(Y)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Vi=ee(C)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Yi=ee(C)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Hi=ee(be)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),Gi=({displayName:e,contactType:a,firstName:n,lastName:r,name:i,entityId:s,onEntityUpdated:o})=>{const l=ct(),[c,p]=x(!1),[y,m]=x(!1),[d,h]=x({firstName:n||"",lastName:r||"",name:i||""});G(()=>{h({firstName:n||"",lastName:r||"",name:i||""})},[n,r,i]);const b=async()=>{if(!(!l||!s||!a||a==="unknown")){m(!0);try{let g={};a==="contact"?g={firstName:d.firstName,lastName:d.lastName}:a==="business"&&(g={name:d.name});const w=await l.updateEntity({entityType:a,entityId:s,body:g});w&&o&&o(w),p(!1)}catch(g){console.error("Failed to update name",g)}finally{m(!1)}}},v=a==="contact"||a==="business";return c?t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[a==="contact"?t.jsxs(t.Fragment,{children:[t.jsx(we,{value:d.firstName,onChange:g=>h({...d,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(we,{value:d.lastName,onChange:g=>h({...d,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(we,{value:d.name,onChange:g=>h({...d,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(be,{onClick:b,disabled:y,color:"primary",children:y?t.jsx(qe,{size:24}):t.jsx(Qr,{})})]}):t.jsx(Vi,{children:t.jsxs(Yi,{children:[t.jsx(_i,{variant:"h6",title:e,children:e}),v&&t.jsx(Hi,{size:"small",onClick:()=>p(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Xr,{fontSize:"small"})})]})})},Ki=({src:e,alt:a,onError:n,onUpload:r,onDelete:i,isUploading:s,isDeleting:o})=>{const l=Ie();return t.jsxs(C,{sx:{width:60,height:60,mb:1,position:"relative","&:hover .avatar-actions, &:focus-within .avatar-actions":{opacity:1,pointerEvents:"auto"}},children:[t.jsx(Oa,{src:e,alt:a,onError:n,sx:{width:60,height:60}}),t.jsxs(C,{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(be,{size:"small","aria-label":l("avatar.upload"),onClick:r,disabled:!!s,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(ls,{fontSize:"small"})}),t.jsx(be,{size:"small","aria-label":l("avatar.delete"),onClick:i,disabled:!!o,sx:{color:"common.white",bgcolor:"rgba(0, 0, 0, 0.25)","&:hover":{bgcolor:"rgba(0, 0, 0, 0.35)"}},children:t.jsx(ya,{fontSize:"small"})})]})]})},qi=ee(C)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Ji=({imgUrl:e,displayName:a,onError:n,tags:r,onEditTags:i,onUploadPhoto:s,onPhotoFileChange:o,photoInputRef:l,isUploadingPhoto:c,onDeletePhoto:p,isDeletingPhoto:y,contactType:m,firstName:d,lastName:h,name:b,entityId:v,onEntityUpdated:g})=>{const w=`Avatar for ${a}`;return t.jsxs(qi,{children:[t.jsx("input",{ref:l,type:"file",accept:"image/*",onChange:o,style:{display:"none"}}),t.jsx(Ki,{src:e,alt:w,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:s,isUploading:c,onDelete:p,isDeleting:y}),t.jsx(Gi,{displayName:a,contactType:m,firstName:d,lastName:h,name:b,entityId:v,onEntityUpdated:g}),t.jsx(Wi,{tags:r,onEditTags:i})]})},Ka=20,Qi=e=>{const{popperContainer:a,...n}=e;return t.jsx(cs,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Xi=({value:e,options:a,onChange:n,onBack:r,onSave:i,isSaving:s,onCreateNew:o,isCreatingNew:l,popperContainer:c})=>{const p=Ie(),[y,m]=x(""),[d,h]=x(Ka),b=Pr(y),v=ae(()=>a??[],[a]),g=ae(()=>{const T=String(b??"").trim().toLowerCase();return T?v.filter(D=>String(D?.name??"").toLowerCase().includes(T)):v},[v,b]),w=ae(()=>g.slice(0,d),[g,d]),j=ae(()=>{const T=new Map;for(const D of e??[])D?.id&&T.set(String(D.id),D);for(const D of w??[])D?.id&&(T.has(String(D.id))||T.set(String(D.id),D));return Array.from(T.values())},[e,w]),I=(T,D)=>{m(D??""),h(Ka)},S=T=>{const D=T;D.scrollTop+D.clientHeight>=D.scrollHeight-24&&h($=>$+Ka)},W=()=>{const T=String(y??"").trim(),D=!T||s||l;return t.jsxs(C,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("global.noOptions"),t.jsx(nt,{onClick:()=>o(T),loading:l,disabled:D,variant:"contained",size:"small",sx:{marginTop:1.3},children:p("global.createNew")})]})};return t.jsxs(C,{sx:{width:"100%"},children:[t.jsxs(Qe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(be,{size:"small",onClick:r,"aria-label":p("global.back"),disabled:s,children:t.jsx(Va,{fontSize:"small"})}),t.jsx(Y,{variant:"subtitle1",children:p("tags")}),t.jsx(C,{sx:{flex:1}}),t.jsx(nt,{variant:"contained",size:"small",startIcon:t.jsx(ft,{}),onClick:i,loading:s,disabled:s,children:p("global.save")})]}),t.jsx(La,{multiple:!0,disablePortal:!1,value:e,onChange:(T,D)=>n(D),options:j,filterOptions:T=>T,inputValue:y,onInputChange:I,getOptionLabel:T=>T?.name??"",isOptionEqualToValue:(T,D)=>String(T?.id)===String(D?.id),PopperComponent:T=>t.jsx(Qi,{...T,popperContainer:c}),renderOption:(T,D)=>{const{key:$,...P}=T;return Nr("li",{...P,key:D?.id?String(D.id):String($??D?.name??"")},D.name??"")},renderTags:(T,D)=>T.map(($,P)=>{const V=D({index:P}),{key:H,...M}=V;return t.jsx(Pt,{label:$.name??"",...M},$?.id?String($.id):String(H??$?.name??P))}),size:"small",renderInput:T=>t.jsx(we,{...T,size:"small"}),ListboxProps:{onScroll:S,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(W,{}),sx:{width:"100%"}})]})};var Zi=Object.defineProperty,eo=(e,a,n)=>a in e?Zi(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Bn=(e,a,n)=>eo(e,typeof a!="symbol"?a+"":a,n);let _n=class extends Error{constructor(a,n,r){super(a),Bn(this,"status"),Bn(this,"body"),this.name="ApiError",this.status=n,this.body=r}};async function Ve({url:e,method:a="GET",headers:n,body:r,signal:i}){const s=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),o=(s.headers.get("content-type")||"").includes("application/json")?await s.json().catch(()=>null):await s.text().catch(()=>null);if(!s.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${s.status}`;throw new _n(l,s.status,o)}return o}async function to({url:e,method:a="POST",headers:n,formData:r,signal:i}){const s=await globalThis.fetch(e,{method:a,headers:{...n??{}},body:r,signal:i}),o=(s.headers.get("content-type")||"").includes("application/json")?await s.json().catch(()=>null):await s.text().catch(()=>null);if(!s.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${s.status}`;throw new _n(l,s.status,o)}return o}function Ue(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function _e(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ue(e,`/contacts/${n}`),MEDIA:Ue(e,`/media/${n}`),SETTINGS:Ue(e,`/settings/${n}`)}}async function ao({baseUrl:e,spaceId:a,signal:n}){const r=_e(e,a),i=Ue(r.CONTACTS,"/labels");return Ve({url:i,signal:n})}async function Vn({baseUrl:e,spaceId:a,name:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/labels");return Ve({url:s,method:"POST",body:{name:n},signal:r})}async function no({baseUrl:e,spaceId:a,contactId:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ve({url:s,signal:r})}async function ro({baseUrl:e,spaceId:a,businessId:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Ve({url:s,signal:r})}async function so({baseUrl:e,spaceId:a,forType:n,signal:r}){const i=_e(e,a),s=`${Ue(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Ve({url:s,signal:r})}async function Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:s}){const o=n==="business"?`/business/${encodeURIComponent(r)}`:`/contacts/${encodeURIComponent(r)}`,l=_e(e,a),c=Ue(l.CONTACTS,o);return Ve({url:c,method:"PUT",body:i,signal:s})}async function io({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/Search");return Ve({url:s,method:"POST",body:n,signal:r})}async function oo({baseUrl:e,spaceId:a,business:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/business");return Ve({url:s,method:"POST",body:n,signal:r})}async function ba({baseUrl:e,spaceId:a,data:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/contactAddresses");return Ve({url:s,method:"DELETE",body:n,signal:r})}async function lo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/contactAddresses/check");return Ve({url:s,method:"POST",body:n,signal:r})}async function co({baseUrl:e,spaceId:a,data:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,"/contactAddresses/set");return Ve({url:s,method:"POST",body:n,signal:r})}async function uo({baseUrl:e,spaceId:a,data:n,signal:r}){const i=_e(e,a),s=Ue(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Ve({url:s,method:"PUT",body:n,signal:r})}async function Yn({baseUrl:e,spaceId:a,signal:n}){const r=_e(e,a),i=Ue(r.SETTINGS,"/user");return Ve({url:i,signal:n})}async function po({baseUrl:e,spaceId:a,signal:n}){const r=_e(e,a),i=Ue(r.SETTINGS,"/users");return Ve({url:i,signal:n})}async function mo({baseUrl:e,spaceId:a,signal:n,userId:r}){const i=_e(e,a),s=Ue(i.SETTINGS,`/usersInfor/${r}`);return Ve({url:s,signal:n})}async function Hn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i}){const s=_e(e,a),o=new FormData;o.append("file",r,r.name);const l=Ue(s.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return to({url:l,formData:o,signal:i})}const Gn=(e,a)=>({fetchLabels:({signal:n}={})=>ao({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:r})=>Vn({baseUrl:e,spaceId:a,name:n,signal:r}),fetchContact:({contactId:n,signal:r})=>no({baseUrl:e,spaceId:a,contactId:n,signal:r}),fetchBusiness:({businessId:n,signal:r})=>ro({baseUrl:e,spaceId:a,businessId:n,signal:r}),fetchBusinessTableData:({pagination:n,signal:r})=>io({baseUrl:e,spaceId:a,pagination:n,signal:r}),createBusiness:({business:n,signal:r})=>oo({baseUrl:e,spaceId:a,business:n,signal:r}),fetchContactFields:({forType:n,signal:r})=>so({baseUrl:e,spaceId:a,forType:n,signal:r}),updateEntity:({entityType:n,entityId:r,body:i,signal:s})=>Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:i,signal:s}),deleteAddress:({data:n,signal:r})=>ba({baseUrl:e,spaceId:a,data:n,signal:r}),deleteAddres:({data:n,signal:r})=>ba({baseUrl:e,spaceId:a,data:n,signal:r}),checkContactAddress:({data:n,signal:r})=>lo({baseUrl:e,spaceId:a,data:n,signal:r}),setContactAddress:({data:n,signal:r})=>co({baseUrl:e,spaceId:a,data:n,signal:r}),updateContactAddress:({data:n,signal:r})=>uo({baseUrl:e,spaceId:a,data:n,signal:r}),fetchUserTrii:({signal:n}={})=>Yn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>po({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:r})=>mo({baseUrl:e,spaceId:a,userId:n,signal:r}),uploadAvatar:({contactId:n,file:r,signal:i})=>Hn({baseUrl:e,spaceId:a,contactId:n,file:r,signal:i})}),Kn=()=>!!window?.google?.maps?.places?.Autocomplete,ho=(e=1e4)=>new Promise(a=>{if(Kn()){a(!0);return}const n=Date.now(),r=window.setInterval(()=>{if(Kn()){window.clearInterval(r),a(!0);return}Date.now()-n>e&&(window.clearInterval(r),a(!1))},100)}),go=()=>{const[e,a]=x(!1),[n,r]=x(!0),[i,s]=x(null);return G(()=>{(async()=>{try{const o=await ho(1e4);a(o),o||s("Google Maps API failed to load")}catch{s("Error loading Google Maps API"),a(!1)}finally{r(!1)}})()},[]),{isLoaded:e,isLoading:n,error:i}},yo=({onPlaceSelected:e,onError:a,placeholder:n})=>{const r=Ie(),i=xe(null),s=xe(null),o=xe(e),l=xe(a),{isLoaded:c,isLoading:p,error:y}=go(),m=ae(()=>p?r("searchLocationModal.loadingGoogleMaps"):y?r("searchLocationModal.googleMapsUnavailable"):c?n??r("searchLocationModal.enterLocation"):r("searchLocationModal.googleMapsNotLoaded"),[c,p,y,n,r]);return G(()=>{o.current=e},[e]),G(()=>{l.current=a},[a]),G(()=>{if(!c||!i.current||s.current)return;const d=window?.google;if(!d?.maps?.places?.Autocomplete){l.current?.(r("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let h=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const w=g;w.style.zIndex="20000",w.style.position="fixed"})};h=new MutationObserver(g=>{for(const w of g)for(const j of Array.from(w.addedNodes)){if(j.nodeType!==Node.ELEMENT_NODE)continue;const I=j;I.classList?.contains("pac-container")&&(I.style.zIndex="20000",I.style.position="fixed")}}),h.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),s.current=new d.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const v=s.current.addListener?.("place_changed",()=>{const g=s.current?.getPlace?.();if(!g?.geometry?.location){l.current?.(r("searchLocationModal.selectedPlaceNoLocation"));return}let w="",j="",I="",S="",W="",T="";const D=g.address_components??[];for(const H of D){const M=H?.types??[];if(M.includes("locality")||M.includes("administrative_area_level_2")){w=H.long_name;continue}if(M.includes("administrative_area_level_1")){j=H.long_name;continue}if(M.includes("country")){I=H.long_name;continue}if(M.includes("postal_code")){S=H.long_name;continue}if(M.includes("route")){W=H.long_name;continue}M.includes("street_number")&&(T=H.long_name)}const $=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,P=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,V={location:{lat:$,lng:P},address:g.formatted_address??"",city:w,state:j,country:I,postalCode:S,streetName:W,streetNumber:T,shortAddress:[W,T].filter(Boolean).join(" ")};o.current(V)});return()=>{h&&h.disconnect(),v?.remove&&v.remove(),s.current=null}},[c,r]),t.jsx(we,{fullWidth:!0,size:"small",inputRef:i,placeholder:m,disabled:p||!c||!!y,error:!!y})},fo={street:"",city:"",state:"",zipcode:"",country:""},xo=({baseUrl:e,spaceId:a,entityType:n,entityId:r,onBack:i,onEntityUpdated:s})=>{const o=Ie(),[l,c]=x(fo),[p,y]=x(""),[m,d]=x(""),[h,b]=x(!1),[v,g]=x(!1),w=ae(()=>!!(String(l.street??"").trim()||String(l.city??"").trim()||String(l.state??"").trim()||String(l.zipcode??"").trim()||String(l.country??"").trim()),[l]),j=$=>{y($.address??"");const P=String($.shortAddress??"").trim()||[$.streetName,$.streetNumber].filter(Boolean).join(" ").trim();c({street:P,city:$.city??"",state:$.state??"",zipcode:$.postalCode??"",country:$.country??""}),d("")},I=$=>{d(String($??""))},S=$=>P=>{const V=P.target.value;c(H=>({...H,[$]:V}))},W=async()=>{if(!h&&!(!e||!a)&&r){b(!0);try{const $=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address1:{street:String(l.street??""),city:String(l.city??""),state:String(l.state??""),zipcode:String(l.zipcode??""),country:String(l.country??"")}}});s?.($),i()}finally{b(!1)}}},T=async()=>{if(!v&&!(!e||!a)&&r){g(!0);try{const $=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{address2:{street:String(l.street??""),city:String(l.city??""),state:String(l.state??""),zipcode:String(l.zipcode??""),country:String(l.country??"")}}});s?.($),i()}finally{g(!1)}}},D=!w||h||v;return t.jsxs(C,{sx:{width:"100%"},children:[t.jsxs(Qe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(be,{size:"small",onClick:i,"aria-label":o("global.back"),children:t.jsx(Va,{fontSize:"small"})}),t.jsx(Y,{variant:"h6",children:o("searchLocationModal.searchAddress")})]}),t.jsxs(Qe,{spacing:3,children:[t.jsxs(C,{sx:{position:"relative",zIndex:1400},children:[t.jsx(yo,{onPlaceSelected:j,onError:I,placeholder:o("searchLocationModal.enterLocation")}),m?t.jsx(Y,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:m}):null]}),t.jsx(we,{label:o("conversations.contactDetails.street"),value:l.street,onChange:S("street"),fullWidth:!0,size:"medium"}),t.jsxs(Qe,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(we,{label:o("searchLocationModal.city"),value:l.city,onChange:S("city"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.state"),value:l.state,onChange:S("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(Qe,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(we,{label:o("searchLocationModal.postalCode"),value:l.zipcode,onChange:S("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.country"),value:l.country,onChange:S("country"),fullWidth:!0,size:"medium"})]}),p?t.jsx(Y,{variant:"caption",sx:{opacity:.7},children:p}):null,t.jsxs(Qe,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(nt,{variant:"contained",size:"large",startIcon:t.jsx(ft,{}),onClick:W,loading:h,disabled:D,children:o("searchLocationModal.saveMainAddress")}),t.jsx(nt,{variant:"outlined",size:"large",startIcon:t.jsx(ft,{}),onClick:T,loading:v,disabled:D,children:o("searchLocationModal.saveSecondaryAddress")})]})]})]})};function qa(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}function qn(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 bo({open:e,baseUrl:a,spaceId:n,contactId:r}){const i=xe(null),s=ae(()=>!a||!n?null:Gn(a,n),[a,n]),[o,l]=x({isLoading:!1,error:null,contactData:null,labels:[],labelsLoading:!1,labelsError:null,contactFields:[],contactFieldsLoading:!1,contactFieldsError:null,userTrii:null,userLoading:!1,userError:null}),c=ae(()=>!!(e&&s&&r),[e,s,r]);G(()=>{e||(i.current?.abort(),l({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=ae(()=>!!(e&&s),[e,s]);G(()=>{if(!p||!s)return;const d=new AbortController;return l(h=>({...h,labelsLoading:!0,labelsError:null})),s.fetchLabels({signal:d.signal}).then(h=>{l(b=>({...b,labels:h,labelsLoading:!1,labelsError:null}))}).catch(h=>{d.signal.aborted||l(b=>({...b,labelsLoading:!1,labelsError:h}))}),()=>{d.abort()}},[s,p]),G(()=>{if(!c||!s)return;i.current?.abort();const d=new AbortController;return i.current=d,l(h=>({...h,isLoading:!0,error:null,contactData:null})),s.fetchContact({contactId:r,signal:d.signal}).then(h=>{l(b=>({...b,isLoading:!1,error:null,contactData:h}))}).catch(h=>{d.signal.aborted||l(b=>({...b,isLoading:!1,error:h}))}),()=>{d.abort()}},[s,c,r]);const y=ae(()=>!!(e&&s),[e,s]);G(()=>{if(!y||!s)return;const d=new AbortController;return l(h=>({...h,userLoading:!0,userError:null})),s.fetchUserTrii({signal:d.signal}).then(h=>{l(b=>({...b,userLoading:!1,userError:null,userTrii:h}))}).catch(h=>{d.signal.aborted||l(b=>({...b,userLoading:!1,userError:h}))}),()=>{d.abort()}},[s,y]);const m=ae(()=>{const d=o.contactData,h=qa(d),b=qn(d);let v="unknown";h&&(v="business"),b&&(v="contact");let g="Unknown Contact";h?g=d.name:b&&(g=`${d.firstName} ${d.lastName}`.trim());const w=d?.tags??[];return{isBusiness:h,isContact:b,contactType:v,displayName:g,tags:w,labels:o.labels,contactFields:o.contactFields,userTrii:o.userTrii,userLoading:o.userLoading,userError:o.userError}},[o.contactData,o.labels,o.contactFields,o.userTrii,o.userLoading,o.userError]);return G(()=>{if(!e||!s)return;const d=o.contactData,h=qa(d),b=qn(d),v=h?"business":b?"contact":null;if(!v)return;const g=new AbortController;return l(w=>({...w,contactFieldsLoading:!0,contactFieldsError:null})),s.fetchContactFields({forType:v,signal:g.signal}).then(w=>{l(j=>({...j,contactFields:w,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(w=>{g.signal.aborted||l(j=>({...j,contactFieldsLoading:!1,contactFieldsError:w}))}),()=>{g.abort()}},[s,e,o.contactData]),{state:o,selectors:m,actions:{setContactData:d=>l(h=>({...h,contactData:d??null})),clearError:()=>l(d=>({...d,error:null}))}}}const Vt=({baseUrl:e,spaceId:a,entityType:n,entityId:r,initialImageUrl:i,onEntityUpdated:s})=>{const[o,l]=x(i??""),[c,p]=x(null),[y,m]=x(!1),[d,h]=x(!1),b=xe(null),v=ae(()=>!!(e&&a&&n&&r),[e,a,n,r]);function g(P){return P.split("?sv=")[0]}function w(P){return P.split("&cacheId=")[0]}function j(P){let V=g(P);return!V||(V=w(V),!V)?"":V}const I=async()=>{if(!e||!a)return null;const P=await Yn({baseUrl:e,spaceId:a});return p(P),P},S=async P=>{const V=(c??await I())?.storageAzureSAS,H=V?.expireAt,M=H?new Date(H):null;let J=V?.sas??"";if((!J||M&&M<new Date)&&(J=(await I())?.storageAzureSAS?.sas??""),!J)return P;const U=`${Date.now()}`;return`${P}${J}&cacheId=${U}`},W=async P=>{if(!P){l("");return}const V=g(P);if(!V)return;const H=await S(V);l(H)},T=async P=>{const V=P.target.files?.[0];if(V&&v){b.current&&(b.current.value=""),m(!0);try{const H=await Hn({baseUrl:e,spaceId:a,contactId:r,file:V}),M=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:H}});s?.(M),await W(H)}finally{m(!1)}}},D=()=>{b.current?.click()},$=async()=>{if(v&&!d){h(!0);try{await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:r,body:{imageUrl:""}}),s?.({imageUrl:""}),l("")}finally{h(!1)}}};return G(()=>{if(!i){l("");return}W(i)},[i]),{inputAtributes:{onChange:T,ref:b,type:"file",accept:"image/*"},action:{uploadImage:D,deleteImage:$},imageUrl:o,removeParams:j,isUploading:y,isDeleting:d}},Se=(e,a)=>{const[n,r]=x(a||""),[i,s]=x(!1),[o,l]=x("");return G(()=>{r(a||"")},[a]),{actions:{onError:c=>{s(!0),l(c)},onSuccess:()=>{s(!1),l("")},resetValue:()=>{r(a||"")},changeValue:c=>{r(c)}},attributes:{error:i,helperText:o,type:e,value:n,onChange:c=>{r(c.target.value)}}}},Jn=(e="")=>{const[a,n]=x(e),r=o=>{n(o.target.value)},i=o=>{n(o)},s=()=>{n(e??"")};return G(()=>{n(e)},[e]),{actions:{resetValue:s,changeValue:i},attributes:{value:a,onChange:r}}};let va;const vo=new Uint8Array(16);function Co(){if(!va&&(va=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!va))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return va(vo)}const Le=[];for(let e=0;e<256;++e)Le.push((e+256).toString(16).slice(1));function jo(e,a=0){return Le[e[a+0]]+Le[e[a+1]]+Le[e[a+2]]+Le[e[a+3]]+"-"+Le[e[a+4]]+Le[e[a+5]]+"-"+Le[e[a+6]]+Le[e[a+7]]+"-"+Le[e[a+8]]+Le[e[a+9]]+"-"+Le[e[a+10]]+Le[e[a+11]]+Le[e[a+12]]+Le[e[a+13]]+Le[e[a+14]]+Le[e[a+15]]}const wo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var Qn={randomUUID:wo};function Ja(e,a,n){if(Qn.randomUUID&&!a&&!e)return Qn.randomUUID();e=e||{};const r=e.random||(e.rng||Co)();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 jo(r)}function Io(e){return{id:Ja(),address:"",note:"",channelType:e,isSaved:!1}}var Ca={createNewAddress:Io};const So=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const r={};return r[e]=n,r}return null},Eo=(e,a,n)=>n.map(r=>r.id===a?{...r,address:e}:r);var St={getEditedField:So,getAddressesWithUpdatedValues:Eo};const Xn=({entityId:e,initial:a,dispatch:n,deleteAddress:r})=>{const[i,s]=x(!1),[o,l]=x(()=>a),[c,p]=x(a?.ims_facebook||[]),[y,m]=x(a?.ims_mercadolibre||[]),[d,h]=x(a?.ims_webchat||[]),[b,v]=x(a?.ims_instagram||[]),[g,w]=x(a?.ims_whatsapp||[]),[j,I]=x(a?.emails||[]),[S,W]=x(a?.phones||[]),[T,D]=x(a?.ims_rcs||[]),$=()=>{const F=Ca.createNewAddress(It.PHONE),E=[...S,F];W(E)},P=()=>{const F=Ca.createNewAddress(It.EMAIL),E=[...j,F];I(E)},V=()=>{const F=Ca.createNewAddress(It.WHATSAPP),E=[...g,F];w(E)},H=()=>{const F=Ca.createNewAddress(It.RCS),E=[...T,F];D(E)},M=F=>{const E=[...g,F];w(E),l(B=>({...B??{},ims_whatsapp:E}))},J=(F,E)=>{if(E){if(E.channelType===3){const B=j.map(R=>R.id===F?E:R);I(B),l(R=>({...R??{},emails:B}))}if(E.channelType===5){const B=S.map(R=>R.id===F?E:R);W(B),l(R=>({...R??{},phones:B}))}if(E.channelType===13){const B=g.map(R=>R.id===F?E:R);w(B),l(R=>({...R??{},ims_whatsapp:B}))}if(E.channelType===21){const B=T.map(R=>R.id===F?E:R);D(B),l(R=>({...R??{},ims_rcs:B}))}if(E.channelType===41){const B=y.map(R=>R.id===F?E:R);m(B),l(R=>({...R??{},ims_mercadolibre:B}))}}},U=async(F,E,B)=>{const R=F.target.value;if(B===3){const _=St.getAddressesWithUpdatedValues(R,E,j);I(_)}else if(B===5){const _=St.getAddressesWithUpdatedValues(R,E,S);W(_)}else if(B===13){const _=St.getAddressesWithUpdatedValues(R,E,g);w(_)}else if(B===21){const _=St.getAddressesWithUpdatedValues(R,E,T);D(_)}else if(B===41){const _=St.getAddressesWithUpdatedValues(R,E,y);m(_)}},re=(F,E,B)=>{if(B===14){const R=c.map(_=>_.id===E?{..._,note:F.target.value}:_);p(R)}if(B===20){const R=d.map(_=>_.id===E?{..._,note:F.target.value}:_);h(R)}if(B===16){const R=b.map(_=>_.id===E?{..._,note:F.target.value}:_);v(R)}if(B===3){const R=j.map(_=>_.id===E?{..._,note:F.target.value}:_);I(R)}if(B===5){const R=S.map(_=>_.id===E?{..._,note:F.target.value}:_);W(R)}if(B===13){const R=g.map(_=>_.id===E?{..._,note:F.target.value}:_);w(R)}if(B===21){const R=T.map(_=>_.id===E?{..._,note:F.target.value}:_);D(R)}if(B===41){const R=y.map(_=>_.id===E?{..._,note:F.target.value}:_);m(R)}},N=async(F,E)=>{if(e&&(E===3||E===5||E===13||E===14||E===20||E===16||E===21||E===41)){s(F);const B={contactId:e,contactAddressId:F,type:E};switch(n?await n(r(B)):await r(B),s(!1),E){case 3:const R=j.filter(Z=>Z.id!==F);I(R),l(Z=>({...Z??{},emails:R}));break;case 5:const _=S.filter(Z=>Z.id!==F);W(_),l(Z=>({...Z??{},phones:_}));break;case 13:const X=g.filter(Z=>Z.id!==F);w(X),l(Z=>({...Z??{},ims_whatsapp:X}));break;case 21:const ie=T.filter(Z=>Z.id!==F);D(ie),l(Z=>({...Z??{},ims_rcs:ie}));break;case 41:const ge=y.filter(Z=>Z.id!==F);m(ge),l(Z=>({...Z??{},ims_mercadolibre:ge}));break;case 14:const ve=c.filter(Z=>Z.id!==F);p(ve),l(Z=>({...Z??{},ims_facebook:ve}));break;case 20:const De=d.filter(Z=>Z.id!==F);h(De),l(Z=>({...Z??{},ims_webchat:De}));break;case 16:const te=b.filter(Z=>Z.id!==F);v(te),l(Z=>({...Z??{},ims_instagram:te}));break}}};function O(){p(o?.ims_facebook||[]),m(o?.ims_mercadolibre||[]),h(o?.ims_webchat||[]),v(o?.ims_instagram||[]),w(o?.ims_whatsapp||[]),D(o?.ims_rcs||[]),I(o?.emails||[]),W(o?.phones||[])}return G(()=>{l(a),a?.emails&&a?.phones&&(I(a.emails),W(a.phones)),w(a?.ims_whatsapp||[]),D(a?.ims_rcs||[]),p(a?.ims_facebook||[]),h(a?.ims_webchat||[]),v(a?.ims_instagram||[]),m(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:T,imsMercadolibre:y,imsFacebooks:c,imsWebchats:d,imsInstagrams:b,emails:j,phoneNumbers:S},action:{handleAddressFieldChange:U,handleNoteFieldChange:re,handleDeleteAddress:N,addPhone:$,addEmail:P,addWhatsapp:V,addRCS:H,replaceAddress:J,addWhatsappVerified:M,resetToInitialContactInformation:O},state:{isDeletingAddress:i}}},Zn=({initialState:e=[]}={})=>{const[a,n]=x(e);return{attributes:{value:a,onChange:(r,i)=>{const s=i.some(o=>!a.some(l=>o.id===l.id));(a.filter(o=>!i.some(l=>l.id===o.id)).length>0||s)&&n(i)}},actions:{addValue:r=>{n(i=>i.concat(r))},setValue:r=>{n(r)}}}},To=({business:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=ae(()=>async ye=>{!n||!r||await ba({baseUrl:n,spaceId:r,data:ye})},[n,r]),s=async ye=>ye,[o,l]=x([]),c=Se("text",e?.name||""),p=Vt({baseUrl:n,spaceId:r,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),y=Jn(e?.owner),m=Zn({initialState:e?.tags??[]}),[d,h]=x([]),{field:{imsFacebooks:b,imsMercadolibre:v,imsWebchats:g,imsInstagrams:w,imsWhatsapp:j,emails:I,phoneNumbers:S,imsRCS:W},action:{addPhone:T,addEmail:D,addWhatsapp:$,addRCS:P,addWhatsappVerified:V,replaceAddress:H,handleAddressFieldChange:M,handleNoteFieldChange:J,handleDeleteAddress:U,resetToInitialContactInformation:re},state:{isDeletingAddress:N}}=Xn({entityId:e?.id,initial:e,dispatch:s,deleteAddress:i}),O=Se("text",e?.address1?.street||""),F=Se("text",e?.address2?.street||""),E=Se("text",e?.address1?.city||""),B=Se("text",e?.address2?.city||""),R=Se("text",e?.address1?.state||""),_=Se("text",e?.address2?.state||""),X=Se("text",e?.address1?.zipcode||""),ie=Se("text",e?.address2?.zipcode||""),ge=Se("text",e?.address1?.country||""),ve=Se("text",e?.address2?.country||""),De=(ye,Ee,Ce)=>Ee!==Ce&&!(Ee===null&&Ce==="")?{[ye]:Ce}:{},te=()=>{if(!e)return null;const ye={street:O.attributes.value,city:E.attributes.value,state:R.attributes.value,zipcode:X.attributes.value,country:ge.attributes.value},Ee={street:F.attributes.value,city:B.attributes.value,state:_.attributes.value,zipcode:ie.attributes.value,country:ve.attributes.value};return{id:e.id,...De("owner",e.owner,y.attributes.value),...De("name",e.name,c.attributes.value),imageUrl:p.imageUrl?p.removeParams(p.imageUrl):null,tags:m.attributes.value,properties:o,members:d,phoneNumbers:S,emails:I,address1:ye,address2:Ee}};function Z(ye){if(!e)return;const Ee=q=>q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(q=>q.nameKey===ye)??e.properties.find(q=>Ee(q.nameKey)===Ee(ye));if(!Ce){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ye}`);return}const Ae=o.map(q=>q.nameKey===ye?{...q,value:Ce.value}:q);l(Ae)}const He=()=>e?a.map(ye=>{const Ee=q=>q.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),Ce=e.properties.find(q=>q.nameKey===ye.nameKey)??e.properties.find(q=>Ee(q.nameKey)===Ee(ye.nameKey));if(Ce)return{...Ce,nameKey:ye.nameKey,type:Ce.type??ye.type,value:Ce.value};const Ae=o.find(q=>q.nameKey===ye.nameKey);return{nameKey:ye.nameKey,type:ye.type,value:Ae?Ae.value:""}}):[];return G(()=>{e&&a&&l(He())},[e,a]),G(()=>{e&&m.actions.setValue(e.tags??[])},[e]),{field:{name:c,imsWhatsapp:j,imsRCS:W,contactImage:p,contactPropietary:y,imsMercadolibre:v,imsFacebooks:b,imsWebchats:g,imsInstagrams:w,emails:I,phoneNumbers:S,homeAddress:O,secondaryHomeAddress:F,city:E,secondaryCity:B,state:R,secondaryState:_,postalCode:X,secondaryPostalCode:ie,country:ge,secondaryCountry:ve,customProperties:o,labelMultipleSelect:m},action:{setCustomProperties:l,addWhatsapp:$,addRCS:P,getEditedBusiness:te,handleAddressFieldChange:M,handleNoteFieldChange:J,handleDeleteAddress:U,addPhone:T,addEmail:D,replaceAddress:H,addWhatsappVerified:V,resetToInitialContactInformation:re,resetCustomProperty:Z},state:{isDeletingAddress:N},selectedContacts:d,setSelectedContacts:h}},Do=({contact:e,customContactFields:a,baseUrl:n,spaceId:r})=>{const i=ae(()=>async q=>{!n||!r||await ba({baseUrl:n,spaceId:r,data:q})},[n,r]),s=async q=>q,{getEditedField:o}=St,[l,c]=x([]),p=Se("text",e?.firstName||""),y=Se("text",e?.lastName||""),m=Vt({baseUrl:n,spaceId:r,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[d,h]=x(e?.birthDate?Q(e.birthDate):null),b=Xn({entityId:e?.id,initial:e,dispatch:s,deleteAddress:i}),{field:{imsFacebooks:v,imsMercadolibre:g,imsWebchats:w,imsInstagrams:j,imsWhatsapp:I,emails:S,phoneNumbers:W,imsRCS:T},action:{addPhone:D,addEmail:$,addWhatsapp:P,addRCS:V,addWhatsappVerified:H,replaceAddress:M,handleAddressFieldChange:J,handleNoteFieldChange:U,handleDeleteAddress:re,resetToInitialContactInformation:N},state:{isDeletingAddress:O}}=b,F=Zn({initialState:e?.tags}),E=Jn(e?.owner),B=Se("text",e?.address1?.street),R=Se("text",e?.address2?.street),_=Se("text",e?.address1?.city),X=Se("text",e?.address2?.city),ie=Se("text",e?.address1?.state),ge=Se("text",e?.address2?.state),ve=Se("text",e?.address1?.zipcode),De=Se("text",e?.address2?.zipcode),te=Se("text",e?.address1?.country),Z=Se("text",e?.address2?.country),He=()=>{if(!e)return null;const q=e,le=F.attributes.value.map(oe=>({id:oe.id,name:oe.name})),me=W.map(oe=>{const{id:vt,...Re}=oe;return Re}),ke=S.map(oe=>{const{id:vt,...Re}=oe;return Re});return{id:q.id,owner:E.attributes.value,firstName:p.attributes.value,lastName:y.attributes.value,address1:{...o("street",q.address1?.street,B.attributes.value),...o("city",q.address1?.street,_.attributes.value),...o("state",q.address1?.street,ie.attributes.value),...o("zipcode",q.address1?.street,ve.attributes.value),...o("country",q.address1?.street,te.attributes.value)},address2:{...o("street",q.address2?.street,R.attributes.value),...o("city",q.address2?.street,X.attributes.value),...o("state",q.address2?.street,ge.attributes.value),...o("zipcode",q.address2?.street,De.attributes.value),...o("country",q.address2?.street,Z.attributes.value)},emails:ke,phones:me,tags:le,imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,properties:l,birthDate:d?.toDate()}};function ye(){e&&(!e.businessId||e.businessName)}function Ee(){h(e?.birthDate?Q(e.birthDate):null)}function Ce(q){if(!e)return;const le=oe=>oe.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),me=e.properties.find(oe=>oe.nameKey===q)??e.properties.find(oe=>le(oe.nameKey)===le(q));if(!me){console.error(`No se encontr\xF3 una propiedad con nameKey: ${q}`);return}const ke=l.map(oe=>oe.nameKey===q?{...oe,value:me.value}:oe);c(ke)}const Ae=()=>e?a.map(q=>{const le=oe=>oe.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),me=e.properties.find(oe=>oe.nameKey===q.nameKey)??e.properties.find(oe=>le(oe.nameKey)===le(q.nameKey));if(me)return{...me,nameKey:q.nameKey,type:me.type??q.type,value:me.value};const ke=l.find(oe=>oe.nameKey===q.nameKey);return{nameKey:q.nameKey,type:q.type,value:ke?ke.value:""}}):[];return G(()=>{e&&a&&c(Ae())},[e,a]),G(()=>{e?.tags&&F.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:d,imsWhatsapp:I,imsRCS:T,contactFirstname:p,contactLastname:y,contactImage:m,contactPropietary:E,imsMercadolibre:g,imsFacebooks:v,imsWebchats:w,imsInstagrams:j,emails:S,phoneNumbers:W,homeAddress:B,secondaryHomeAddress:R,city:_,secondaryCity:X,state:ie,secondaryState:ge,postalCode:ve,secondaryPostalCode:De,country:te,secondaryCountry:Z,customProperties:l,labelMultipleSelect:F},action:{setBirthDate:h,setCustomProperties:c,getEditedContact:He,handleAddressFieldChange:J,handleNoteFieldChange:U,handleDeleteAddress:re,addPhone:D,addEmail:$,addWhatsapp:P,addRCS:V,replaceAddress:M,addWhatsappVerified:H,resetToInitialContactInformation:N,resetSelectedBusiness:ye,resetBirthDate:Ee,resetCustomProperty:Ce},state:{isDeletingAddress:O}}},Qa=ot(null),Ao=({children:e,contact:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const s=Do({contact:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Qa.Provider,{value:{entityType:"contact",editEntity:s,entityId:String(a.id)},children:e})},ko=({children:e,business:a,customContactFields:n,baseUrl:r,spaceId:i})=>{const s=To({business:a,customContactFields:n,baseUrl:r,spaceId:i});return t.jsx(Qa.Provider,{value:{entityType:"business",editEntity:s,entityId:String(a.id)},children:e})},$o=({children:e,entityType:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:s})=>a==="contact"?t.jsx(Ao,{contact:n,customContactFields:r,baseUrl:i,spaceId:s,children:e}):t.jsx(ko,{business:n,customContactFields:r,baseUrl:i,spaceId:s,children:e}),rt=()=>{const e=et(Qa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Et=({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},ja=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:r})=>{const i=Ie();return t.jsxs(C,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(Qe,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(Y,{variant:"subtitle1",children:e}),n&&t.jsx(Pe,{startIcon:t.jsx(ds,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>r&&r(),children:i("global.searchLocation")})]}),t.jsx(fn,{sx:{my:1.5}}),a]})},er=({children:e,...a})=>t.jsx(C,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),Uo=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Lt,{dateAdapter:Ot,children:t.jsx(zt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(En,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:r})})})},Fo={view:"main",setView:()=>{}},tr=ot(null),Po=tr.Provider,No=()=>et(tr)||(console.warn("[useEditContactView] using noop, context value is missing"),Fo),ar=()=>{},nr=ot(ar),Ro=({navigate:e,children:a})=>t.jsx(nr.Provider,{value:e,children:a}),Mo=()=>et(nr)||(console.warn("[useNavigateContext] using noop, context value is falsy"),ar);function Oo({value:e,displayValue:a,businessId:n}){const r=ct(),i=Mo(),[s,o]=x(null),l=Vt({initialImageUrl:s?.imageUrl,entityType:"business",entityId:n}),[c,p]=x(null),[y,m]=x(!1);return t.jsxs(C,{display:"flex",alignItems:"center",children:[t.jsx(Y,{onClick:async d=>{const h=d.currentTarget;if(m(!0),!r){console.error("API is null");return}const b=await r.fetchBusiness({businessId:n});if(b&&qa(b)&&o(b),m(!1),!h){console.error("Target element is null");return}p(h)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:d=>d.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),s&&t.jsx(On,{contactData:s,open:!!c,anchorEl:c,onClose:()=>p(null),navigate:i,avatarImgUrl:l.imageUrl}),y&&t.jsx(C,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(qe,{size:20})})]})}const Lo=e=>"email"in e,Xa=e=>e.entityType==="contact"&&e.inputType==="birthday",zo=ee(be)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),rr=ee(be)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),dt=e=>{const{title:a,value:n,isNotEditable:r,displayValue:i,baseUrl:s,spaceId:o,minWidth:l,onEntityUpdated:c}=e,p=Ie(),{setView:y}=No(),m=e.inputType??"text",[d,h]=x(!1),[b,v]=x(!1),g=xe(null),[w,j]=x(!1),[I,S]=x(()=>e.entityType==="business"||typeof n=="string"?n:void 0);G(()=>{const U=g.current;if(!U)return;const re=()=>{const N=U.scrollWidth>U.clientWidth;j(O=>O===N?O:N)};if(re(),typeof ResizeObserver<"u"){let N=0;const O=new ResizeObserver(()=>{if(typeof window>"u"){re();return}N&&window.cancelAnimationFrame(N),N=window.requestAnimationFrame(()=>{re()})});return O.observe(U),()=>{typeof window<"u"&&N&&window.cancelAnimationFrame(N),O.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",re),()=>{window.removeEventListener("resize",re)}},[a]),G(()=>{e.entityType==="business"?S(n):S(typeof n=="string"?n:void 0)},[n,e.entityType]);const W=()=>{if(e.entityType==="contact"&&m==="selectBusiness"){y("businessSelect");return}h(U=>!U)},T=U=>{S(U.target.value)},D=U=>{const re=U.target.value;S(re)},$=()=>{Xa(e)&&e.contact.action.resetBirthDate(),h(!1)},P=async()=>{if(!e.constructUpdateObject){h(!1);return}if(e.entityType==="business"&&I===void 0){h(!1);return}v(!0);try{if(!s||!o)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let U=I===void 0?null:I;if(Xa(e)){const F=Q(e.contact.field.birthDate);F.isValid()&&(U=F.toISOString())}const re=e.constructUpdateObject(U),N=e.entityId??re?.id;if(!N)throw new Error("Missing contactId for updateEntity");const O=await Xe({baseUrl:s,spaceId:o,entityType:"contact",entityId:N,body:re});c?.(O)}else{const U=e.constructUpdateObject(I),re=e.entityId??U?.id;if(!re)throw new Error("Missing businessId for updateEntity");const N=await Xe({baseUrl:s,spaceId:o,entityType:"business",entityId:re,body:U});c?.(N)}}finally{v(!1),h(!1)}},V=typeof I=="string"?I:"",H=I instanceof Date?I.toISOString():typeof I=="string"?I:"",M=l??(e.entityType==="contact"?"45%":"200px"),J=e.options??[];return t.jsxs(C,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:U=>U.palette.mode==="dark"?"1e1e1e":U.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:M,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(C,{display:"flex",position:"relative",minHeight:"25px",children:[w?t.jsx(lt,{title:a,arrow:!0,children:t.jsx(Y,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:U=>U.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(Y,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:U=>U.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r?null:d?t.jsxs(t.Fragment,{children:[t.jsx(rr,{size:"small",onClick:P,children:b?t.jsx(qe,{size:24}):t.jsx(ft,{})}),t.jsx(rr,{size:"small",onClick:$,children:t.jsx(Tn,{})})]}):t.jsx(zo,{className:"edit-icon",size:"small",onClick:W,children:t.jsx(Mt,{})})]}),t.jsx(C,{width:d?"100%":"50%",position:"relative",children:d&&m==="text"?t.jsx(we,{value:H,onChange:T,variant:"standard",size:"small",sx:{width:"100%"}}):d&&(m==="select"||m==="selectMembers")?t.jsxs(da,{value:V,onChange:D,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(tt,{value:"",children:p("conversations.contactDetails.contactInfo.emptySelection")}):null,J.map((U,re)=>t.jsx(tt,{value:U.id,children:e.entityType==="contact"?U.name?.trim()||(Lo(U)?U.email:"")||"Sin nombre":U.name?.trim()||U.email||"Sin nombre"},re))]}):d&&Xa(e)?t.jsx(Uo,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!d&&e.entityType==="contact"&&m==="selectBusiness"&&e.businessId?t.jsx(Oo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(Y,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:U=>U.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Yt=e=>{const{title:a,value:n,isNotEditable:r,options:i=[],displayValue:s,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:p,contactId:y,onEntityUpdated:m}=e;if(e.inputType==="birthday")return t.jsx(dt,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:r,inputType:"birthday",options:i,displayValue:s,constructUpdateObject:o,contact:e.contact,businessId:l,baseUrl:c,spaceId:p,dateFormat:e.dateFormat,onEntityUpdated:m});const d=e.inputType??"text";return t.jsx(dt,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:r,inputType:d,options:i,displayValue:s,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:p,onEntityUpdated:m})},Wo=({nameKey:e,value:a,onChange:n,type:r})=>{const i=c=>{r===ce.NUMBER_ACCOUNTING||r===ce.NUMBER_DECIMAL||r===ce.NUMBER_CURRENCY||r===ce.CURRENCY?o(c):r===ce.NUMBER_INTEGER?l(c):(r===ce.LONGTEXT||r===ce.TEXT||r===ce.ADDRESS)&&s(c)},s=c=>{n(e,c.target.value)},o=c=>{const p=c.target.value.replace(/[^0-9.]/g,"");n(e,p)},l=c=>{const p=c.target.value;/^\d*$/.test(p)&&n(e,p)};return t.jsx(we,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:r===ce.LONGTEXT,rows:r===ce.LONGTEXT?4:1,sx:{width:"100%"}})},Bo=({value:e,handleChange:a,dateFormat:n})=>{const r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Lt,{dateAdapter:Ot,children:t.jsx(zt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(En,{value:e?Q(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},_o=({handleChange:e,value:a,options:n})=>{const r=Ie();return t.jsx(za,{className:"fadein",sx:{width:"100%"},children:t.jsxs(da,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(tt,{value:"",children:r("global.noValue")}),n.map((i,s)=>t.jsx(tt,{value:i,children:i},s))]})})},Vo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=n==="24"?"HH:mm":"hh:mm";return t.jsx(Lt,{dateAdapter:Ot,children:t.jsx(zt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(us,{value:e?Q(e):null,onChange:i=>a(i),format:r,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Yo=({value:e,handleChange:a,userTimeFormat:n})=>{const r=Ie(),i=[Q().set("hour",0).set("minute",0),Q().set("hour",0).set("minute",0)],s=n==="24"?"HH:mm":"hh:mm";return t.jsx(Lt,{dateAdapter:Ot,children:t.jsx(zt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ps,{slotProps:{textField:({position:o})=>({label:r(o==="start"?"contactEdit.from":"contactEdit.to"),size:"small",variant:"standard",inputProps:{placeholder:s}})},value:e||i,onChange:o=>a(o),format:s})})})},Ho=({value:e,handleChange:a,userDateFormat:n})=>{const r=Ie(),i=[Q(),Q()],s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(Lt,{dateAdapter:Ot,children:t.jsx(zt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ms,{slotProps:{textField:({position:o})=>({label:r(o==="start"?"contactEdit.from":"contactEdit.to"),size:"small",sx:{width:"100%"},variant:"standard",inputProps:{placeholder:s}})},value:e||i,onChange:o=>a(o),format:s})})})},Go=ee(be)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),sr=ee(be)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Ko=ee(C)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),ir=ee(Y)(({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})),qo=ee(Y)(({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"})),or=({property:e,entity:a,entityType:n,entityId:r,customContactFields:i,userTrii:s,baseUrl:o,spaceId:l,onEntityUpdated:c})=>{const{customProperties:p}=a.field,{setCustomProperties:y}=a.action,[m,d]=x(!1),[h,b]=x(!1),v=xe(null),[g,w]=x(!1),j=(s?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),I=s?.regCon_timeFormat||"24",S=O=>O===ce.NUMBER_INTEGER||O===ce.NUMBER_DECIMAL||O===ce.NUMBER_CURRENCY||O===ce.NUMBER_ACCOUNTING||O===ce.CURRENCY,W=(O,F)=>O.toLowerCase()==="dni"?!0:S(F),T=(O,F,E)=>{if(E===""||E===null||E===void 0)return null;if(W(O,F)){const B=Number(E);return Number.isNaN(B)?E:B}return E},D=()=>d(O=>!O),$=()=>{d(!1),a.action.resetCustomProperty(e.nameKey)},P=async()=>{if(!o||!l||!r)return;b(!0);const O=p.find(X=>X.nameKey===e.nameKey)||e,{nameKey:F,value:E}=O,B=i.find(X=>X.nameKey===F)?.type??O.type;let R;if(B===ce.TIME){const X=Q(E);X.isValid()?R=X.format(I==="24"?"HH:mm":"hh:mm"):R=E}else if(B===ce.DATE){const X=Q(E);X.isValid()?R=X.toISOString():R=E}else R=T(F,B,E);const _={properties:[{nameKey:F,type:B,value:R}]};try{const X=await Xe({baseUrl:o,spaceId:l,entityType:n,entityId:r,body:_}),ie=p.map(ge=>ge.nameKey===F?{...ge,type:B,value:R}:ge);y(ie),c?.(X)}finally{b(!1),d(!1)}},V=O=>i.find(F=>F.nameKey===O)?.name||O;G(()=>{const O=v.current;if(!O)return;const F=()=>{const E=O.scrollWidth>O.clientWidth;w(B=>B===E?B:E)};if(F(),typeof ResizeObserver<"u"){let E=0;const B=new ResizeObserver(()=>{if(typeof window>"u"){F();return}E&&window.cancelAnimationFrame(E),E=window.requestAnimationFrame(()=>{F()})});return B.observe(O),()=>{typeof window<"u"&&E&&window.cancelAnimationFrame(E),B.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[i,e.nameKey]);const H=(O,F)=>{const E=e.type===ce.DATERANGE?Array.isArray(F)&&F[0]&&F[1]?`${Q(F[0]).toISOString()} - ${Q(F[1]).toISOString()}`:"":e.type===ce.DATE?Q(F).isValid()?Q(F).toISOString():"Invalid Date":e.type===ce.TIME?Q(F).isValid()?Q(F).toISOString():"Invalid Time":F,B=p.map(R=>R.nameKey===O?{...R,value:E}:R);y(B)},{type:M,nameKey:J,value:U}=e,re=O=>O==null?!1:typeof O=="string"?O.trim().length>0:!0,N=()=>M===ce.DATE?t.jsx(Bo,{value:U?Q(U):null,handleChange:O=>H(J,O?.toDate()),dateFormat:j}):M===ce.TIME?t.jsx(Vo,{value:e?.valueDate?Q(e.valueDate):U?Q(U):null,handleChange:O=>H(J,O),userTimeFormat:I}):M===ce.DATERANGE?t.jsx(Ho,{value:U&&typeof U=="string"&&U.includes(" - ")?[Q(U.split(" - ")[0]),Q(U.split(" - ")[1])]:null,handleChange:O=>H(J,[O[0]?.toDate?.(),O[1]?.toDate?.()]),userDateFormat:j}):M===ce.TIMERANGE?t.jsx(Yo,{value:Array.isArray(U)&&U.length===2?[Q(U[0]),Q(U[1])]:null,handleChange:O=>H(J,[O[0]?.toDate?.(),O[1]?.toDate?.()]),userTimeFormat:I}):M===ce.OPTIONS?t.jsx(_o,{value:typeof U=="string"?U:"",handleChange:O=>H(J,O),options:i.find(O=>O.nameKey===J)?.typeOptions??[]}):t.jsx(Wo,{type:M,nameKey:J,value:U,onChange:H});return t.jsxs(Ko,{className:`fadein ${e.type===ce.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(C,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[g?t.jsx(lt,{title:V(e.nameKey),arrow:!0,children:t.jsx(ir,{ref:v,flexGrow:1,noWrap:!0,children:V(e.nameKey)})}):t.jsx(ir,{ref:v,flexGrow:1,noWrap:!0,children:V(e.nameKey)}),m?t.jsxs(t.Fragment,{children:[t.jsx(sr,{size:"small",onClick:P,children:h?t.jsx(qe,{size:24}):t.jsx(ft,{})}),t.jsx(sr,{size:"small",onClick:$,children:t.jsx(Tn,{})})]}):t.jsx(Go,{className:"edit-icon",size:"small",onClick:D,children:t.jsx(Mt,{})})]}),t.jsx(C,{width:m||e.type===ce.LONGTEXT?"100%":"50%",position:"relative",children:m?N():t.jsx(qo,{children:re(e?.value)?e.type===ce.DATERANGE?(()=>{if(typeof e.value=="string"){const O=e.value.split(" - ");if(O.length===2){const[F,E]=O,B=Q(F),R=Q(E);return`${B.isValid()?B.format(j):"-"} - ${R.isValid()?R.format(j):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${Q(e.value[0]).format(j)} - ${Q(e.value[1]).format(j)}`;return`${e.value}`})():e.type===ce.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${Q(e.value[0]).format(I==="24"?"HH:mm":"hh:mm")} - ${Q(e.value[1]).format(I==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ce.TIME?(()=>{try{const O=e.valueDate||e.value;return`${Q(O).format(I==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ce.DATE?(()=>{try{return`${Q(e.value).format(j)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Jo=e=>{const{dateFormat:a,entityData:n,customContactFields:r,baseUrl:i,spaceId:s,currentUser:o,onEntityUpdated:l}=e,c=Ie(),{entityType:p,editEntity:y}=rt(),m=ct();if(p!=="contact")return null;const[d,h]=x([]),[b,v]=x(null),[g,w]=x(null),[j,I]=x(null),S=y;G(()=>{if(!m)return;const P=new AbortController;return m.fetchUsers({signal:P.signal}).then(V=>{P.signal.aborted||h(V??[])}).catch(()=>{P.signal.aborted||h([])}),()=>{P.abort()}},[m]),G(()=>{const P=new AbortController,V=async H=>{if(!H||!m)return null;try{const M=await m.fetchUserTriiById({userId:H,signal:P.signal});return M?.display_name||M?.email||null}catch{return null}};return(async()=>{const H=Et({userId:n.owner,users:d,currentUser:o})??(n.owner?await V(n.owner):null),M=Et({userId:n.createdBy??void 0,users:d,currentUser:o})??(n.createdBy?await V(n.createdBy):null),J=Et({userId:n.updatedBy??void 0,users:d,currentUser:o})??(n.updatedBy?await V(n.updatedBy):null);P.signal.aborted||(v(H),I(M),w(J))})(),()=>{P.abort()}},[m,n,d,o]);const W=(a||"YYYY/MM/DD").toUpperCase(),T=S.field.birthDate,D=T?.isValid()?T.format(W):null,$=P=>{const V=new Date;let H=V.getFullYear()-P.getFullYear();const M=V.getMonth()-P.getMonth();return(M<0||M===0&&V.getDate()<P.getDate())&&H--,H};return t.jsx(ja,{title:"General",children:t.jsxs(er,{children:[t.jsx(Yt,{title:c("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:d,constructUpdateObject:P=>({owner:typeof P=="string"?P:""}),contact:S,baseUrl:i,spaceId:s,contactId:n.id,onEntityUpdated:l}),t.jsx(Yt,{title:c("conversations.contactDetails.business"),displayValue:n.businessName||"-",value:n.businessId,inputType:"selectBusiness",businessId:n.businessId,contact:S,baseUrl:i,spaceId:s,contactId:n.id,onEntityUpdated:l}),t.jsx(Yt,{title:c("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:s,contactId:n.id}),t.jsx(Yt,{title:c("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:S,baseUrl:i,spaceId:s,contactId:n.id}),t.jsx(Yt,{title:c("global.birthdate"),inputType:"birthday",displayValue:T?`${D} (${$(T.toDate())})`:"-",value:T?T.toISOString():"",constructUpdateObject:P=>({birthDate:P}),contact:S,baseUrl:i,spaceId:s,contactId:n.id,dateFormat:a,onEntityUpdated:l}),S.field.customProperties.map(P=>t.jsx(or,{property:P,entity:S,entityType:"contact",entityId:String(n.id),customContactFields:r,userTrii:o,baseUrl:i,spaceId:s,onEntityUpdated:l},P.nameKey))]})})},Za=({title:e,value:a,isNotEditable:n,inputType:r="text",options:i=[],displayValue:s,constructUpdateObject:o,baseUrl:l,spaceId:c,businessId:p,onEntityUpdated:y})=>t.jsx(dt,{entityType:"business",entityId:p,title:e,value:a,isNotEditable:n,inputType:r,options:i,displayValue:s,constructUpdateObject:o,baseUrl:l,spaceId:c,onEntityUpdated:y}),Qo=e=>{const a=Ie(),{entityData:n,customContactFields:r,baseUrl:i,spaceId:s,currentUser:o,onEntityUpdated:l}=e,{entityType:c,editEntity:p}=rt(),y=ct();if(c!=="business")return null;const[m,d]=x([]),[h,b]=x(null),[v,g]=x(null),[w,j]=x(null),I=p;return G(()=>{if(!y)return;const S=new AbortController;return y.fetchUsers({signal:S.signal}).then(W=>{S.signal.aborted||d(W??[])}).catch(()=>{S.signal.aborted||d([])}),()=>{S.abort()}},[y]),G(()=>{const S=new AbortController,W=async T=>{if(!T||!y)return null;try{const D=await y.fetchUserTriiById({userId:T,signal:S.signal});return D?.display_name||D?.email||null}catch{return null}};return(async()=>{const T=Et({userId:n.owner,users:m,currentUser:o})??(n.owner?await W(n.owner):null),D=Et({userId:n.createdBy??void 0,users:m,currentUser:o})??(n.createdBy?await W(n.createdBy):null),$=Et({userId:n.updatedBy??void 0,users:m,currentUser:o})??(n.updatedBy?await W(n.updatedBy):null);S.signal.aborted||(b(T),j(D),g($))})(),()=>{S.abort()}},[y,n,m,o]),t.jsx(ja,{title:"General",children:t.jsxs(er,{children:[t.jsx(Za,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:h||"-",inputType:"select",options:m,constructUpdateObject:S=>({owner:typeof S=="string"?S:""}),baseUrl:i,spaceId:s,businessId:n.id,onEntityUpdated:l}),t.jsx(Za,{title:a("conversations.contactDetails.createdBy"),value:w||"-",isNotEditable:!0}),t.jsx(Za,{title:a("conversations.contactDetails.modifiedBy"),value:v||"-",isNotEditable:!0}),I.field.customProperties.map(S=>t.jsx(or,{property:S,entity:I,entityType:"business",entityId:String(n.id),customContactFields:r,userTrii:o,baseUrl:i,spaceId:s,onEntityUpdated:l},S.nameKey))]})})},Xo=e=>{const{entityType:a,entityData:n}=e;return ae(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Jo,{...e,entityData:n,entityType:"contact"}):t.jsx(Qo,{...e,entityData:n,entityType:"business"})},Zo=()=>{const[e,a]=x(!1),[n,r]=x("");return{isOpen:e,title:n,openModal:i=>{r(i),a(!0)},closeModal:()=>{a(!1),r("")}}},el=$e(C)(({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"})),tl=$e(C)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),al=$e(C)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),nl=$e(C)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),rl=$e(Oa)(({})=>({width:32,height:32,cursor:"pointer"})),en=$e(C)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),sl=$e(en)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),il=$e(en)(({})=>({fontSize:14,fontWeight:500})),ol=$e(en)(({})=>({fontSize:14,fontWeight:500})),ll=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Vt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(el,{children:[t.jsx(tl,{children:t.jsxs(nl,{children:[t.jsx(lt,{title:e.address||"",arrow:!0,children:t.jsx(il,{children:e.address})}),t.jsx(lt,{title:e.profileName||"",arrow:!0,children:t.jsx(ol,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(lt,{title:e.note||"",arrow:!0,children:t.jsx(sl,{children:e.note})})]})}),t.jsxs(al,{children:[a!==""&&t.jsx(rl,{src:n,alt:e.profileName,style:{cursor:"pointer"},children:e?.profileName?.charAt(0).toUpperCase()}),t.jsx(C,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(be,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(wn,{sx:{color:"#fcac34"}}):t.jsx(In,{sx:{color:"#fcac34"}})})})]})]})})},tn=gs.getInstance(),cl=e=>{if(!e||!e.trim())return e;try{const a=tn.parse(e,void 0);return tn.isValidNumber(a)?tn.format(a,ys.INTERNATIONAL):e}catch{return e}},dl=$e(be)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),ul=$e(hs)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),pl=$e(C)(({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"})),ml=$e(C)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),hl=$e(C)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),gl=$e(C)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),lr=$e(C)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),yl=$e(lr)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),fl=$e(lr)(({})=>({fontSize:14,fontWeight:500})),xl=({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=ae(()=>cl(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(pl,{children:[t.jsxs(ml,{children:[t.jsx(dl,{onClick:a,color:"primary",size:"small",children:t.jsx(ul,{})}),t.jsxs(gl,{children:[t.jsx(lt,{title:n||"",arrow:!0,children:t.jsx(fl,{children:n})}),t.jsx(lt,{title:e.note||"",arrow:!0,children:t.jsx(yl,{children:e.note})})]})]}),t.jsx(hl,{children:t.jsx(C,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(be,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(wn,{sx:{color:"#fcac34"}}):t.jsx(In,{sx:{color:"#fcac34"}})})})})]})})},bl=ee(C)(({theme:e})=>({display:"flex",flexDirection:"column",padding:e.spacing(1,0,2,0),width:"100%",gap:e.spacing(1),"&:hover .edit-icon":{opacity:1}})),vl=ee(Y)(({})=>({letterSpacing:-.5,fontSize:14})),Cl=ee(C)(({})=>({display:"flex",alignItems:"center"})),jl=ee(C)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),wl=ee(be)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),Il=({title:e,methodItems:a,isPhone:n,handleEdit:r,owner:i})=>t.jsxs(bl,{children:[t.jsxs(Cl,{children:[t.jsx(vl,{children:e}),t.jsx(wl,{className:"edit-icon",size:"small",onClick:r,children:t.jsx(Mt,{fontSize:"small",sx:{color:s=>s.palette.secondary.main}})})]}),t.jsx(jl,{children:a.map((s,o)=>n?t.jsx(xl,{item:s},o):t.jsx(ll,{item:s,owner:i},o))})]}),Sl=({title:e})=>t.jsx(C,{children:t.jsx(Y,{variant:"subtitle2",children:e})}),El={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},wa=({title:e,handleAdd:a})=>{const n=Ie();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(C,{sx:El.container,children:[t.jsx(Y,{variant:"subtitle2",children:e}),t.jsx(Pe,{onClick:a,size:"small",startIcon:t.jsx(An,{}),variant:"text",color:"primary",children:n("global.add")})]})},Tl={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Ht=({children:e})=>t.jsx(C,{sx:Tl.container,children:e}),cr={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Dl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:r,onCheckContactAddress:i})=>{const s=Ie(),[o,l]=x(null),c=!!o,{channelType:p,address:y}=a,[m,d]=x(!1),[h,b]=x(null),[v,g]=x(!1),w=$=>{l($.currentTarget)},j=()=>{l(null)},I=()=>{g(!1)},S=()=>{e(),j()},W=async()=>{d(!0);try{if(!i)return;const $=await i(13);if(!$)return;b($),g(!0)}catch($){console.error("Error verifying WhatsApp account:",$)}finally{d(!1)}j()},T=async()=>{d(!0);try{if(!i)return;const $=await i(21);if(!$)return;b($),g(!0)}catch($){console.error("Error verifying RCS account:",$)}finally{d(!1)}j()},D=async()=>{await n(),g(!1)};return t.jsxs(C,{children:[t.jsx(be,{"aria-controls":c?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":c?"true":void 0,onClick:w,children:t.jsx(fs,{})}),t.jsxs(Or,{id:"basic-menu",anchorEl:o,open:c,onClose:j,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(tt,{onClick:S,children:[t.jsx(ua,{children:t.jsx(ya,{color:"error"})}),t.jsx(pa,{children:s("global.delete")})]}),p===5&&t.jsxs(tt,{onClick:W,disabled:!r,children:[t.jsx(ua,{children:m?t.jsx(qe,{size:24}):t.jsx(xs,{sx:{color:"green"}})}),t.jsx(pa,{children:s("optionsMenu.verifyWspAccount")})]}),p===21&&t.jsxs(tt,{onClick:T,disabled:!r,children:[t.jsx(ua,{children:m?t.jsx(qe,{size:24}):t.jsx(bs,{})}),t.jsx(pa,{children:s("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(Nt,{open:v,onClose:I,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:t.jsx(C,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,boxShadow:24,p:4,backgroundColor:$=>$.palette.background.default},children:h?.success?t.jsxs(t.Fragment,{children:[t.jsxs(Y,{id:"modal-modal-title",variant:"h6",component:"h2",children:[s("optionsMenu.wspAccountFound")," ",y]}),t.jsx(Y,{id:"modal-modal-description",sx:{mt:2},children:s("optionsMenu.wantToLinkContact")}),t.jsxs(C,{sx:{marginTop:"10px"},children:[t.jsx(Pe,{onClick:D,color:"primary",children:s("optionsMenu.yesLink")}),t.jsx(Pe,{onClick:I,color:"secondary",children:"No"})]})]}):t.jsxs(C,{sx:{position:"relative"},children:[t.jsxs(Y,{id:"modal-modal-title",variant:"h6",component:"h2",children:[s("optionsMenu.noWspAccountFound")," ",y]}),t.jsx(Pe,{onClick:I,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:s("global.cancel")})]})})})]})},Gt=e=>{const a=Ie(),n=ct(),{editEntity:r,entityId:i}=rt(),[s,o]=x(!1),l=e.checked??!0,c=e.entityId??i,{note:p,channelType:y,id:m,address:d}=e.addressData,h=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??r.action.replaceAddress,v=e.addWhatsappVerified||(typeof r.action?.addWhatsappVerified=="function"?r.action.addWhatsappVerified:void 0),g=async S=>{if(!n||!c)return null;const W=await n.setContactAddress({data:{address:d,contactId:c,type:S}});return b(m,W),W},w=async()=>{if(!n||!c)return;const S=await n.updateContactAddress({data:{contactAddressId:m,contactId:c,note:p??""}});b(m,S)},j=async()=>{o(!0),h?(await w(),o(!1)):await g(y)&&o(!1)},I=async()=>{o(!0);const S=await g(13);S&&v&&v(S),S&&o(!1)};return t.jsxs(C,{sx:{...cr.container},children:[h&&t.jsx(we,{size:"small",label:a("global.note"),variant:"outlined",onChange:S=>e.handleNoteFieldChange(S,m,y),value:p,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:cr.noteTextField}),t.jsx(be,{onClick:j,children:s?t.jsx(qe,{size:24}):t.jsx(ft,{color:"primary"})}),t.jsx(Dl,{onDelete:()=>e.handleDeleteAddress(m,y),addressData:e.addressData,handleLinkAccountSave:I,checked:l&&!s,onCheckContactAddress:async S=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:d,type:S}})}catch{return null}}})]})},Al={container:{display:"flex",gap:"100px",alignItems:"center"}},Kt=({children:e})=>t.jsx(C,{sx:Al.container,children:e}),kl={container:{width:"100%",borderRadius:1,px:1.5,py:2,display:"flex",flexDirection:"column",gap:2,overflow:"auto",maxHeight:"calc(100vh - 250px)"}},qt=({children:e})=>t.jsx(C,{sx:{...kl.container},children:e}),$l=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(js,{size:20});case"available":return t.jsx(vs,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Cs,{style:{height:27,width:27},color:"error"});default:return null}},dr=({status:e,text:a})=>t.jsxs(ws,{position:"end",children:[a?t.jsx(Is,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx($l,{status:e})})]}),Ul={code:{width:"60%",color:"gray"}},Fl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Ht,{children:t.jsxs(Kt,{children:[t.jsx(Y,{sx:Ul.code,variant:"body2",children:e.address}),t.jsx(Gt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},Pl=({IMSs:e,editEntity:a})=>t.jsx(qt,{children:e?.map(n=>t.jsx(Fl,{data:n,editEntity:a},n.id))}),Ia=({editEntity:e,title:a,IMSs:n})=>t.jsxs(C,{sx:{width:"100%"},children:[t.jsx(Sl,{title:a}),t.jsx(Pl,{IMSs:n,editEntity:e})]}),Nl={addressField:{}},an=({data:e,onChange:a,setWarnings:n})=>{const{id:r,channelType:i,address:s}=e,o=Ie(),l=ct(),[c,p]=x("idle"),[y,m]=x(s),d=!e.hasOwnProperty("isSaved");return G(()=>{let h=setTimeout(async()=>{if(s!==""&&s!==y){if(!l)return;p("loading"),m(s);const b={address:s,type:i};try{const v=await l.checkContactAddress({data:b}),{success:g,warnings:w}=v;n(w),p(g?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[l,e,s,i,y,n]),t.jsx(t.Fragment,{children:t.jsx(we,{disabled:d,sx:Nl.addressField,size:"small",label:i===It.WHATSAPP||i===It.RCS?o?o("global.number"):"Number":o?o("global.email"):"Email",value:s,onChange:h=>{a(h,r,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(dr,{status:c})})}})})},Rl={addressField:{}},Ml=({data:e,onChange:a,setWarnings:n})=>{const r=ct(),i=Ie(),{id:s,channelType:o,address:l}=e,[c,p]=x("idle"),[y,m]=x(l),d=!e.hasOwnProperty("isSaved");return G(()=>{let h=setTimeout(async()=>{if(l!==""&&l!==y){if(!r)return;p("loading"),m(l);const b={address:l,type:o};try{const{success:v,warnings:g}=await r.checkContactAddress({data:b});n(g),p(v?"available":"unavailable")}catch{n([]),p("unavailable")}}},1700);return()=>clearTimeout(h)},[e]),t.jsx(t.Fragment,{children:t.jsx(we,{disabled:d,sx:Rl.addressField,size:"small",label:i("global.number"),value:l,onChange:h=>{a(h,s,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(dr,{status:c})})}})})},nn={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Ol=({text:e})=>t.jsx(xn,{item:!0,children:t.jsx(C,{sx:nn.secondaryContainer,children:t.jsx(Es,{icon:t.jsx(Ss,{sx:nn.icon}),sx:nn.chip,label:e,color:"error",variant:"outlined"})})}),Sa=({warnings:e})=>{const a=Ie();return t.jsx(C,{children:t.jsx(xn,{container:!0,children:e?.map((n,r)=>t.jsx(Ol,{text:a(`contactAddressError.${n}`)},r))})})},Ll={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},zl=({data:e})=>{const a="edit",{editEntity:n}=rt(),r=n.action,i=n.state,[s,o]=x([]),[l,c]=x(!0);return G(()=>{c(s.length===0&&(e.address??"")!=="")},[s,e.address]),t.jsx(Ht,{children:t.jsxs(Kt,{children:[t.jsxs(C,{sx:{...Ll.numberCountryContainer,flexDirection:"column"},children:[t.jsx(Ml,{data:e,setWarnings:o,onChange:r.handleAddressFieldChange}),s.length>0&&t.jsx(Sa,{warnings:s})]}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress,addWhatsappVerified:r.addWhatsappVerified,checked:l})]})})},Wl=({phoneNumbers:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(zl,{data:a},a.id))}),Bl=({phoneNumbers:e,handleAdd:a})=>{const n=Ie();return t.jsxs(C,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:n("global.phones")}),t.jsx(Wl,{phoneNumbers:e})]})},ur={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},_l=({data:e})=>{const a="edit",{editEntity:n}=rt(),r=n.action,i=n.state,[s,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(C,{sx:ur.numberCountryContainer,children:t.jsx(C,{sx:ur.adressInputBox,children:t.jsx(an,{data:e,setWarnings:o,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),s.length>0&&t.jsx(Sa,{warnings:s})]})},Vl=({emails:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(_l,{data:a},a.id))}),Yl=({emails:e,handleAdd:a})=>t.jsxs(C,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"Emails"}),t.jsx(Vl,{emails:e})]}),pr={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Hl=({data:e})=>{const a="edit",{editEntity:n}=rt(),r=n.action,i=n.state,[s,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(C,{sx:pr.numberCountryContainer,children:t.jsx(C,{sx:pr.adressInputBox,children:t.jsx(an,{data:e,setWarnings:o,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),s.length>0&&t.jsx(Sa,{warnings:s})]})},Gl=({whatsapps:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Hl,{data:a},a.id))}),Kl=({whatsapps:e,handleAdd:a})=>t.jsxs(C,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"WhatsApp"}),t.jsx(Gl,{whatsapps:e})]}),mr={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},ql=({data:e})=>{const a="edit",{editEntity:n}=rt(),r=n.action,i=n.state,[s,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(C,{sx:mr.numberCountryContainer,children:t.jsx(C,{sx:mr.adressInputBox,children:t.jsx(an,{data:e,setWarnings:o,onChange:r.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:r.handleNoteFieldChange,handleDeleteAddress:r.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:r.replaceAddress})]}),s.length>0&&t.jsx(Sa,{warnings:s})]})},Jl=({RCSs:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(ql,{data:a},a.id))}),Ql=({RCSs:e,handleAdd:a})=>t.jsxs(C,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"RCS"}),t.jsx(Jl,{RCSs:e})]}),Xl=$e(C)(({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})),Zl=({open:e,onClose:a,title:n})=>{const r=Ie(),{editEntity:i}=rt(),{emails:s,phoneNumbers:o,imsWhatsapp:l,imsRCS:c}=i.field,{addEmail:p,addPhone:y,addWhatsapp:m,resetToInitialContactInformation:d,addRCS:h}=i.action;function b(){a(),d()}return t.jsx(Nt,{open:e,onClose:a,children:t.jsxs(Xl,{children:[(()=>{switch(n){case"Phones":return t.jsx(Bl,{handleAdd:y,phoneNumbers:o});case"Emails":return t.jsx(Yl,{handleAdd:p,emails:s});case"Whatsapp":return t.jsx(Kl,{handleAdd:m,whatsapps:l});case"RCS":return t.jsx(Ql,{handleAdd:h,RCSs:c});case"Facebook":return t.jsx(Ia,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(Ia,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(Ia,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(Ia,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(Y,{children:"No information available for this section."})}})(),t.jsx(C,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(Pe,{variant:"contained",color:"primary",onClick:b,children:r("global.close")})})]})})},ec=({ownerData:e})=>{const{isOpen:a,title:n,openModal:r,closeModal:i}=Zo(),{editEntity:s}=rt(),o=Ie(),l=s.field.phoneNumbers,c=s.field.emails,p=s.field.imsFacebooks,y=s.field.imsWhatsapp,m=s.field.imsMercadolibre,d=s.field.imsWebchats,h=s.field.imsInstagrams,b=s.field.imsRCS,v=[{key:"phones",title:o("conversations.contactDetails.phones"),items:l,isPhone:!0,modalTitle:"Phones",visible:!0},{key:"emails",title:"Emails",items:c,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:b,modalTitle:"RCS",visible:b.length>0},{key:"mercado-libre",title:"Mercado libre",items:m,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:d,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:h,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(ja,{title:o("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:v.filter(g=>g.visible).map(g=>t.jsx(Il,{handleEdit:()=>r(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx(Zl,{open:a,onClose:i,title:n})]})},tc=({entityType:e,entityData:a,baseUrl:n,spaceId:r,onEntityUpdated:i,onDirectionSearchClick:s})=>{const o={baseUrl:n,spaceId:r,entityId:String(a.id),onEntityUpdated:i},l=Ie(),c=({addressNumber:p,title:y})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(Y,{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(dt,{entityType:e,title:l("conversations.contactDetails.street"),value:a[p]?.street??"",...o,constructUpdateObject:m=>({[p]:{street:m}}),minWidth:"100%"})}),t.jsx(dt,{entityType:e,title:l("conversations.contactDetails.city"),value:a[p]?.city??"",...o,constructUpdateObject:m=>({[p]:{city:m}}),minWidth:"100%"}),t.jsx(dt,{entityType:e,title:l("conversations.contactDetails.state"),value:a[p]?.state??"",...o,constructUpdateObject:m=>({[p]:{state:m}}),minWidth:"100%"}),t.jsx(dt,{entityType:e,title:l("conversations.contactDetails.postcode"),value:a[p]?.zipcode??"",...o,constructUpdateObject:m=>({[p]:{zipcode:m}}),minWidth:"100%"}),t.jsx(dt,{entityType:e,title:l("conversations.contactDetails.country"),value:a[p]?.country??"",...o,constructUpdateObject:m=>({[p]:{country:m}}),minWidth:"100%"})]})]});return t.jsx(ja,{title:l("conversations.contactDetails.addressInformation"),enableDirectionSearch:!0,onDirectionSearchClick:s,children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(c,{addressNumber:"address1",title:l("conversations.contactDetails.primaryAddress")}),t.jsx(c,{addressNumber:"address2",title:l("conversations.contactDetails.secondaryAddress")})]})})},ac=({entity:e,setEntity:a})=>se(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]),nc=({open:e,baseUrl:a,spaceId:n,contactData:r,contactType:i,labels:s,selectedTags:o,onTagsUpdated:l})=>{const[c,p]=x("main"),[y,m]=x([]),[d,h]=x(!1),[b,v]=x(!1),[g,w]=x([]),[j,I]=x(!1),S=ae(()=>{const $=s??[],P=g??[],V=new Map;for(const H of $)H?.id&&V.set(String(H.id),H);for(const H of P)H?.id&&V.set(String(H.id),H);return Array.from(V.values())},[s,g]),W=se(()=>{p("main"),m([]),h(!1),v(!1),w([]),I(!1)},[]);G(()=>{e||W()},[e,W]),G(()=>{if(c!=="tags"){h(!1);return}if(d||!S.length)return;const $=new Set(o.map(V=>String(V.id))),P=S.filter(V=>$.has(String(V?.id)));m(P),h(!0)},[c,d,S,o]);const T=se(async $=>{if(j||!a||!n)return;const P=String($??"").trim();if(!P)return;const V=P.toLowerCase(),H=S.find(M=>String(M?.name??"").trim().toLowerCase()===V);if(H?.id){m(M=>{const J=M??[];return J.some(U=>String(U?.id)===String(H.id))?J:[...J,H]});return}I(!0);try{const M=await Vn({baseUrl:a,spaceId:n,name:P});w(J=>{const U=J??[];return!M?.id||U.some(re=>String(re?.id)===String(M.id))?U:[...U,M]}),m(J=>{const U=J??[];return!M?.id||U.some(re=>String(re?.id)===String(M.id))?U:[...U,M]})}finally{I(!1)}},[j,a,n,S]),D=se(async()=>{if(b||!a||!n||!r||i!=="contact"&&i!=="business")return;const $=y.filter(P=>P?.id&&P?.name).map(P=>({id:String(P.id),name:String(P.name)}));v(!0);try{await Xe({baseUrl:a,spaceId:n,entityType:i,entityId:String(r.id),body:{tags:$}}),l($),p("main")}finally{v(!1)}},[b,a,n,r,i,y,l]);return{view:c,setView:p,draftLabels:y,setDraftLabels:m,labelsOptions:S,isSaving:b,isCreatingLabel:j,handleCreateLabel:T,handleSaveTags:D}},rc=({onClose:e})=>se((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),sc={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},ic=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:r,onBack:i,onEntityUpdated:s,currentUser:o})=>{const l=Ie(),c=ct(),p=xe(null),y=xe(null),[m,d]=x(()=>r?.businessName??""),[h,b]=x(!1),[v,g]=x(!1),[w,j]=x(!1),[I,S]=x([]),[W,T]=x(r??null),[D,$]=x(1),[P,V]=x(!1),[H,M]=x(!1),J=ae(()=>{const X=o?.display_name,ie=o?.email;return String(X||ie||"").trim()},[o]);G(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),y.current?.abort()},[]),G(()=>{T(r??null),d(r?.businessName??"")},[r]);const U=()=>{y.current?.abort(),y.current=null,p.current&&(clearTimeout(p.current),p.current=null),b(!1),M(!1),$(1),V(!1),S([])},re=X=>X.filter(ie=>!!ie?.id).map(ie=>({businessId:String(ie.id),businessName:String(ie.name??"")})),N=async({query:X,page:ie})=>{if(!c)return;y.current?.abort();const ge=new AbortController;y.current=ge,g(!0);try{const ve={...sc,currentPage:ie,filter:[{value:X,column:"name",condition:""}]},De=await c.fetchBusinessTableData({pagination:ve,signal:ge.signal});if(ge.signal.aborted)return;const te=re(De?.contactos??[]);b(!0);const Z=De?.paginacion?.total??0;S(He=>{const ye=ie===1?te:(()=>{const Ee=new Map;for(const Ce of He)Ee.set(Ce.businessId,Ce);for(const Ce of te)Ee.set(Ce.businessId,Ce);return Array.from(Ee.values())})();return Z&&ye.length>=Z&&M(!0),ye})}finally{g(!1),j(!1),V(!1)}},O=X=>{U(),X&&(p.current&&(clearTimeout(p.current),p.current=null),j(!0),p.current=setTimeout(()=>{N({query:X,page:1})},800))},F=X=>{const ie=X.target;if(!(ie.scrollHeight-ie.scrollTop-ie.clientHeight<1)||H||v||!m)return;const ge=D+1;V(!0),$(ge),N({query:m,page:ge})},E=async()=>{if(!c||!J)return;const X=String(m??"").trim();if(X){g(!0);try{const ie={name:X,owner:J,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},ge=await c.createBusiness({business:ie}),ve={businessId:String(ge.id??""),businessName:String(ge.name??X)};S([ve]),T(ve),b(!0)}finally{g(!1)}}},B=async()=>{if(!e||!a||!n)return;const X=W?.businessId??"",ie=await Xe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:X}});s?.(ie),i()},R=h&&I.length===0&&m?t.jsxs(Qe,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(Y,{variant:"body2",children:l("global.noOptions")}),t.jsx(nt,{size:"small",variant:"contained",onClick:E,loading:v,disabled:v||!J,children:l("global.createNew")})]}):t.jsx(Y,{variant:"body2",children:l("global.noOptions")}),_=!n||!e||!a;return t.jsxs(C,{sx:{width:"100%"},children:[t.jsxs(Qe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(be,{size:"small",onClick:i,"aria-label":l("global.back"),children:t.jsx(Va,{fontSize:"small"})}),t.jsx(Y,{variant:"subtitle1",children:l("conversations.contactDetails.business")}),t.jsx(C,{sx:{flex:1}}),t.jsx(nt,{variant:"contained",size:"small",startIcon:t.jsx(ft,{}),onClick:B,loading:!1,disabled:_,children:l("global.save")})]}),t.jsxs(C,{sx:{position:"relative"},children:[v||w||P?t.jsx(C,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(Lr,{sx:{borderRadius:1}})}):null,t.jsx(La,{fullWidth:!0,disablePortal:!0,value:W,onChange:(X,ie)=>{T(ie)},inputValue:m,onInputChange:(X,ie,ge)=>{d(ie),ge==="input"&&O(ie)},options:I,getOptionLabel:X=>X?.businessName??"",isOptionEqualToValue:(X,ie)=>X.businessId===ie.businessId,noOptionsText:R,renderInput:X=>t.jsx(we,{...X,size:"small",label:l("conversations.contactDetails.business"),placeholder:l("global.noValue"),InputProps:{...X.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[v||w?t.jsx(qe,{size:18,sx:{mr:1}}):null,X.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:F}})]})]})},oc=({open:e,onClose:a,baseUrl:n,spaceId:r,contactId:i,sx:s,language:o="en",navigate:l,googleMapsApiKey:c,onEntityUpdated:p})=>{const{t:y,i18n:m}=yt(),d=xe(null);G(()=>{if(window.google?.maps||document.querySelector('script[src^="https://maps.googleapis.com/maps/api/js"]'))return;if(!c){console.warn("Google Maps API key is missing. The location search feature will not work.");return}const N=document.createElement("script");return N.src=`https://maps.googleapis.com/maps/api/js?key=${c}&libraries=places`,N.async=!0,N.defer=!0,document.body.appendChild(N),()=>{}},[c]),G(()=>{o&&m.changeLanguage(o)},[o,m]);const h=N=>y(N),b=ae(()=>!n||!r?null:Gn(n,r),[n,r]),{state:v,selectors:g,actions:w}=bo({open:e,baseUrl:n,spaceId:r,contactId:i}),j=ac({entity:v.contactData,setEntity:N=>{w.setContactData(N??void 0),N&&p&&p(N)}}),{view:I,setView:S,draftLabels:W,setDraftLabels:T,labelsOptions:D,isSaving:$,isCreatingLabel:P,handleCreateLabel:V,handleSaveTags:H}=nc({open:e,baseUrl:n,spaceId:r,contactData:v.contactData,contactType:g.contactType,labels:g.labels,selectedTags:g.tags,onTagsUpdated:N=>{if(!v.contactData)return;const O={...v.contactData,tags:N};w.setContactData(O),p&&p(O)}}),M=Vt({baseUrl:n,spaceId:r,entityType:g.contactType==="business"||g.contactType==="contact"?g.contactType:void 0,entityId:v.contactData?String(v.contactData.id):void 0,initialImageUrl:v.contactData?.imageUrl,onEntityUpdated:j}),J=rc({onClose:a}),U={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:N=>N.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},re=Array.isArray(s)?[U,...s]:s?[U,s]:U;return t.jsx(Bi,{value:b,children:t.jsx(zi,{t:h,children:t.jsx(Ro,{navigate:l,children:t.jsx(Nt,{open:e,onClose:J,closeAfterTransition:!0,slots:{backdrop:Wa},slotProps:{backdrop:{timeout:200}},children:t.jsx(at,{in:e,timeout:200,children:t.jsxs(C,{sx:re,ref:d,children:[t.jsx(be,{"aria-label":"close",onClick:J,sx:{position:"absolute",right:5,top:5,color:N=>N.palette.grey[500],zIndex:1},size:"small",children:t.jsx(Sn,{sx:{fontSize:20}})}),v.isLoading&&!v.contactData?t.jsx(C,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(qe,{})}):v.error?t.jsx(C,{sx:{mb:2},children:"Failed to load contact"}):v.contactData?t.jsx(Po,{value:{view:I,setView:S},children:t.jsx($o,{entityType:g.contactType==="business"?"business":"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:r,children:t.jsxs(C,{sx:{position:"relative",height:"100%"},children:[t.jsx(at,{in:I==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(C,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Ji,{imgUrl:M.imageUrl,displayName:g.displayName,tags:g.tags,onEditTags:()=>{S("tags")},onUploadPhoto:M.action.uploadImage,onPhotoFileChange:M.inputAtributes.onChange,photoInputRef:M.inputAtributes.ref,isUploadingPhoto:M.isUploading,onDeletePhoto:M.action.deleteImage,isDeletingPhoto:M.isDeleting,contactType:g.contactType,entityId:v.contactData?.id,firstName:g.isContact?v.contactData.firstName:void 0,lastName:g.isContact?v.contactData.lastName:void 0,name:g.isBusiness?v.contactData.name:void 0,onEntityUpdated:j}),t.jsxs(C,{sx:{px:1,pb:2},children:[t.jsx(Xo,{dateFormat:g.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:r,onEntityUpdated:j,currentUser:g.userTrii}),t.jsx(tc,{entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:v.contactData,baseUrl:n,spaceId:r,onEntityUpdated:j,onDirectionSearchClick:()=>S("searchLocation")}),t.jsx(ec,{ownerData:v.contactData})]})]})}),t.jsx(at,{in:I==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(C,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(xo,{baseUrl:n,spaceId:r,entityType:g.contactType==="business"?"business":"contact",entityId:String(v.contactData.id),onBack:()=>S("main"),onEntityUpdated:j})})}),t.jsx(at,{in:I==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(C,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(Xi,{value:W,options:D,onChange:T,onBack:()=>S("main"),onSave:H,isSaving:$,onCreateNew:V,isCreatingNew:P,popperContainer:d.current})})}),t.jsx(at,{in:I==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(C,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(ic,{baseUrl:n,spaceId:r,contactId:String(v.contactData.id),initialBusiness:g.isContact&&v.contactData?.businessId?{businessId:String(v.contactData.businessId),businessName:String(v.contactData.businessName??"")}:null,onBack:()=>S("main"),onEntityUpdated:j,currentUser:g.userTrii})})})]})})}):null]})})})})})})},lc=e=>t.jsx(_a,{i18n:_t,children:t.jsx(oc,{...e})}),hr=ot(null),cc=hr.Provider,gr=()=>et(hr),dc={events:[],setEvents:()=>{},filteredEvents:[]},uc=(e,a)=>{const[n,r]=x([]);G(()=>{if(!a?.length){r([]);return}const s=a.map(o=>({id:o.id,title:o.title||"",start:new Date(o.startAt),end:new Date(o.endAt||o.startAt),startAt:o.startAt,endAt:o.endAt,allDay:o.allDay||!1,color:o.color,calendarId:o.calendarId,details:o.details,location:o.location,isPrivate:o.isPrivate,rule:o.rule,relatedContact:o.relatedContact,sharedWith:o.sharedWith,finalized:o.finalized,kind:"event",originalOccurrenceDate:o.originalOccurrenceDate,parentId:o.parentId}));r(s)},[a]);const i=ae(()=>e?.length?n.filter(s=>s.calendarId&&e.includes(s.calendarId)):n,[n,e]);return ae(()=>({events:n,setEvents:r,filteredEvents:i}),[n,i])},yr={open:!1,handleOpen:()=>{},handleClose:()=>{}},fr=()=>{const[e,a]=x(!1),n=se(()=>{a(!0)},[]),r=se(()=>{a(!1)},[]);return ae(()=>({open:e,handleOpen:n,handleClose:r}),[e,n,r])},xt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},bt=(e,a)=>{const[n,r]=x(a||""),[i,s]=x(!1),[o,l]=x("");G(()=>{r(a||"")},[a]);const c=se(v=>{s(!0),l(v)},[]),p=se(()=>{s(!1),l("")},[]),y=se(v=>{r(v.target.value)},[]),m=se(v=>{r(v)},[]),d=se(()=>{r(a||"")},[a]),h=ae(()=>({onError:c,onSuccess:p,resetValue:d,changeValue:m}),[c,p,d,m]),b=ae(()=>({error:i,helperText:o,type:e,value:n,onChange:y}),[i,o,e,n,y]);return{actions:h,attributes:b}};function xr(e){return typeof e=="number"}const pc={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function mc(e){const[a,n]=x(e||[]),r=se(()=>{const y={id:Ja(),timeValue:0,timePeriod:xa.MINUTE,sendToContact:!1};n(m=>m.concat(y))},[]),i=se(y=>{n(m=>m.filter(d=>d.id!==y))},[]),s=se((y,m)=>{const d=Number(y.target.value);xr(d)&&n(h=>h.map(b=>b.id===m?{...b,timeValue:d}:b))},[]),o=se((y,m)=>{if(!xr(y.target.value))return;const d=y.target.value;n(h=>h.map(b=>b.id===m?{...b,timePeriod:d}:b))},[]),l=se((y,m)=>{const d=y.target.checked;n(h=>h.map(b=>b.id===m?{...b,sendToContact:d}:b))},[]),c=se(()=>{n([])},[]);G(()=>{e&&n(e)},[e]);const p=ae(()=>({addNotification:r,deleteNotification:i,handleTimeFieldChange:s,handleTimePeriodChange:o,handleReminderChange:l,resetNotifications:c}),[r,i,s,o,l,c]);return{notifications:a,action:p}}const hc={state:{selectedStartDate:Q(),selectedEndDate:Q().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},gc={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},yc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},fc={titleField:xt,descriptionField:xt,locationField:xt,colorField:xt,date:hc,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:pc,shareWithUsers:yc,linkContact:gc,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},xc=(e,a)=>{const[n,r]=x(e??Q()),[i,s]=x(a??Q().add(30,"minute")),[o,l]=x(!1),c=se(m=>d=>{m(d)},[]),p=ae(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),y=ae(()=>({setSelectedStartDate:r,setSelectedEndDate:s,setError:l,handleSelect:c}),[c]);return{state:p,action:y}},bc=()=>{const[e,a]=x(""),[n,r]=x(""),i=se(p=>{a(p.name??""),r(p.id)},[]),s=se(p=>{a(p),p||r("")},[]),o=se(()=>{a(""),r("")},[]),l=ae(()=>({search:e,contactSelectedId:n}),[e,n]),c=ae(()=>({handleSelectContact:i,handleSearchChange:s,resetField:o}),[i,s,o]);return{state:l,action:c}},vc=()=>{const[e,a]=x([]),n=se(()=>{a([])},[]),r=ae(()=>({userIds:e}),[e]),i=ae(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Cc=e=>{const a=xe(null),n=bt("text",e?.title??""),r=bt("text",e?.details??e?.description??""),i=bt("text",e?.location??""),s=bt("text",e?.color??"#1976d2"),o=xc(e?.startAt?Q(e.startAt):void 0,e?.endAt?Q(e.endAt):void 0),[l,c]=x(e?.allDay??!1),[p,y]=x(e?.isPrivate??!1),[m,d]=x(e?.rule??""),h=mc(e?.notifications),b=vc(),v=bc(),g=se(()=>({title:n.attributes.value,details:r.attributes.value,location:i.attributes.value,allDay:l,isPrivate:p,color:s.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedEndDate.toISOString(),notifications:h.notifications.map(j=>({timePeriod:j.timePeriod,timeValue:j.timeValue,sendToContact:j.sendToContact})),sharedWith:b.field.userIds,rule:m,relatedContactId:v.state.contactSelectedId||null}),[n.attributes.value,r.attributes.value,i.attributes.value,l,p,s.attributes.value,o.state.selectedStartDate,o.state.selectedEndDate,h.notifications,b.field.userIds,m,v.state.contactSelectedId]),w=se(()=>{n.actions.resetValue(),r.actions.resetValue(),i.actions.resetValue(),s.actions.changeValue("#1976d2"),c(!1),y(!1),d(""),h.action.resetNotifications(),b.action.resetField(),v.action.resetField(),o.action.setError(!1)},[n.actions,r.actions,i.actions,s.actions,h.action,b.action,v.action,o.action]);return G(()=>{const j=e?.id;!e||a.current===j||(a.current=j,c(e.allDay??!1),y(e.isPrivate??!1),d(e.rule??""),n.actions.changeValue(e.title??""),r.actions.changeValue(e.details??e.description??""),i.actions.changeValue(e.location??""),s.actions.changeValue(e.color??"#1976d2"),e.startAt&&o.action.setSelectedStartDate(Q(e.startAt)),e.endAt&&o.action.setSelectedEndDate(Q(e.endAt)))},[e?.id]),ae(()=>({titleField:n,descriptionField:r,locationField:i,colorField:s,date:o,allDay:l,setAllDay:c,isPrivate:p,setIsPrivate:y,recurrenceRule:m,setRecurrenceRule:d,notifications:h,shareWithUsers:b,linkContact:v,create:g,resetFields:w}),[n,r,i,s,o,l,p,m,h,b,v,g,w])},jc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},wc={nameField:xt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:jc,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Ic=()=>{const[e,a]=x([]),n=se(()=>{a([])},[]),r=ae(()=>({userIds:e}),[e]),i=ae(()=>({setUserIds:a,resetField:n}),[n]);return{field:r,action:i}},Sc=()=>{const e=bt("text",""),[a,n]=x("#ffffff"),[r,i]=x(null),s=Ic(),o=se(c=>{n(c)},[]),l=se(c=>{i(c)},[]);return ae(()=>({nameField:e,color:a,handleColorChange:o,shareWithUsers:s,googleCalendar:r,handleGoogleCalendarChange:l}),[e,a,o,s,r,l])},Ec={tasks:[],setTasks:()=>{},filteredTasks:[]},Tc=e=>{const[a,n]=x([]),r=ae(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return ae(()=>({tasks:a,setTasks:n,filteredTasks:r}),[a,r])},Dc={state:{selectedStartDate:Q(),selectedEndDate:Q(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},Ac={state:{search:"",contactSelectedId:""},action:{handleSelectContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},kc={titleField:xt,descriptionField:xt,date:Dc,linkContact:Ac,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},$c=(e,a)=>{const[n,r]=x(e??Q()),[i,s]=x(a??Q()),[o,l]=x(!1),c=se(m=>d=>{m(d)},[]),p=ae(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),y=ae(()=>({setSelectedStartDate:r,setSelectedEndDate:s,setError:l,handleSelect:c}),[c]);return{state:p,action:y}},Uc=()=>{const[e,a]=x(""),[n,r]=x(""),i=se(p=>{a(p.name??""),r(p.id)},[]),s=se(p=>{a(p),p||r("")},[]),o=se(()=>{a(""),r("")},[]),l=ae(()=>({search:e,contactSelectedId:n}),[e,n]),c=ae(()=>({handleSelectContact:i,handleSearchChange:s,resetField:o}),[i,s,o]);return{state:l,action:c}},Fc=e=>{const a=xe(null),n=bt("text",e?.title??""),r=bt("text",e?.description??""),i=$c(e?.startAt?Q(e.startAt):void 0,e?.startAt?Q(e.startAt):void 0),s=Uc(),o=se(()=>({title:n.attributes.value,description:r.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:s.state.contactSelectedId||null}),[n.attributes.value,r.attributes.value,i.state.selectedStartDate,s.state.contactSelectedId]),l=se(()=>{n.actions.resetValue(),r.actions.resetValue(),s.action.resetField(),i.action.setError(!1)},[n.actions,r.actions,s.action,i.action]);return G(()=>{const c=e?.id;if(!(!e||a.current===c)&&(a.current=c,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]),ae(()=>({titleField:n,descriptionField:r,date:i,linkContact:s,create:o,resetFields:l}),[n,r,i,s,o,l])},rn=ot({eventDialog:yr,createCalendarDialog:yr,event:fc,events:dc,calendar:wc,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:Ec,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:kc,selectedTask:null,taskCalendarId:"",setTaskCalendarId:()=>{},eventCalendarId:"",setEventCalendarId:()=>{},userManuallyChangedColor:!1,setUserManuallyChangedColor:()=>{},myCalendars:[],otherCalendars:[],handleSaveUpdatedTask:()=>{},handleDeleteTask:()=>{},handleToggleTaskCompleted:()=>{},handleDuplicateItem:()=>{},calendarView:"month",setCalendarView:()=>{},calendarDate:new Date,setCalendarDate:()=>{},navigateToDate:()=>{},confirmDeleteDialog:{open:!1,handleClose:()=>{},itemType:"event"},handleConfirmDelete:()=>{},deleteRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmDeleteRecurring:()=>{},editRecurringDialog:{open:!1,handleClose:()=>{}},handleConfirmEditRecurring:()=>{},hiddenTabs:!1}),br=e=>e,vr=ot(br),Pc=({t:e,children:a})=>t.jsx(vr.Provider,{value:e,children:a}),ze=()=>{const e=et(vr);return e?(...a)=>{const[n,...r]=a;return e(n,...r)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),br)};var Nc=Object.defineProperty,Rc=(e,a,n)=>a in e?Nc(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Cr=(e,a,n)=>Rc(e,typeof a!="symbol"?a+"":a,n);class Mc extends Error{constructor(a,n,r){super(a),Cr(this,"status"),Cr(this,"body"),this.name="ApiError",this.status=n,this.body=r}}async function We({url:e,method:a="GET",headers:n,body:r,signal:i}){const s=await globalThis.fetch(e,{method:a,headers:{...r?{"Content-Type":"application/json"}:{},...n??{}},body:r?JSON.stringify(r):void 0,signal:i}),o=(s.headers.get("content-type")||"").includes("application/json")?await s.json().catch(()=>null):await s.text().catch(()=>null);if(!s.ok){const l=typeof o=="object"&&o&&"message"in o?String(o.message):`Request failed with status ${s.status}`;throw new Mc(l,s.status,o)}return o}function Ne(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,r=a.startsWith("/")?a:`/${a}`;return`${n}${r}`}function sn(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ne(e,`/contacts/${n}`),MEDIA:Ne(e,`/media/${n}`),SETTINGS:Ne(e,`/settings/${n}`),CALENDAR:Ne(e,`/calendar/${n}`)}}function Ge(e){return sn(e.baseUrl,e.spaceId).CALENDAR}async function Oc(e){const a=sn(e.baseUrl,e.spaceId);return We({url:Ne(a.SETTINGS,"/user")})}async function Lc(e,a,n){const r=`${Ge(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return We({url:r})}async function zc(e,a){const n=Ge(e);return We({url:Ne(n,"/events"),method:"POST",body:a})}async function jr(e,a){const n=Ge(e),{activityId:r,updatedActivity:i,originalOccurrenceDate:s}=a;if(s){const o=s instanceof Date?s.toISOString():s,l=`${n}/events/occurrence/${r}?occurrence=${o}`;return We({url:l,method:"PUT",body:i})}return We({url:Ne(n,`/events/${r}`),method:"PUT",body:i})}async function on(e,a,n){const r=Ge(e);if(n){const i=n instanceof Date?n.toISOString():n,s=`${r}/events/${a}?occurrence=${i}`;await We({url:s,method:"DELETE"})}else await We({url:Ne(r,`/events/${a}`),method:"DELETE"})}async function Wc(e,a){const n=Ge(e);return We({url:Ne(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Bc(e,a){const n=Ge(e);return We({url:Ne(n,`/Task/${a}`)})}async function _c(e,a){const n=Ge(e);return We({url:Ne(n,"/Task"),method:"POST",body:a})}async function wr(e,a,n){const r=Ge(e);return We({url:Ne(r,`/Task/${a}`),method:"PUT",body:n})}async function Vc(e,a){const n=Ge(e);await We({url:Ne(n,`/Task/${a}`),method:"DELETE"})}async function Yc(e,a,n){const r=Ge(e);return We({url:Ne(r,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Hc(e){const a=Ge(e);return We({url:Ne(a,"/Calendar")})}async function Gc(e,a){const n=Ge(e);return We({url:Ne(n,"/Calendar"),method:"POST",body:a})}async function Kc(e,a,n){const r=Ge(e);return We({url:Ne(r,`/Calendar/${a}`),method:"PUT",body:n})}function Ir(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 Jt=e=>{if(!e)return e;const a=e.indexOf("_");if(a===-1)return e;const n=e.substring(0,a),r=e.substring(a+1);return/^\d{14}$/.test(r)?n:e},Qt=e=>e?e.parentId?e.parentId:Jt(e.id):"",qc=({children:e,externalOpen:a,externalOnClose:n,externalMode:r="create",externalType:i="event",externalEventCalendarId:s,externalTaskCalendarId:o,externalSelectedEvent:l,externalSelectedTask:c,hiddenTabs:p=!1})=>{const{t:y}=yt(),m=gr(),d=(f,...L)=>y(f,...L),[h,b]=x(i),[v,g]=x(null),[w,j]=x(null),[I,S]=x(r),[W,T]=x(o||""),[D,$]=x(s||""),[P,V]=x(!1),[H,M]=x("create"),[J,U]=x(null),[re,N]=x({open:!1,message:"",severity:"info"}),[O,F]=x(!1),[E,B]=x("event"),[R,_]=x(!1),[X,ie]=x(!1),[ge,ve]=x(null),De="trii_calendar_last_view",te=f=>f==="month"||f==="week"||f==="day",[Z,He]=x(()=>{try{const f=localStorage.getItem(De);return te(f)?f:"month"}catch{return"month"}}),[ye,Ee]=x(new Date),Ce=f=>{Ee(f),He("day")},Ae=fr(),q=fr(),le=Cc(v??void 0),me=Fc(w??void 0);G(()=>{r!==void 0&&S(r)},[r]),G(()=>{i!==void 0&&b(i)},[i]),G(()=>{s!==void 0&&$(s)},[s]),G(()=>{o!==void 0&&T(o)},[o]),G(()=>{l!==void 0&&g(l)},[l]),G(()=>{c!==void 0&&j(c)},[c]),G(()=>{a!==void 0&&(a&&!Ae.open?Ae.handleOpen():!a&&Ae.open&&Ae.handleClose())},[a,Ae]);const ke=()=>{(I==="edit"||I==="create")&&(le.resetFields(),me.resetFields()),le.date.action.setError(!1),me.date.action.setError(!1),n?n():Ae.handleClose()},oe=Sc(),vt=H==="create",[Re,Dt]=x([]),[Aa,ka]=x([]),[ut,Zt]=x(""),st="calendar_selected_ids",[Ke,pt]=x(()=>{try{const f=localStorage.getItem(st);return f?JSON.parse(f):[]}catch{return[]}}),Ct=uc(Ke,Aa),jt=Tc(Ke),$a=()=>{N(f=>({...f,open:!1}))};function ea(f){const L=f?.startAt??f?.start,k=f?.endAt??f?.end??L;return{startAt:L,endAt:k}}const{myCalendars:At,otherCalendars:Ua}=ae(()=>{if(!ut)return{myCalendars:Re??[],otherCalendars:[]};const f=(Re??[]).filter(k=>k.userId===ut),L=(Re??[]).filter(k=>k.userId!==ut);return{myCalendars:f,otherCalendars:L}},[Re,ut]),Ze=se(async()=>{if(m)try{const f=new Date,L=f.getUTCFullYear(),k=f.getUTCMonth(),K=new Date(Date.UTC(L,k-1,1,0,0,0)).toISOString(),ue=new Date(Date.UTC(L,k+2,1,0,0,0)).toISOString(),Ye=await Lc(m,K,ue);ka(Ye)}catch(f){console.error("Error fetching activities:",f)}},[m]),mt=se(async f=>{if(m)try{const L=await Bc(m,f);jt.setTasks(L.map(k=>({id:k.id,title:k.title||"",start:new Date(k.startAt),end:new Date(k.endAt||k.startAt),startAt:k.startAt,endAt:k.endAt,description:k.description,calendarId:k.calendarId,isCompleted:k.isCompleted||!1,relatedContact:k.relatedContact,kind:"task"})))}catch(L){console.error("Error fetching tasks:",L)}},[m]),kt=se(async()=>{if(m)try{const f=await Hc(m);Dt(f)}catch(f){console.error("Error fetching calendars:",f)}},[m]);G(()=>{if(!m)return;kt(),Ze();let f=!1;return Oc(m).then(L=>{f||Zt(L.uid)}).catch(()=>{}),()=>{f=!0}},[m,kt,Ze]);function ht(f,L,k){b(f),S("create"),g(null),j(null),le.resetFields(),me.resetFields(),V(!1);const K=Ir(L??new Date),ue=k?Ir(k):K.add(30,"minute"),Ye=ue.isAfter(K)?ue:K.add(30,"minute");if(f==="task"){me.date.action.setSelectedStartDate(K),me.date.action.setSelectedEndDate(K),me.date.action.setError(!1);const Be=Ke?.[0]??Re?.[0]?.id??"";T(Be)}else{le.date.action.setSelectedStartDate(K),le.date.action.setSelectedEndDate(Ye),le.date.action.setError(!1);const Be=Ke?.[0]??At?.[0]?.id??Re?.[0]?.id??"";$(Be);const Oe=At?.find(Fe=>Fe.id===Be)??Re?.find(Fe=>Fe.id===Be);Oe?.color&&le.colorField.actions.changeValue(Oe.color)}Ae.handleOpen()}function ta(){ht("event")}function it(){le.date.action.setError(!1),me.date.action.setError(!1),S("edit")}function $t(f){const{startAt:L,endAt:k}=ea(f),K={...f,kind:"event",startAt:L,endAt:k,details:f?.details??""};b("event"),g(K),j(null),$(K.calendarId??""),S("view"),le.date.action.setError(!1),me.date.action.setError(!1),Ae.handleOpen()}async function Ut(f){if(!m)return;let L;if(f)L={title:f.title,details:f.description||f.details||"",startAt:new Date(f.startAt),endAt:new Date(f.endAt),allDay:f.allDay,location:f.location||"",isPrivate:f.isPrivate||!1,color:f.color||"",rule:f.rule||"",contactId:f.relatedContactId||null,sharedWith:f.sharedWith||[],notifications:(f.notifications||[]).map(ue=>({id:Ja(),timeValue:ue.value,timePeriod:ue.type,sendToContact:ue.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const ue=le.create();L={...ue,startAt:new Date(ue.startAt),endAt:new Date(ue.endAt),contactId:ue.relatedContactId||null,eventTypeId:"",repeatId:""}}const k=D;if(!k){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const K={...L,calendarId:k};try{N({open:!0,message:d("global.savingChanges"),severity:"info"}),le.resetFields(),ke(),await zc(m,K),Ke.includes(k)||pt(ue=>[...ue,k]),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function aa(){if(!v?.id)return;const f=le.create(),L=D||v.calendarId||"";if(!L){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}v.originalOccurrenceDate!=null?(ve(()=>async k=>{await na(f,L,k)}),ie(!0)):await na(f,L,!1)}async function na(f,L,k){const K=v?.originalOccurrenceDate!=null,ue={title:f.title,details:f.details,startAt:f.startAt,endAt:f.endAt,allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:L,notifications:f.notifications,sharedWith:f.sharedWith};(k||!K)&&(ue.rule=f.rule);const Ye=Qt(v),Be={updatedActivity:ue,activityId:Ye};K&&!k&&(Be.originalOccurrenceDate=v.originalOccurrenceDate);try{const Oe=await jr(m,Be);Oe&&g(Oe),ke(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function ra(f){ie(!1),ge&&(await ge(f),ve(null))}async function Fa(){v?.originalOccurrenceDate!=null?_(!0):(B("event"),F(!0))}async function sa(){if(m)if(F(!1),E==="event")try{const f=Qt(v);ke(),await on(m,f),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch(f){console.error("Error deleting event:",f);const L=f?.message?.includes("duplicate key")?d("global.eventAlreadyDeleted","El evento ya fue eliminado"):d("global.errorSavingChanges");N({open:!0,message:L,severity:"error"})}else{if(!w?.id)return;try{const f=Jt(w.id),L=w.calendarId;ke(),await Vc(m,f),j(null),me.resetFields(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),L&&mt(L)}catch(f){console.error("Error deleting task:",f);const L=f?.message?.includes("duplicate key")?d("global.taskAlreadyDeleted","La tarea ya fue eliminada"):d("global.errorSavingChanges");N({open:!0,message:L,severity:"error"})}}}async function ia(f){_(!1);const L=Qt(v);ke();try{f?await on(m,L):await on(m,L,v.originalOccurrenceDate),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch(k){console.error("Error deleting recurring event:",k);const K=k?.message?.includes("duplicate key")?d("global.eventAlreadyDeleted","El evento ya fue eliminado"):d("global.errorSavingChanges");N({open:!0,message:K,severity:"error"})}}async function Pa(){if(!m)return;const f=Qt(v);await Wc(m,f),ke()}async function Na(f,L,k){const K=L instanceof Date?L:new Date(L),ue=k instanceof Date?k:new Date(k),Ye=K.toISOString(),Be=ue.toISOString(),Oe=f.kind==="task";!Oe&&f.originalOccurrenceDate!=null?(g(f),ve(()=>async Fe=>{await Ft(f,Ye,Be,K,ue,Oe,Fe)}),ie(!0)):await Ft(f,Ye,Be,K,ue,Oe,!1)}async function Ft(f,L,k,K,ue,Ye,Be){Ye||Ct.setEvents(Oe=>Oe.map(Fe=>Fe.id===f.id?{...Fe,start:K,end:ue,startAt:K,endAt:ue}:Fe)),N({open:!0,message:d("global.savingChanges"),severity:"info"});try{if(Ye){const Oe=Jt(f.id),Fe={title:f.title,description:f.description,startAt:L,endAt:k,calendarId:f.calendarId,allDay:f.allDay||!1,isCompleted:f.isCompleted||!1};await wr(m,Oe,Fe),await mt(f.calendarId)}else{const Oe=Qt(f),Fe=f.originalOccurrenceDate!=null,pn={title:f.title,details:f.details,startAt:new Date(L),endAt:new Date(k),allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:f.calendarId};(Be||!Fe)&&(pn.rule=f.rule);const mn={updatedActivity:pn,activityId:Oe};Fe&&!Be&&(mn.originalOccurrenceDate=f.originalOccurrenceDate),await jr(m,mn)}N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch{Ye||Ct.setEvents(Oe=>Oe.map(Fe=>Fe.id===f.id?{...Fe,start:f.start,end:f.end}:Fe)),N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function oa(f,L){ht("event",f,L)}function la(){oe.nameField.actions.resetValue(),oe.handleColorChange("#ffffff"),oe.shareWithUsers.action.resetField(),oe.handleGoogleCalendarChange(null)}function ca(){la(),U(null),M("create"),q.handleClose()}function Ra(f){oe.nameField.actions.changeValue(f.title??""),oe.nameField.actions.onSuccess(),oe.handleColorChange(f.color??"#ffffff"),oe.shareWithUsers.action.setUserIds(f.sharedWith??[]),oe.handleGoogleCalendarChange(f.googleCalendar??null)}function Ma(){M("create"),U(null),la(),q.handleOpen()}function u(f){M("edit"),U(f),Ra(f),q.handleOpen()}async function A(){if(!m)return;const f=(oe.nameField.attributes.value??"").trim();if(!f){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const L=oe.shareWithUsers.field.userIds,k={title:f,color:oe.color,sharedWith:L.length?L:void 0,googleCalendar:oe.googleCalendar};try{if(vt)await Gc(m,k);else{const K=J?.id;if(!K)return;await Kc(m,K,k)}ca(),N({open:!0,message:d(vt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),kt()}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function z(f){if(!m)return;let L;if(f?L={title:f.title,description:f.description||"",startAt:f.startAt,contactId:f.relatedContactId||null}:L=me.create(),!L.title){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const k=W;if(!k){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const K={...L,calendarId:k};try{N({open:!0,message:d("global.savingChanges"),severity:"info"}),me.resetFields(),ke(),await _c(m,K),Ke.includes(k)||pt(ue=>[...ue,k]),N({open:!0,message:d("global.changesSaved"),severity:"success"}),mt(k)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function ne(){ht("task")}async function he(){if(!m||!w?.id)return;const f=me.create();if(!f.title){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const L=W||w.calendarId;if(!L){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const k={...f,calendarId:L};try{N({open:!0,message:d("global.savingChanges"),severity:"info"});const K=Jt(w.id),ue=await wr(m,K,k);ue&&j(ue),ke(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),mt(L)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function fe(){w?.id&&(B("task"),F(!0))}async function pe(){if(!m||!w?.id)return;const f=!w.isCompleted;try{const L=Jt(w.id),k=w.calendarId,K=await Yc(m,L,f);K&&j(K),N({open:!0,message:d("global.changesSaved"),severity:"success"}),k&&mt(k)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function de(){const f=h==="event",L=f?v:w;if(!L)return;const k={...L};f?(g(null),S("create"),V(!0),setTimeout(()=>{if(le.titleField.actions.changeValue(k.title??""),le.descriptionField.actions.changeValue(k.details??k.description??""),le.locationField.actions.changeValue(k.location??""),le.colorField.actions.changeValue(k.color??""),le.setAllDay(k.allDay??!1),le.setIsPrivate(k.isPrivate??!1),le.setRecurrenceRule(k.rule??""),le.date.action.setSelectedStartDate(Q(k.startAt)),le.date.action.setSelectedEndDate(Q(k.endAt)),le.date.action.setError(!1),le.notifications.action.resetNotifications(),k.relatedContact?.id&&le.linkContact.action.handleSelectContact(k.relatedContact),k.sharedWith){const K=k.sharedWith.map(ue=>ue.id);le.shareWithUsers.action.setUserIds(K)}$(k.calendarId??D)},50)):(j(null),S("create"),setTimeout(()=>{me.titleField.actions.changeValue(k.title??""),me.descriptionField.actions.changeValue(k.description??""),me.date.action.setSelectedStartDate(Q(k.startAt)),me.date.action.setSelectedEndDate(Q(k.startAt)),me.date.action.setError(!1),k.relatedContact?.id&&me.linkContact.action.handleSelectContact(k.relatedContact),T(k.calendarId??W)},50))}function Me(f){const{startAt:L,endAt:k}=ea(f),K={...f,kind:"task",startAt:L,endAt:k,description:f?.description??""};b("task"),j(K),T(K.calendarId??""),$(K.calendarId??""),g(null),S("view"),le.date.action.setError(!1),me.date.action.setError(!1),Ae.handleOpen()}function je(f){return f?.kind==="task"?Me(f):$t(f)}G(()=>{try{Ke&&localStorage.setItem(st,JSON.stringify(Ke))}catch{}},[Ke]),G(()=>{Re?.length&&pt(f=>{const L=new Set(Re.map(K=>K.id)),k=(f??[]).filter(K=>L.has(K));return k.length?k:Re.map(K=>K.id)})},[Re]),G(()=>{try{localStorage.setItem(De,Z)}catch{}},[Z]);const Te={eventDialog:{...Ae,handleClose:ke},dialogMode:I,createCalendarDialog:q,event:le,calendar:oe,events:Ct,handleCreateEvent:Ut,handleSelectEvent:je,handleOpenEventCreate:ta,handleStartEditingEvent:it,handleSaveUpdatedEvent:aa,handleEndEvent:Pa,handleDeleteEvent:Fa,handleResizeEvent:Na,selectedEvent:v,savingSnackbar:re,handleCloseSnackbar:$a,dialogType:h,setDialogType:b,handleOpenTaskCreate:ne,handleOpenCreateFromSlot:oa,handleCloseCreateCalendarDialog:ca,calendarDialogMode:H,editingCalendar:J,handleOpenCreateCalendarDialog:Ma,handleOpenEditCalendarDialog:u,handleSubmitCalendar:A,tasks:jt,activeCalendarIds:Ke,setActiveCalendarIds:pt,handleCreateTask:z,task:me,selectedTask:w,taskCalendarId:W,setTaskCalendarId:T,eventCalendarId:D,setEventCalendarId:$,userManuallyChangedColor:P,setUserManuallyChangedColor:V,myCalendars:At,otherCalendars:Ua,handleSaveUpdatedTask:he,handleDeleteTask:fe,handleToggleTaskCompleted:pe,handleDuplicateItem:de,calendarView:Z,setCalendarView:He,calendarDate:ye,setCalendarDate:Ee,navigateToDate:Ce,confirmDeleteDialog:{open:O,handleClose:()=>F(!1),itemType:E},handleConfirmDelete:sa,deleteRecurringDialog:{open:R,handleClose:()=>_(!1)},handleConfirmDeleteRecurring:ia,editRecurringDialog:{open:X,handleClose:()=>{ie(!1),ve(null)}},handleConfirmEditRecurring:ra,hiddenTabs:p};return t.jsx(Pc,{t:d,children:t.jsx(rn.Provider,{value:Te,children:e})})},Ea=ee(C)(()=>({display:"flex",flexDirection:"column",gap:.5})),ln=ee(C)(()=>({display:"flex",alignItems:"center",gap:1})),cn=ee(Y)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),Tt="DD/MM/YYYY",Ta="HH:mm",Jc=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:r,isError:i,disabled:s,hideLabel:o=!1,allDay:l=!1})=>{const c=ze(),p=ae(()=>a.diff(e,"minute"),[e,a]),y=ae(()=>{if(p===0)return"0 min";const g=Math.floor(p/60),w=p%60;return g===0?`${w} min`:w===0?`${g} h`:`${g}.${Math.round(w/60*10)} h`},[p]),m=g=>{if(!g)return;const w=g.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),j=g.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(w),r(j)},d=g=>{if(!g)return;const w=g.hour(0).minute(0).second(0).millisecond(0);n(w)},h=g=>{if(!g)return;const w=g.hour(23).minute(59).second(59).millisecond(999);r(w)},b=g=>{if(!g)return;const w=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0),j=w.add(p,"minute");n(w),r(j)},v=g=>{if(!g)return;let w=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0);(w.isBefore(e)||w.isSame(e))&&(w=w.add(1,"day")),r(w)};return s?t.jsxs(Ea,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),l?t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,marginTop:"10px"},children:[t.jsx(Y,{variant:"body1",children:e.format(Tt)}),t.jsx(Y,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(Y,{variant:"body1",children:a.format(Tt)})]}):t.jsxs(C,{children:[t.jsx(Y,{variant:"body1",sx:{mb:1},children:e.format(Tt)}),t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Y,{variant:"body1",children:e.format(Ta)}),t.jsx(Y,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(Y,{variant:"body1",children:a.format(Ta)}),p>0&&t.jsxs(Y,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",y,")"]})]})]})]}):t.jsxs(Ea,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),t.jsx(Dn,{dateAdapter:kn,children:l?t.jsxs(ln,{children:[t.jsx(fa,{disabled:s,format:Tt,label:c("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:d,minDate:Q(),sx:{flex:1}}),t.jsx(cn,{variant:"body1",children:"\u2013"}),t.jsx(fa,{disabled:s,format:Tt,label:c("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:a,onChange:h,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(C,{sx:{mb:1},children:t.jsx(fa,{disabled:s,format:Tt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:m,minDate:Q()})}),t.jsxs(ln,{children:[t.jsx(Ya,{disabled:s,format:Ta,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:c("global.from"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:b,sx:{alignSelf:"baseline",flex:1}}),t.jsx(cn,{variant:"body1",children:"\u2013"}),t.jsxs(C,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ya,{disabled:s,format:Ta,ampm:!1,minutesStep:15,slotProps:{textField:()=>({label:c("global.to"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:a,onChange:v,sx:{alignSelf:"baseline",width:"100%"}}),p>0&&t.jsxs(Y,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",y,")"]})]})]})]})}),i&&t.jsx(at,{in:i,children:t.jsx(Y,{color:"red",variant:"caption",sx:{mt:.5},children:c("calendarView.reminders.errorDate")})})]})},Qc=ee(C)(()=>({display:"flex",gap:2,alignItems:"center"})),Xc=ee(C)(()=>({width:"15%",userSelect:"none"})),Sr=({name:e,children:a})=>t.jsxs(Qc,{children:[t.jsx(Xc,{children:e}),a]}),Je=({children:e,title:a})=>t.jsxs(C,{children:[t.jsx(Y,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),dn=({titleField:e,disabled:a,variantMode:n="default"})=>{const r=ze(),{value:i,type:s,...o}=e.attributes,l=i||"";return n==="inline"?t.jsx(we,{...o,value:l,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(Sr,{name:r("global.title"),children:t.jsx(Y,{variant:"body1",sx:{py:.5},children:l||"-"})}):t.jsx(Sr,{name:r("global.title"),children:t.jsx(we,{...o,value:l,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:s})})},Zc=ee(C)(()=>({marginBottom:"6px",padding:"8px 6px",border:"1px solid lightgray",borderRadius:"3px"})),ed=ee(C)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),td=ee(we)(()=>({width:"13%"})),ad=ee(da)(()=>({width:"23%"})),nd=ee(C)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),rd=ee(be)(()=>({ml:"auto"})),sd=[{title:"minute",value:xa.MINUTE},{title:"hour",value:xa.HOUR},{title:"day",value:xa.DAY}],id=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:r,deleteHandler:i})=>{const s=ze(),o=e.timeValue??0;return t.jsxs(Zc,{children:[t.jsxs(ed,{children:[t.jsx(Y,{variant:"body2",sx:{userSelect:"none"},children:s("calendarView.reminders.sendReminder.pt1")}),t.jsx(td,{onChange:l=>a(l,e.id),value:o,type:"text",variant:"outlined",size:"small"}),t.jsx(ad,{onChange:l=>n(l,e.id),value:e.timePeriod,variant:"outlined",size:"small",MenuProps:{PaperProps:{sx:{backgroundColor:l=>l.palette.background.panel}}},children:sd.map(l=>t.jsx(tt,{value:l.value,children:s(`calendarView.reminders.timePeriod.${l.title}`)},l.value))}),t.jsx(Y,{variant:"body2",sx:{userSelect:"none"},children:s("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(nd,{children:[t.jsx(wt,{sx:{display:"flex",alignItems:"center"},label:s("calendarView.reminders.sendReminderToContact"),control:t.jsx(bn,{checked:e.sendToContact,onChange:l=>r(l,e.id),color:"secondary"})}),t.jsx(rd,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(ya,{})})]})]})},od=ee(C)`
|
|
17
17
|
display: 'flex',
|
|
18
18
|
flexDirection: 'column',
|
|
19
19
|
gap: 1,
|
|
20
|
-
`,ad=ee(v)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),nd=({notificationsField:e,disabled:a})=>{const n=Re(),{addNotification:s,deleteNotification:i,handleReminderChange:r,handleTimeFieldChange:o,handleTimePeriodChange:l}=e.action,c=e.notifications.length>0;return t.jsxs(td,{children:[t.jsxs(ad,{children:[n("calendarView.reminders.title"),!a&&t.jsx(Pe,{disabled:a,startIcon:t.jsx(wn,{}),size:"small",variant:"outlined",onClick:s,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(v,{sx:{pt:1,px:.5},children:c?e.notifications.map(u=>t.jsx(ed,{data:u,deleteHandler:i,sendToContactHandler:r,timePeriodHandler:l,timeValueHandler:o},u.id)):a?t.jsx(G,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Cs=({descriptionField:e,disabled:a})=>{const n=Re(),{value:s,type:i,...r}=e.attributes,o=s||"";return a?t.jsx(Ge,{title:n("global.description"),children:t.jsx(G,{variant:"body1",sx:{py:.5,whiteSpace:"pre-wrap"},children:o||"-"})}):t.jsx(Ge,{title:n("global.description"),children:t.jsx(we,{...r,value:o,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},sd=({onPlaceSelected:e})=>{const a=be(null),n=be(null),s=be(null),i=be(null),[r,o]=b([]),[l,c]=b(!1),u=Re();H(()=>{if(!a.current)return;const m=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const g=document.createElement("div");return s.current=new window.google.maps.places.PlacesService(g),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!m()){const g=setTimeout(()=>{m()},500);return()=>clearTimeout(g)}},[]);const h=m=>{const g=m.target.value;if(!g||g.length<3||!n.current){o([]),c(!1);return}n.current.getPlacePredictions({input:g,componentRestrictions:{country:"ar"},types:["geocode"],sessionToken:i.current||void 0},(x,j)=>{j===window.google.maps.places.PlacesServiceStatus.OK&&x?(o(x),c(!0)):(o([]),c(!1))})},p=(m,g)=>{s.current&&s.current.getDetails({placeId:m,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(x,j)=>{if(j===window.google.maps.places.PlacesServiceStatus.OK&&x?.geometry?.location){const y=x.geometry.location.lat(),I=x.geometry.location.lng(),C=x.formatted_address??g;e({lat:y,lng:I},C),a.current&&(a.current.value=C),c(!1),o([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return H(()=>{const m=g=>{a.current&&!a.current.contains(g.target)&&c(!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:u("global.searchLocation","Buscar en Google Maps"),onChange:h,onFocus:()=>r.length>0&&c(!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}}),l&&r.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:r.map(m=>t.jsxs("div",{onClick:()=>p(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))})]})},js="AIzaSyCWZRxRnP9oR-kezqie9-r9hiMEjAyaWTI",ws=["places"],ln={apiKey:js,libraries:ws,loading:"async"},Ia=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Is=(e=js,a=ws)=>{if(Ia())return Promise.resolve();const n=()=>{document.querySelectorAll('script[src*="maps.googleapis.com"]').forEach(s=>{s.parentNode?.removeChild(s)})};return document.getElementById("google-maps-script")?new Promise((s,i)=>{let r=0;const o=100,l=setInterval(()=>{r++,Ia()?(clearInterval(l),s()):r>=o&&(clearInterval(l),n(),Is(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const r="initGoogleMaps";window[r]=()=>{Ia()?s():setTimeout(()=>{Ia()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),s()},500)};const o=document.createElement("script");o.id="google-maps-script",o.type="text/javascript";const l=Array.isArray(a)?a.join(","):a;o.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${l}&callback=${r}&loading=async`,o.async=!0,o.defer=!0,o.onerror=()=>{delete window[r],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(o)}catch(r){i(r)}})},qt=(e,a,n=18,s=400,i=400,r="red",o=ln.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${s}x${i}&markers=color:${r}%7Clabel:A%7C${e},${a}&key=${o}`,rd=({onLocationChange:e,initialLocation:a})=>{const n=be(null),s=be(null),i=be(null),r=be(null),[o,l]=b(!0),[c,u]=b(!1),[h,p]=b(a||null),m=18,g=re(C=>{p(C),e(C)},[e]);H(()=>{let C=!0;(async()=>{try{if(await Is(ln.apiKey,ln.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),l(!1);return}window.google?.maps?.Geocoder&&(r.current=new window.google.maps.Geocoder),l(!1),setTimeout(()=>{C&&x()},100)}catch(w){console.error("Error al cargar Google Maps:",w),l(!1)}})(),a||navigator.geolocation.getCurrentPosition(w=>{const S=w.coords.latitude,W=w.coords.longitude,A=S.toString(),T=W.toString(),N=qt(S,W,m);g({lat:A,lng:T,title:"",description:"",url:N})},w=>{console.error("Error getting location:",w);const S=-34.6037,W=-58.3816;g({lat:S.toString(),lng:W.toString(),title:"",description:"",url:qt(S,W,m)})})},[a,g,m]),H(()=>{c&&h&&y()},[c,h]),H(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const x=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:m,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};s.current=new window.google.maps.Map(n.current,C),s.current.addListener("click",w=>{j(w)}),u(!0)}catch(C){console.error("Error inicializando mapa:",C)}},j=C=>{if(!C.latLng||!r.current)return;const w={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(w):s.current&&(i.current=new window.google.maps.Marker({position:w,map:s.current})),r.current.geocode({location:w},(S,W)=>{if(W==="OK"&&S&&S[0]){const A=S[0].formatted_address,T=qt(w.lat,w.lng,m);g({lat:w.lat.toString(),lng:w.lng.toString(),title:A||"",description:"",url:T})}else{const A=qt(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:A})}})},y=()=>{if(!(!s.current||!h))try{const C={lat:parseFloat(h.lat),lng:parseFloat(h.lng)};s.current.setCenter(C),i.current?i.current.setPosition(C):i.current=new window.google.maps.Marker({position:C,map:s.current})}catch(C){console.error("Error actualizando mapa:",C)}},I=(C,w)=>{const S=qt(C.lat,C.lng,m);g({lat:C.lat.toString(),lng:C.lng.toString(),title:w||"",description:"",url:S})};return!h||o?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(He,{})}):t.jsxs(v,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(sd,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},id=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const i=Re(),[r,o]=b(null),l=be(null);H(()=>{e||o(null)},[e]),H(()=>{l.current&&r&&(l.current.scrollTop=l.current.scrollHeight/4)},[r]);const c=re(h=>{o(h)},[]),u=re(()=>{r&&(n(r.title||`${r.lat}, ${r.lng}`,r.lat,r.lng),a())},[r,n,a]);return t.jsxs(ca,{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(v,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(G,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(Ce,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(bn,{fontSize:"small"})})]}),t.jsx(da,{sx:{p:0,display:"flex",flexDirection:"column",height:"100%"},children:t.jsxs(v,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflow:"hidden",width:"100%",height:"100%",position:"relative"},children:[t.jsx(v,{ref:l,sx:{width:"100%",flex:1,overflow:"auto",zIndex:1},children:t.jsx(rd,{onLocationChange:c,initialLocation:void 0})}),t.jsx(mn,{sx:{width:"100%",padding:0}}),t.jsxs(v,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(Pe,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(Pe,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:u,disabled:!r,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},od=({locationField:e,disabled:a})=>{const n=Re(),[s,i]=b(!1),{value:r,type:o,...l}=e.attributes,c=r||"",u=()=>{a||i(!0)},h=()=>{i(!1)},p=m=>{e.actions.changeValue(m)};return a?t.jsx(v,{children:t.jsx(Ge,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx(Sn,{sx:{opacity:.5},fontSize:"small"}),t.jsx(G,{variant:"body1",children:c||"-"})]})})}):t.jsxs(v,{children:[t.jsx(Ge,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(we,{...l,value:c,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:u,InputProps:{startAdornment:t.jsx(Sn,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(id,{open:s,onClose:h,onSelectLocation:p,initialAddress:c})]})},ld=({handleScroll:e,contactList:a,handleSelectContact:n,contactSelectedId:s,search:i})=>{const r=Re(),o=Ns();return t.jsx(Rs,{sx:{width:"100%",height:"100%",overflow:"auto",border:`1px solid ${o.palette.divider}`,borderTop:"none",backgroundColor:o.palette.background.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12))"},onScroll:e,children:i&&a?.map(l=>t.jsxs(Ms,{sx:{width:"100%"},onClick:()=>n(l),selected:s===l.id,children:[t.jsx(oa,{children:t.jsx(Ks,{sx:{color:c=>c.palette.text.disabled}})}),t.jsx(la,{primary:r(l.name),secondary:l?.phone})]},l.id))})};async function cd({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=ys(e,a),r=Me(i.CONTACTS,"/Search");return ze({url:r,method:"POST",body:n,signal:s})}const dd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function ud(e){const a=be(null),n=be(null),[s,i]=b([]),[r,o]=b(!1),[l,c]=b(!1),[u,h]=b(!1),[p,m]=b(!1),[g,x]=b(1),[j,y]=b(!1),I=re(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),o(!1),y(!1),x(1),m(!1),i([])},[]),C=A=>A.filter(T=>!!T?.id),w=re(async({query:A,page:T})=>{if(!e)return;n.current?.abort();const N=new AbortController;n.current=N,c(!0);try{const U={...dd,currentPage:T,filter:[{value:A,column:"name",condition:""}]},Y=await cd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:U,signal:N.signal});if(N.signal.aborted)return;const O=C(Y?.contactos??[]);o(!0);const _=Y?.paginacion?.total??0;i(J=>{const F=T===1?O:(()=>{const L=new Map;for(const Q of J)L.set(Q.id,Q);for(const Q of O)L.set(Q.id,Q);return Array.from(L.values())})();return _&&F.length>=_&&y(!0),F})}finally{c(!1),h(!1),m(!1)}},[e]),S=re(A=>{I(),A&&(a.current&&(clearTimeout(a.current),a.current=null),h(!0),a.current=setTimeout(()=>{w({query:A,page:1})},800))},[w,I]),W=re((A,T)=>{const N=A.target;if(!(N.scrollHeight-N.scrollTop-N.clientHeight<1)||j||l||!T)return;const U=g+1;m(!0),x(U),w({query:T,page:U})},[j,l,g,w]);return{contactList:s,hasSearched:r,isLoading:l,isLoadingTimer:u,isNextPage:p,handleQueryChanged:S,handleScroll:W,resetSearchState:I}}const Ss=({linkContactsHandler:e,disabled:a=!1})=>{const n=Re(),s=cs(),i=be(null),[r,o]=b(null),{action:{handleSearchChange:l,handleSelectContact:c},state:{search:u,contactSelectedId:h}}=e,{contactList:p,hasSearched:m,isLoading:g,isLoadingTimer:x,handleQueryChanged:j,handleScroll:y,resetSearchState:I}=ud(s),C=u||"",w=!!r&&C.length>0&&!a;H(()=>{C&&!h?j(C):C||I()},[C,h,j,I]);const S=T=>{l(T),T&&!r?o(i.current):T||o(null)},W=T=>{c(T),o(null),I()},A=()=>{o(null)};return a?t.jsx(Ge,{title:n("global.linkContacts"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[C&&t.jsx(En,{sx:{opacity:.5},fontSize:"small"}),t.jsx(G,{variant:"body1",children:C||"-"})]})}):t.jsx(pn,{onClickAway:A,children:t.jsxs(v,{children:[t.jsx(Ge,{title:n("global.linkContacts"),children:t.jsx(we,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:C,onChange:T=>S(T.target.value),onFocus:()=>{C&&o(i.current)},InputProps:{startAdornment:t.jsx(En,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:g||x?t.jsx(He,{size:18,sx:{mr:1}}):null}})}),t.jsx(un,{open:w,anchorEl:r,placement:"bottom-start",style:{width:r?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(Ls,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[m&&p.length>0&&t.jsx(ld,{handleScroll:T=>y(T,C),contactList:p,handleSelectContact:W,contactSelectedId:h,search:C}),m&&p.length===0&&t.jsx(v,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(G,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},pd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:r,handleEndEvent:o,dialogType:l,handleCreateTask:c,handleSaveUpdatedTask:u,selectedTask:h,handleToggleTaskCompleted:p}=Qe(an),m=Re(),g=l==="event",x=!1,j=!1,y=!1,I=()=>{g?n():c()},C=(()=>{if(s==="view")return i;if(s==="edit")return g?()=>r?.():()=>u?.();if(s==="create")return I})(),w=m(s==="view"?g?"global.editEvent":"global.editTask":s==="edit"?g?"global.saveEvent":"global.saveTask":g?"global.createEvent":"global.createTask"),S=g?x:y,W=e,A=!g&&s==="view",T=h?.isCompleted||!1;return A?t.jsx(Ft,{children:t.jsx(tt,{startIcon:t.jsx(qs,{}),size:"small",loading:y,disabled:y,onClick:p,variant:"contained",color:T?"inherit":"primary",children:T?m("global.markAsIncomplete","Marcar como incompleta"):m("global.markAsCompleted","Marcar como completada")})}):t.jsxs(Ft,{children:[t.jsx(Pe,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:m("global.cancel")}),g&&(s==="edit"||s==="view")&&t.jsx(tt,{startIcon:t.jsx(Js,{}),size:"small",disabled:e,loading:j,onClick:o,variant:"contained",children:m("global.finalizeEvent")}),t.jsx(tt,{startIcon:t.jsx(Xs,{}),size:"small",loading:S,disabled:W,onClick:C,variant:"contained",children:w})]})},Es={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},md=({value:e,onChange:a,labels:n})=>t.jsxs(v,{sx:{display:"flex",gap:1},children:[t.jsx(Pe,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...Es},children:n.event}),t.jsx(Pe,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Es},color:"secondary",children:n.task})]}),hd="DD/MM/YYYY",gd="HH:mm",yd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const r=Re(),o=c=>{if(!c)return;const u=c.hour(e.hour()).minute(e.minute());a(u)},l=c=>{if(!c)return;const u=e.hour(c.hour()).minute(c.minute());a(u)};return n?t.jsxs(ja,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:r("global.date")}),t.jsxs(v,{children:[t.jsx(G,{variant:"body1",sx:{mb:1},children:e.format(hd)}),t.jsx(G,{variant:"body1",children:e.format(gd)})]})]}):t.jsxs(ja,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:r("global.date")}),t.jsx(sn,{children:t.jsxs(jn,{dateAdapter:In,children:[t.jsx(ma,{disabled:n,value:e,onChange:o,slotProps:{textField:()=>({label:r("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:c=>c.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:Z()}),t.jsx(rn,{variant:"body1",children:"_"}),t.jsx(_a,{disabled:n,value:e,onChange:l,ampm:!1,slotProps:{textField:()=>({label:r("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:c=>c.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(et,{in:s,children:t.jsx(G,{color:"red",variant:"caption",children:r("conversations.sidebar.events.errorDate")})})]})},Ts=({disabled:e,calendars:a,value:n,onChange:s})=>{const i=Re(),r=te(()=>a??[],[a]),o=te(()=>r.find(l=>l.id===n)??null,[r,n]);return e?t.jsx(Ge,{title:i("global.calendar"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[o&&t.jsx(jr,{sx:{opacity:.5},fontSize:"small"}),t.jsx(G,{variant:"body1",children:o?.title||"-"})]})}):t.jsx(Ge,{title:i("global.calendar"),children:t.jsx(Ma,{disabled:e,size:"small",fullWidth:!0,options:r,value:o,onChange:(l,c)=>s(c?.id??""),getOptionLabel:l=>l?.title??"",isOptionEqualToValue:(l,c)=>l.id===c.id,slotProps:{paper:{sx:{backgroundColor:l=>l.palette.background.panel}}},renderInput:l=>t.jsx(we,{...l,placeholder:i("global.selectCalendar")})})})},fd=({checked:e,onChange:a,disabled:n})=>{const s=Re();return t.jsx(v,{sx:{display:"flex",alignItems:"center"},children:t.jsx(xt,{control:t.jsx(gn,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:s("global.allDay","Todo el d\xEDa")})})},xd=({colorField:e,disabled:a,onColorChange:n})=>{const s=Re(),i=e.attributes.value||"#1976d2",r=(l=>{if(l.startsWith("#"))return l;const c=l.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(c&&c[1]&&c[2]&&c[3]){const u=parseInt(c[1]),h=parseInt(c[2]),p=parseInt(c[3]),m=g=>{const x=g.toString(16);return x.length===1?"0"+x:x};return`#${m(u)}${m(h)}${m(p)}`}return"#1976d2"})(i),o=l=>{const c=l.target.value;n?n(c):e.actions.changeValue(c)};return a?t.jsx(Ge,{title:s("global.color","Color"),children:t.jsxs(v,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(v,{sx:{width:40,height:40,backgroundColor:r,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(G,{variant:"body2",sx:{color:"text.secondary"},children:r})]})}):t.jsx(Ge,{title:s("global.color","Color"),children:t.jsx(v,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:r,onChange:o,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},Ds=[{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"}],bd=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const i=Re(),r=u=>{a(u.target.value)},o=te(()=>Ds.map(u=>t.jsx(Ze,{value:u.value,children:i(u.label,u.label)},u.value)),[i]),l=te(()=>{const u=Ds.find(h=>h.value===e);return u?i(u.label,u.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Va,{sx:{opacity:.5},fontSize:"small"}),t.jsx(G,{variant:"body2",children:l})]}):t.jsx(Ge,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Va,{sx:{opacity:.5},fontSize:"small"}),t.jsx(G,{variant:"body1",children:l})]})});const c=t.jsx(ia,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:r,startAdornment:t.jsx(Va,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}}},children:o});return s?c:t.jsx(Ge,{title:i("global.recurrence","Recurrencia"),children:c})},vd=({open:e,onClose:a,onConfirm:n,itemTitle:s,itemType:i})=>{const{t:r}=mt(),o=()=>{n(),a()},l=i==="event"?r("calendar.deleteEvent","Eliminar evento"):r("calendar.deleteTask","Eliminar tarea"),c=i==="event"?r("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):r("calendar.confirmDeleteTask","\xBFEst\xE1s seguro de que quer\xE9s eliminar esta tarea?");return t.jsxs(ca,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}},children:[t.jsxs(Oa,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(wr,{color:"warning"}),l]}),t.jsxs(da,{children:[t.jsx(G,{variant:"body2",sx:{mb:2},children:c}),s&&t.jsx(v,{sx:{p:1.5,bgcolor:"action.hover",borderRadius:1,borderLeft:3,borderColor:"warning.main"},children:t.jsxs(G,{variant:"body2",sx:{fontWeight:500},children:['"',s,'"']})})]}),t.jsxs(Ft,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:r("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:o,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:r("global.delete","Eliminar")})]})]})},Cd=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=mt(),[r,o]=b("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ca,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}},children:[t.jsx(Oa,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(da,{children:[s&&t.jsxs(v,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(La,{component:"fieldset",fullWidth:!0,children:t.jsxs(yn,{value:r,onChange:u=>o(u.target.value),children:[t.jsx(xt,{value:"single",control:t.jsx(ua,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(xt,{value:"all",control:t.jsx(ua,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(Ft,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:l,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},jd=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=mt(),[r,o]=b("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ca,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:u=>u.palette.background.panel}},children:[t.jsx(Oa,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(da,{children:[s&&t.jsxs(v,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(La,{component:"fieldset",fullWidth:!0,children:t.jsxs(yn,{value:r,onChange:u=>o(u.target.value),children:[t.jsx(xt,{value:"single",control:t.jsx(ua,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(xt,{value:"all",control:t.jsx(ua,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(Ft,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:l,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},wd=()=>{const e=Re(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:r,handleStartEditingEvent:o,handleDuplicateItem:l,dialogType:c,setDialogType:u,selectedTask:h,taskCalendarId:p,setTaskCalendarId:m,eventCalendarId:g,setEventCalendarId:x,myCalendars:j,handleDeleteTask:y,userManuallyChangedColor:I,setUserManuallyChangedColor:C,eventDialog:{open:w,handleClose:S},confirmDeleteDialog:W,handleConfirmDelete:A,deleteRecurringDialog:T,handleConfirmDeleteRecurring:N,editRecurringDialog:U,handleConfirmEditRecurring:Y}=Qe(an);if(!a||!n)return t.jsx(Ut,{open:w,onClose:S,closeAfterTransition:!0,slots:{backdrop:za},slotProps:{backdrop:{timeout:200}},children:t.jsx(et,{in:w,timeout:200,children:t.jsx(v,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const O=c==="event",_=O?a:n,J=O?i:h,F=be(null),L=be(null);H(()=>{w||(F.current=null,L.current=null)},[w]);const{titleField:Q,descriptionField:z,date:E,linkContact:$}=_,V=O?a.notifications:null,P=O?{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,K=e(s==="edit"?O?"global.editEvent":"global.editTask":s==="create"?O?"global.createEvent":"global.createTask":O?"global.showEvent":"global.showTask"),X=(s==="edit"||s==="view")&&!!J?.id,ie=s==="view";H(()=>{if(s!=="create"||c!=="event"||!w||I||!g)return;const ne=j.find(ve=>ve.id===g);ne?.color&&a.colorField.actions.changeValue(ne.color)},[s,c,w,g,I,j]),H(()=>{if(!w||c!=="event"||s!=="edit")return;const ne=E.state.selectedStartDate.isAfter(E.state.selectedEndDate)&&!E.state.selectedStartDate.isSame(E.state.selectedEndDate,"minute");L.current!==ne&&(L.current=ne,E.action.setError(ne))},[w,c,s,E.state.selectedStartDate.valueOf(),E.state.selectedEndDate.valueOf()]),H(()=>{if(!w||s==="create")return;const ne=J?.relatedContact;ne?.id&&F.current!==ne.id&&(F.current=ne.id,$.action.handleSelectContact({id:ne.id,name:ne.name}))},[w,s,J?.id]);const pe=ne=>{if(ne==="task"){const ve=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(ve),n.date.action.setSelectedEndDate(ve),n.date.action.setError(!1),a.date.action.setError(!1)}else{const ve=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(ve),a.date.action.setError(!1),n.date.action.setError(!1)}u(ne)},Ee=ne=>{a.colorField.actions.changeValue(ne),C(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(Ut,{open:w,onClose:S,closeAfterTransition:!0,slots:{backdrop:za},slotProps:{backdrop:{timeout:200}},children:t.jsx(et,{in:w,timeout:200,children:t.jsxs(v,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",maxHeight:"calc(100vh - 64px)",bgcolor:"background.paper",borderRadius:3,boxShadow:24,outline:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:[t.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:2,p:3,pt:4,overflowY:"auto",flex:1},children:[t.jsxs(v,{sx:{display:"flex",alignItems:"center",justifyContent:s==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[s!=="create"&&t.jsx(G,{sx:{fontWeight:600},children:K}),t.jsxs(v,{sx:{display:"flex",gap:1},children:[ie&&t.jsx(Ce,{size:"small",onClick:o,"aria-label":e("global.edit","Editar"),children:t.jsx(Pt,{fontSize:"small"})}),X&&t.jsx(Ce,{size:"small",onClick:O?r:y,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(pa,{fontSize:"small"})}),ie&&t.jsx(Ce,{size:"small",onClick:l,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(Ir,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(on,{disabled:!1,titleField:Q,variantMode:"inline"}),!Q.attributes.value&&t.jsx(md,{value:c,onChange:pe,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),c==="event"?t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(on,{disabled:s==="view",titleField:Q}),t.jsx(Cs,{disabled:s==="view",descriptionField:z}),t.jsx(Ts,{disabled:s==="view",calendars:j,value:g,onChange:ne=>x(ne)}),t.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,bgcolor:ne=>ne.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsx(v,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:t.jsx(v,{sx:{flex:1},children:t.jsx(Vc,{disabled:s==="view",selectedStartDate:E.state.selectedStartDate,selectedEndDate:E.state.selectedEndDate,handleSelectStart:E.action.handleSelect(E.action.setSelectedStartDate),handleSelectEnd:E.action.handleSelect(E.action.setSelectedEndDate),isError:E.state.error,hideLabel:!0,allDay:P?.allDay??!1})})}),P&&t.jsxs(v,{sx:{display:"flex",gap:2,alignItems:"center",pl:5},children:[t.jsx(fd,{checked:P.allDay,onChange:P.setAllDay,disabled:s==="view"}),t.jsx(v,{sx:{flex:1},children:t.jsx(bd,{disabled:s==="view",value:P.recurrenceRule,onChange:P.setRecurrenceRule,hideLabel:!0})})]})]}),P&&t.jsx(t.Fragment,{children:t.jsx(xd,{disabled:s==="view",colorField:P.colorField,onColorChange:s==="create"?Ee:void 0})}),V&&t.jsx(nd,{disabled:s==="view",notificationsField:V}),t.jsx(Ss,{linkContactsHandler:$,disabled:s==="view"}),P&&t.jsx(od,{disabled:s==="view",locationField:P.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(on,{disabled:s==="view",titleField:Q}),t.jsx(Cs,{disabled:s==="view",descriptionField:z}),t.jsx(Ts,{disabled:s==="view",calendars:j,value:p,onChange:ne=>m(ne)}),t.jsx(v,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:ne=>ne.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(v,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(Sr,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(v,{sx:{flex:1},children:t.jsx(yd,{disabled:s==="view",selectedDateTime:E.state.selectedStartDate,handleSelect:ne=>{E.action.setSelectedStartDate(ne),E.action.setSelectedEndDate(ne),E.action.setError(!1)},isError:E.state.error,hideLabel:!0})})]})}),t.jsx(Ss,{linkContactsHandler:$,disabled:s==="view"})]})]}),t.jsx(v,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(pd,{isFinalized:i?.finalized})})]})})}),t.jsx(vd,{open:W.open,onClose:W.handleClose,onConfirm:A,itemTitle:W.itemType==="event"?i?.title:h?.title,itemType:W.itemType}),t.jsx(Cd,{open:T.open,onClose:T.handleClose,onConfirm:N,eventTitle:i?.title}),t.jsx(jd,{open:U.open,onClose:U.handleClose,onConfirm:Y,eventTitle:i?.title})]})},Id=e=>{const{open:a,onClose:n,baseUrl:s,spaceId:i,language:r="en",mode:o="create",type:l="event",eventCalendarId:c,taskCalendarId:u,selectedEvent:h,selectedTask:p}=e,{i18n:m}=mt();H(()=>{r&&m.changeLanguage(r)},[r,m]);const g={baseUrl:s,spaceId:i};return a?t.jsx(sc,{value:g,children:t.jsx(_c,{externalOpen:a,externalOnClose:n,externalMode:o,externalType:l,externalEventCalendarId:c,externalTaskCalendarId:u,externalSelectedEvent:h,externalSelectedTask:p,children:t.jsx(wd,{})})}):null},Sd=e=>t.jsx(Wa,{i18n:Ot,children:t.jsx(Id,{...e})});export{Un as ContactInfoPopup,nc as EditContactModal,Sd as EventsDialog,Ot as i18n};
|
|
20
|
+
`,ld=ee(C)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),cd=({notificationsField:e,disabled:a})=>{const n=ze(),{addNotification:r,deleteNotification:i,handleReminderChange:s,handleTimeFieldChange:o,handleTimePeriodChange:l}=e.action,c=e.notifications.length>0;return t.jsxs(od,{children:[t.jsxs(ld,{children:[t.jsx(Y,{variant:"subtitle2",sx:{userSelect:"none"},children:n("calendarView.reminders.title")}),!a&&t.jsx(Pe,{disabled:a,startIcon:t.jsx(An,{}),size:"small",variant:"outlined",onClick:r,color:"secondary",children:n("calendarView.reminders.addReminder")})]}),t.jsx(C,{sx:{pt:1,px:.5},children:c?e.notifications.map(p=>t.jsx(id,{data:p,deleteHandler:i,sendToContactHandler:s,timePeriodHandler:l,timeValueHandler:o},p.id)):a?t.jsx(Y,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Er=({descriptionField:e,disabled:a})=>{const n=ze(),{value:r,type:i,...s}=e.attributes,o=r||"";return a?t.jsx(Je,{title:n("global.description"),children:t.jsx(Y,{variant:"body1",sx:{py:.5,whiteSpace:"pre-wrap"},children:o||"-"})}):t.jsx(Je,{title:n("global.description"),children:t.jsx(we,{...s,value:o,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},dd=({onPlaceSelected:e})=>{const a=xe(null),n=xe(null),r=xe(null),i=xe(null),[s,o]=x([]),[l,c]=x(!1),p=ze();G(()=>{if(!a.current)return;const d=()=>{if(!window.google?.maps?.places)return console.warn("Google Places API no est\xE1 disponible a\xFAn"),!1;n.current=new window.google.maps.places.AutocompleteService;const h=document.createElement("div");return r.current=new window.google.maps.places.PlacesService(h),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!d()){const h=setTimeout(()=>{d()},500);return()=>clearTimeout(h)}},[]);const y=d=>{const h=d.target.value;if(!h||h.length<3||!n.current){o([]),c(!1);return}n.current.getPlacePredictions({input:h,componentRestrictions:{country:"ar"},types:["geocode"],sessionToken:i.current||void 0},(b,v)=>{v===window.google.maps.places.PlacesServiceStatus.OK&&b?(o(b),c(!0)):(o([]),c(!1))})},m=(d,h)=>{r.current&&r.current.getDetails({placeId:d,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(b,v)=>{if(v===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const g=b.geometry.location.lat(),w=b.geometry.location.lng(),j=b.formatted_address??h;e({lat:g,lng:w},j),a.current&&(a.current.value=j),c(!1),o([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return G(()=>{const d=h=>{a.current&&!a.current.contains(h.target)&&c(!1)};return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]),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:()=>s.length>0&&c(!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}}),l&&s.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:s.map(d=>t.jsxs("div",{onClick:()=>m(d.place_id,d.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:h=>{h.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.backgroundColor="white"},children:[t.jsx("div",{style:{fontWeight:500},children:d.structured_formatting.main_text}),t.jsx("div",{style:{fontSize:"12px",color:"#666",marginTop:"2px"},children:d.structured_formatting.secondary_text})]},d.place_id))})]})},Tr="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Dr=["places"],un={apiKey:Tr,libraries:Dr,loading:"async"},Da=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),Ar=(e=Tr,a=Dr)=>{if(Da())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 s=0;const o=100,l=setInterval(()=>{s++,Da()?(clearInterval(l),r()):s>=o&&(clearInterval(l),n(),Ar(e,a).then(r).catch(i))},100)}):new Promise((r,i)=>{try{n();const s="initGoogleMaps";window[s]=()=>{Da()?r():setTimeout(()=>{Da()||console.warn("Google Maps API se carg\xF3 pero algunos componentes no est\xE1n disponibles"),r()},500)};const o=document.createElement("script");o.id="google-maps-script",o.type="text/javascript";const l=Array.isArray(a)?a.join(","):a;o.src=`https://maps.googleapis.com/maps/api/js?key=${e}&libraries=${l}&callback=${s}&loading=async`,o.async=!0,o.defer=!0,o.onerror=()=>{delete window[s],i(new Error("Error al cargar Google Maps API"))},document.head.appendChild(o)}catch(s){i(s)}})},Xt=(e,a,n=18,r=400,i=400,s="red",o=un.apiKey)=>`https://maps.googleapis.com/maps/api/staticmap?center=${e},${a}&zoom=${n}&size=${r}x${i}&markers=color:${s}%7Clabel:A%7C${e},${a}&key=${o}`,ud=({onLocationChange:e,initialLocation:a})=>{const n=xe(null),r=xe(null),i=xe(null),s=xe(null),[o,l]=x(!0),[c,p]=x(!1),[y,m]=x(a||null),d=18,h=se(j=>{m(j),e(j)},[e]);G(()=>{let j=!0;(async()=>{try{if(await Ar(un.apiKey,un.libraries),!window.google?.maps?.Map||!window.google?.maps?.Geocoder){console.error("Google Maps APIs no est\xE1n completamente disponibles"),l(!1);return}window.google?.maps?.Geocoder&&(s.current=new window.google.maps.Geocoder),l(!1),setTimeout(()=>{j&&b()},100)}catch(I){console.error("Error al cargar Google Maps:",I),l(!1)}})(),a||navigator.geolocation.getCurrentPosition(I=>{const S=I.coords.latitude,W=I.coords.longitude,T=S.toString(),D=W.toString(),$=Xt(S,W,d);h({lat:T,lng:D,title:"",description:"",url:$})},I=>{console.error("Error getting location:",I);const S=-34.6037,W=-58.3816;h({lat:S.toString(),lng:W.toString(),title:"",description:"",url:Xt(S,W,d)})})},[a,h,d]),G(()=>{c&&y&&g()},[c,y]),G(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const b=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const j={zoom:d,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};r.current=new window.google.maps.Map(n.current,j),r.current.addListener("click",I=>{v(I)}),p(!0)}catch(j){console.error("Error inicializando mapa:",j)}},v=j=>{if(!j.latLng||!s.current)return;const I={lat:j.latLng.lat(),lng:j.latLng.lng()};i.current?i.current.setPosition(I):r.current&&(i.current=new window.google.maps.Marker({position:I,map:r.current})),s.current.geocode({location:I},(S,W)=>{if(W==="OK"&&S&&S[0]){const T=S[0].formatted_address,D=Xt(I.lat,I.lng,d);h({lat:I.lat.toString(),lng:I.lng.toString(),title:T||"",description:"",url:D})}else{const T=Xt(I.lat,I.lng,d);h({lat:I.lat.toString(),lng:I.lng.toString(),title:`${I.lat.toFixed(6)}, ${I.lng.toFixed(6)}`,description:"",url:T})}})},g=()=>{if(!(!r.current||!y))try{const j={lat:parseFloat(y.lat),lng:parseFloat(y.lng)};r.current.setCenter(j),i.current?i.current.setPosition(j):i.current=new window.google.maps.Marker({position:j,map:r.current})}catch(j){console.error("Error actualizando mapa:",j)}},w=(j,I)=>{const S=Xt(j.lat,j.lng,d);h({lat:j.lat.toString(),lng:j.lng.toString(),title:I||"",description:"",url:S})};return!y||o?t.jsx(C,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(qe,{})}):t.jsxs(C,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(dd,{onPlaceSelected:w}),t.jsx("div",{style:{height:"100%"},ref:n})]})},pd=({open:e,onClose:a,onSelectLocation:n,initialAddress:r})=>{const i=ze(),[s,o]=x(null),l=xe(null);G(()=>{e||o(null)},[e]),G(()=>{l.current&&s&&(l.current.scrollTop=l.current.scrollHeight/4)},[s]);const c=se(y=>{o(y)},[]),p=se(()=>{s&&(n(s.title||`${s.lat}, ${s.lng}`,s.lat,s.lng),a())},[s,n,a]);return t.jsxs(ma,{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(C,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(Y,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(be,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(Sn,{fontSize:"small"})})]}),t.jsx(ha,{sx:{p:0,display:"flex",flexDirection:"column",height:"100%"},children:t.jsxs(C,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",overflow:"hidden",width:"100%",height:"100%",position:"relative"},children:[t.jsx(C,{ref:l,sx:{width:"100%",flex:1,overflow:"auto",zIndex:1},children:t.jsx(ud,{onLocationChange:c,initialLocation:void 0})}),t.jsx(fn,{sx:{width:"100%",padding:0}}),t.jsxs(C,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(Pe,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(Pe,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:p,disabled:!s,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},md=({locationField:e,disabled:a})=>{const n=ze(),[r,i]=x(!1),{value:s,type:o,...l}=e.attributes,c=s||"",p=()=>{a||i(!0)},y=()=>{i(!1)},m=d=>{e.actions.changeValue(d)};return a?t.jsx(C,{children:t.jsx(Je,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx($n,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:c||"-"})]})})}):t.jsxs(C,{children:[t.jsx(Je,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(we,{...l,value:c,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:p,InputProps:{startAdornment:t.jsx($n,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(pd,{open:r,onClose:y,onSelectLocation:m,initialAddress:c})]})},hd=({handleScroll:e,contactList:a,handleSelectContact:n,contactSelectedId:r,search:i})=>{const s=ze(),o=vn();return t.jsx(zr,{sx:{width:"100%",height:"100%",overflow:"auto",border:`1px solid ${o.palette.divider}`,borderTop:"none",backgroundColor:o.palette.background.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12))"},onScroll:e,children:i&&a?.map(l=>t.jsxs(Wr,{sx:{width:"100%"},onClick:()=>n(l),selected:r===l.id,children:[t.jsx(ua,{children:t.jsx(Zr,{sx:{color:c=>c.palette.text.disabled}})}),t.jsx(pa,{primary:s(l.name),secondary:l?.phone})]},l.id))})};async function gd({baseUrl:e,spaceId:a,pagination:n,signal:r}){const i=sn(e,a),s=Ne(i.CONTACTS,"/Search");return We({url:s,method:"POST",body:n,signal:r})}const yd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function fd(e){const a=xe(null),n=xe(null),[r,i]=x([]),[s,o]=x(!1),[l,c]=x(!1),[p,y]=x(!1),[m,d]=x(!1),[h,b]=x(1),[v,g]=x(!1),w=se(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),o(!1),g(!1),b(1),d(!1),i([])},[]),j=T=>T.filter(D=>!!D?.id),I=se(async({query:T,page:D})=>{if(!e)return;n.current?.abort();const $=new AbortController;n.current=$,c(!0);try{const P={...yd,currentPage:D,filter:[{value:T,column:"name",condition:""}]},V=await gd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:P,signal:$.signal});if($.signal.aborted)return;const H=j(V?.contactos??[]);o(!0);const M=V?.paginacion?.total??0;i(J=>{const U=D===1?H:(()=>{const re=new Map;for(const N of J)re.set(N.id,N);for(const N of H)re.set(N.id,N);return Array.from(re.values())})();return M&&U.length>=M&&g(!0),U})}finally{c(!1),y(!1),d(!1)}},[e]),S=se(T=>{w(),T&&(a.current&&(clearTimeout(a.current),a.current=null),y(!0),a.current=setTimeout(()=>{I({query:T,page:1})},800))},[I,w]),W=se((T,D)=>{const $=T.target;if(!($.scrollHeight-$.scrollTop-$.clientHeight<1)||v||l||!D)return;const P=h+1;d(!0),b(P),I({query:D,page:P})},[v,l,h,I]);return{contactList:r,hasSearched:s,isLoading:l,isLoadingTimer:p,isNextPage:m,handleQueryChanged:S,handleScroll:W,resetSearchState:w}}const kr=({linkContactsHandler:e,disabled:a=!1})=>{const n=ze(),r=gr(),i=xe(null),[s,o]=x(null),{action:{handleSearchChange:l,handleSelectContact:c},state:{search:p,contactSelectedId:y}}=e,{contactList:m,hasSearched:d,isLoading:h,isLoadingTimer:b,handleQueryChanged:v,handleScroll:g,resetSearchState:w}=fd(r),j=p||"",I=!!s&&j.length>0&&!a;G(()=>{j&&!y?v(j):j||w()},[j,y,v,w]);const S=D=>{l(D),D&&!s?o(i.current):D||o(null)},W=D=>{c(D),o(null),w()},T=()=>{o(null)};return a?t.jsx(Je,{title:n("global.linkContacts"),children:t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[j&&t.jsx(Un,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:j||"-"})]})}):t.jsx(yn,{onClickAway:T,children:t.jsxs(C,{children:[t.jsx(Je,{title:n("global.linkContacts"),children:t.jsx(we,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:j,onChange:D=>S(D.target.value),onFocus:()=>{j&&o(i.current)},InputProps:{startAdornment:t.jsx(Un,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:h||b?t.jsx(qe,{size:18,sx:{mr:1}}):null}})}),t.jsx(gn,{open:I,anchorEl:s,placement:"bottom-start",style:{width:s?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(Br,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[d&&m.length>0&&t.jsx(hd,{handleScroll:D=>g(D,j),contactList:m,handleSelectContact:W,contactSelectedId:y,search:j}),d&&m.length===0&&t.jsx(C,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(Y,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},xd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:r,handleStartEditingEvent:i,handleSaveUpdatedEvent:s,handleEndEvent:o,dialogType:l,handleCreateTask:c,handleSaveUpdatedTask:p,selectedTask:y,handleToggleTaskCompleted:m}=et(rn),d=ze(),h=l==="event",b=!1,v=!1,g=!1,w=()=>{h?n():c()},j=(()=>{if(r==="view")return i;if(r==="edit")return h?()=>s?.():()=>p?.();if(r==="create")return w})(),I=d(r==="view"?h?"global.editEvent":"global.editTask":r==="edit"?h?"global.saveEvent":"global.saveTask":h?"global.createEvent":"global.createTask"),S=h?b:g,W=e,T=!h&&r==="view",D=y?.isCompleted||!1;return T?t.jsx(Rt,{children:t.jsx(nt,{startIcon:t.jsx(es,{}),size:"small",loading:g,disabled:g,onClick:m,variant:"contained",color:D?"inherit":"primary",children:D?d("global.markAsIncomplete","Marcar como incompleta"):d("global.markAsCompleted","Marcar como completada")})}):t.jsxs(Rt,{children:[t.jsx(Pe,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:d("global.cancel")}),h&&(r==="edit"||r==="view")&&t.jsx(nt,{startIcon:t.jsx(ts,{}),size:"small",disabled:e,loading:v,onClick:o,variant:"contained",children:d("global.finalizeEvent")}),t.jsx(nt,{startIcon:t.jsx(as,{}),size:"small",loading:S,disabled:W,onClick:j,variant:"contained",children:I})]})},$r={textTransform:"none",borderRadius:2,minHeight:34,px:1.5,fontSize:13,fontWeight:500,lineHeight:1.1},bd=({value:e,onChange:a,labels:n})=>t.jsxs(C,{sx:{display:"flex",gap:1},children:[t.jsx(Pe,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...$r},children:n.event}),t.jsx(Pe,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...$r},color:"secondary",children:n.task})]}),vd="DD/MM/YYYY",Cd="HH:mm",jd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:r=!1,hideLabel:i=!1})=>{const s=ze(),o=c=>{if(!c)return;const p=c.hour(e.hour()).minute(e.minute());a(p)},l=c=>{if(!c)return;const p=e.hour(c.hour()).minute(c.minute());a(p)};return n?t.jsxs(Ea,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:s("global.date")}),t.jsxs(C,{children:[t.jsx(Y,{variant:"body1",sx:{mb:1},children:e.format(vd)}),t.jsx(Y,{variant:"body1",children:e.format(Cd)})]})]}):t.jsxs(Ea,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:s("global.date")}),t.jsx(ln,{children:t.jsxs(Dn,{dateAdapter:kn,children:[t.jsx(fa,{disabled:n,value:e,onChange:o,slotProps:{textField:()=>({label:s("global.date"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:c=>c.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1},minDate:Q()}),t.jsx(cn,{variant:"body1",children:"_"}),t.jsx(Ya,{disabled:n,value:e,onChange:l,ampm:!1,slotProps:{textField:()=>({label:s("global.time"),size:"small",className:"smallInput"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:c=>c.palette.background.panel}}}},sx:{alignSelf:"baseline",flex:1}})]})}),t.jsx(at,{in:r,children:t.jsx(Y,{color:"red",variant:"caption",children:s("conversations.sidebar.events.errorDate")})})]})},Ur=({disabled:e,calendars:a,value:n,onChange:r})=>{const i=ze(),s=ae(()=>a??[],[a]),o=ae(()=>s.find(l=>l.id===n)??null,[s,n]);return e?t.jsx(Je,{title:i("global.calendar"),children:t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[o&&t.jsx(Ts,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:o?.title||"-"})]})}):t.jsx(Je,{title:i("global.calendar"),children:t.jsx(La,{disabled:e,size:"small",fullWidth:!0,options:s,value:o,onChange:(l,c)=>r(c?.id??""),getOptionLabel:l=>l?.title??"",isOptionEqualToValue:(l,c)=>l.id===c.id,slotProps:{paper:{sx:{backgroundColor:l=>l.palette.background.panel}}},renderInput:l=>t.jsx(we,{...l,placeholder:i("global.selectCalendar")})})})},wd=({checked:e,onChange:a,disabled:n})=>{const r=ze();return t.jsx(C,{sx:{display:"flex",alignItems:"center"},children:t.jsx(wt,{control:t.jsx(bn,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:r("global.allDay","Todo el d\xEDa")})})},Id=({colorField:e,disabled:a,onColorChange:n})=>{const r=ze(),i=e.attributes.value||"#1976d2",s=(l=>{if(l.startsWith("#"))return l;const c=l.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(c&&c[1]&&c[2]&&c[3]){const p=parseInt(c[1]),y=parseInt(c[2]),m=parseInt(c[3]),d=h=>{const b=h.toString(16);return b.length===1?"0"+b:b};return`#${d(p)}${d(y)}${d(m)}`}return"#1976d2"})(i),o=l=>{const c=l.target.value;n?n(c):e.actions.changeValue(c)};return a?t.jsx(Je,{title:r("global.color","Color"),children:t.jsxs(C,{sx:{display:"flex",gap:1,alignItems:"center"},children:[t.jsx(C,{sx:{width:40,height:40,backgroundColor:s,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:1}}),t.jsx(Y,{variant:"body2",sx:{color:"text.secondary"},children:s})]})}):t.jsx(Je,{title:r("global.color","Color"),children:t.jsx(C,{sx:{display:"flex",gap:1,alignItems:"center"},children:t.jsx("input",{type:"color",value:s,onChange:o,disabled:a,style:{width:60,height:40,border:"1px solid rgba(0, 0, 0, 0.23)",borderRadius:4,cursor:a?"not-allowed":"pointer"}})})})},Fr=[{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"}],Sd=({value:e,onChange:a,disabled:n,hideLabel:r=!1})=>{const i=ze(),s=p=>{a(p.target.value)},o=ae(()=>Fr.map(p=>t.jsx(tt,{value:p.value,children:i(p.label,p.label)},p.value)),[i]),l=ae(()=>{const p=Fr.find(y=>y.value===e);return p?i(p.label,p.label):i("global.noRepeat")},[e,i]);if(n)return r?t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ha,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body2",children:l})]}):t.jsx(Je,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(C,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ha,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:l})]})});const c=t.jsx(da,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:s,startAdornment:t.jsx(Ha,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}}},children:o});return r?c:t.jsx(Je,{title:i("global.recurrence","Recurrencia"),children:c})},Ed=({open:e,onClose:a,onConfirm:n,itemTitle:r,itemType:i})=>{const{t:s}=yt(),o=()=>{n(),a()},l=i==="event"?s("calendar.deleteEvent","Eliminar evento"):s("calendar.deleteTask","Eliminar tarea"),c=i==="event"?s("calendar.confirmDeleteEvent","\xBFEst\xE1s seguro de que quer\xE9s eliminar este evento?"):s("calendar.confirmDeleteTask","\xBFEst\xE1s seguro de que quer\xE9s eliminar esta tarea?");return t.jsxs(ma,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsxs(Ba,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ds,{color:"warning"}),l]}),t.jsxs(ha,{children:[t.jsx(Y,{variant:"body2",sx:{mb:2},children:c}),r&&t.jsx(C,{sx:{p:1.5,bgcolor:"action.hover",borderRadius:1,borderLeft:3,borderColor:"warning.main"},children:t.jsxs(Y,{variant:"body2",sx:{fontWeight:500},children:['"',r,'"']})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:s("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:o,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:s("global.delete","Eliminar")})]})]})},Td=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=yt(),[s,o]=x("single"),l=()=>{n(s==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ma,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(Ba,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(ha,{children:[r&&t.jsxs(C,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(za,{component:"fieldset",fullWidth:!0,children:t.jsxs(Cn,{value:s,onChange:p=>o(p.target.value),children:[t.jsx(wt,{value:"single",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(wt,{value:"all",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:l,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},Dd=({open:e,onClose:a,onConfirm:n,eventTitle:r})=>{const{t:i}=yt(),[s,o]=x("single"),l=()=>{n(s==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ma,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:p=>p.palette.background.panel}},children:[t.jsx(Ba,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(ha,{children:[r&&t.jsxs(C,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',r,'"']}),t.jsx(za,{component:"fieldset",fullWidth:!0,children:t.jsxs(Cn,{value:s,onChange:p=>o(p.target.value),children:[t.jsx(wt,{value:"single",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(wt,{value:"all",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Pe,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Pe,{onClick:l,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},Ad=()=>{const e=ze(),{event:a,task:n,dialogMode:r,selectedEvent:i,handleDeleteEvent:s,handleStartEditingEvent:o,handleDuplicateItem:l,dialogType:c,setDialogType:p,selectedTask:y,taskCalendarId:m,setTaskCalendarId:d,eventCalendarId:h,setEventCalendarId:b,myCalendars:v,handleDeleteTask:g,userManuallyChangedColor:w,setUserManuallyChangedColor:j,eventDialog:{open:I,handleClose:S},confirmDeleteDialog:W,handleConfirmDelete:T,deleteRecurringDialog:D,handleConfirmDeleteRecurring:$,editRecurringDialog:P,handleConfirmEditRecurring:V,hiddenTabs:H}=et(rn);if(!a||!n)return t.jsx(Nt,{open:I,onClose:S,closeAfterTransition:!0,slots:{backdrop:Wa},slotProps:{backdrop:{timeout:200}},children:t.jsx(at,{in:I,timeout:200,children:t.jsx(C,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:te=>te.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const M=c==="event",J=M?a:n,U=M?i:y,re=xe(null),N=xe(null);G(()=>{I||(re.current=null,N.current=null)},[I]);const{titleField:O,descriptionField:F,date:E,linkContact:B}=J,R=M?a.notifications:null,_=M?{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,X=e(r==="edit"?M?"global.editEvent":"global.editTask":r==="create"?M?"global.createEvent":"global.createTask":M?"global.showEvent":"global.showTask"),ie=(r==="edit"||r==="view")&&!!U?.id,ge=r==="view";G(()=>{if(r!=="create"||c!=="event"||!I||w||!h)return;const te=v.find(Z=>Z.id===h);te?.color&&a.colorField.actions.changeValue(te.color)},[r,c,I,h,w,v]),G(()=>{console.log("[DEBUG] myCalendars:",v),console.log("[DEBUG] eventCalendarId:",h)},[v,h]),G(()=>{if(!I||c!=="event"||r!=="edit")return;const te=E.state.selectedStartDate.isAfter(E.state.selectedEndDate)&&!E.state.selectedStartDate.isSame(E.state.selectedEndDate,"minute");N.current!==te&&(N.current=te,E.action.setError(te))},[I,c,r,E.state.selectedStartDate.valueOf(),E.state.selectedEndDate.valueOf()]),G(()=>{if(!I||r==="create")return;const te=U?.relatedContact;te?.id&&re.current!==te.id&&(re.current=te.id,B.action.handleSelectContact({id:te.id,name:te.name}))},[I,r,U?.id]);const ve=te=>{if(te==="task"){const Z=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(Z),n.date.action.setSelectedEndDate(Z),n.date.action.setError(!1),a.date.action.setError(!1)}else{const Z=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(Z),a.date.action.setError(!1),n.date.action.setError(!1)}p(te)},De=te=>{a.colorField.actions.changeValue(te),j(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(Nt,{open:I,onClose:S,closeAfterTransition:!0,slots:{backdrop:Wa},slotProps:{backdrop:{timeout:200}},children:t.jsx(at,{in:I,timeout:200,children:t.jsxs(C,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",maxHeight:"calc(100vh - 64px)",bgcolor:te=>te.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:[t.jsxs(C,{sx:{display:"flex",flexDirection:"column",gap:2,p:3,pt:4,overflowY:"auto",flex:1},children:[t.jsxs(C,{sx:{display:"flex",alignItems:"center",justifyContent:r==="create"?"flex-end":"space-between",gap:1,mb:.5},children:[r!=="create"&&t.jsx(Y,{sx:{fontWeight:600},children:X}),t.jsxs(C,{sx:{display:"flex",gap:1},children:[ge&&t.jsx(be,{size:"small",onClick:o,"aria-label":e("global.edit","Editar"),children:t.jsx(Mt,{fontSize:"small"})}),ie&&t.jsx(be,{size:"small",onClick:M?s:g,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(ya,{fontSize:"small"})}),ge&&t.jsx(be,{size:"small",onClick:l,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx(As,{fontSize:"small"})})]})]}),r==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(dn,{disabled:!1,titleField:O,variantMode:"inline"}),!H&&t.jsx(bd,{value:c,onChange:ve,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),c==="event"?t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(dn,{disabled:r==="view",titleField:O}),t.jsx(Er,{disabled:r==="view",descriptionField:F}),t.jsx(Ur,{disabled:r==="view",calendars:v,value:h,onChange:te=>b(te)}),t.jsxs(C,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,bgcolor:te=>te.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:[t.jsx(C,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:t.jsx(C,{sx:{flex:1},children:t.jsx(Jc,{disabled:r==="view",selectedStartDate:E.state.selectedStartDate,selectedEndDate:E.state.selectedEndDate,handleSelectStart:E.action.handleSelect(E.action.setSelectedStartDate),handleSelectEnd:E.action.handleSelect(E.action.setSelectedEndDate),isError:E.state.error,hideLabel:!0,allDay:_?.allDay??!1})})}),_&&t.jsxs(C,{sx:{display:"flex",gap:2,alignItems:"center",pl:5},children:[t.jsx(wd,{checked:_.allDay,onChange:_.setAllDay,disabled:r==="view"}),t.jsx(C,{sx:{flex:1},children:t.jsx(Sd,{disabled:r==="view",value:_.recurrenceRule,onChange:_.setRecurrenceRule,hideLabel:!0})})]})]}),_&&t.jsx(t.Fragment,{children:t.jsx(Id,{disabled:r==="view",colorField:_.colorField,onColorChange:r==="create"?De:void 0})}),R&&t.jsx(cd,{disabled:r==="view",notificationsField:R}),t.jsx(kr,{linkContactsHandler:B,disabled:r==="view"}),_&&t.jsx(md,{disabled:r==="view",locationField:_.locationField})]}):t.jsxs(t.Fragment,{children:[r!=="create"&&t.jsx(dn,{disabled:r==="view",titleField:O}),t.jsx(Er,{disabled:r==="view",descriptionField:F}),t.jsx(Ur,{disabled:r==="view",calendars:v,value:m,onChange:te=>d(te)}),t.jsx(C,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:te=>te.palette.mode==="dark"?"rgba(255, 255, 255, 0.05)":"rgba(0, 0, 0, 0.02)"},children:t.jsxs(C,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(ks,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(C,{sx:{flex:1},children:t.jsx(jd,{disabled:r==="view",selectedDateTime:E.state.selectedStartDate,handleSelect:te=>{E.action.setSelectedStartDate(te),E.action.setSelectedEndDate(te),E.action.setError(!1)},isError:E.state.error,hideLabel:!0})})]})}),t.jsx(kr,{linkContactsHandler:B,disabled:r==="view"})]})]}),t.jsx(C,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(xd,{isFinalized:i?.finalized})})]})})}),t.jsx(Ed,{open:W.open,onClose:W.handleClose,onConfirm:T,itemTitle:W.itemType==="event"?i?.title:y?.title,itemType:W.itemType}),t.jsx(Td,{open:D.open,onClose:D.handleClose,onConfirm:$,eventTitle:i?.title}),t.jsx(Dd,{open:P.open,onClose:P.handleClose,onConfirm:V,eventTitle:i?.title})]})},kd=e=>{const a=e.palette.background;return jn({...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}}}}}})},$d=e=>{const{open:a,onClose:n,baseUrl:r,spaceId:i,language:s="en",mode:o="create",type:l="event",eventCalendarId:c,taskCalendarId:p,selectedEvent:y,selectedTask:m,hiddenTabs:d=!1}=e,{i18n:h}=yt();return G(()=>{s&&h.changeLanguage(s)},[s,h]),t.jsx(cc,{value:{baseUrl:r,spaceId:i},children:t.jsx(qc,{externalOpen:a,externalOnClose:n,externalMode:o,externalType:l,externalEventCalendarId:c,externalTaskCalendarId:p,externalSelectedEvent:y,externalSelectedTask:m,hiddenTabs:d,children:t.jsx(Ad,{})})})},Ud=e=>{const a=vn(),n=a?.palette?a:jn(),r=kd(n);return t.jsx(_r,{theme:r,children:t.jsx(_a,{i18n:_t,children:t.jsx($d,{...e})})})};export{On as ContactInfoPopup,lc as EditContactModal,Ud as EventsDialog,_t as i18n};
|
|
21
21
|
//# sourceMappingURL=index.js.map
|