@trii/components 2.0.71 → 2.0.72
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/components/LocationTextField/SendLocation/components/GoogleMap/components/LocationSearch/locationSearch.d.ts +1 -1
- package/dist/types/components/EventsDialog/components/TaskCalendarSelect/TaskCalendarSelect.d.ts +2 -1
- package/dist/types/components/EventsDialog/context/CalendarContextProvider.d.ts +3 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
`+
|
|
3
|
-
`),
|
|
4
|
-
`),
|
|
5
|
-
`+
|
|
1
|
+
import xn,{useCallback as se,useEffect as H,createContext as mt,useContext as rt,useState as x,useMemo as te,useDeferredValue as Ns,createElement as Rs,useRef as fe}from"react";import{styled as Z,Box as v,IconButton as xe,Avatar as Wa,Typography as V,CircularProgress as Qe,Tooltip as ht,Chip as Ct,Popper as bn,ClickAwayListener as vn,CardContent as Ms,Stack as Xe,Popover as Os,TextField as je,Autocomplete as _a,Button as Me,Divider as Cn,Select as ma,MenuItem as it,FormControl as Ba,Menu as zs,ListItemIcon as ha,ListItemText as ga,Modal as Nt,Grid as jn,LinearProgress as Ls,Backdrop as Va,Fade as ot,FormControlLabel as Dt,Checkbox as wn,Dialog as ya,DialogContent as fa,useTheme as Sn,List as Ws,ListItemButton as _s,Paper as Bs,DialogActions as Rt,ListSubheader as Vs,DialogTitle as Ya,RadioGroup as In,Radio as xa,createTheme as En,ThemeProvider as Ys}from"@mui/material";import{Handyman as Hs,PhoneEnabled as Gs,Email as Ks,WhatsApp as qs,Facebook as Js,Instagram as Qs,ThreeP as Xs,Save as Zs,Edit as er,Star as Tn,StarBorder as Dn,Person as tr,CheckCircleOutline as ar,EventAvailable as nr,EditCalendar as sr}from"@mui/icons-material";import rr from"@mui/icons-material/ArrowForward";import ir from"@mui/icons-material/Message";import{ContactField_type as le}from"@trii/types/dist/Contacts";import jt from"moment";import{initReactI18next as or,I18nextProvider as Ha,useTranslation as wt}from"react-i18next";import lr from"i18next";import kn from"@mui/icons-material/Close";import Mt from"@mui/icons-material/Edit";import cr from"@mui/icons-material/Label";import ba from"@mui/icons-material/Delete";import dr from"@mui/icons-material/PhotoCamera";import Ga from"@mui/icons-material/ArrowBack";import St from"@mui/icons-material/Save";import ur from"@mui/material/Popper";import{LoadingButton as lt}from"@mui/lab";import{ChannelType as kt}from"@trii/types/dist/Common/Channels";import X from"dayjs";import pr from"@mui/icons-material/AddLocationAlt";import{AdapterDayjs as Ot}from"@mui/x-date-pickers/AdapterDayjs";import{LocalizationProvider as zt}from"@mui/x-date-pickers/LocalizationProvider";import{DatePicker as An}from"@mui/x-date-pickers";import Lt from"@mui/material/Box";import $n from"@mui/icons-material/Cancel";import{TimePicker as mr}from"@mui/x-date-pickers/TimePicker";import{MultiInputTimeRangeField as hr,MultiInputDateRangeField as gr,LocalizationProvider as Un,DatePicker as va,TimePicker as Ka}from"@mui/x-date-pickers-pro";import{styled as $e}from"@mui/system";import yr from"@mui/icons-material/LocalPhone";import{PhoneNumberUtil as fr,PhoneNumberFormat as xr}from"google-libphonenumber";import Fn from"@mui/icons-material/Add";import br from"@mui/icons-material/MoreVert";import vr from"@mui/icons-material/WhatsApp";import Cr from"@mui/icons-material/Mms";import jr from"@mui/icons-material/CheckRounded";import wr from"@mui/icons-material/CloseRounded";import Sr from"@mui/material/CircularProgress";import Ir from"@mui/material/InputAdornment";import Er from"@mui/material/Typography";import Tr from"@mui/icons-material/Warning";import Dr from"@mui/material/Chip";import{EventNotificationPeriod as Ca}from"@trii/types/dist/Calendar";import{AdapterDayjs as Pn}from"@mui/x-date-pickers-pro/AdapterDayjs";import Nn from"@mui/icons-material/Place";import qa from"@mui/icons-material/Person";import kr from"@mui/icons-material/CalendarMonth";import Ja from"@mui/icons-material/Repeat";import Ar from"@mui/icons-material/WarningAmber";import $r from"@mui/icons-material/ContentCopy";import Ur from"@mui/icons-material/AccessTime";function Fr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Qa={exports:{}},Wt={},Rn;function Pr(){if(Rn)return Wt;Rn=1;var e=xn,a=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,r={key:!0,ref:!0,__self:!0,__source:!0};function o(l,c,m){var y,h={},d=null,u=null;m!==void 0&&(d=""+m),c.key!==void 0&&(d=""+c.key),c.ref!==void 0&&(u=c.ref);for(y in c)s.call(c,y)&&!r.hasOwnProperty(y)&&(h[y]=c[y]);if(l&&l.defaultProps)for(y in c=l.defaultProps,c)h[y]===void 0&&(h[y]=c[y]);return{$$typeof:a,type:l,key:d,ref:u,props:h,_owner:i.current}}return Wt.Fragment=n,Wt.jsx=o,Wt.jsxs=o,Wt}var _t={},Mn;function Nr(){return Mn||(Mn=1,process.env.NODE_ENV!=="production"&&(function(){var e=xn,a=Symbol.for("react.element"),n=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),y=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),u=Symbol.for("react.offscreen"),b=Symbol.iterator,j="@@iterator";function g(p){if(p===null||typeof p!="object")return null;var k=b&&p[b]||p[j];return typeof k=="function"?k:null}var I=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(p){{for(var k=arguments.length,W=new Array(k>1?k-1:0),ne=1;ne<k;ne++)W[ne-1]=arguments[ne];S("error",p,W)}}function S(p,k,W){{var ne=I.ReactDebugCurrentFrame,he=ne.getStackAddendum();he!==""&&(k+="%s",W=W.concat([he]));var ye=W.map(function(ue){return String(ue)});ye.unshift("Warning: "+k),Function.prototype.apply.call(console[p],console,ye)}}var w=!1,L=!1,D=!1,$=!1,U=!1,E;E=Symbol.for("react.module.reference");function Y(p){return!!(typeof p=="string"||typeof p=="function"||p===s||p===r||U||p===i||p===m||p===y||$||p===u||w||L||D||typeof p=="object"&&p!==null&&(p.$$typeof===d||p.$$typeof===h||p.$$typeof===o||p.$$typeof===l||p.$$typeof===c||p.$$typeof===E||p.getModuleId!==void 0))}function _(p,k,W){var ne=p.displayName;if(ne)return ne;var he=k.displayName||k.name||"";return he!==""?W+"("+he+")":W}function B(p){return p.displayName||"Context"}function K(p){if(p==null)return null;if(typeof p.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case s:return"Fragment";case n:return"Portal";case r:return"Profiler";case i:return"StrictMode";case m:return"Suspense";case y:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case l:var k=p;return B(k)+".Consumer";case o:var W=p;return B(W._context)+".Provider";case c:return _(p,p.render,"ForwardRef");case h:var ne=p.displayName||null;return ne!==null?ne:K(p.type)||"Memo";case d:{var he=p,ye=he._payload,ue=he._init;try{return K(ue(ye))}catch{return null}}}return null}var N=Object.assign,ae=0,Q,T,R,F,M,O,q;function G(){}G.__reactDisabledLog=!0;function ie(){{if(ae===0){Q=console.log,T=console.info,R=console.warn,F=console.error,M=console.group,O=console.groupCollapsed,q=console.groupEnd;var p={configurable:!0,enumerable:!0,value:G,writable:!0};Object.defineProperties(console,{info:p,log:p,warn:p,error:p,group:p,groupCollapsed:p,groupEnd:p})}ae++}}function me(){{if(ae--,ae===0){var p={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:N({},p,{value:Q}),info:N({},p,{value:T}),warn:N({},p,{value:R}),error:N({},p,{value:F}),group:N({},p,{value:M}),groupCollapsed:N({},p,{value:O}),groupEnd:N({},p,{value:q})})}ae<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ve=I.ReactCurrentDispatcher,Ie;function ke(p,k,W){{if(Ie===void 0)try{throw Error()}catch(he){var ne=he.stack.trim().match(/\n( *(at )?)/);Ie=ne&&ne[1]||""}return`
|
|
2
|
+
`+Ie+p}}var z=!1,Te;{var ge=typeof WeakMap=="function"?WeakMap:Map;Te=new ge}function De(p,k){if(!p||z)return"";{var W=Te.get(p);if(W!==void 0)return W}var ne;z=!0;var he=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ye;ye=ve.current,ve.current=null,ie();try{if(k){var ue=function(){throw Error()};if(Object.defineProperty(ue.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ue,[])}catch(P){ne=P}Reflect.construct(p,[],ue)}else{try{ue.call()}catch(P){ne=P}p.call(ue.prototype)}}else{try{throw Error()}catch(P){ne=P}p()}}catch(P){if(P&&ne&&typeof P.stack=="string"){for(var ce=P.stack.split(`
|
|
3
|
+
`),Le=ne.stack.split(`
|
|
4
|
+
`),Ce=ce.length-1,Ee=Le.length-1;Ce>=1&&Ee>=0&&ce[Ce]!==Le[Ee];)Ee--;for(;Ce>=1&&Ee>=0;Ce--,Ee--)if(ce[Ce]!==Le[Ee]){if(Ce!==1||Ee!==1)do if(Ce--,Ee--,Ee<0||ce[Ce]!==Le[Ee]){var Ge=`
|
|
5
|
+
`+ce[Ce].replace(" at new "," at ");return p.displayName&&Ge.includes("<anonymous>")&&(Ge=Ge.replace("<anonymous>",p.displayName)),typeof p=="function"&&Te.set(p,Ge),Ge}while(Ce>=1&&Ee>=0);break}}}finally{z=!1,ve.current=ye,me(),Error.prepareStackTrace=he}var pt=p?p.displayName||p.name:"",f=pt?ke(pt):"";return typeof p=="function"&&Te.set(p,f),f}function be(p,k,W){return De(p,!1)}function Ze(p){var k=p.prototype;return!!(k&&k.isReactComponent)}function J(p,k,W){if(p==null)return"";if(typeof p=="function")return De(p,Ze(p));if(typeof p=="string")return ke(p);switch(p){case m:return ke("Suspense");case y:return ke("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case c:return be(p.render);case h:return J(p.type,k,W);case d:{var ne=p,he=ne._payload,ye=ne._init;try{return J(ye(he),k,W)}catch{}}}return""}var Fe=Object.prototype.hasOwnProperty,re={},pe=I.ReactDebugCurrentFrame;function oe(p){if(p){var k=p._owner,W=J(p.type,p._source,k?k.type:null);pe.setExtraStackFrame(W)}else pe.setExtraStackFrame(null)}function Pe(p,k,W,ne,he){{var ye=Function.call.bind(Fe);for(var ue in p)if(ye(p,ue)){var ce=void 0;try{if(typeof p[ue]!="function"){var Le=Error((ne||"React class")+": "+W+" type `"+ue+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[ue]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Le.name="Invariant Violation",Le}ce=p[ue](k,ue,ne,W,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Ce){ce=Ce}ce&&!(ce instanceof Error)&&(oe(he),C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",ne||"React class",W,ue,typeof ce),oe(null)),ce instanceof Error&&!(ce.message in re)&&(re[ce.message]=!0,oe(he),C("Failed %s type: %s",W,ce.message),oe(null))}}}var dt=Array.isArray;function ze(p){return dt(p)}function Fa(p){{var k=typeof Symbol=="function"&&Symbol.toStringTag,W=k&&p[Symbol.toStringTag]||p.constructor.name||"Object";return W}}function Pa(p){try{return Zt(p),!1}catch{return!0}}function Zt(p){return""+p}function ft(p){if(Pa(p))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Fa(p)),Zt(p)}var xt=I.ReactCurrentOwner,ea={key:!0,ref:!0,__self:!0,__source:!0},Ye,bt,vt;vt={};function ta(p){if(Fe.call(p,"ref")){var k=Object.getOwnPropertyDescriptor(p,"ref").get;if(k&&k.isReactWarning)return!1}return p.ref!==void 0}function Na(p){if(Fe.call(p,"key")){var k=Object.getOwnPropertyDescriptor(p,"key").get;if(k&&k.isReactWarning)return!1}return p.key!==void 0}function at(p,k){if(typeof p.ref=="string"&&xt.current&&k&&xt.current.stateNode!==k){var W=K(xt.current.type);vt[W]||(C('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',K(xt.current.type),p.ref),vt[W]=!0)}}function aa(p,k){{var W=function(){Ye||(Ye=!0,C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",k))};W.isReactWarning=!0,Object.defineProperty(p,"key",{get:W,configurable:!0})}}function ut(p,k){{var W=function(){bt||(bt=!0,C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",k))};W.isReactWarning=!0,Object.defineProperty(p,"ref",{get:W,configurable:!0})}}var Ra=function(p,k,W,ne,he,ye,ue){var ce={$$typeof:a,type:p,key:k,ref:W,props:ue,_owner:ye};return ce._store={},Object.defineProperty(ce._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(ce,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ne}),Object.defineProperty(ce,"_source",{configurable:!1,enumerable:!1,writable:!1,value:he}),Object.freeze&&(Object.freeze(ce.props),Object.freeze(ce)),ce};function nt(p,k,W,ne,he){{var ye,ue={},ce=null,Le=null;W!==void 0&&(ft(W),ce=""+W),Na(k)&&(ft(k.key),ce=""+k.key),ta(k)&&(Le=k.ref,at(k,he));for(ye in k)Fe.call(k,ye)&&!ea.hasOwnProperty(ye)&&(ue[ye]=k[ye]);if(p&&p.defaultProps){var Ce=p.defaultProps;for(ye in Ce)ue[ye]===void 0&&(ue[ye]=Ce[ye])}if(ce||Le){var Ee=typeof p=="function"?p.displayName||p.name||"Unknown":p;ce&&aa(ue,Ee),Le&&ut(ue,Ee)}return Ra(p,ce,Le,he,ne,xt.current,ue)}}var st=I.ReactCurrentOwner,Tt=I.ReactDebugCurrentFrame;function et(p){if(p){var k=p._owner,W=J(p.type,p._source,k?k.type:null);Tt.setExtraStackFrame(W)}else Tt.setExtraStackFrame(null)}var Ft;Ft=!1;function Pt(p){return typeof p=="object"&&p!==null&&p.$$typeof===a}function na(){{if(st.current){var p=K(st.current.type);if(p)return`
|
|
6
6
|
|
|
7
|
-
Check the render method of \``+p+"`."}return""}}function
|
|
7
|
+
Check the render method of \``+p+"`."}return""}}function Ma(p){{if(p!==void 0){var k=p.fileName.replace(/^.*[\\\/]/,""),W=p.lineNumber;return`
|
|
8
8
|
|
|
9
|
-
Check your code at `+
|
|
9
|
+
Check your code at `+k+":"+W+"."}return""}}var sa={};function ra(p){{var k=na();if(!k){var W=typeof p=="string"?p:p.displayName||p.name;W&&(k=`
|
|
10
10
|
|
|
11
|
-
Check the top-level render call using <`+W+">.")}return
|
|
11
|
+
Check the top-level render call using <`+W+">.")}return k}}function ia(p,k){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var W=ra(k);if(sa[W])return;sa[W]=!0;var ne="";p&&p._owner&&p._owner!==st.current&&(ne=" It was passed a child from "+K(p._owner.type)+"."),et(p),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',W,ne),et(null)}}function oa(p,k){{if(typeof p!="object")return;if(ze(p))for(var W=0;W<p.length;W++){var ne=p[W];Pt(ne)&&ia(ne,k)}else if(Pt(p))p._store&&(p._store.validated=!0);else if(p){var he=g(p);if(typeof he=="function"&&he!==p.entries)for(var ye=he.call(p),ue;!(ue=ye.next()).done;)Pt(ue.value)&&ia(ue.value,k)}}}function Oa(p){{var k=p.type;if(k==null||typeof k=="string")return;var W;if(typeof k=="function")W=k.propTypes;else if(typeof k=="object"&&(k.$$typeof===c||k.$$typeof===h))W=k.propTypes;else return;if(W){var ne=K(k);Pe(W,p.props,"prop",ne,p)}else if(k.PropTypes!==void 0&&!Ft){Ft=!0;var he=K(k);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",he||"Unknown")}typeof k.getDefaultProps=="function"&&!k.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function za(p){{for(var k=Object.keys(p.props),W=0;W<k.length;W++){var ne=k[W];if(ne!=="children"&&ne!=="key"){et(p),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ne),et(null);break}}p.ref!==null&&(et(p),C("Invalid attribute `ref` supplied to `React.Fragment`."),et(null))}}var la={};function ca(p,k,W,ne,he,ye){{var ue=Y(p);if(!ue){var ce="";(p===void 0||typeof p=="object"&&p!==null&&Object.keys(p).length===0)&&(ce+=" 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 Le=Ma(he);Le?ce+=Le:ce+=na();var Ce;p===null?Ce="null":ze(p)?Ce="array":p!==void 0&&p.$$typeof===a?(Ce="<"+(K(p.type)||"Unknown")+" />",ce=" Did you accidentally export a JSX literal instead of a component?"):Ce=typeof p,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Ce,ce)}var Ee=nt(p,k,W,he,ye);if(Ee==null)return Ee;if(ue){var Ge=k.children;if(Ge!==void 0)if(ne)if(ze(Ge)){for(var pt=0;pt<Ge.length;pt++)oa(Ge[pt],p);Object.freeze&&Object.freeze(Ge)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oa(Ge,p)}if(Fe.call(k,"key")){var f=K(p),P=Object.keys(k).filter(function(de){return de!=="key"}),A=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!la[f+A]){var ee=P.length>0?"{"+P.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
|
|
12
12
|
let props = %s;
|
|
13
13
|
<%s {...props} />
|
|
14
14
|
React keys must be passed directly to JSX without using spread:
|
|
15
15
|
let props = %s;
|
|
16
|
-
<%s key={someKey} {...props} />`,pe,k,He,k),Pt[k+pe]=!0}}return p===s?Na(Te):Pa(Te),Te}}function la(p,A,W){return oa(p,A,W,!0)}function ca(p,A,W){return oa(p,A,W,!1)}var Ra=ca,Ma=la;_t.Fragment=s,_t.jsx=Ra,_t.jsxs=Ma})()),_t}process.env.NODE_ENV==="production"?Ka.exports=Ur():Ka.exports=Fr();var t=Ka.exports;$r(t);const Pr=ee(v)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),Rn=ee(be)({padding:4}),Nr=ee(v)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Rr=ee(Oa)({width:60,height:60,marginBottom:8}),Mr=ee(Y)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Or=ee(v)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),zr=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:r,onClose:o,isBusiness:l=!1})=>{const c=re(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"):s(h)}catch(C){r?.(C instanceof Error?C:new Error("Navigation failed"))}},[s,r]),m=c(l?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),g=c(`/a/conversations/conversations?contactId=${n}`),u=a||"Unknown Contact",d=`Avatar for ${u}`;return t.jsxs(Nr,{children:[t.jsxs(Pr,{children:[t.jsx(Rn,{color:"info",size:"small",onClick:h=>{m(h),o()},onMouseDown:h=>{h.button===1&&(m(h),o())},disabled:!n,"aria-label":"View contact details",children:t.jsx(nr,{fontSize:"small"})}),t.jsx(Rn,{color:"info",size:"small",onClick:h=>{g(h),o()},onMouseDown:h=>{h.button===1&&(g(h),o())},"aria-label":"Go to conversations",children:t.jsx(sr,{fontSize:"small"})})]}),i?t.jsx(Or,{children:t.jsx(qe,{size:24})}):t.jsx(Rr,{src:e,alt:d,onError:()=>r?.(new Error("Failed to load avatar"))}),t.jsx(Mr,{variant:"h6",title:u,children:u})]})},Lr=ee(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Wr=ee(v)({width:"100%",borderBottom:"1px solid lightgray"}),_r=ee(v)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Br=ee(v)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Vr=ee(v)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Yr=ee(v)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Hr=ee(Y)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),Gr=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=r=>t.jsx(_r,{children:t.jsxs(Vr,{children:[t.jsx(Br,{children:e}),t.jsxs(Yr,{children:[t.jsx(ct,{title:r.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:r.address})}),r.profileName&&t.jsx(Y,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:r.profileName})]}),r.note&&t.jsx(Hr,{variant:"body2",fontSize:12,color:"text.secondary",children:r.note})]})},r.id);return t.jsxs(Lr,{children:[s&&t.jsx(Wr,{children:t.jsx(Y,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},Kr=ee(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),qr=ee(Y)({borderBottom:"1px solid lightgray",width:"100%"}),Jr=ee(v)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Qr=ee(Y)({fontSize:14}),Xr=ee(Vs)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),Zr=({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=ft(i,ft.ISO_8601).isValid(),l=c=>ft(i).format(c);switch(r){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 r===ce.TIMERANGE?l("HH:mm"):l("DD/MM/YYYY");const c=i.split(" ");if(c.length===2){const[m,g]=c,u=r===ce.TIMERANGE?ft(m).format("HH:mm"):ft(m).format("DD/MM/YYYY"),d=r===ce.TIMERANGE?ft(g).format("HH:mm"):ft(g).format("DD/MM/YYYY");return`${u} - ${d}`}return i;default:return i}}return i};return t.jsxs(Kr,{children:[t.jsx(qr,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,r)=>i.value.length>0&&t.jsxs(Jr,{children:[t.jsx(Xr,{}),t.jsxs(Qr,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},r))]})},ei=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ti=ee(v)({marginBottom:16}),ai=ee(yt)(({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 Mn(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 si=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ri=({contactData:e,title:a})=>!e||!Mn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(si,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(Y,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function On(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}const ii=({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(Y,{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})},oi=ee(Y)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),li=({contactData:e,title:a,navigate:n})=>!e||!On(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(oi,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(ii,{memberId:String(s.id),name:s.name,navigate:n},s.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",Si="Tel\xE9fono",Ii="Empresa",Ei="Miembros de la empresa",Ti="Propiedades",Di="Ver",ki="Etiquetas",Ai={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:Si,business:Ii,businessMembers:Ei,properties:Ti,view:Di,tags:ki,global:Ai,searchLocationModal:$i,avatar:Ui,contactEdit:Fi,conversations:Pi,calendarView:Ni};const Mi={en:{translation:ji},es:{translation:Ri}},Bt=ir.createInstance();Bt.use(rr).init({resources:Mi,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Oi=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"}})),zi=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:r,language:o="en"})=>{const{t:l,i18n:c}=xt();K(()=>{o&&c.changeLanguage(o)},[o,c]);const m=l,g=On(s),u=Mn(s),d=[{icon:t.jsx(Ys,{fontSize:"small"}),title:m("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(Hs,{fontSize:"small"}),title:m("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(Gs,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Ks,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(qs,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Js,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return K(()=>{const h=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[e,n]),t.jsx(fn,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(xn,{onClickAway:n,children:t.jsx(Oi,{children:t.jsxs(Rs,{children:[t.jsx(zr,{navigate:r,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:g}),t.jsx(ni,{contactData:s,title:m("labels")}),u&&t.jsx(ri,{contactData:s,title:m("business")}),g&&t.jsx(li,{contactData:s,title:m("businessMembers"),navigate:r}),d.map((h,b)=>t.jsx(Gr,{icon:h.icon,title:h.title,contactList:h.contactList,showTitle:h.showTitle},b)),t.jsx(Zr,{properties:s?.properties,title:m("properties")})]})})})})},zn=e=>t.jsx(Ba,{i18n:Bt,children:t.jsx(zi,{...e})}),Ln=e=>e,Wn=lt(Ln),Li=({t:e,children:a})=>t.jsx(Wn.Provider,{value:e,children:a}),Se=()=>{const e=et(Wn);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),Ln)},Wi=({tags:e,onEditTags:a})=>{const n=Se(),[s,i]=x(null),r=ae(()=>e??[],[e]),o=r.slice(0,4),l=Math.max(r.length-o.length,0),c=u=>{i(u.currentTarget)},m=()=>{i(null)},g=!!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(Qe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[o.map(u=>t.jsx(yt,{label:u.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},u.id)),l>0?t.jsx(yt,{label:`+${l}`,size:"small",variant:"outlined",onClick:c,sx:{borderRadius:999}}):null]}),t.jsx(be,{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:u=>u.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:r.length?t.jsx(Mt,{fontSize:"small"}):t.jsx(or,{fontSize:"small"})})]}),t.jsx(Ms,{open:g,anchorEl:s,onClose:m,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(Y,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(Qe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:r.map(u=>t.jsx(yt,{label:u.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},u.id))})]})})]})},_n=lt(null),_i=_n.Provider,dt=()=>et(_n),Bi=ee(Y)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Vi=ee(v)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Yi=ee(v)({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:s,name:i,entityId:r,onEntityUpdated:o})=>{const l=dt(),[c,m]=x(!1),[g,u]=x(!1),[d,h]=x({firstName:n||"",lastName:s||"",name:i||""});K(()=>{h({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const b=async()=>{if(!(!l||!r||!a||a==="unknown")){u(!0);try{let y={};a==="contact"?y={firstName:d.firstName,lastName:d.lastName}:a==="business"&&(y={name:d.name});const S=await l.updateEntity({entityType:a,entityId:r,body:y});S&&o&&o(S),m(!1)}catch(y){console.error("Failed to update name",y)}finally{u(!1)}}},C=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:d.firstName,onChange:y=>h({...d,firstName:y.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(we,{value:d.lastName,onChange:y=>h({...d,lastName:y.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(we,{value:d.name,onChange:y=>h({...d,name:y.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(be,{onClick:b,disabled:g,color:"primary",children:g?t.jsx(qe,{size:24}):t.jsx(Qs,{})})]}):t.jsx(Vi,{children:t.jsxs(Yi,{children:[t.jsx(Bi,{variant:"h6",title:e,children:e}),C&&t.jsx(Hi,{size:"small",onClick:()=>m(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(Xs,{fontSize:"small"})})]})})},Ki=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:r,isDeleting:o})=>{const l=Se();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(Oa,{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(be,{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(lr,{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(v)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Ji=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:r,onPhotoFileChange:o,photoInputRef:l,isUploadingPhoto:c,onDeletePhoto:m,isDeletingPhoto:g,contactType:u,firstName:d,lastName:h,name:b,entityId:C,onEntityUpdated:y})=>{const S=`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:S,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:r,isUploading:c,onDelete:m,isDeleting:g}),t.jsx(Gi,{displayName:a,contactType:u,firstName:d,lastName:h,name:b,entityId:C,onEntityUpdated:y}),t.jsx(Wi,{tags:s,onEditTags:i})]})},qa=20,Qi=e=>{const{popperContainer:a,...n}=e;return t.jsx(cr,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},Xi=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:r,onCreateNew:o,isCreatingNew:l,popperContainer:c})=>{const m=Se(),[g,u]=x(""),[d,h]=x(qa),b=Ps(g),C=ae(()=>a??[],[a]),y=ae(()=>{const D=String(b??"").trim().toLowerCase();return D?C.filter(U=>String(U?.name??"").toLowerCase().includes(D)):C},[C,b]),S=ae(()=>y.slice(0,d),[y,d]),j=ae(()=>{const D=new Map;for(const U of e??[])U?.id&&D.set(String(U.id),U);for(const U of S??[])U?.id&&(D.has(String(U.id))||D.set(String(U.id),U));return Array.from(D.values())},[e,S]),w=(D,U)=>{u(U??""),h(qa)},I=D=>{const U=D;U.scrollTop+U.clientHeight>=U.scrollHeight-24&&h($=>$+qa)},L=()=>{const D=String(g??"").trim(),U=!D||r||l;return t.jsxs(v,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("global.noOptions"),t.jsx(nt,{onClick:()=>o(D),loading:l,disabled:U,variant:"contained",size:"small",sx:{marginTop:1.3},children:m("global.createNew")})]})};return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Qe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(be,{size:"small",onClick:s,"aria-label":m("global.back"),disabled:r,children:t.jsx(Va,{fontSize:"small"})}),t.jsx(Y,{variant:"subtitle1",children:m("tags")}),t.jsx(v,{sx:{flex:1}}),t.jsx(nt,{variant:"contained",size:"small",startIcon:t.jsx(bt,{}),onClick:i,loading:r,disabled:r,children:m("global.save")})]}),t.jsx(za,{multiple:!0,disablePortal:!1,value:e,onChange:(D,U)=>n(U),options:j,filterOptions:D=>D,inputValue:g,onInputChange:w,getOptionLabel:D=>D?.name??"",isOptionEqualToValue:(D,U)=>String(D?.id)===String(U?.id),PopperComponent:D=>t.jsx(Qi,{...D,popperContainer:c}),renderOption:(D,U)=>{const{key:$,...E}=D;return Ns("li",{...E,key:U?.id?String(U.id):String($??U?.name??"")},U.name??"")},renderTags:(D,U)=>D.map(($,E)=>{const V=U({index:E}),{key:H,...O}=V;return t.jsx(yt,{label:$.name??"",...O},$?.id?String($.id):String(H??$?.name??E))}),size:"small",renderInput:D=>t.jsx(we,{...D,size:"small"}),ListboxProps:{onScroll:I,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(L,{}),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 Vn=class extends Error{constructor(a,n,s){super(a),Bn(this,"status"),Bn(this,"body"),this.name="ApiError",this.status=n,this.body=s}};async function Ve({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 Vn(l,r.status,o)}return o}async function to({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 Vn(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 Be(e,a){const n=encodeURIComponent(a);return{CONTACTS:Fe(e,`/contacts/${n}`),MEDIA:Fe(e,`/media/${n}`),SETTINGS:Fe(e,`/settings/${n}`)}}async function ao({baseUrl:e,spaceId:a,signal:n}){const s=Be(e,a),i=Fe(s.CONTACTS,"/labels");return Ve({url:i,signal:n})}async function Yn({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/labels");return Ve({url:r,method:"POST",body:{name:n},signal:s})}async function no({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return Ve({url:r,signal:s})}async function so({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return Ve({url:r,signal:s})}async function ro({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Be(e,a),r=`${Fe(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return Ve({url:r,signal:s})}async function Xe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}){const o=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,l=Be(e,a),c=Fe(l.CONTACTS,o);return Ve({url:c,method:"PUT",body:i,signal:r})}async function io({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/Search");return Ve({url:r,method:"POST",body:n,signal:s})}async function oo({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/business");return Ve({url:r,method:"POST",body:n,signal:s})}async function ba({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/contactAddresses");return Ve({url:r,method:"DELETE",body:n,signal:s})}async function lo({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/contactAddresses/check");return Ve({url:r,method:"POST",body:n,signal:s})}async function co({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,"/contactAddresses/set");return Ve({url:r,method:"POST",body:n,signal:s})}async function uo({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Be(e,a),r=Fe(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return Ve({url:r,method:"PUT",body:n,signal:s})}async function Hn({baseUrl:e,spaceId:a,signal:n}){const s=Be(e,a),i=Fe(s.SETTINGS,"/user");return Ve({url:i,signal:n})}async function po({baseUrl:e,spaceId:a,signal:n}){const s=Be(e,a),i=Fe(s.SETTINGS,"/users");return Ve({url:i,signal:n})}async function mo({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Be(e,a),r=Fe(i.SETTINGS,`/usersInfor/${s}`);return Ve({url:r,signal:n})}async function Gn({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const r=Be(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 to({url:l,formData:o,signal:i})}const Kn=(e,a)=>({fetchLabels:({signal:n}={})=>ao({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>Yn({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>no({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>so({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>io({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>oo({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>ro({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:r})=>Xe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}),deleteAddress:({data:n,signal:s})=>ba({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>ba({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>lo({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>co({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>uo({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>Hn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>po({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>mo({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>Gn({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),qn=()=>!!window?.google?.maps?.places?.Autocomplete,ho=(e=1e4)=>new Promise(a=>{if(qn()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(qn()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),go=()=>{const[e,a]=x(!1),[n,s]=x(!0),[i,r]=x(null);return K(()=>{(async()=>{try{const o=await ho(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}},yo=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=Se(),i=xe(null),r=xe(null),o=xe(e),l=xe(a),{isLoaded:c,isLoading:m,error:g}=go(),u=ae(()=>m?s("searchLocationModal.loadingGoogleMaps"):g?s("searchLocationModal.googleMapsUnavailable"):c?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[c,m,g,n,s]);return K(()=>{o.current=e},[e]),K(()=>{l.current=a},[a]),K(()=>{if(!c||!i.current||r.current)return;const d=window?.google;if(!d?.maps?.places?.Autocomplete){l.current?.(s("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let h=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(y=>{const S=y;S.style.zIndex="20000",S.style.position="fixed"})};h=new MutationObserver(y=>{for(const S of y)for(const j of Array.from(S.addedNodes)){if(j.nodeType!==Node.ELEMENT_NODE)continue;const w=j;w.classList?.contains("pac-container")&&(w.style.zIndex="20000",w.style.position="fixed")}}),h.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),r.current=new d.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const C=r.current.addListener?.("place_changed",()=>{const y=r.current?.getPlace?.();if(!y?.geometry?.location){l.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let S="",j="",w="",I="",L="",D="";const U=y.address_components??[];for(const H of U){const O=H?.types??[];if(O.includes("locality")||O.includes("administrative_area_level_2")){S=H.long_name;continue}if(O.includes("administrative_area_level_1")){j=H.long_name;continue}if(O.includes("country")){w=H.long_name;continue}if(O.includes("postal_code")){I=H.long_name;continue}if(O.includes("route")){L=H.long_name;continue}O.includes("street_number")&&(D=H.long_name)}const $=typeof y.geometry.location.lat=="function"?y.geometry.location.lat():0,E=typeof y.geometry.location.lng=="function"?y.geometry.location.lng():0,V={location:{lat:$,lng:E},address:y.formatted_address??"",city:S,state:j,country:w,postalCode:I,streetName:L,streetNumber:D,shortAddress:[L,D].filter(Boolean).join(" ")};o.current(V)});return()=>{h&&h.disconnect(),C?.remove&&C.remove(),r.current=null}},[c,s]),t.jsx(we,{fullWidth:!0,size:"small",inputRef:i,placeholder:u,disabled:m||!c||!!g,error:!!g})},fo={street:"",city:"",state:"",zipcode:"",country:""},xo=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:r})=>{const o=Se(),[l,c]=x(fo),[m,g]=x(""),[u,d]=x(""),[h,b]=x(!1),[C,y]=x(!1),S=ae(()=>!!(String(l.street??"").trim()||String(l.city??"").trim()||String(l.state??"").trim()||String(l.zipcode??"").trim()||String(l.country??"").trim()),[l]),j=$=>{g($.address??"");const E=String($.shortAddress??"").trim()||[$.streetName,$.streetNumber].filter(Boolean).join(" ").trim();c({street:E,city:$.city??"",state:$.state??"",zipcode:$.postalCode??"",country:$.country??""}),d("")},w=$=>{d(String($??""))},I=$=>E=>{const V=E.target.value;c(H=>({...H,[$]:V}))},L=async()=>{if(!h&&!(!e||!a)&&s){b(!0);try{const $=await Xe({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?.($),i()}finally{b(!1)}}},D=async()=>{if(!C&&!(!e||!a)&&s){y(!0);try{const $=await Xe({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?.($),i()}finally{y(!1)}}},U=!S||h||C;return t.jsxs(v,{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(v,{sx:{position:"relative",zIndex:1400},children:[t.jsx(yo,{onPlaceSelected:j,onError:w,placeholder:o("searchLocationModal.enterLocation")}),u?t.jsx(Y,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:u}):null]}),t.jsx(we,{label:o("conversations.contactDetails.street"),value:l.street,onChange:I("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:I("city"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.state"),value:l.state,onChange:I("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:I("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(we,{label:o("searchLocationModal.country"),value:l.country,onChange:I("country"),fullWidth:!0,size:"medium"})]}),m?t.jsx(Y,{variant:"caption",sx:{opacity:.7},children:m}):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(bt,{}),onClick:L,loading:h,disabled:U,children:o("searchLocationModal.saveMainAddress")}),t.jsx(nt,{variant:"outlined",size:"large",startIcon:t.jsx(bt,{}),onClick:D,loading:C,disabled:U,children:o("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Ja(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 Jn(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:s}){const i=xe(null),r=ae(()=>!a||!n?null:Kn(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&&r&&s),[e,r,s]);K(()=>{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 m=ae(()=>!!(e&&r),[e,r]);K(()=>{if(!m||!r)return;const d=new AbortController;return l(h=>({...h,labelsLoading:!0,labelsError:null})),r.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()}},[r,m]),K(()=>{if(!c||!r)return;i.current?.abort();const d=new AbortController;return i.current=d,l(h=>({...h,isLoading:!0,error:null,contactData:null})),r.fetchContact({contactId:s,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()}},[r,c,s]);const g=ae(()=>!!(e&&r),[e,r]);K(()=>{if(!g||!r)return;const d=new AbortController;return l(h=>({...h,userLoading:!0,userError:null})),r.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()}},[r,g]);const u=ae(()=>{const d=o.contactData,h=Ja(d),b=Jn(d);let C="unknown";h&&(C="business"),b&&(C="contact");let y="Unknown Contact";h?y=d.name:b&&(y=`${d.firstName} ${d.lastName}`.trim());const S=d?.tags??[];return{isBusiness:h,isContact:b,contactType:C,displayName:y,tags:S,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 K(()=>{if(!e||!r)return;const d=o.contactData,h=Ja(d),b=Jn(d),C=h?"business":b?"contact":null;if(!C)return;const y=new AbortController;return l(S=>({...S,contactFieldsLoading:!0,contactFieldsError:null})),r.fetchContactFields({forType:C,signal:y.signal}).then(S=>{l(j=>({...j,contactFields:S,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(S=>{y.signal.aborted||l(j=>({...j,contactFieldsLoading:!1,contactFieldsError:S}))}),()=>{y.abort()}},[r,e,o.contactData]),{state:o,selectors:u,actions:{setContactData:d=>l(h=>({...h,contactData:d??null})),clearError:()=>l(d=>({...d,error:null}))}}}const Vt=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:r})=>{const[o,l]=x(i??""),[c,m]=x(null),[g,u]=x(!1),[d,h]=x(!1),b=xe(null),C=ae(()=>!!(e&&a&&n&&s),[e,a,n,s]);function y(E){return E.split("?sv=")[0]}function S(E){return E.split("&cacheId=")[0]}function j(E){let V=y(E);return!V||(V=S(V),!V)?"":V}const w=async()=>{if(!e||!a)return null;const E=await Hn({baseUrl:e,spaceId:a});return m(E),E},I=async E=>{const V=(c??await w())?.storageAzureSAS,H=V?.expireAt,O=H?new Date(H):null;let J=V?.sas??"";if((!J||O&&O<new Date)&&(J=(await w())?.storageAzureSAS?.sas??""),!J)return E;const F=`${Date.now()}`;return`${E}${J}&cacheId=${F}`},L=async E=>{if(!E){l("");return}const V=y(E);if(!V)return;const H=await I(V);l(H)},D=async E=>{const V=E.target.files?.[0];if(V&&C){b.current&&(b.current.value=""),u(!0);try{const H=await Gn({baseUrl:e,spaceId:a,contactId:s,file:V}),O=await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:H}});r?.(O),await L(H)}finally{u(!1)}}},U=()=>{b.current?.click()},$=async()=>{if(C&&!d){h(!0);try{await Xe({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),r?.({imageUrl:""}),l("")}finally{h(!1)}}};return K(()=>{if(!i){l("");return}L(i)},[i]),{inputAtributes:{onChange:D,ref:b,type:"file",accept:"image/*"},action:{uploadImage:U,deleteImage:$},imageUrl:o,removeParams:j,isUploading:g,isDeleting:d}},Ie=(e,a)=>{const[n,s]=x(a||""),[i,r]=x(!1),[o,l]=x("");return K(()=>{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)}}}},Qn=(e="")=>{const[a,n]=x(e),s=o=>{n(o.target.value)},i=o=>{n(o)},r=()=>{n(e??"")};return K(()=>{n(e)},[e]),{actions:{resetValue:r,changeValue:i},attributes:{value:a,onChange:s}}};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 ze=[];for(let e=0;e<256;++e)ze.push((e+256).toString(16).slice(1));function jo(e,a=0){return ze[e[a+0]]+ze[e[a+1]]+ze[e[a+2]]+ze[e[a+3]]+"-"+ze[e[a+4]]+ze[e[a+5]]+"-"+ze[e[a+6]]+ze[e[a+7]]+"-"+ze[e[a+8]]+ze[e[a+9]]+"-"+ze[e[a+10]]+ze[e[a+11]]+ze[e[a+12]]+ze[e[a+13]]+ze[e[a+14]]+ze[e[a+15]]}const wo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var Xn={randomUUID:wo};function Qa(e,a,n){if(Xn.randomUUID&&!a&&!e)return Xn.randomUUID();e=e||{};const s=e.random||(e.rng||Co)();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 jo(s)}function So(e){return{id:Qa(),address:"",note:"",channelType:e,isSaved:!1}}var Ca={createNewAddress:So};const Io=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},Eo=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var Tt={getEditedField:Io,getAddressesWithUpdatedValues:Eo};const Zn=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,r]=x(!1),[o,l]=x(()=>a),[c,m]=x(a?.ims_facebook||[]),[g,u]=x(a?.ims_mercadolibre||[]),[d,h]=x(a?.ims_webchat||[]),[b,C]=x(a?.ims_instagram||[]),[y,S]=x(a?.ims_whatsapp||[]),[j,w]=x(a?.emails||[]),[I,L]=x(a?.phones||[]),[D,U]=x(a?.ims_rcs||[]),$=()=>{const P=Ca.createNewAddress(Et.PHONE),T=[...I,P];L(T)},E=()=>{const P=Ca.createNewAddress(Et.EMAIL),T=[...j,P];w(T)},V=()=>{const P=Ca.createNewAddress(Et.WHATSAPP),T=[...y,P];S(T)},H=()=>{const P=Ca.createNewAddress(Et.RCS),T=[...D,P];U(T)},O=P=>{const T=[...y,P];S(T),l(_=>({..._??{},ims_whatsapp:T}))},J=(P,T)=>{if(T){if(T.channelType===3){const _=j.map(R=>R.id===P?T:R);w(_),l(R=>({...R??{},emails:_}))}if(T.channelType===5){const _=I.map(R=>R.id===P?T:R);L(_),l(R=>({...R??{},phones:_}))}if(T.channelType===13){const _=y.map(R=>R.id===P?T:R);S(_),l(R=>({...R??{},ims_whatsapp:_}))}if(T.channelType===21){const _=D.map(R=>R.id===P?T:R);U(_),l(R=>({...R??{},ims_rcs:_}))}if(T.channelType===41){const _=g.map(R=>R.id===P?T:R);u(_),l(R=>({...R??{},ims_mercadolibre:_}))}}},F=async(P,T,_)=>{const R=P.target.value;if(_===3){const B=Tt.getAddressesWithUpdatedValues(R,T,j);w(B)}else if(_===5){const B=Tt.getAddressesWithUpdatedValues(R,T,I);L(B)}else if(_===13){const B=Tt.getAddressesWithUpdatedValues(R,T,y);S(B)}else if(_===21){const B=Tt.getAddressesWithUpdatedValues(R,T,D);U(B)}else if(_===41){const B=Tt.getAddressesWithUpdatedValues(R,T,g);u(B)}},se=(P,T,_)=>{if(_===14){const R=c.map(B=>B.id===T?{...B,note:P.target.value}:B);m(R)}if(_===20){const R=d.map(B=>B.id===T?{...B,note:P.target.value}:B);h(R)}if(_===16){const R=b.map(B=>B.id===T?{...B,note:P.target.value}:B);C(R)}if(_===3){const R=j.map(B=>B.id===T?{...B,note:P.target.value}:B);w(R)}if(_===5){const R=I.map(B=>B.id===T?{...B,note:P.target.value}:B);L(R)}if(_===13){const R=y.map(B=>B.id===T?{...B,note:P.target.value}:B);S(R)}if(_===21){const R=D.map(B=>B.id===T?{...B,note:P.target.value}:B);U(R)}if(_===41){const R=g.map(B=>B.id===T?{...B,note:P.target.value}:B);u(R)}},N=async(P,T)=>{if(e&&(T===3||T===5||T===13||T===14||T===20||T===16||T===21||T===41)){r(P);const _={contactId:e,contactAddressId:P,type:T};switch(n?await n(s(_)):await s(_),r(!1),T){case 3:const R=j.filter(Z=>Z.id!==P);w(R),l(Z=>({...Z??{},emails:R}));break;case 5:const B=I.filter(Z=>Z.id!==P);L(B),l(Z=>({...Z??{},phones:B}));break;case 13:const X=y.filter(Z=>Z.id!==P);S(X),l(Z=>({...Z??{},ims_whatsapp:X}));break;case 21:const oe=D.filter(Z=>Z.id!==P);U(oe),l(Z=>({...Z??{},ims_rcs:oe}));break;case 41:const ge=g.filter(Z=>Z.id!==P);u(ge),l(Z=>({...Z??{},ims_mercadolibre:ge}));break;case 14:const ve=c.filter(Z=>Z.id!==P);m(ve),l(Z=>({...Z??{},ims_facebook:ve}));break;case 20:const De=d.filter(Z=>Z.id!==P);h(De),l(Z=>({...Z??{},ims_webchat:De}));break;case 16:const te=b.filter(Z=>Z.id!==P);C(te),l(Z=>({...Z??{},ims_instagram:te}));break}}};function z(){m(o?.ims_facebook||[]),u(o?.ims_mercadolibre||[]),h(o?.ims_webchat||[]),C(o?.ims_instagram||[]),S(o?.ims_whatsapp||[]),U(o?.ims_rcs||[]),w(o?.emails||[]),L(o?.phones||[])}return K(()=>{l(a),a?.emails&&a?.phones&&(w(a.emails),L(a.phones)),S(a?.ims_whatsapp||[]),U(a?.ims_rcs||[]),m(a?.ims_facebook||[]),h(a?.ims_webchat||[]),C(a?.ims_instagram||[]),u(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:y,imsRCS:D,imsMercadolibre:g,imsFacebooks:c,imsWebchats:d,imsInstagrams:b,emails:j,phoneNumbers:I},action:{handleAddressFieldChange:F,handleNoteFieldChange:se,handleDeleteAddress:N,addPhone:$,addEmail:E,addWhatsapp:V,addRCS:H,replaceAddress:J,addWhatsappVerified:O,resetToInitialContactInformation:z},state:{isDeletingAddress:i}}},es=({initialState:e=[]}={})=>{const[a,n]=x(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)}}}},To=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=ae(()=>async ye=>{!n||!s||await ba({baseUrl:n,spaceId:s,data:ye})},[n,s]),r=async ye=>ye,[o,l]=x([]),c=Ie("text",e?.name||""),m=Vt({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),g=Qn(e?.owner),u=es({initialState:e?.tags??[]}),[d,h]=x([]),{field:{imsFacebooks:b,imsMercadolibre:C,imsWebchats:y,imsInstagrams:S,imsWhatsapp:j,emails:w,phoneNumbers:I,imsRCS:L},action:{addPhone:D,addEmail:U,addWhatsapp:$,addRCS:E,addWhatsappVerified:V,replaceAddress:H,handleAddressFieldChange:O,handleNoteFieldChange:J,handleDeleteAddress:F,resetToInitialContactInformation:se},state:{isDeletingAddress:N}}=Zn({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),z=Ie("text",e?.address1?.street||""),P=Ie("text",e?.address2?.street||""),T=Ie("text",e?.address1?.city||""),_=Ie("text",e?.address2?.city||""),R=Ie("text",e?.address1?.state||""),B=Ie("text",e?.address2?.state||""),X=Ie("text",e?.address1?.zipcode||""),oe=Ie("text",e?.address2?.zipcode||""),ge=Ie("text",e?.address1?.country||""),ve=Ie("text",e?.address2?.country||""),De=(ye,Ee,Ce)=>Ee!==Ce&&!(Ee===null&&Ce==="")?{[ye]:Ce}:{},te=()=>{if(!e)return null;const ye={street:z.attributes.value,city:T.attributes.value,state:R.attributes.value,zipcode:X.attributes.value,country:ge.attributes.value},Ee={street:P.attributes.value,city:_.attributes.value,state:B.attributes.value,zipcode:oe.attributes.value,country:ve.attributes.value};return{id:e.id,...De("owner",e.owner,g.attributes.value),...De("name",e.name,c.attributes.value),imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,tags:u.attributes.value,properties:o,members:d,phoneNumbers:I,emails:w,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 ke=o.map(q=>q.nameKey===ye?{...q,value:Ce.value}:q);l(ke)}const Ge=()=>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 ke=o.find(q=>q.nameKey===ye.nameKey);return{nameKey:ye.nameKey,type:ye.type,value:ke?ke.value:""}}):[];return K(()=>{e&&a&&l(Ge())},[e,a]),K(()=>{e&&u.actions.setValue(e.tags??[])},[e]),{field:{name:c,imsWhatsapp:j,imsRCS:L,contactImage:m,contactPropietary:g,imsMercadolibre:C,imsFacebooks:b,imsWebchats:y,imsInstagrams:S,emails:w,phoneNumbers:I,homeAddress:z,secondaryHomeAddress:P,city:T,secondaryCity:_,state:R,secondaryState:B,postalCode:X,secondaryPostalCode:oe,country:ge,secondaryCountry:ve,customProperties:o,labelMultipleSelect:u},action:{setCustomProperties:l,addWhatsapp:$,addRCS:E,getEditedBusiness:te,handleAddressFieldChange:O,handleNoteFieldChange:J,handleDeleteAddress:F,addPhone:D,addEmail:U,replaceAddress:H,addWhatsappVerified:V,resetToInitialContactInformation:se,resetCustomProperty:Z},state:{isDeletingAddress:N},selectedContacts:d,setSelectedContacts:h}},Do=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=ae(()=>async q=>{!n||!s||await ba({baseUrl:n,spaceId:s,data:q})},[n,s]),r=async q=>q,{getEditedField:o}=Tt,[l,c]=x([]),m=Ie("text",e?.firstName||""),g=Ie("text",e?.lastName||""),u=Vt({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[d,h]=x(e?.birthDate?Q(e.birthDate):null),b=Zn({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),{field:{imsFacebooks:C,imsMercadolibre:y,imsWebchats:S,imsInstagrams:j,imsWhatsapp:w,emails:I,phoneNumbers:L,imsRCS:D},action:{addPhone:U,addEmail:$,addWhatsapp:E,addRCS:V,addWhatsappVerified:H,replaceAddress:O,handleAddressFieldChange:J,handleNoteFieldChange:F,handleDeleteAddress:se,resetToInitialContactInformation:N},state:{isDeletingAddress:z}}=b,P=es({initialState:e?.tags}),T=Qn(e?.owner),_=Ie("text",e?.address1?.street),R=Ie("text",e?.address2?.street),B=Ie("text",e?.address1?.city),X=Ie("text",e?.address2?.city),oe=Ie("text",e?.address1?.state),ge=Ie("text",e?.address2?.state),ve=Ie("text",e?.address1?.zipcode),De=Ie("text",e?.address2?.zipcode),te=Ie("text",e?.address1?.country),Z=Ie("text",e?.address2?.country),Ge=()=>{if(!e)return null;const q=e,ie=P.attributes.value.map(le=>({id:le.id,name:le.name})),de=L.map(le=>{const{id:jt,...$e}=le;return $e}),Ae=I.map(le=>{const{id:jt,...$e}=le;return $e});return{id:q.id,owner:T.attributes.value,firstName:m.attributes.value,lastName:g.attributes.value,address1:{...o("street",q.address1?.street,_.attributes.value),...o("city",q.address1?.street,B.attributes.value),...o("state",q.address1?.street,oe.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:Ae,phones:de,tags:ie,imageUrl:u.imageUrl?u.removeParams(u.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 ie=le=>le.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),de=e.properties.find(le=>le.nameKey===q)??e.properties.find(le=>ie(le.nameKey)===ie(q));if(!de){console.error(`No se encontr\xF3 una propiedad con nameKey: ${q}`);return}const Ae=l.map(le=>le.nameKey===q?{...le,value:de.value}:le);c(Ae)}const ke=()=>e?a.map(q=>{const ie=le=>le.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),de=e.properties.find(le=>le.nameKey===q.nameKey)??e.properties.find(le=>ie(le.nameKey)===ie(q.nameKey));if(de)return{...de,nameKey:q.nameKey,type:de.type??q.type,value:de.value};const Ae=l.find(le=>le.nameKey===q.nameKey);return{nameKey:q.nameKey,type:q.type,value:Ae?Ae.value:""}}):[];return K(()=>{e&&a&&c(ke())},[e,a]),K(()=>{e?.tags&&P.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:d,imsWhatsapp:w,imsRCS:D,contactFirstname:m,contactLastname:g,contactImage:u,contactPropietary:T,imsMercadolibre:y,imsFacebooks:C,imsWebchats:S,imsInstagrams:j,emails:I,phoneNumbers:L,homeAddress:_,secondaryHomeAddress:R,city:B,secondaryCity:X,state:oe,secondaryState:ge,postalCode:ve,secondaryPostalCode:De,country:te,secondaryCountry:Z,customProperties:l,labelMultipleSelect:P},action:{setBirthDate:h,setCustomProperties:c,getEditedContact:Ge,handleAddressFieldChange:J,handleNoteFieldChange:F,handleDeleteAddress:se,addPhone:U,addEmail:$,addWhatsapp:E,addRCS:V,replaceAddress:O,addWhatsappVerified:H,resetToInitialContactInformation:N,resetSelectedBusiness:ye,resetBirthDate:Ee,resetCustomProperty:Ce},state:{isDeletingAddress:z}}},Xa=lt(null),ko=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=Do({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(Xa.Provider,{value:{entityType:"contact",editEntity:r,entityId:String(a.id)},children:e})},Ao=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=To({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(Xa.Provider,{value:{entityType:"business",editEntity:r,entityId:String(a.id)},children:e})},$o=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r})=>a==="contact"?t.jsx(ko,{contact:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}):t.jsx(Ao,{business:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}),st=()=>{const e=et(Xa);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},Dt=({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},ja=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=Se();return t.jsxs(v,{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(Ne,{startIcon:t.jsx(dr,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:i("global.searchLocation")})]}),t.jsx(bn,{sx:{my:1.5}}),a]})},ts=({children:e,...a})=>t.jsx(v,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),Uo=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Dn,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},Fo={view:"main",setView:()=>{}},as=lt(null),Po=as.Provider,No=()=>et(as)||(console.warn("[useEditContactView] using noop, context value is missing"),Fo),ns=()=>{},ss=lt(ns),Ro=({navigate:e,children:a})=>t.jsx(ss.Provider,{value:e,children:a}),Mo=()=>et(ss)||(console.warn("[useNavigateContext] using noop, context value is falsy"),ns);function Oo({value:e,displayValue:a,businessId:n}){const s=dt(),i=Mo(),[r,o]=x(null),l=Vt({initialImageUrl:r?.imageUrl,entityType:"business",entityId:n}),[c,m]=x(null),[g,u]=x(!1);return t.jsxs(v,{display:"flex",alignItems:"center",children:[t.jsx(Y,{onClick:async d=>{const h=d.currentTarget;if(u(!0),!s){console.error("API is null");return}const b=await s.fetchBusiness({businessId:n});if(b&&Ja(b)&&o(b),u(!1),!h){console.error("Target element is null");return}m(h)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:d=>d.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),r&&t.jsx(zn,{contactData:r,open:!!c,anchorEl:c,onClose:()=>m(null),navigate:i,avatarImgUrl:l.imageUrl}),g&&t.jsx(v,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(qe,{size:20})})]})}const zo=e=>"email"in e,Za=e=>e.entityType==="contact"&&e.inputType==="birthday",Lo=ee(be)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),rs=ee(be)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),ut=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:r,spaceId:o,minWidth:l,onEntityUpdated:c}=e,m=Se(),{setView:g}=No(),u=e.inputType??"text",[d,h]=x(!1),[b,C]=x(!1),y=xe(null),[S,j]=x(!1),[w,I]=x(()=>e.entityType==="business"||typeof n=="string"?n:void 0);K(()=>{const F=y.current;if(!F)return;const se=()=>{const N=F.scrollWidth>F.clientWidth;j(z=>z===N?z:N)};if(se(),typeof ResizeObserver<"u"){let N=0;const z=new ResizeObserver(()=>{if(typeof window>"u"){se();return}N&&window.cancelAnimationFrame(N),N=window.requestAnimationFrame(()=>{se()})});return z.observe(F),()=>{typeof window<"u"&&N&&window.cancelAnimationFrame(N),z.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}},[a]),K(()=>{e.entityType==="business"?I(n):I(typeof n=="string"?n:void 0)},[n,e.entityType]);const L=()=>{if(e.entityType==="contact"&&u==="selectBusiness"){g("businessSelect");return}h(F=>!F)},D=F=>{I(F.target.value)},U=F=>{const se=F.target.value;I(se)},$=()=>{Za(e)&&e.contact.action.resetBirthDate(),h(!1)},E=async()=>{if(!e.constructUpdateObject){h(!1);return}if(e.entityType==="business"&&w===void 0){h(!1);return}C(!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(Za(e)){const P=Q(e.contact.field.birthDate);P.isValid()&&(F=P.toISOString())}const se=e.constructUpdateObject(F),N=e.entityId??se?.id;if(!N)throw new Error("Missing contactId for updateEntity");const z=await Xe({baseUrl:r,spaceId:o,entityType:"contact",entityId:N,body:se});c?.(z)}else{const F=e.constructUpdateObject(w),se=e.entityId??F?.id;if(!se)throw new Error("Missing businessId for updateEntity");const N=await Xe({baseUrl:r,spaceId:o,entityType:"business",entityId:se,body:F});c?.(N)}}finally{C(!1),h(!1)}},V=typeof w=="string"?w:"",H=w instanceof Date?w.toISOString():typeof w=="string"?w:"",O=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:O,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(v,{display:"flex",position:"relative",minHeight:"25px",children:[S?t.jsx(ct,{title:a,arrow:!0,children:t.jsx(Y,{ref:y,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:F=>F.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(Y,{ref:y,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:F=>F.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:d?t.jsxs(t.Fragment,{children:[t.jsx(rs,{size:"small",onClick:E,children:b?t.jsx(qe,{size:24}):t.jsx(bt,{})}),t.jsx(rs,{size:"small",onClick:$,children:t.jsx(kn,{})})]}):t.jsx(Lo,{className:"edit-icon",size:"small",onClick:L,children:t.jsx(Mt,{})})]}),t.jsx(v,{width:d?"100%":"50%",position:"relative",children:d&&u==="text"?t.jsx(we,{value:H,onChange:D,variant:"standard",size:"small",sx:{width:"100%"}}):d&&(u==="select"||u==="selectMembers")?t.jsxs(da,{value:V,onChange:U,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(tt,{value:"",children:m("conversations.contactDetails.contactInfo.emptySelection")}):null,J.map((F,se)=>t.jsx(tt,{value:F.id,children:e.entityType==="contact"?F.name?.trim()||(zo(F)?F.email:"")||"Sin nombre":F.name?.trim()||F.email||"Sin nombre"},se))]}):d&&Za(e)?t.jsx(Uo,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!d&&e.entityType==="contact"&&u==="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:F=>F.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Yt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:m,contactId:g,onEntityUpdated:u}=e;if(e.inputType==="birthday")return t.jsx(ut,{entityType:"contact",entityId:g,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:r,constructUpdateObject:o,contact:e.contact,businessId:l,baseUrl:c,spaceId:m,dateFormat:e.dateFormat,onEntityUpdated:u});const d=e.inputType??"text";return t.jsx(ut,{entityType:"contact",entityId:g,title:a,value:n,isNotEditable:s,inputType:d,options:i,displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:m,onEntityUpdated:u})},Wo=({nameKey:e,value:a,onChange:n,type:s})=>{const i=c=>{s===ce.NUMBER_ACCOUNTING||s===ce.NUMBER_DECIMAL||s===ce.NUMBER_CURRENCY||s===ce.CURRENCY?o(c):s===ce.NUMBER_INTEGER?l(c):(s===ce.LONGTEXT||s===ce.TEXT||s===ce.ADDRESS)&&r(c)},r=c=>{n(e,c.target.value)},o=c=>{const m=c.target.value.replace(/[^0-9.]/g,"");n(e,m)},l=c=>{const m=c.target.value;/^\d*$/.test(m)&&n(e,m)};return t.jsx(we,{size:"small",variant:"standard",value:a,onChange:i,inputProps:{pattern:"[0-9]*"},multiline:s===ce.LONGTEXT,rows:s===ce.LONGTEXT?4:1,sx:{width:"100%"}})},_o=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(Dn,{value:e?Q(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Bo=({handleChange:e,value:a,options:n})=>{const s=Se();return t.jsx(La,{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:s("global.noValue")}),n.map((i,r)=>t.jsx(tt,{value:i,children:i},r))]})})},Vo=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(ur,{value:e?Q(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Yo=({value:e,handleChange:a,userTimeFormat:n})=>{const s=Se(),i=[Q().set("hour",0).set("minute",0),Q().set("hour",0).set("minute",0)],r=n==="24"?"HH:mm":"hh:mm";return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(pr,{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})})})},Ho=({value:e,handleChange:a,userDateFormat:n})=>{const s=Se(),i=[Q(),Q()],r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(mr,{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})})})},Go=ee(be)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),is=ee(be)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Ko=ee(v)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),os=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"})),ls=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:r,baseUrl:o,spaceId:l,onEntityUpdated:c})=>{const{customProperties:m}=a.field,{setCustomProperties:g}=a.action,[u,d]=x(!1),[h,b]=x(!1),C=xe(null),[y,S]=x(!1),j=(r?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),w=r?.regCon_timeFormat||"24",I=z=>z===ce.NUMBER_INTEGER||z===ce.NUMBER_DECIMAL||z===ce.NUMBER_CURRENCY||z===ce.NUMBER_ACCOUNTING||z===ce.CURRENCY,L=(z,P)=>z.toLowerCase()==="dni"?!0:I(P),D=(z,P,T)=>{if(T===""||T===null||T===void 0)return null;if(L(z,P)){const _=Number(T);return Number.isNaN(_)?T:_}return T},U=()=>d(z=>!z),$=()=>{d(!1),a.action.resetCustomProperty(e.nameKey)},E=async()=>{if(!o||!l||!s)return;b(!0);const z=m.find(X=>X.nameKey===e.nameKey)||e,{nameKey:P,value:T}=z,_=i.find(X=>X.nameKey===P)?.type??z.type;let R;if(_===ce.TIME){const X=Q(T);X.isValid()?R=X.format(w==="24"?"HH:mm":"hh:mm"):R=T}else if(_===ce.DATE){const X=Q(T);X.isValid()?R=X.toISOString():R=T}else R=D(P,_,T);const B={properties:[{nameKey:P,type:_,value:R}]};try{const X=await Xe({baseUrl:o,spaceId:l,entityType:n,entityId:s,body:B}),oe=m.map(ge=>ge.nameKey===P?{...ge,type:_,value:R}:ge);g(oe),c?.(X)}finally{b(!1),d(!1)}},V=z=>i.find(P=>P.nameKey===z)?.name||z;K(()=>{const z=C.current;if(!z)return;const P=()=>{const T=z.scrollWidth>z.clientWidth;S(_=>_===T?_:T)};if(P(),typeof ResizeObserver<"u"){let T=0;const _=new ResizeObserver(()=>{if(typeof window>"u"){P();return}T&&window.cancelAnimationFrame(T),T=window.requestAnimationFrame(()=>{P()})});return _.observe(z),()=>{typeof window<"u"&&T&&window.cancelAnimationFrame(T),_.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}},[i,e.nameKey]);const H=(z,P)=>{const T=e.type===ce.DATERANGE?Array.isArray(P)&&P[0]&&P[1]?`${Q(P[0]).toISOString()} - ${Q(P[1]).toISOString()}`:"":e.type===ce.DATE?Q(P).isValid()?Q(P).toISOString():"Invalid Date":e.type===ce.TIME?Q(P).isValid()?Q(P).toISOString():"Invalid Time":P,_=m.map(R=>R.nameKey===z?{...R,value:T}:R);g(_)},{type:O,nameKey:J,value:F}=e,se=z=>z==null?!1:typeof z=="string"?z.trim().length>0:!0,N=()=>O===ce.DATE?t.jsx(_o,{value:F?Q(F):null,handleChange:z=>H(J,z?.toDate()),dateFormat:j}):O===ce.TIME?t.jsx(Vo,{value:e?.valueDate?Q(e.valueDate):F?Q(F):null,handleChange:z=>H(J,z),userTimeFormat:w}):O===ce.DATERANGE?t.jsx(Ho,{value:F&&typeof F=="string"&&F.includes(" - ")?[Q(F.split(" - ")[0]),Q(F.split(" - ")[1])]:null,handleChange:z=>H(J,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userDateFormat:j}):O===ce.TIMERANGE?t.jsx(Yo,{value:Array.isArray(F)&&F.length===2?[Q(F[0]),Q(F[1])]:null,handleChange:z=>H(J,[z[0]?.toDate?.(),z[1]?.toDate?.()]),userTimeFormat:w}):O===ce.OPTIONS?t.jsx(Bo,{value:typeof F=="string"?F:"",handleChange:z=>H(J,z),options:i.find(z=>z.nameKey===J)?.typeOptions??[]}):t.jsx(Wo,{type:O,nameKey:J,value:F,onChange:H});return t.jsxs(Ko,{className:`fadein ${e.type===ce.LONGTEXT?"contacts-col-12":"contacts-col-5"}`,children:[t.jsxs(v,{display:"flex",position:"relative",minHeight:"25px",alignItems:"center",children:[y?t.jsx(ct,{title:V(e.nameKey),arrow:!0,children:t.jsx(os,{ref:C,flexGrow:1,noWrap:!0,children:V(e.nameKey)})}):t.jsx(os,{ref:C,flexGrow:1,noWrap:!0,children:V(e.nameKey)}),u?t.jsxs(t.Fragment,{children:[t.jsx(is,{size:"small",onClick:E,children:h?t.jsx(qe,{size:24}):t.jsx(bt,{})}),t.jsx(is,{size:"small",onClick:$,children:t.jsx(kn,{})})]}):t.jsx(Go,{className:"edit-icon",size:"small",onClick:U,children:t.jsx(Mt,{})})]}),t.jsx(v,{width:u||e.type===ce.LONGTEXT?"100%":"50%",position:"relative",children:u?N():t.jsx(qo,{children:se(e?.value)?e.type===ce.DATERANGE?(()=>{if(typeof e.value=="string"){const z=e.value.split(" - ");if(z.length===2){const[P,T]=z,_=Q(P),R=Q(T);return`${_.isValid()?_.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(w==="24"?"HH:mm":"hh:mm")} - ${Q(e.value[1]).format(w==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===ce.TIME?(()=>{try{const z=e.valueDate||e.value;return`${Q(z).format(w==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===ce.DATE?(()=>{try{return`${Q(e.value).format(j)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Jo=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,c=Se(),{entityType:m,editEntity:g}=st(),u=dt();if(m!=="contact")return null;const[d,h]=x([]),[b,C]=x(null),[y,S]=x(null),[j,w]=x(null),I=g;K(()=>{if(!u)return;const E=new AbortController;return u.fetchUsers({signal:E.signal}).then(V=>{E.signal.aborted||h(V??[])}).catch(()=>{E.signal.aborted||h([])}),()=>{E.abort()}},[u]),K(()=>{const E=new AbortController,V=async H=>{if(!H||!u)return null;try{const O=await u.fetchUserTriiById({userId:H,signal:E.signal});return O?.display_name||O?.email||null}catch{return null}};return(async()=>{const H=Dt({userId:n.owner,users:d,currentUser:o})??(n.owner?await V(n.owner):null),O=Dt({userId:n.createdBy??void 0,users:d,currentUser:o})??(n.createdBy?await V(n.createdBy):null),J=Dt({userId:n.updatedBy??void 0,users:d,currentUser:o})??(n.updatedBy?await V(n.updatedBy):null);E.signal.aborted||(C(H),w(O),S(J))})(),()=>{E.abort()}},[u,n,d,o]);const L=(a||"YYYY/MM/DD").toUpperCase(),D=I.field.birthDate,U=D?.isValid()?D.format(L):null,$=E=>{const V=new Date;let H=V.getFullYear()-E.getFullYear();const O=V.getMonth()-E.getMonth();return(O<0||O===0&&V.getDate()<E.getDate())&&H--,H};return t.jsx(ja,{title:"General",children:t.jsxs(ts,{children:[t.jsx(Yt,{title:c("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:d,constructUpdateObject:E=>({owner:typeof E=="string"?E:""}),contact:I,baseUrl:i,spaceId:r,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:I,baseUrl:i,spaceId:r,contactId:n.id,onEntityUpdated:l}),t.jsx(Yt,{title:c("conversations.contactDetails.createdBy"),value:j||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Yt,{title:c("conversations.contactDetails.modifiedBy"),value:y||"-",isNotEditable:!0,contact:I,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Yt,{title:c("global.birthdate"),inputType:"birthday",displayValue:D?`${U} (${$(D.toDate())})`:"-",value:D?D.toISOString():"",constructUpdateObject:E=>({birthDate:E}),contact:I,baseUrl:i,spaceId:r,contactId:n.id,dateFormat:a,onEntityUpdated:l}),I.field.customProperties.map(E=>t.jsx(ls,{property:E,entity:I,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},E.nameKey))]})})},en=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,businessId:m,onEntityUpdated:g})=>t.jsx(ut,{entityType:"business",entityId:m,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,onEntityUpdated:g}),Qo=e=>{const a=Se(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,{entityType:c,editEntity:m}=st(),g=dt();if(c!=="business")return null;const[u,d]=x([]),[h,b]=x(null),[C,y]=x(null),[S,j]=x(null),w=m;return K(()=>{if(!g)return;const I=new AbortController;return g.fetchUsers({signal:I.signal}).then(L=>{I.signal.aborted||d(L??[])}).catch(()=>{I.signal.aborted||d([])}),()=>{I.abort()}},[g]),K(()=>{const I=new AbortController,L=async D=>{if(!D||!g)return null;try{const U=await g.fetchUserTriiById({userId:D,signal:I.signal});return U?.display_name||U?.email||null}catch{return null}};return(async()=>{const D=Dt({userId:n.owner,users:u,currentUser:o})??(n.owner?await L(n.owner):null),U=Dt({userId:n.createdBy??void 0,users:u,currentUser:o})??(n.createdBy?await L(n.createdBy):null),$=Dt({userId:n.updatedBy??void 0,users:u,currentUser:o})??(n.updatedBy?await L(n.updatedBy):null);I.signal.aborted||(b(D),j(U),y($))})(),()=>{I.abort()}},[g,n,u,o]),t.jsx(ja,{title:"General",children:t.jsxs(ts,{children:[t.jsx(en,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:h||"-",inputType:"select",options:u,constructUpdateObject:I=>({owner:typeof I=="string"?I:""}),baseUrl:i,spaceId:r,businessId:n.id,onEntityUpdated:l}),t.jsx(en,{title:a("conversations.contactDetails.createdBy"),value:S||"-",isNotEditable:!0}),t.jsx(en,{title:a("conversations.contactDetails.modifiedBy"),value:C||"-",isNotEditable:!0}),w.field.customProperties.map(I=>t.jsx(ls,{property:I,entity:w,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},I.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,s]=x("");return{isOpen:e,title:n,openModal:i=>{s(i),a(!0)},closeModal:()=>{a(!1),s("")}}},el=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"})),tl=Ue(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),al=Ue(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),nl=Ue(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),sl=Ue(Oa)(({})=>({width:32,height:32,cursor:"pointer"})),tn=Ue(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),rl=Ue(tn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),il=Ue(tn)(({})=>({fontSize:14,fontWeight:500})),ol=Ue(tn)(({})=>({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(ct,{title:e.address||"",arrow:!0,children:t.jsx(il,{children:e.address})}),t.jsx(ct,{title:e.profileName||"",arrow:!0,children:t.jsx(ol,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(ct,{title:e.note||"",arrow:!0,children:t.jsx(rl,{children:e.note})})]})}),t.jsxs(al,{children:[a!==""&&t.jsx(sl,{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(be,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(In,{sx:{color:"#fcac34"}}):t.jsx(En,{sx:{color:"#fcac34"}})})})]})]})})},an=gr.getInstance(),cl=e=>{if(!e||!e.trim())return e;try{const a=an.parse(e,void 0);return an.isValidNumber(a)?an.format(a,yr.INTERNATIONAL):e}catch{return e}},dl=Ue(be)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),ul=Ue(hr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),pl=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"})),ml=Ue(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),hl=Ue(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),gl=Ue(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),cs=Ue(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),yl=Ue(cs)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),fl=Ue(cs)(({})=>({fontSize:14,fontWeight:500})),xl=({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=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(ct,{title:n||"",arrow:!0,children:t.jsx(fl,{children:n})}),t.jsx(ct,{title:e.note||"",arrow:!0,children:t.jsx(yl,{children:e.note})})]})]}),t.jsx(hl,{children:t.jsx(v,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(be,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(In,{sx:{color:"#fcac34"}}):t.jsx(En,{sx:{color:"#fcac34"}})})})})]})})},bl=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}})),vl=ee(Y)(({})=>({letterSpacing:-.5,fontSize:14})),Cl=ee(v)(({})=>({display:"flex",alignItems:"center"})),jl=ee(v)(({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"}),Sl=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(bl,{children:[t.jsxs(Cl,{children:[t.jsx(vl,{children:e}),t.jsx(wl,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(Mt,{fontSize:"small",sx:{color:r=>r.palette.secondary.main}})})]}),t.jsx(jl,{children:a.map((r,o)=>n?t.jsx(xl,{item:r},o):t.jsx(ll,{item:r,owner:i},o))})]}),Il=({title:e})=>t.jsx(v,{children:t.jsx(Y,{variant:"subtitle2",children:e})}),El={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},wa=({title:e,handleAdd:a})=>{const n=Se();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(v,{sx:El.container,children:[t.jsx(Y,{variant:"subtitle2",children:e}),t.jsx(Ne,{onClick:a,size:"small",startIcon:t.jsx($n,{}),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(v,{sx:Tl.container,children:e}),ds={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Dl=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const r=Se(),[o,l]=x(null),c=!!o,{channelType:m,address:g}=a,[u,d]=x(!1),[h,b]=x(null),[C,y]=x(!1),S=$=>{l($.currentTarget)},j=()=>{l(null)},w=()=>{y(!1)},I=()=>{e(),j()},L=async()=>{d(!0);try{if(!i)return;const $=await i(13);if(!$)return;b($),y(!0)}catch($){console.error("Error verifying WhatsApp account:",$)}finally{d(!1)}j()},D=async()=>{d(!0);try{if(!i)return;const $=await i(21);if(!$)return;b($),y(!0)}catch($){console.error("Error verifying RCS account:",$)}finally{d(!1)}j()},U=async()=>{await n(),y(!1)};return t.jsxs(v,{children:[t.jsx(be,{"aria-controls":c?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":c?"true":void 0,onClick:S,children:t.jsx(fr,{})}),t.jsxs(Os,{id:"basic-menu",anchorEl:o,open:c,onClose:j,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(tt,{onClick:I,children:[t.jsx(ua,{children:t.jsx(ya,{color:"error"})}),t.jsx(pa,{children:r("global.delete")})]}),m===5&&t.jsxs(tt,{onClick:L,disabled:!s,children:[t.jsx(ua,{children:u?t.jsx(qe,{size:24}):t.jsx(xr,{sx:{color:"green"}})}),t.jsx(pa,{children:r("optionsMenu.verifyWspAccount")})]}),m===21&&t.jsxs(tt,{onClick:D,disabled:!s,children:[t.jsx(ua,{children:u?t.jsx(qe,{size:24}):t.jsx(br,{})}),t.jsx(pa,{children:r("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(Nt,{open:C,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:$=>$.palette.background.default},children:h?.success?t.jsxs(t.Fragment,{children:[t.jsxs(Y,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.wspAccountFound")," ",g]}),t.jsx(Y,{id:"modal-modal-description",sx:{mt:2},children:r("optionsMenu.wantToLinkContact")}),t.jsxs(v,{sx:{marginTop:"10px"},children:[t.jsx(Ne,{onClick:U,color:"primary",children:r("optionsMenu.yesLink")}),t.jsx(Ne,{onClick:w,color:"secondary",children:"No"})]})]}):t.jsxs(v,{sx:{position:"relative"},children:[t.jsxs(Y,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.noWspAccountFound")," ",g]}),t.jsx(Ne,{onClick:w,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:r("global.cancel")})]})})})]})},Gt=e=>{const a=Se(),n=dt(),{editEntity:s,entityId:i}=st(),[r,o]=x(!1),l=e.checked??!0,c=e.entityId??i,{note:m,channelType:g,id:u,address:d}=e.addressData,h=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??s.action.replaceAddress,C=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),y=async I=>{if(!n||!c)return null;const L=await n.setContactAddress({data:{address:d,contactId:c,type:I}});return b(u,L),L},S=async()=>{if(!n||!c)return;const I=await n.updateContactAddress({data:{contactAddressId:u,contactId:c,note:m??""}});b(u,I)},j=async()=>{o(!0),h?(await S(),o(!1)):await y(g)&&o(!1)},w=async()=>{o(!0);const I=await y(13);I&&C&&C(I),I&&o(!1)};return t.jsxs(v,{sx:{...ds.container},children:[h&&t.jsx(we,{size:"small",label:a("global.note"),variant:"outlined",onChange:I=>e.handleNoteFieldChange(I,u,g),value:m,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:ds.noteTextField}),t.jsx(be,{onClick:j,children:r?t.jsx(qe,{size:24}):t.jsx(bt,{color:"primary"})}),t.jsx(Dl,{onDelete:()=>e.handleDeleteAddress(u,g),addressData:e.addressData,handleLinkAccountSave:w,checked:l&&!r,onCheckContactAddress:async I=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:d,type:I}})}catch{return null}}})]})},kl={container:{display:"flex",gap:"100px",alignItems:"center"}},Kt=({children:e})=>t.jsx(v,{sx:kl.container,children:e}),Al={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(v,{sx:{...Al.container},children:e}),$l=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(jr,{size:20});case"available":return t.jsx(vr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(Cr,{style:{height:27,width:27},color:"error"});default:return null}},us=({status:e,text:a})=>t.jsxs(wr,{position:"end",children:[a?t.jsx(Sr,{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))}),Sa=({editEntity:e,title:a,IMSs:n})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Il,{title:a}),t.jsx(Pl,{IMSs:n,editEntity:e})]}),Nl={addressField:{}},nn=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:r}=e,o=Se(),l=dt(),[c,m]=x("idle"),[g,u]=x(r),d=!e.hasOwnProperty("isSaved");return K(()=>{let h=setTimeout(async()=>{if(r!==""&&r!==g){if(!l)return;m("loading"),u(r);const b={address:r,type:i};try{const C=await l.checkContactAddress({data:b}),{success:y,warnings:S}=C;n(S),m(y?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(h)},[l,e,r,i,g,n]),t.jsx(t.Fragment,{children:t.jsx(we,{disabled:d,sx:Nl.addressField,size:"small",label:i===Et.WHATSAPP||i===Et.RCS?o?o("global.number"):"Number":o?o("global.email"):"Email",value:r,onChange:h=>{a(h,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(us,{status:c})})}})})},Rl={addressField:{}},Ml=({data:e,onChange:a,setWarnings:n})=>{const s=dt(),i=Se(),{id:r,channelType:o,address:l}=e,[c,m]=x("idle"),[g,u]=x(l),d=!e.hasOwnProperty("isSaved");return K(()=>{let h=setTimeout(async()=>{if(l!==""&&l!==g){if(!s)return;m("loading"),u(l);const b={address:l,type:o};try{const{success:C,warnings:y}=await s.checkContactAddress({data:b});n(y),m(C?"available":"unavailable")}catch{n([]),m("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,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(us,{status:c})})}})})},sn={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Ol=({text:e})=>t.jsx(vn,{item:!0,children:t.jsx(v,{sx:sn.secondaryContainer,children:t.jsx(Er,{icon:t.jsx(Ir,{sx:sn.icon}),sx:sn.chip,label:e,color:"error",variant:"outlined"})})}),Ia=({warnings:e})=>{const a=Se();return t.jsx(v,{children:t.jsx(vn,{container:!0,children:e?.map((n,s)=>t.jsx(Ol,{text:a(`contactAddressError.${n}`)},s))})})},zl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},Ll=({data:e})=>{const a="edit",{editEntity:n}=st(),s=n.action,i=n.state,[r,o]=x([]),[l,c]=x(!0);return K(()=>{c(r.length===0&&(e.address??"")!=="")},[r,e.address]),t.jsx(Ht,{children:t.jsxs(Kt,{children:[t.jsxs(v,{sx:{...zl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(Ml,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange}),r.length>0&&t.jsx(Ia,{warnings:r})]}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:l})]})})},Wl=({phoneNumbers:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Ll,{data:a},a.id))}),_l=({phoneNumbers:e,handleAdd:a})=>{const n=Se();return t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:n("global.phones")}),t.jsx(Wl,{phoneNumbers:e})]})},ps={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Bl=({data:e})=>{const a="edit",{editEntity:n}=st(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:ps.numberCountryContainer,children:t.jsx(v,{sx:ps.adressInputBox,children:t.jsx(nn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ia,{warnings:r})]})},Vl=({emails:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Bl,{data:a},a.id))}),Yl=({emails:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"Emails"}),t.jsx(Vl,{emails:e})]}),ms={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}=st(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:ms.numberCountryContainer,children:t.jsx(v,{sx:ms.adressInputBox,children:t.jsx(nn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ia,{warnings:r})]})},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(v,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"WhatsApp"}),t.jsx(Gl,{whatsapps:e})]}),hs={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}=st(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:hs.numberCountryContainer,children:t.jsx(v,{sx:hs.adressInputBox,children:t.jsx(nn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(Ia,{warnings:r})]})},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(v,{sx:{width:"100%"},children:[t.jsx(wa,{handleAdd:a,title:"RCS"}),t.jsx(Jl,{RCSs:e})]}),Xl=Ue(v)(({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 s=Se(),{editEntity:i}=st(),{emails:r,phoneNumbers:o,imsWhatsapp:l,imsRCS:c}=i.field,{addEmail:m,addPhone:g,addWhatsapp:u,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(_l,{handleAdd:g,phoneNumbers:o});case"Emails":return t.jsx(Yl,{handleAdd:m,emails:r});case"Whatsapp":return t.jsx(Kl,{handleAdd:u,whatsapps:l});case"RCS":return t.jsx(Ql,{handleAdd:h,RCSs:c});case"Facebook":return t.jsx(Sa,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(Sa,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(Sa,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(Sa,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(Y,{children:"No information available for this section."})}})(),t.jsx(v,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(Ne,{variant:"contained",color:"primary",onClick:b,children:s("global.close")})})]})})},ec=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=Zo(),{editEntity:r}=st(),o=Se(),l=r.field.phoneNumbers,c=r.field.emails,m=r.field.imsFacebooks,g=r.field.imsWhatsapp,u=r.field.imsMercadolibre,d=r.field.imsWebchats,h=r.field.imsInstagrams,b=r.field.imsRCS,C=[{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:m,modalTitle:"Facebook",visible:!0},{key:"whatsapp",title:"Whatsapp",items:g,modalTitle:"Whatsapp",visible:!0},{key:"rcs",title:"RCS",items:b,modalTitle:"RCS",visible:b.length>0},{key:"mercado-libre",title:"Mercado libre",items:u,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:C.filter(y=>y.visible).map(y=>t.jsx(Sl,{handleEdit:()=>s(y.modalTitle),title:y.title,methodItems:y.items,isPhone:y.isPhone,owner:e},y.key))})}),t.jsx(Zl,{open:a,onClose:i,title:n})]})},tc=({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=Se(),c=({addressNumber:m,title:g})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(Y,{variant:"body2",children:g}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-3",children:[t.jsx("div",{className:"col-span-2",children:t.jsx(ut,{entityType:e,title:l("conversations.contactDetails.street"),value:a[m]?.street??"",...o,constructUpdateObject:u=>({[m]:{street:u}}),minWidth:"100%"})}),t.jsx(ut,{entityType:e,title:l("conversations.contactDetails.city"),value:a[m]?.city??"",...o,constructUpdateObject:u=>({[m]:{city:u}}),minWidth:"100%"}),t.jsx(ut,{entityType:e,title:l("conversations.contactDetails.state"),value:a[m]?.state??"",...o,constructUpdateObject:u=>({[m]:{state:u}}),minWidth:"100%"}),t.jsx(ut,{entityType:e,title:l("conversations.contactDetails.postcode"),value:a[m]?.zipcode??"",...o,constructUpdateObject:u=>({[m]:{zipcode:u}}),minWidth:"100%"}),t.jsx(ut,{entityType:e,title:l("conversations.contactDetails.country"),value:a[m]?.country??"",...o,constructUpdateObject:u=>({[m]:{country:u}}),minWidth:"100%"})]})]});return t.jsx(ja,{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")})]})})},ac=({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]),nc=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:r,selectedTags:o,onTagsUpdated:l})=>{const[c,m]=x("main"),[g,u]=x([]),[d,h]=x(!1),[b,C]=x(!1),[y,S]=x([]),[j,w]=x(!1),I=ae(()=>{const $=r??[],E=y??[],V=new Map;for(const H of $)H?.id&&V.set(String(H.id),H);for(const H of E)H?.id&&V.set(String(H.id),H);return Array.from(V.values())},[r,y]),L=re(()=>{m("main"),u([]),h(!1),C(!1),S([]),w(!1)},[]);K(()=>{e||L()},[e,L]),K(()=>{if(c!=="tags"){h(!1);return}if(d||!I.length)return;const $=new Set(o.map(V=>String(V.id))),E=I.filter(V=>$.has(String(V?.id)));u(E),h(!0)},[c,d,I,o]);const D=re(async $=>{if(j||!a||!n)return;const E=String($??"").trim();if(!E)return;const V=E.toLowerCase(),H=I.find(O=>String(O?.name??"").trim().toLowerCase()===V);if(H?.id){u(O=>{const J=O??[];return J.some(F=>String(F?.id)===String(H.id))?J:[...J,H]});return}w(!0);try{const O=await Yn({baseUrl:a,spaceId:n,name:E});S(J=>{const F=J??[];return!O?.id||F.some(se=>String(se?.id)===String(O.id))?F:[...F,O]}),u(J=>{const F=J??[];return!O?.id||F.some(se=>String(se?.id)===String(O.id))?F:[...F,O]})}finally{w(!1)}},[j,a,n,I]),U=re(async()=>{if(b||!a||!n||!s||i!=="contact"&&i!=="business")return;const $=g.filter(E=>E?.id&&E?.name).map(E=>({id:String(E.id),name:String(E.name)}));C(!0);try{await Xe({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:$}}),l($),m("main")}finally{C(!1)}},[b,a,n,s,i,g,l]);return{view:c,setView:m,draftLabels:g,setDraftLabels:u,labelsOptions:I,isSaving:b,isCreatingLabel:j,handleCreateLabel:D,handleSaveTags:U}},sc=({onClose:e})=>re((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),rc={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},ic=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:r,currentUser:o})=>{const l=Se(),c=dt(),m=xe(null),g=xe(null),[u,d]=x(()=>s?.businessName??""),[h,b]=x(!1),[C,y]=x(!1),[S,j]=x(!1),[w,I]=x([]),[L,D]=x(s??null),[U,$]=x(1),[E,V]=x(!1),[H,O]=x(!1),J=ae(()=>{const X=o?.display_name,oe=o?.email;return String(X||oe||"").trim()},[o]);K(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null),g.current?.abort()},[]),K(()=>{D(s??null),d(s?.businessName??"")},[s]);const F=()=>{g.current?.abort(),g.current=null,m.current&&(clearTimeout(m.current),m.current=null),b(!1),O(!1),$(1),V(!1),I([])},se=X=>X.filter(oe=>!!oe?.id).map(oe=>({businessId:String(oe.id),businessName:String(oe.name??"")})),N=async({query:X,page:oe})=>{if(!c)return;g.current?.abort();const ge=new AbortController;g.current=ge,y(!0);try{const ve={...rc,currentPage:oe,filter:[{value:X,column:"name",condition:""}]},De=await c.fetchBusinessTableData({pagination:ve,signal:ge.signal});if(ge.signal.aborted)return;const te=se(De?.contactos??[]);b(!0);const Z=De?.paginacion?.total??0;I(Ge=>{const ye=oe===1?te:(()=>{const Ee=new Map;for(const Ce of Ge)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&&O(!0),ye})}finally{y(!1),j(!1),V(!1)}},z=X=>{F(),X&&(m.current&&(clearTimeout(m.current),m.current=null),j(!0),m.current=setTimeout(()=>{N({query:X,page:1})},800))},P=X=>{const oe=X.target;if(!(oe.scrollHeight-oe.scrollTop-oe.clientHeight<1)||H||C||!u)return;const ge=U+1;V(!0),$(ge),N({query:u,page:ge})},T=async()=>{if(!c||!J)return;const X=String(u??"").trim();if(X){y(!0);try{const oe={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:oe}),ve={businessId:String(ge.id??""),businessName:String(ge.name??X)};I([ve]),D(ve),b(!0)}finally{y(!1)}}},_=async()=>{if(!e||!a||!n)return;const X=L?.businessId??"",oe=await Xe({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:X}});r?.(oe),i()},R=h&&w.length===0&&u?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:T,loading:C,disabled:C||!J,children:l("global.createNew")})]}):t.jsx(Y,{variant:"body2",children:l("global.noOptions")}),B=!n||!e||!a;return t.jsxs(v,{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(v,{sx:{flex:1}}),t.jsx(nt,{variant:"contained",size:"small",startIcon:t.jsx(bt,{}),onClick:_,loading:!1,disabled:B,children:l("global.save")})]}),t.jsxs(v,{sx:{position:"relative"},children:[C||S||E?t.jsx(v,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(zs,{sx:{borderRadius:1}})}):null,t.jsx(za,{fullWidth:!0,disablePortal:!0,value:L,onChange:(X,oe)=>{D(oe)},inputValue:u,onInputChange:(X,oe,ge)=>{d(oe),ge==="input"&&z(oe)},options:w,getOptionLabel:X=>X?.businessName??"",isOptionEqualToValue:(X,oe)=>X.businessId===oe.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:[C||S?t.jsx(qe,{size:18,sx:{mr:1}}):null,X.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:P}})]})]})},oc=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:r,language:o="en",navigate:l,googleMapsApiKey:c,onEntityUpdated:m})=>{const{t:g,i18n:u}=xt(),d=xe(null);K(()=>{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]),K(()=>{o&&u.changeLanguage(o)},[o,u]);const h=N=>g(N),b=ae(()=>!n||!s?null:Kn(n,s),[n,s]),{state:C,selectors:y,actions:S}=bo({open:e,baseUrl:n,spaceId:s,contactId:i}),j=ac({entity:C.contactData,setEntity:N=>{S.setContactData(N??void 0),N&&m&&m(N)}}),{view:w,setView:I,draftLabels:L,setDraftLabels:D,labelsOptions:U,isSaving:$,isCreatingLabel:E,handleCreateLabel:V,handleSaveTags:H}=nc({open:e,baseUrl:n,spaceId:s,contactData:C.contactData,contactType:y.contactType,labels:y.labels,selectedTags:y.tags,onTagsUpdated:N=>{if(!C.contactData)return;const z={...C.contactData,tags:N};S.setContactData(z),m&&m(z)}}),O=Vt({baseUrl:n,spaceId:s,entityType:y.contactType==="business"||y.contactType==="contact"?y.contactType:void 0,entityId:C.contactData?String(C.contactData.id):void 0,initialImageUrl:C.contactData?.imageUrl,onEntityUpdated:j}),J=sc({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:N=>N.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},se=Array.isArray(r)?[F,...r]:r?[F,r]:F;return t.jsx(_i,{value:b,children:t.jsx(Li,{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(v,{sx:se,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(Tn,{sx:{fontSize:20}})}),C.isLoading&&!C.contactData?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(qe,{})}):C.error?t.jsx(v,{sx:{mb:2},children:"Failed to load contact"}):C.contactData?t.jsx(Po,{value:{view:w,setView:I},children:t.jsx($o,{entityType:y.contactType==="business"?"business":"contact",entityData:C.contactData,customContactFields:y.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(v,{sx:{position:"relative",height:"100%"},children:[t.jsx(at,{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(Ji,{imgUrl:O.imageUrl,displayName:y.displayName,tags:y.tags,onEditTags:()=>{I("tags")},onUploadPhoto:O.action.uploadImage,onPhotoFileChange:O.inputAtributes.onChange,photoInputRef:O.inputAtributes.ref,isUploadingPhoto:O.isUploading,onDeletePhoto:O.action.deleteImage,isDeletingPhoto:O.isDeleting,contactType:y.contactType,entityId:C.contactData?.id,firstName:y.isContact?C.contactData.firstName:void 0,lastName:y.isContact?C.contactData.lastName:void 0,name:y.isBusiness?C.contactData.name:void 0,onEntityUpdated:j}),t.jsxs(v,{sx:{px:1,pb:2},children:[t.jsx(Xo,{dateFormat:y.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:y.contactType==="contact"||y.contactType==="business"?y.contactType:"contact",entityData:C.contactData,customContactFields:y.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:j,currentUser:y.userTrii}),t.jsx(tc,{entityType:y.contactType==="contact"||y.contactType==="business"?y.contactType:"contact",entityData:C.contactData,baseUrl:n,spaceId:s,onEntityUpdated:j,onDirectionSearchClick:()=>I("searchLocation")}),t.jsx(ec,{ownerData:C.contactData})]})]})}),t.jsx(at,{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(xo,{baseUrl:n,spaceId:s,entityType:y.contactType==="business"?"business":"contact",entityId:String(C.contactData.id),onBack:()=>I("main"),onEntityUpdated:j})})}),t.jsx(at,{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(Xi,{value:L,options:U,onChange:D,onBack:()=>I("main"),onSave:H,isSaving:$,onCreateNew:V,isCreatingNew:E,popperContainer:d.current})})}),t.jsx(at,{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(ic,{baseUrl:n,spaceId:s,contactId:String(C.contactData.id),initialBusiness:y.isContact&&C.contactData?.businessId?{businessId:String(C.contactData.businessId),businessName:String(C.contactData.businessName??"")}:null,onBack:()=>I("main"),onEntityUpdated:j,currentUser:y.userTrii})})})]})})}):null]})})})})})})},lc=e=>t.jsx(Ba,{i18n:Bt,children:t.jsx(oc,{...e})}),gs=lt(null),cc=gs.Provider,ys=()=>et(gs),dc={events:[],setEvents:()=>{},filteredEvents:[]},uc=(e,a)=>{const[n,s]=x([]);K(()=>{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=ae(()=>e?.length?n.filter(r=>r.calendarId&&e.includes(r.calendarId)):n,[n,e]);return ae(()=>({events:n,setEvents:s,filteredEvents:i}),[n,i])},fs={open:!1,handleOpen:()=>{},handleClose:()=>{}},xs=()=>{const[e,a]=x(!1),n=re(()=>{a(!0)},[]),s=re(()=>{a(!1)},[]);return ae(()=>({open:e,handleOpen:n,handleClose:s}),[e,n,s])},vt={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},Ct=(e,a)=>{const[n,s]=x(a||""),[i,r]=x(!1),[o,l]=x("");K(()=>{s(a||"")},[a]);const c=re(C=>{r(!0),l(C)},[]),m=re(()=>{r(!1),l("")},[]),g=re(C=>{s(C.target.value)},[]),u=re(C=>{s(C)},[]),d=re(()=>{s(a||"")},[a]),h=ae(()=>({onError:c,onSuccess:m,resetValue:d,changeValue:u}),[c,m,d,u]),b=ae(()=>({error:i,helperText:o,type:e,value:n,onChange:g}),[i,o,e,n,g]);return{actions:h,attributes:b}};function bs(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||[]),s=re(()=>{const g={id:Qa(),timeValue:0,timePeriod:xa.MINUTE,sendToContact:!1};n(u=>u.concat(g))},[]),i=re(g=>{n(u=>u.filter(d=>d.id!==g))},[]),r=re((g,u)=>{const d=Number(g.target.value);bs(d)&&n(h=>h.map(b=>b.id===u?{...b,timeValue:d}:b))},[]),o=re((g,u)=>{if(!bs(g.target.value))return;const d=g.target.value;n(h=>h.map(b=>b.id===u?{...b,timePeriod:d}:b))},[]),l=re((g,u)=>{const d=g.target.checked;n(h=>h.map(b=>b.id===u?{...b,sendToContact:d}:b))},[]),c=re(()=>{n([])},[]);K(()=>{e&&n(e)},[e]);const m=ae(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:r,handleTimePeriodChange:o,handleReminderChange:l,resetNotifications:c}),[s,i,r,o,l,c]);return{notifications:a,action:m}}const hc={state:{selectedStartDate:Q(),selectedEndDate:Q().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},gc={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},yc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},fc={titleField:vt,descriptionField:vt,locationField:vt,colorField:vt,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,s]=x(e??Q()),[i,r]=x(a??Q().add(30,"minute")),[o,l]=x(!1),c=re(u=>d=>{u(d)},[]),m=ae(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),g=ae(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:m,action:g}},bc=()=>{const[e,a]=x(""),[n,s]=x([]),i=re(g=>{s(u=>u.some(d=>d.id===g.id)?u:[...u,{id:g.id,name:g.name??""}]),a("")},[]),r=re(g=>{s(u=>u.filter(d=>d.id!==g))},[]),o=re(g=>{a(g)},[]),l=re(()=>{a(""),s([])},[]),c=ae(()=>({search:e,selectedContacts:n}),[e,n]),m=ae(()=>({handleSelectContact:i,handleRemoveContact:r,handleSearchChange:o,resetField:l}),[i,r,o,l]);return{state:c,action:m}},vc=()=>{const[e,a]=x([]),n=re(()=>{a([])},[]),s=ae(()=>({userIds:e}),[e]),i=ae(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},Cc=e=>{const a=xe(null),n=Ct("text",e?.title??""),s=Ct("text",e?.details??e?.description??""),i=Ct("text",e?.location??""),r=Ct("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),[m,g]=x(e?.isPrivate??!1),[u,d]=x(e?.rule??""),h=mc(e?.notifications),b=vc(),C=bc(),y=re(()=>({title:n.attributes.value,details:s.attributes.value,location:i.attributes.value,allDay:l,isPrivate:m,color:r.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:u,relatedContactId:C.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.attributes.value,l,m,r.attributes.value,o.state.selectedStartDate,o.state.selectedEndDate,h.notifications,b.field.userIds,u,C.state.selectedContacts]),S=re(()=>{n.actions.resetValue(),s.actions.resetValue(),i.actions.resetValue(),r.actions.changeValue("#1976d2"),c(!1),g(!1),d(""),h.action.resetNotifications(),b.action.resetField(),C.action.resetField(),o.action.setError(!1)},[n.actions,s.actions,i.actions,r.actions,h.action,b.action,C.action,o.action]);return K(()=>{const j=e?.id;!e||a.current===j||(a.current=j,c(e.allDay??!1),g(e.isPrivate??!1),d(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(Q(e.startAt)),e.endAt&&o.action.setSelectedEndDate(Q(e.endAt)))},[e?.id]),ae(()=>({titleField:n,descriptionField:s,locationField:i,colorField:r,date:o,allDay:l,setAllDay:c,isPrivate:m,setIsPrivate:g,recurrenceRule:u,setRecurrenceRule:d,notifications:h,shareWithUsers:b,linkContact:C,create:y,resetFields:S}),[n,s,i,r,o,l,m,u,h,b,C,y,S])},jc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},wc={nameField:vt,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:jc,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Sc=()=>{const[e,a]=x([]),n=re(()=>{a([])},[]),s=ae(()=>({userIds:e}),[e]),i=ae(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},Ic=()=>{const e=Ct("text",""),[a,n]=x("#ffffff"),[s,i]=x(null),r=Sc(),o=re(c=>{n(c)},[]),l=re(c=>{i(c)},[]);return ae(()=>({nameField:e,color:a,handleColorChange:o,shareWithUsers:r,googleCalendar:s,handleGoogleCalendarChange:l}),[e,a,o,r,s,l])},Ec={tasks:[],setTasks:()=>{},filteredTasks:[]},Tc=e=>{const[a,n]=x([]),s=ae(()=>e?.length?a.filter(i=>i.calendarId&&e.includes(i.calendarId)):a,[a,e]);return ae(()=>({tasks:a,setTasks:n,filteredTasks:s}),[a,s])},Dc={state:{selectedStartDate:Q(),selectedEndDate:Q(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},kc={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Ac={titleField:vt,descriptionField:vt,date:Dc,linkContact:kc,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},$c=(e,a)=>{const[n,s]=x(e??Q()),[i,r]=x(a??Q()),[o,l]=x(!1),c=re(u=>d=>{u(d)},[]),m=ae(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),g=ae(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:m,action:g}},Uc=()=>{const[e,a]=x(""),[n,s]=x([]),i=re(g=>{s(u=>u.some(d=>d.id===g.id)?u:[...u,{id:g.id,name:g.name??""}]),a("")},[]),r=re(g=>{s(u=>u.filter(d=>d.id!==g))},[]),o=re(g=>{a(g)},[]),l=re(()=>{a(""),s([])},[]),c=ae(()=>({search:e,selectedContacts:n}),[e,n]),m=ae(()=>({handleSelectContact:i,handleRemoveContact:r,handleSearchChange:o,resetField:l}),[i,r,o,l]);return{state:c,action:m}},Fc=e=>{const a=xe(null),n=Ct("text",e?.title??""),s=Ct("text",e?.description??""),i=$c(e?.startAt?Q(e.startAt):void 0,e?.startAt?Q(e.startAt):void 0),r=Uc(),o=re(()=>({title:n.attributes.value,description:s.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:r.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.state.selectedStartDate,r.state.selectedContacts]),l=re(()=>{n.actions.resetValue(),s.actions.resetValue(),r.action.resetField(),i.action.setError(!1)},[n.actions,s.actions,r.action,i.action]);return K(()=>{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 m=Q(e.startAt);i.action.setSelectedStartDate(m),i.action.setSelectedEndDate(m)}},[e?.id]),ae(()=>({titleField:n,descriptionField:s,date:i,linkContact:r,create:o,resetFields:l}),[n,s,i,r,o,l])},rn=lt({eventDialog:fs,createCalendarDialog:fs,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:Ac,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}),vs=e=>e,Cs=lt(vs),Pc=({t:e,children:a})=>t.jsx(Cs.Provider,{value:e,children:a}),Le=()=>{const e=et(Cs);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),vs)};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,js=(e,a,n)=>Rc(e,typeof a!="symbol"?a+"":a,n);class Mc extends Error{constructor(a,n,s){super(a),js(this,"status"),js(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function We({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 Mc(l,r.status,o)}return o}function Re(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function on(e,a){const n=encodeURIComponent(a);return{CONTACTS:Re(e,`/contacts/${n}`),MEDIA:Re(e,`/media/${n}`),SETTINGS:Re(e,`/settings/${n}`),CALENDAR:Re(e,`/calendar/${n}`)}}function Ke(e){return on(e.baseUrl,e.spaceId).CALENDAR}async function Oc(e){const a=on(e.baseUrl,e.spaceId);return We({url:Re(a.SETTINGS,"/user")})}async function zc(e,a,n){const s=`${Ke(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return We({url:s})}async function Lc(e,a){const n=Ke(e);return We({url:Re(n,"/events"),method:"POST",body:a})}async function ws(e,a){const n=Ke(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 We({url:l,method:"PUT",body:i})}return We({url:Re(n,`/events/${s}`),method:"PUT",body:i})}async function ln(e,a,n){const s=Ke(e);if(n){const i=n instanceof Date?n.toISOString():n,r=`${s}/events/${a}?occurrence=${i}`;await We({url:r,method:"DELETE"})}else await We({url:Re(s,`/events/${a}`),method:"DELETE"})}async function Wc(e,a){const n=Ke(e);return We({url:Re(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function _c(e,a){const n=Ke(e);return We({url:Re(n,`/Task/${a}`)})}async function Bc(e,a){const n=Ke(e);return We({url:Re(n,"/Task"),method:"POST",body:a})}async function Ss(e,a,n){const s=Ke(e);return We({url:Re(s,`/Task/${a}`),method:"PUT",body:n})}async function Vc(e,a){const n=Ke(e);await We({url:Re(n,`/Task/${a}`),method:"DELETE"})}async function Yc(e,a,n){const s=Ke(e);return We({url:Re(s,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Hc(e){const a=Ke(e);return We({url:Re(a,"/Calendar")})}async function Gc(e,a){const n=Ke(e);return We({url:Re(n,"/Calendar"),method:"POST",body:a})}async function Kc(e,a,n){const s=Ke(e);return We({url:Re(s,`/Calendar/${a}`),method:"PUT",body:n})}function cn(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),s=e.substring(a+1);return/^\d{14}$/.test(s)?n:e},Qt=e=>e?e.parentId?e.parentId:Jt(e.id):"",qc=({children:e,externalOpen:a,externalOnClose:n,externalMode:s="create",externalType:i="event",externalEventCalendarId:r,externalTaskCalendarId:o,externalSelectedEvent:l,externalSelectedTask:c,hiddenTabs:m=!1})=>{const{t:g}=xt(),u=ys(),d=(f,...M)=>g(f,...M),[h,b]=x(i),[C,y]=x(null),[S,j]=x(null),[w,I]=x(s),[L,D]=x(o||""),[U,$]=x(r||""),[E,V]=x(!1),[H,O]=x("create"),[J,F]=x(null),[se,N]=x({open:!1,message:"",severity:"info"}),[z,P]=x(!1),[T,_]=x("event"),[R,B]=x(!1),[X,oe]=x(!1),[ge,ve]=x(null),De="trii_calendar_last_view",te=f=>f==="month"||f==="week"||f==="day",[Z,Ge]=x(()=>{try{const f=localStorage.getItem(De);return te(f)?f:"month"}catch{return"month"}}),[ye,Ee]=x(new Date),Ce=f=>{Ee(f),Ge("day")},ke=xs(),q=xs(),ie=Cc(C??void 0),de=Fc(S??void 0);K(()=>{s!==void 0&&I(s)},[s]),K(()=>{i!==void 0&&b(i)},[i]),K(()=>{r!==void 0&&$(r)},[r]),K(()=>{o!==void 0&&D(o)},[o]),K(()=>{l!==void 0&&y(l)},[l]),K(()=>{c!==void 0&&j(c)},[c]),K(()=>{if(a!==void 0)if(a&&!ke.open){if(s==="create"){ie.resetFields(),de.resetFields(),V(!1),y(null),j(null),ie.date.action.setError(!1),de.date.action.setError(!1);const f=cn(new Date),M=f.add(30,"minute");if(i==="task"?(de.date.action.setSelectedStartDate(f),de.date.action.setSelectedEndDate(f)):(ie.date.action.setSelectedStartDate(f),ie.date.action.setSelectedEndDate(M)),!r){const k=Ye?.[0]??it?.[0]?.id??$e?.[0]?.id??"";k&&$(k)}if(!o){const k=Ye?.[0]??$e?.[0]?.id??"";k&&D(k)}}ke.handleOpen()}else!a&&ke.open&&ke.handleClose()},[a]);const Ae=()=>{(w==="edit"||w==="create")&&(ie.resetFields(),de.resetFields()),ie.date.action.setError(!1),de.date.action.setError(!1),n?n():ke.handleClose()},le=Ic(),jt=H==="create",[$e,At]=x([]),[ka,Aa]=x([]),[pt,Zt]=x(""),rt="calendar_selected_ids",[Ye,mt]=x(()=>{try{const f=localStorage.getItem(rt);return f?JSON.parse(f):[]}catch{return[]}}),wt=uc(Ye,ka),St=Tc(Ye),$a=()=>{N(f=>({...f,open:!1}))};function ea(f){const M=f?.startAt??f?.start,k=f?.endAt??f?.end??M;return{startAt:M,endAt:k}}const{myCalendars:it,otherCalendars:Ua}=ae(()=>{const f=$e??[];if(!pt)return{myCalendars:f,otherCalendars:[]};const M=f.filter(G=>G.userId===pt),k=f.filter(G=>G.userId!==pt);return M.length===0&&f.length>0?{myCalendars:f,otherCalendars:[]}:{myCalendars:M,otherCalendars:k}},[$e,pt]),Ze=re(async()=>{if(u)try{const f=new Date,M=f.getUTCFullYear(),k=f.getUTCMonth(),G=new Date(Date.UTC(M,k-1,1,0,0,0)).toISOString(),pe=new Date(Date.UTC(M,k+2,1,0,0,0)).toISOString(),He=await zc(u,G,pe);Aa(He)}catch(f){console.error("Error fetching activities:",f)}},[u]),ht=re(async f=>{if(u)try{const M=await _c(u,f);St.setTasks(M.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(M){console.error("Error fetching tasks:",M)}},[u]),$t=re(async()=>{if(u)try{const f=await Hc(u);At(f)}catch(f){console.error("Error fetching calendars:",f)}},[u]);K(()=>{if(!ke.open||w!=="create")return;const f=it?.[0]?.id??$e?.[0]?.id??"";f&&(U||$(f),L||D(f))},[$e,it]),K(()=>{if(!u)return;$t(),Ze();let f=!1;return Oc(u).then(M=>{f||Zt(M.uid)}).catch(()=>{}),()=>{f=!0}},[u,$t,Ze]);function gt(f,M,k){b(f),I("create"),y(null),j(null),ie.resetFields(),de.resetFields(),V(!1);const G=cn(M??new Date),pe=k?cn(k):G.add(30,"minute"),He=pe.isAfter(G)?pe:G.add(30,"minute");if(f==="task"){de.date.action.setSelectedStartDate(G),de.date.action.setSelectedEndDate(G),de.date.action.setError(!1);const _e=Ye?.[0]??$e?.[0]?.id??"";D(_e)}else{ie.date.action.setSelectedStartDate(G),ie.date.action.setSelectedEndDate(He),ie.date.action.setError(!1);const _e=Ye?.[0]??it?.[0]?.id??$e?.[0]?.id??"";$(_e);const Oe=it?.find(Pe=>Pe.id===_e)??$e?.find(Pe=>Pe.id===_e);Oe?.color&&ie.colorField.actions.changeValue(Oe.color)}ke.handleOpen()}function ta(){gt("event")}function ot(){ie.date.action.setError(!1),de.date.action.setError(!1),I("edit")}function Ut(f){const{startAt:M,endAt:k}=ea(f),G={...f,kind:"event",startAt:M,endAt:k,details:f?.details??""};b("event"),y(G),j(null),$(G.calendarId??""),I("view"),ie.date.action.setError(!1),de.date.action.setError(!1),ke.handleOpen()}async function Ft(f){if(!u)return;let M;if(f)M={title:f.title,details:f.description||f.details||"",startAt:new Date(f.startAt),endAt:new Date(f.endAt),allDay:f.allDay,location:f.location||"",isPrivate:f.isPrivate||!1,color:f.color||"",rule:f.rule||"",contactId:f.relatedContactId||null,sharedWith:f.sharedWith||[],notifications:(f.notifications||[]).map(pe=>({id:Qa(),timeValue:pe.value,timePeriod:pe.type,sendToContact:pe.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const pe=ie.create();M={...pe,startAt:new Date(pe.startAt),endAt:new Date(pe.endAt),contactId:pe.relatedContactId||null,eventTypeId:"",repeatId:""}}const k=U;if(!k){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const G={...M,calendarId:k};try{N({open:!0,message:d("global.savingChanges"),severity:"info"}),ie.resetFields(),Ae(),await Lc(u,G),Ye.includes(k)||mt(pe=>[...pe,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(!C?.id)return;const f=ie.create(),M=U||C.calendarId||"";if(!M){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}C.originalOccurrenceDate!=null?(ve(()=>async k=>{await na(f,M,k)}),oe(!0)):await na(f,M,!1)}async function na(f,M,k){const G=C?.originalOccurrenceDate!=null,pe={title:f.title,details:f.details,startAt:f.startAt,endAt:f.endAt,allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:M,notifications:f.notifications,sharedWith:f.sharedWith};(k||!G)&&(pe.rule=f.rule);const He=Qt(C),_e={updatedActivity:pe,activityId:He};G&&!k&&(_e.originalOccurrenceDate=C.originalOccurrenceDate);try{const Oe=await ws(u,_e);Oe&&y(Oe),Ae(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function sa(f){oe(!1),ge&&(await ge(f),ve(null))}async function Fa(){C?.originalOccurrenceDate!=null?B(!0):(_("event"),P(!0))}async function ra(){if(u)if(P(!1),T==="event")try{const f=Qt(C);Ae(),await ln(u,f),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch(f){console.error("Error deleting event:",f);const M=f?.message?.includes("duplicate key")?d("global.eventAlreadyDeleted","El evento ya fue eliminado"):d("global.errorSavingChanges");N({open:!0,message:M,severity:"error"})}else{if(!S?.id)return;try{const f=Jt(S.id),M=S.calendarId;Ae(),await Vc(u,f),j(null),de.resetFields(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),M&&ht(M)}catch(f){console.error("Error deleting task:",f);const M=f?.message?.includes("duplicate key")?d("global.taskAlreadyDeleted","La tarea ya fue eliminada"):d("global.errorSavingChanges");N({open:!0,message:M,severity:"error"})}}}async function ia(f){B(!1);const M=Qt(C);Ae();try{f?await ln(u,M):await ln(u,M,C.originalOccurrenceDate),N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch(k){console.error("Error deleting recurring event:",k);const G=k?.message?.includes("duplicate key")?d("global.eventAlreadyDeleted","El evento ya fue eliminado"):d("global.errorSavingChanges");N({open:!0,message:G,severity:"error"})}}async function Pa(){if(!u)return;const f=Qt(C);await Wc(u,f),Ae()}async function Na(f,M,k){const G=M instanceof Date?M:new Date(M),pe=k instanceof Date?k:new Date(k),He=G.toISOString(),_e=pe.toISOString(),Oe=f.kind==="task";!Oe&&f.originalOccurrenceDate!=null?(y(f),ve(()=>async Pe=>{await Pt(f,He,_e,G,pe,Oe,Pe)}),oe(!0)):await Pt(f,He,_e,G,pe,Oe,!1)}async function Pt(f,M,k,G,pe,He,_e){He||wt.setEvents(Oe=>Oe.map(Pe=>Pe.id===f.id?{...Pe,start:G,end:pe,startAt:G,endAt:pe}:Pe)),N({open:!0,message:d("global.savingChanges"),severity:"info"});try{if(He){const Oe=Jt(f.id),Pe={title:f.title,description:f.description,startAt:M,endAt:k,calendarId:f.calendarId,allDay:f.allDay||!1,isCompleted:f.isCompleted||!1};await Ss(u,Oe,Pe),await ht(f.calendarId)}else{const Oe=Qt(f),Pe=f.originalOccurrenceDate!=null,hn={title:f.title,details:f.details,startAt:new Date(M),endAt:new Date(k),allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:f.calendarId};(_e||!Pe)&&(hn.rule=f.rule);const gn={updatedActivity:hn,activityId:Oe};Pe&&!_e&&(gn.originalOccurrenceDate=f.originalOccurrenceDate),await ws(u,gn)}N({open:!0,message:d("global.changesSaved"),severity:"success"}),Ze()}catch{He||wt.setEvents(Oe=>Oe.map(Pe=>Pe.id===f.id?{...Pe,start:f.start,end:f.end}:Pe)),N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function oa(f,M){gt("event",f,M)}function la(){le.nameField.actions.resetValue(),le.handleColorChange("#ffffff"),le.shareWithUsers.action.resetField(),le.handleGoogleCalendarChange(null)}function ca(){la(),F(null),O("create"),q.handleClose()}function Ra(f){le.nameField.actions.changeValue(f.title??""),le.nameField.actions.onSuccess(),le.handleColorChange(f.color??"#ffffff"),le.shareWithUsers.action.setUserIds(f.sharedWith??[]),le.handleGoogleCalendarChange(f.googleCalendar??null)}function Ma(){O("create"),F(null),la(),q.handleOpen()}function p(f){O("edit"),F(f),Ra(f),q.handleOpen()}async function A(){if(!u)return;const f=(le.nameField.attributes.value??"").trim();if(!f){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const M=le.shareWithUsers.field.userIds,k={title:f,color:le.color,sharedWith:M.length?M:void 0,googleCalendar:le.googleCalendar};try{if(jt)await Gc(u,k);else{const G=J?.id;if(!G)return;await Kc(u,G,k)}ca(),N({open:!0,message:d(jt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),$t()}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function W(f){if(!u)return;let M;if(f?M={title:f.title,description:f.description||"",startAt:f.startAt,contactId:f.relatedContactId||null}:M=de.create(),!M.title){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const k=L;if(!k){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const G={...M,calendarId:k};try{N({open:!0,message:d("global.savingChanges"),severity:"info"}),de.resetFields(),Ae(),await Bc(u,G),Ye.includes(k)||mt(pe=>[...pe,k]),N({open:!0,message:d("global.changesSaved"),severity:"success"}),ht(k)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function ne(){gt("task")}async function he(){if(!u||!S?.id)return;const f=de.create();if(!f.title){N({open:!0,message:d("global.nameRequired"),severity:"error"});return}const M=L||S.calendarId;if(!M){N({open:!0,message:d("global.errorSavingChanges"),severity:"error"});return}const k={...f,calendarId:M};try{N({open:!0,message:d("global.savingChanges"),severity:"info"});const G=Jt(S.id),pe=await Ss(u,G,k);pe&&j(pe),Ae(),N({open:!0,message:d("global.changesSaved"),severity:"success"}),ht(M)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}async function fe(){S?.id&&(_("task"),P(!0))}async function me(){if(!u||!S?.id)return;const f=!S.isCompleted;try{const M=Jt(S.id),k=S.calendarId,G=await Yc(u,M,f);G&&j(G),N({open:!0,message:d("global.changesSaved"),severity:"success"}),k&&ht(k)}catch{N({open:!0,message:d("global.errorSavingChanges"),severity:"error"})}}function ue(){const f=h==="event",M=f?C:S;if(!M)return;const k={...M};f?(y(null),I("create"),V(!0),setTimeout(()=>{if(ie.titleField.actions.changeValue(k.title??""),ie.descriptionField.actions.changeValue(k.details??k.description??""),ie.locationField.actions.changeValue(k.location??""),ie.colorField.actions.changeValue(k.color??""),ie.setAllDay(k.allDay??!1),ie.setIsPrivate(k.isPrivate??!1),ie.setRecurrenceRule(k.rule??""),ie.date.action.setSelectedStartDate(Q(k.startAt)),ie.date.action.setSelectedEndDate(Q(k.endAt)),ie.date.action.setError(!1),ie.notifications.action.resetNotifications(),k.relatedContact?.id&&ie.linkContact.action.handleSelectContact(k.relatedContact),k.sharedWith){const G=k.sharedWith.map(pe=>pe.id);ie.shareWithUsers.action.setUserIds(G)}$(k.calendarId??U)},50)):(j(null),I("create"),setTimeout(()=>{de.titleField.actions.changeValue(k.title??""),de.descriptionField.actions.changeValue(k.description??""),de.date.action.setSelectedStartDate(Q(k.startAt)),de.date.action.setSelectedEndDate(Q(k.startAt)),de.date.action.setError(!1),k.relatedContact?.id&&de.linkContact.action.handleSelectContact(k.relatedContact),D(k.calendarId??L)},50))}function Me(f){const{startAt:M,endAt:k}=ea(f),G={...f,kind:"task",startAt:M,endAt:k,description:f?.description??""};b("task"),j(G),D(G.calendarId??""),$(G.calendarId??""),y(null),I("view"),ie.date.action.setError(!1),de.date.action.setError(!1),ke.handleOpen()}function je(f){return f?.kind==="task"?Me(f):Ut(f)}K(()=>{try{Ye&&localStorage.setItem(rt,JSON.stringify(Ye))}catch{}},[Ye]),K(()=>{$e?.length&&mt(f=>{const M=new Set($e.map(G=>G.id)),k=(f??[]).filter(G=>M.has(G));return k.length?k:$e.map(G=>G.id)})},[$e]),K(()=>{try{localStorage.setItem(De,Z)}catch{}},[Z]);const Te={eventDialog:{...ke,handleClose:Ae},dialogMode:w,createCalendarDialog:q,event:ie,calendar:le,events:wt,handleCreateEvent:Ft,handleSelectEvent:je,handleOpenEventCreate:ta,handleStartEditingEvent:ot,handleSaveUpdatedEvent:aa,handleEndEvent:Pa,handleDeleteEvent:Fa,handleResizeEvent:Na,selectedEvent:C,savingSnackbar:se,handleCloseSnackbar:$a,dialogType:h,setDialogType:b,handleOpenTaskCreate:ne,handleOpenCreateFromSlot:oa,handleCloseCreateCalendarDialog:ca,calendarDialogMode:H,editingCalendar:J,handleOpenCreateCalendarDialog:Ma,handleOpenEditCalendarDialog:p,handleSubmitCalendar:A,tasks:St,activeCalendarIds:Ye,setActiveCalendarIds:mt,handleCreateTask:W,task:de,selectedTask:S,taskCalendarId:L,setTaskCalendarId:D,eventCalendarId:U,setEventCalendarId:$,userManuallyChangedColor:E,setUserManuallyChangedColor:V,myCalendars:it,otherCalendars:Ua,handleSaveUpdatedTask:he,handleDeleteTask:fe,handleToggleTaskCompleted:me,handleDuplicateItem:ue,calendarView:Z,setCalendarView:Ge,calendarDate:ye,setCalendarDate:Ee,navigateToDate:Ce,confirmDeleteDialog:{open:z,handleClose:()=>P(!1),itemType:T},handleConfirmDelete:ra,deleteRecurringDialog:{open:R,handleClose:()=>B(!1)},handleConfirmDeleteRecurring:ia,editRecurringDialog:{open:X,handleClose:()=>{oe(!1),ve(null)}},handleConfirmEditRecurring:sa,hiddenTabs:m};return t.jsx(Pc,{t:d,children:t.jsx(rn.Provider,{value:Te,children:e})})},Ea=ee(v)(()=>({display:"flex",flexDirection:"column",gap:.5})),dn=ee(v)(()=>({display:"flex",alignItems:"baseline",gap:1})),un=ee(Y)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),kt="DD/MM/YYYY",Ta="HH:mm",Jc=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:r,hideLabel:o=!1,allDay:l=!1})=>{const c=Le(),m=ae(()=>a.diff(e,"minute"),[e,a]),g=ae(()=>{if(m===0)return"0 min";const y=Math.floor(m/60),S=m%60;return y===0?`${S} min`:S===0?`${y} h`:`${y}.${Math.round(S/60*10)} h`},[m]),u=y=>{if(!y)return;const S=y.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),j=y.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(S),s(j)},d=y=>{if(!y)return;const S=y.hour(0).minute(0).second(0).millisecond(0);n(S)},h=y=>{if(!y)return;const S=y.hour(23).minute(59).second(59).millisecond(999);s(S)},b=y=>{if(!y)return;const S=e.hour(y.hour()).minute(y.minute()).second(0).millisecond(0),j=S.add(m,"minute");n(S),s(j)},C=y=>{if(!y)return;let S=e.hour(y.hour()).minute(y.minute()).second(0).millisecond(0);(S.isBefore(e)||S.isSame(e))&&(S=S.add(1,"day")),s(S)};return r?t.jsxs(Ea,{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(Y,{variant:"body1",children:e.format(kt)}),t.jsx(Y,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(Y,{variant:"body1",children:a.format(kt)})]}):t.jsxs(v,{children:[t.jsx(Y,{variant:"body1",sx:{mb:1},children:e.format(kt)}),t.jsxs(v,{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)}),m>0&&t.jsxs(Y,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",g,")"]})]})]})]}):t.jsxs(Ea,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),t.jsx(An,{dateAdapter:Un,children:l?t.jsxs(dn,{children:[t.jsx(fa,{disabled:r,format:kt,label:c("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:e,onChange:d,minDate:Q(),sx:{flex:1}}),t.jsx(un,{variant:"body1",children:"\u2013"}),t.jsx(fa,{disabled:r,format:kt,label:c("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:a,onChange:h,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(v,{sx:{mb:1},children:t.jsx(fa,{disabled:r,format:kt,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:y=>y.palette.background.panel}}}},value:e,onChange:u,minDate:Q()})}),t.jsxs(dn,{children:[t.jsx(Ya,{disabled:r,format:Ta,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:b,sx:{alignSelf:"baseline",flex:1}}),t.jsx(un,{variant:"body1",children:"\u2013"}),t.jsxs(v,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ya,{disabled:r,format:Ta,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:C,sx:{alignSelf:"baseline",width:"100%"}}),m>0&&t.jsxs(Y,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",g,")"]})]})]})]})}),i&&t.jsx(at,{in:i,children:t.jsx(Y,{color:"red",variant:"caption",sx:{mt:1,ml:"10px"},children:c("calendarView.reminders.errorDate")})})]})},Qc=ee(v)(()=>({display:"flex",gap:2,alignItems:"center"})),Xc=ee(v)(({theme:e})=>({width:"15%",userSelect:"none",color:e.palette.text.secondary})),Is=({name:e,children:a})=>t.jsxs(Qc,{children:[t.jsx(Xc,{children:e}),a]}),Je=({children:e,title:a})=>t.jsxs(v,{children:[t.jsx(Y,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),pn=({titleField:e,disabled:a,variantMode:n="default"})=>{const s=Le(),{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(Is,{name:s("global.title"),children:t.jsx(Y,{variant:"body1",sx:{py:.5},children:l||"-"})}):t.jsx(Is,{name:s("global.title"),children:t.jsx(we,{...o,value:l,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:r})})},Zc=ee(v)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),ed=ee(v)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),td=ee(we)(()=>({width:"13%"})),ad=ee(da)(()=>({width:"23%"})),nd=ee(v)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),sd=ee(be)(()=>({ml:"auto"})),rd=[{title:"minute",value:xa.MINUTE},{title:"hour",value:xa.HOUR},{title:"day",value:xa.DAY}],id=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const r=Le(),o=e.timeValue??0;return t.jsxs(Zc,{children:[t.jsxs(ed,{children:[t.jsx(Y,{variant:"body2",sx:{userSelect:"none"},children:r("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:rd.map(l=>t.jsx(tt,{value:l.value,children:r(`calendarView.reminders.timePeriod.${l.title}`)},l.value))}),t.jsx(Y,{variant:"body2",sx:{userSelect:"none"},children:r("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(nd,{children:[t.jsx(It,{sx:{display:"flex",alignItems:"center"},label:r("calendarView.reminders.sendReminderToContact"),control:t.jsx(Cn,{checked:e.sendToContact,onChange:l=>s(l,e.id),color:"secondary"})}),t.jsx(sd,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(ya,{})})]})]})},od=ee(v)`
|
|
16
|
+
<%s key={someKey} {...props} />`,A,f,ee,f),la[f+A]=!0}}return p===s?za(Ee):Oa(Ee),Ee}}function da(p,k,W){return ca(p,k,W,!0)}function La(p,k,W){return ca(p,k,W,!1)}var ua=La,pa=da;_t.Fragment=s,_t.jsx=ua,_t.jsxs=pa})()),_t}process.env.NODE_ENV==="production"?Qa.exports=Pr():Qa.exports=Nr();var t=Qa.exports;Fr(t);const Rr=Z(v)(({theme:e})=>({position:"absolute",top:8,right:8,display:"flex",flexDirection:"column",gap:4,zIndex:1,backgroundColor:e.palette.background.panel})),On=Z(xe)({padding:4}),Mr=Z(v)({display:"flex",flexDirection:"column",alignItems:"center",marginBottom:"16px",position:"relative"}),Or=Z(Wa)({width:60,height:60,marginBottom:8}),zr=Z(V)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:200,textAlign:"center"}),Lr=Z(v)({display:"flex",justifyContent:"center",alignItems:"center",width:60,height:60,marginBottom:8}),Wr=({imgUrl:e,name:a,contactId:n,navigate:s,isLoading:i=!1,onError:r,onClose:o,isBusiness:l=!1})=>{const c=se(u=>b=>{try{if(b.preventDefault(),b.stopPropagation(),!u)throw new Error("Navigation URL is required");b.ctrlKey||b.metaKey||b.button===1?window.open(u,"_blank","noopener,noreferrer"):s(u)}catch(j){r?.(j instanceof Error?j:new Error("Navigation failed"))}},[s,r]),m=c(l?`/a/contacts/business/${n}`:`/a/contacts/contacts/${n}`),y=c(`/a/conversations/conversations?contactId=${n}`),h=a||"Unknown Contact",d=`Avatar for ${h}`;return t.jsxs(Mr,{children:[t.jsxs(Rr,{children:[t.jsx(On,{color:"info",size:"small",onClick:u=>{m(u),o()},onMouseDown:u=>{u.button===1&&(m(u),o())},disabled:!n,"aria-label":"View contact details",children:t.jsx(rr,{fontSize:"small"})}),t.jsx(On,{color:"info",size:"small",onClick:u=>{y(u),o()},onMouseDown:u=>{u.button===1&&(y(u),o())},"aria-label":"Go to conversations",children:t.jsx(ir,{fontSize:"small"})})]}),i?t.jsx(Lr,{children:t.jsx(Qe,{size:24})}):t.jsx(Or,{src:e,alt:d,onError:()=>r?.(new Error("Failed to load avatar"))}),t.jsx(zr,{variant:"h6",title:h,children:h})]})},_r=Z(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Br=Z(v)({width:"100%",borderBottom:"1px solid lightgray"}),Vr=Z(v)({display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:1,minHeight:"50px",position:"relative",maxWidth:"inherit"}),Yr=Z(v)(({theme:e})=>({marginTop:"-20px",padding:0,color:e.palette.primary.main})),Hr=Z(v)({display:"flex",maxWidth:"90%",gap:"10px",width:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",alignItems:"center"}),Gr=Z(v)({display:"flex",flexDirection:"column",height:"50px",maxWidth:"90%"}),Kr=Z(V)({whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",maxWidth:"90%",position:"absolute",bottom:16,left:40}),qr=({icon:e,contactList:a,title:n,showTitle:s=!0})=>{const i=r=>t.jsx(Vr,{children:t.jsxs(Hr,{children:[t.jsx(Yr,{children:e}),t.jsxs(Gr,{children:[t.jsx(ht,{title:r.address,arrow:!0,placement:"top",children:t.jsx(V,{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(V,{variant:"body2",fontSize:10,color:"text.disabled",sx:{marginLeft:"5px",marginTop:"10px"},children:r.profileName})]}),r.note&&t.jsx(Kr,{variant:"body2",fontSize:12,color:"text.secondary",children:r.note})]})},r.id);return t.jsxs(_r,{children:[s&&t.jsx(Br,{children:t.jsx(V,{variant:"subtitle1",fontWeight:"bold",gutterBottom:!0,mt:2,children:n})}),a?.map(i)]})},Jr=Z(v)({display:"flex",flexDirection:"column",width:"100%",height:"max-content",alignItems:"center",gap:8}),Qr=Z(V)({borderBottom:"1px solid lightgray",width:"100%"}),Xr=Z(v)({display:"flex",alignItems:"center",gap:8,width:"100%"}),Zr=Z(V)({fontSize:14}),ei=Z(Hs)(({theme:e})=>({color:e.palette.primary.main,fontSize:16})),ti=({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=jt(i,jt.ISO_8601).isValid(),l=c=>jt(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[m,y]=c,h=r===le.TIMERANGE?jt(m).format("HH:mm"):jt(m).format("DD/MM/YYYY"),d=r===le.TIMERANGE?jt(y).format("HH:mm"):jt(y).format("DD/MM/YYYY");return`${h} - ${d}`}return i;default:return i}}return i};return t.jsxs(Jr,{children:[t.jsx(Qr,{fontWeight:"bold",gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.map((i,r)=>i.value.length>0&&t.jsxs(Xr,{children:[t.jsx(ei,{}),t.jsxs(Zr,{children:[n(i.nameKey),":"," ",s(i.value,i.type)]})]},r))]})},ai=Z(V)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),ni=Z(v)({marginBottom:16}),si=Z(Ct)(({theme:e})=>({marginRight:8,marginBottom:8,backgroundColor:`${e.palette.primary.main}b3`})),ri=({contactData:e,title:a})=>!e||!e.tags?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ai,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(ni,{children:e?.tags?.filter(n=>n.name?.trim()).map(n=>t.jsx(si,{label:n.name,color:"primary",size:"small"},n.id))})]});function zn(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 ii=Z(V)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),oi=({contactData:e,title:a})=>!e||!zn(e)?null:t.jsxs(t.Fragment,{children:[t.jsx(ii,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),t.jsx(V,{variant:"body2",color:"text.secondary",children:e?.businessName})]});function Ln(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 li=({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(V,{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})},ci=Z(V)({fontWeight:"bold",marginBottom:"8px",marginTop:"16px",borderBottom:"1px solid lightgray"}),di=({contactData:e,title:a,navigate:n})=>!e||!Ln(e)||!e.members?.length?null:t.jsxs(t.Fragment,{children:[t.jsx(ci,{gutterBottom:!0,mt:2,variant:"subtitle1",children:a}),e?.members.map(s=>t.jsx(li,{memberId:String(s.id),name:s.name,navigate:n},s.id))]});var ui="Labels",pi="Phone",mi="Business",hi="Business Members",gi="Properties",yi="View",fi="Tags",xi={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"},bi={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"},vi={upload:"Upload photo",delete:"Delete photo"},Ci={from:"From",to:"To"},ji={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"}}},wi={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"},Si={labels:ui,phone:pi,business:mi,businessMembers:hi,properties:gi,view:yi,tags:fi,global:xi,searchLocationModal:bi,avatar:vi,contactEdit:Ci,conversations:ji,calendarView:wi},Ii="Etiquetas",Ei="Tel\xE9fono",Ti="Empresa",Di="Miembros de la empresa",ki="Propiedades",Ai="Ver",$i="Etiquetas",Ui={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"},Fi={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"},Pi={upload:"Subir foto",delete:"Eliminar foto"},Ni={from:"Desde",to:"Hasta"},Ri={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"}}},Mi={reminders:{title:"Recordatorios",addReminder:"Agregar recordatorio",errorDate:"La fecha 'Hasta' debe ser mayor que la fecha 'Desde'",searchContact:"Buscar contacto",sendReminder:{pt1:"Enviar recordatorio",pt2:"antes."},timePeriod:{minute:"minuto/s",hour:"hora/s",day:"d\xEDa/s"},sendReminderToContact:"Enviar recordatorio al contacto externo"},shortcuts:{title:"Atajos de teclado",advice:"Consejo: Puedes usar estos atajos para acelerar la creaci\xF3n y edici\xF3n de eventos"},myCalendars:"Mis calendarios",noCalendar:"Sin calendario",othersCalendars:"Otros calendarios"},Oi={labels:Ii,phone:Ei,business:Ti,businessMembers:Di,properties:ki,view:Ai,tags:$i,global:Ui,searchLocationModal:Fi,avatar:Pi,contactEdit:Ni,conversations:Ri,calendarView:Mi};const zi={en:{translation:Si},es:{translation:Oi}},Bt=lr.createInstance();Bt.use(or).init({resources:zi,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Li=Z(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"}})),Wi=({open:e,anchorEl:a,onClose:n,contactData:s,avatarImgUrl:i,navigate:r,language:o="en"})=>{const{t:l,i18n:c}=wt();H(()=>{o&&c.changeLanguage(o)},[o,c]);const m=l,y=Ln(s),h=zn(s),d=[{icon:t.jsx(Gs,{fontSize:"small"}),title:m("phone"),contactList:s?.phones||[],showTitle:!0},{icon:t.jsx(Ks,{fontSize:"small"}),title:m("email"),contactList:s?.emails||[],showTitle:!0},{icon:t.jsx(qs,{fontSize:"small"}),title:"IM",contactList:s?.ims_whatsapp||[],showTitle:!0},{icon:t.jsx(Js,{fontSize:"small"}),contactList:s?.ims_facebook||[],showTitle:!1},{icon:t.jsx(Qs,{fontSize:"small"}),contactList:s?.ims_instagram||[],showTitle:!1},{icon:t.jsx(Xs,{fontSize:"small"}),contactList:s?.ims_webchat||[],showTitle:!1}];return H(()=>{const u=b=>{b.key==="Escape"&&n()};return e&&window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u)}},[e,n]),t.jsx(bn,{sx:{zIndex:1300},open:e,anchorEl:a,placement:"bottom-start","data-popper-child":"true",children:t.jsx(vn,{onClickAway:n,children:t.jsx(Li,{children:t.jsxs(Ms,{children:[t.jsx(Wr,{navigate:r,contactId:s?.id,imgUrl:i,name:s?.name,onClose:n,isBusiness:y}),t.jsx(ri,{contactData:s,title:m("labels")}),h&&t.jsx(oi,{contactData:s,title:m("business")}),y&&t.jsx(di,{contactData:s,title:m("businessMembers"),navigate:r}),d.map((u,b)=>t.jsx(qr,{icon:u.icon,title:u.title,contactList:u.contactList,showTitle:u.showTitle},b)),t.jsx(ti,{properties:s?.properties,title:m("properties")})]})})})})},Wn=e=>t.jsx(Ha,{i18n:Bt,children:t.jsx(Wi,{...e})}),_n=e=>e,Bn=mt(_n),_i=({t:e,children:a})=>t.jsx(Bn.Provider,{value:e,children:a}),we=()=>{const e=rt(Bn);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),_n)},Bi=({tags:e,onEditTags:a})=>{const n=we(),[s,i]=x(null),r=te(()=>e??[],[e]),o=r.slice(0,4),l=Math.max(r.length-o.length,0),c=h=>{i(h.currentTarget)},m=()=>{i(null)},y=!!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(Xe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",justifyContent:"center",children:[o.map(h=>t.jsx(Ct,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:140,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id)),l>0?t.jsx(Ct,{label:`+${l}`,size:"small",variant:"outlined",onClick:c,sx:{borderRadius:999}}):null]}),t.jsx(xe,{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:h=>h.palette.background.panel,opacity:0,transition:"opacity 0.2s ease-in-out","&:hover":{bgcolor:"action.hover",color:"text.primary"}},children:r.length?t.jsx(Mt,{fontSize:"small"}):t.jsx(cr,{fontSize:"small"})})]}),t.jsx(Os,{open:y,anchorEl:s,onClose:m,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(V,{variant:"subtitle2",sx:{mb:1},children:n("tags")}),t.jsx(Xe,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:r.map(h=>t.jsx(Ct,{label:h.name,size:"small",variant:"outlined",sx:{borderRadius:999,maxWidth:160,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis"}}},h.id))})]})})]})},Vn=mt(null),Vi=Vn.Provider,gt=()=>rt(Vn),Yi=Z(V)({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:360,textAlign:"center"}),Hi=Z(v)({display:"flex",alignItems:"center",justifyContent:"center",width:"100%"}),Gi=Z(v)({position:"relative",display:"flex",justifyContent:"center",maxWidth:"100%","&:hover .edit-icon":{opacity:1,visibility:"visible"}}),Ki=Z(xe)({opacity:0,visibility:"hidden",transition:"all 0.2s",position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)"}),qi=({displayName:e,contactType:a,firstName:n,lastName:s,name:i,entityId:r,onEntityUpdated:o})=>{const l=gt(),[c,m]=x(!1),[y,h]=x(!1),[d,u]=x({firstName:n||"",lastName:s||"",name:i||""});H(()=>{u({firstName:n||"",lastName:s||"",name:i||""})},[n,s,i]);const b=async()=>{if(!(!l||!r||!a||a==="unknown")){h(!0);try{let g={};a==="contact"?g={firstName:d.firstName,lastName:d.lastName}:a==="business"&&(g={name:d.name});const I=await l.updateEntity({entityType:a,entityId:r,body:g});I&&o&&o(I),m(!1)}catch(g){console.error("Failed to update name",g)}finally{h(!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(je,{value:d.firstName,onChange:g=>u({...d,firstName:g.target.value}),size:"small",placeholder:"First Name",sx:{width:140}}),t.jsx(je,{value:d.lastName,onChange:g=>u({...d,lastName:g.target.value}),size:"small",placeholder:"Last Name",sx:{width:140}})]}):t.jsx(je,{value:d.name,onChange:g=>u({...d,name:g.target.value}),size:"small",placeholder:"Name",sx:{width:280}}),t.jsx(xe,{onClick:b,disabled:y,color:"primary",children:y?t.jsx(Qe,{size:24}):t.jsx(Zs,{})})]}):t.jsx(Hi,{children:t.jsxs(Gi,{children:[t.jsx(Yi,{variant:"h6",title:e,children:e}),j&&t.jsx(Ki,{size:"small",onClick:()=>m(!0),className:"edit-icon",sx:{ml:1},children:t.jsx(er,{fontSize:"small"})})]})})},Ji=({src:e,alt:a,onError:n,onUpload:s,onDelete:i,isUploading:r,isDeleting:o})=>{const l=we();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(Wa,{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(xe,{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(dr,{fontSize:"small"})}),t.jsx(xe,{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(ba,{fontSize:"small"})})]})]})},Qi=Z(v)({display:"flex",flexDirection:"column",alignItems:"center",gap:"4px",marginBottom:"20px",position:"relative"}),Xi=({imgUrl:e,displayName:a,onError:n,tags:s,onEditTags:i,onUploadPhoto:r,onPhotoFileChange:o,photoInputRef:l,isUploadingPhoto:c,onDeletePhoto:m,isDeletingPhoto:y,contactType:h,firstName:d,lastName:u,name:b,entityId:j,onEntityUpdated:g})=>{const I=`Avatar for ${a}`;return t.jsxs(Qi,{children:[t.jsx("input",{ref:l,type:"file",accept:"image/*",onChange:o,style:{display:"none"}}),t.jsx(Ji,{src:e,alt:I,onError:()=>n?.(new Error("Failed to load avatar")),onUpload:r,isUploading:c,onDelete:m,isDeleting:y}),t.jsx(qi,{displayName:a,contactType:h,firstName:d,lastName:u,name:b,entityId:j,onEntityUpdated:g}),t.jsx(Bi,{tags:s,onEditTags:i})]})},Xa=20,Zi=e=>{const{popperContainer:a,...n}=e;return t.jsx(ur,{...n,container:a??n.container,style:{...n.style??{},zIndex:2e4}})},eo=({value:e,options:a,onChange:n,onBack:s,onSave:i,isSaving:r,onCreateNew:o,isCreatingNew:l,popperContainer:c})=>{const m=we(),[y,h]=x(""),[d,u]=x(Xa),b=Ns(y),j=te(()=>a??[],[a]),g=te(()=>{const D=String(b??"").trim().toLowerCase();return D?j.filter($=>String($?.name??"").toLowerCase().includes(D)):j},[j,b]),I=te(()=>g.slice(0,d),[g,d]),C=te(()=>{const D=new Map;for(const $ of e??[])$?.id&&D.set(String($.id),$);for(const $ of I??[])$?.id&&(D.has(String($.id))||D.set(String($.id),$));return Array.from(D.values())},[e,I]),S=(D,$)=>{h($??""),u(Xa)},w=D=>{const $=D;$.scrollTop+$.clientHeight>=$.scrollHeight-24&&u(U=>U+Xa)},L=()=>{const D=String(y??"").trim(),$=!D||r||l;return t.jsxs(v,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("global.noOptions"),t.jsx(lt,{onClick:()=>o(D),loading:l,disabled:$,variant:"contained",size:"small",sx:{marginTop:1.3},children:m("global.createNew")})]})};return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Xe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(xe,{size:"small",onClick:s,"aria-label":m("global.back"),disabled:r,children:t.jsx(Ga,{fontSize:"small"})}),t.jsx(V,{variant:"subtitle1",children:m("tags")}),t.jsx(v,{sx:{flex:1}}),t.jsx(lt,{variant:"contained",size:"small",startIcon:t.jsx(St,{}),onClick:i,loading:r,disabled:r,children:m("global.save")})]}),t.jsx(_a,{multiple:!0,disablePortal:!1,value:e,onChange:(D,$)=>n($),options:C,filterOptions:D=>D,inputValue:y,onInputChange:S,getOptionLabel:D=>D?.name??"",isOptionEqualToValue:(D,$)=>String(D?.id)===String($?.id),PopperComponent:D=>t.jsx(Zi,{...D,popperContainer:c}),renderOption:(D,$)=>{const{key:U,...E}=D;return Rs("li",{...E,key:$?.id?String($.id):String(U??$?.name??"")},$.name??"")},renderTags:(D,$)=>D.map((U,E)=>{const Y=$({index:E}),{key:_,...B}=Y;return t.jsx(Ct,{label:U.name??"",...B},U?.id?String(U.id):String(_??U?.name??E))}),size:"small",renderInput:D=>t.jsx(je,{...D,size:"small"}),ListboxProps:{onScroll:w,sx:{maxHeight:280,overflowY:"auto"}},noOptionsText:t.jsx(L,{}),sx:{width:"100%"}})]})};var to=Object.defineProperty,ao=(e,a,n)=>a in e?to(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Yn=(e,a,n)=>ao(e,typeof a!="symbol"?a+"":a,n);let Hn=class extends Error{constructor(a,n,s){super(a),Yn(this,"status"),Yn(this,"body"),this.name="ApiError",this.status=n,this.body=s}};async function He({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 Hn(l,r.status,o)}return o}async function no({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 Hn(l,r.status,o)}return o}function Ue(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function Ve(e,a){const n=encodeURIComponent(a);return{CONTACTS:Ue(e,`/contacts/${n}`),MEDIA:Ue(e,`/media/${n}`),SETTINGS:Ue(e,`/settings/${n}`)}}async function so({baseUrl:e,spaceId:a,signal:n}){const s=Ve(e,a),i=Ue(s.CONTACTS,"/labels");return He({url:i,signal:n})}async function Gn({baseUrl:e,spaceId:a,name:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/labels");return He({url:r,method:"POST",body:{name:n},signal:s})}async function ro({baseUrl:e,spaceId:a,contactId:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,`/contacts/${encodeURIComponent(n)}`);return He({url:r,signal:s})}async function io({baseUrl:e,spaceId:a,businessId:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,`/business/${encodeURIComponent(n)}`);return He({url:r,signal:s})}async function oo({baseUrl:e,spaceId:a,forType:n,signal:s}){const i=Ve(e,a),r=`${Ue(i.CONTACTS,"/ContactFields")}?filter=custom&for=${encodeURIComponent(n)}`;return He({url:r,signal:s})}async function tt({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}){const o=n==="business"?`/business/${encodeURIComponent(s)}`:`/contacts/${encodeURIComponent(s)}`,l=Ve(e,a),c=Ue(l.CONTACTS,o);return He({url:c,method:"PUT",body:i,signal:r})}async function lo({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/Search");return He({url:r,method:"POST",body:n,signal:s})}async function co({baseUrl:e,spaceId:a,business:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/business");return He({url:r,method:"POST",body:n,signal:s})}async function ja({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/contactAddresses");return He({url:r,method:"DELETE",body:n,signal:s})}async function uo({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/contactAddresses/check");return He({url:r,method:"POST",body:n,signal:s})}async function po({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,"/contactAddresses/set");return He({url:r,method:"POST",body:n,signal:s})}async function mo({baseUrl:e,spaceId:a,data:n,signal:s}){const i=Ve(e,a),r=Ue(i.CONTACTS,`/contactAddresses/${encodeURIComponent(n.contactAddressId)}`);return He({url:r,method:"PUT",body:n,signal:s})}async function Kn({baseUrl:e,spaceId:a,signal:n}){const s=Ve(e,a),i=Ue(s.SETTINGS,"/user");return He({url:i,signal:n})}async function ho({baseUrl:e,spaceId:a,signal:n}){const s=Ve(e,a),i=Ue(s.SETTINGS,"/users");return He({url:i,signal:n})}async function go({baseUrl:e,spaceId:a,signal:n,userId:s}){const i=Ve(e,a),r=Ue(i.SETTINGS,`/usersInfor/${s}`);return He({url:r,signal:n})}async function qn({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i}){const r=Ve(e,a),o=new FormData;o.append("file",s,s.name);const l=Ue(r.MEDIA,`/upload?module=contacts&folderType=avatars&contactId=${encodeURIComponent(n)}`);return no({url:l,formData:o,signal:i})}const Jn=(e,a)=>({fetchLabels:({signal:n}={})=>so({baseUrl:e,spaceId:a,signal:n}),createLabel:({name:n,signal:s})=>Gn({baseUrl:e,spaceId:a,name:n,signal:s}),fetchContact:({contactId:n,signal:s})=>ro({baseUrl:e,spaceId:a,contactId:n,signal:s}),fetchBusiness:({businessId:n,signal:s})=>io({baseUrl:e,spaceId:a,businessId:n,signal:s}),fetchBusinessTableData:({pagination:n,signal:s})=>lo({baseUrl:e,spaceId:a,pagination:n,signal:s}),createBusiness:({business:n,signal:s})=>co({baseUrl:e,spaceId:a,business:n,signal:s}),fetchContactFields:({forType:n,signal:s})=>oo({baseUrl:e,spaceId:a,forType:n,signal:s}),updateEntity:({entityType:n,entityId:s,body:i,signal:r})=>tt({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:i,signal:r}),deleteAddress:({data:n,signal:s})=>ja({baseUrl:e,spaceId:a,data:n,signal:s}),deleteAddres:({data:n,signal:s})=>ja({baseUrl:e,spaceId:a,data:n,signal:s}),checkContactAddress:({data:n,signal:s})=>uo({baseUrl:e,spaceId:a,data:n,signal:s}),setContactAddress:({data:n,signal:s})=>po({baseUrl:e,spaceId:a,data:n,signal:s}),updateContactAddress:({data:n,signal:s})=>mo({baseUrl:e,spaceId:a,data:n,signal:s}),fetchUserTrii:({signal:n}={})=>Kn({baseUrl:e,spaceId:a,signal:n}),fetchUsers:({signal:n}={})=>ho({baseUrl:e,spaceId:a,signal:n}),fetchUserTriiById:({userId:n,signal:s})=>go({baseUrl:e,spaceId:a,userId:n,signal:s}),uploadAvatar:({contactId:n,file:s,signal:i})=>qn({baseUrl:e,spaceId:a,contactId:n,file:s,signal:i})}),Qn=()=>!!window?.google?.maps?.places?.Autocomplete,yo=(e=1e4)=>new Promise(a=>{if(Qn()){a(!0);return}const n=Date.now(),s=window.setInterval(()=>{if(Qn()){window.clearInterval(s),a(!0);return}Date.now()-n>e&&(window.clearInterval(s),a(!1))},100)}),fo=()=>{const[e,a]=x(!1),[n,s]=x(!0),[i,r]=x(null);return H(()=>{(async()=>{try{const o=await yo(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}},xo=({onPlaceSelected:e,onError:a,placeholder:n})=>{const s=we(),i=fe(null),r=fe(null),o=fe(e),l=fe(a),{isLoaded:c,isLoading:m,error:y}=fo(),h=te(()=>m?s("searchLocationModal.loadingGoogleMaps"):y?s("searchLocationModal.googleMapsUnavailable"):c?n??s("searchLocationModal.enterLocation"):s("searchLocationModal.googleMapsNotLoaded"),[c,m,y,n,s]);return H(()=>{o.current=e},[e]),H(()=>{l.current=a},[a]),H(()=>{if(!c||!i.current||r.current)return;const d=window?.google;if(!d?.maps?.places?.Autocomplete){l.current?.(s("searchLocationModal.googleMapsUnavailable"));return}i.current.focus();let u=null;const b=()=>{document.querySelectorAll(".pac-container").forEach(g=>{const I=g;I.style.zIndex="20000",I.style.position="fixed"})};u=new MutationObserver(g=>{for(const I of g)for(const C of Array.from(I.addedNodes)){if(C.nodeType!==Node.ELEMENT_NODE)continue;const S=C;S.classList?.contains("pac-container")&&(S.style.zIndex="20000",S.style.position="fixed")}}),u.observe(document.body,{childList:!0,subtree:!0}),b(),window.setTimeout(b,100),r.current=new d.maps.places.Autocomplete(i.current,{types:["geocode"],componentRestrictions:{country:"ar"}});const j=r.current.addListener?.("place_changed",()=>{const g=r.current?.getPlace?.();if(!g?.geometry?.location){l.current?.(s("searchLocationModal.selectedPlaceNoLocation"));return}let I="",C="",S="",w="",L="",D="";const $=g.address_components??[];for(const _ of $){const B=_?.types??[];if(B.includes("locality")||B.includes("administrative_area_level_2")){I=_.long_name;continue}if(B.includes("administrative_area_level_1")){C=_.long_name;continue}if(B.includes("country")){S=_.long_name;continue}if(B.includes("postal_code")){w=_.long_name;continue}if(B.includes("route")){L=_.long_name;continue}B.includes("street_number")&&(D=_.long_name)}const U=typeof g.geometry.location.lat=="function"?g.geometry.location.lat():0,E=typeof g.geometry.location.lng=="function"?g.geometry.location.lng():0,Y={location:{lat:U,lng:E},address:g.formatted_address??"",city:I,state:C,country:S,postalCode:w,streetName:L,streetNumber:D,shortAddress:[L,D].filter(Boolean).join(" ")};o.current(Y)});return()=>{u&&u.disconnect(),j?.remove&&j.remove(),r.current=null}},[c,s]),t.jsx(je,{fullWidth:!0,size:"small",inputRef:i,placeholder:h,disabled:m||!c||!!y,error:!!y})},bo={street:"",city:"",state:"",zipcode:"",country:""},vo=({baseUrl:e,spaceId:a,entityType:n,entityId:s,onBack:i,onEntityUpdated:r})=>{const o=we(),[l,c]=x(bo),[m,y]=x(""),[h,d]=x(""),[u,b]=x(!1),[j,g]=x(!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=U=>{y(U.address??"");const E=String(U.shortAddress??"").trim()||[U.streetName,U.streetNumber].filter(Boolean).join(" ").trim();c({street:E,city:U.city??"",state:U.state??"",zipcode:U.postalCode??"",country:U.country??""}),d("")},S=U=>{d(String(U??""))},w=U=>E=>{const Y=E.target.value;c(_=>({..._,[U]:Y}))},L=async()=>{if(!u&&!(!e||!a)&&s){b(!0);try{const U=await tt({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?.(U),i()}finally{b(!1)}}},D=async()=>{if(!j&&!(!e||!a)&&s){g(!0);try{const U=await tt({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?.(U),i()}finally{g(!1)}}},$=!I||u||j;return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Xe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:3},children:[t.jsx(xe,{size:"small",onClick:i,"aria-label":o("global.back"),children:t.jsx(Ga,{fontSize:"small"})}),t.jsx(V,{variant:"h6",children:o("searchLocationModal.searchAddress")})]}),t.jsxs(Xe,{spacing:3,children:[t.jsxs(v,{sx:{position:"relative",zIndex:1400},children:[t.jsx(xo,{onPlaceSelected:C,onError:S,placeholder:o("searchLocationModal.enterLocation")}),h?t.jsx(V,{variant:"caption",color:"error",sx:{mt:.5,display:"block"},children:h}):null]}),t.jsx(je,{label:o("conversations.contactDetails.street"),value:l.street,onChange:w("street"),fullWidth:!0,size:"medium"}),t.jsxs(Xe,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(je,{label:o("searchLocationModal.city"),value:l.city,onChange:w("city"),fullWidth:!0,size:"medium"}),t.jsx(je,{label:o("searchLocationModal.state"),value:l.state,onChange:w("state"),fullWidth:!0,size:"medium"})]}),t.jsxs(Xe,{direction:{xs:"column",sm:"row"},spacing:2,children:[t.jsx(je,{label:o("searchLocationModal.postalCode"),value:l.zipcode,onChange:w("zipcode"),fullWidth:!0,size:"medium"}),t.jsx(je,{label:o("searchLocationModal.country"),value:l.country,onChange:w("country"),fullWidth:!0,size:"medium"})]}),m?t.jsx(V,{variant:"caption",sx:{opacity:.7},children:m}):null,t.jsxs(Xe,{direction:"row",spacing:2,justifyContent:"flex-end",sx:{pt:2},children:[t.jsx(lt,{variant:"contained",size:"large",startIcon:t.jsx(St,{}),onClick:L,loading:u,disabled:$,children:o("searchLocationModal.saveMainAddress")}),t.jsx(lt,{variant:"outlined",size:"large",startIcon:t.jsx(St,{}),onClick:D,loading:j,disabled:$,children:o("searchLocationModal.saveSecondaryAddress")})]})]})]})};function Za(e){return e?.isBusiness===!0?!0:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&Array.isArray(e.membersId)&&Array.isArray(e.members)&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&typeof e.imageUrl=="string"&&!("firstName"in e)&&!("lastName"in e)}function Xn(e){return e?.isBusiness===!0?!1:e!==null&&typeof e=="object"&&typeof e.id=="string"&&typeof e.spaceId=="string"&&typeof e.name=="string"&&typeof e.firstName=="string"&&typeof e.lastName=="string"&&Array.isArray(e.phones)&&Array.isArray(e.emails)&&"origin"in e&&typeof e.isSpam=="boolean"&&(!e.businessId||typeof e.businessId=="string")}function Co({open:e,baseUrl:a,spaceId:n,contactId:s}){const i=fe(null),r=te(()=>!a||!n?null:Jn(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=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 m=te(()=>!!(e&&r),[e,r]);H(()=>{if(!m||!r)return;const d=new AbortController;return l(u=>({...u,labelsLoading:!0,labelsError:null})),r.fetchLabels({signal:d.signal}).then(u=>{l(b=>({...b,labels:u,labelsLoading:!1,labelsError:null}))}).catch(u=>{d.signal.aborted||l(b=>({...b,labelsLoading:!1,labelsError:u}))}),()=>{d.abort()}},[r,m]),H(()=>{if(!c||!r)return;i.current?.abort();const d=new AbortController;return i.current=d,l(u=>({...u,isLoading:!0,error:null,contactData:null})),r.fetchContact({contactId:s,signal:d.signal}).then(u=>{l(b=>({...b,isLoading:!1,error:null,contactData:u}))}).catch(u=>{d.signal.aborted||l(b=>({...b,isLoading:!1,error:u}))}),()=>{d.abort()}},[r,c,s]);const y=te(()=>!!(e&&r),[e,r]);H(()=>{if(!y||!r)return;const d=new AbortController;return l(u=>({...u,userLoading:!0,userError:null})),r.fetchUserTrii({signal:d.signal}).then(u=>{l(b=>({...b,userLoading:!1,userError:null,userTrii:u}))}).catch(u=>{d.signal.aborted||l(b=>({...b,userLoading:!1,userError:u}))}),()=>{d.abort()}},[r,y]);const h=te(()=>{const d=o.contactData,u=Za(d),b=Xn(d);let j="unknown";u&&(j="business"),b&&(j="contact");let g="Unknown Contact";u?g=d.name:b&&(g=`${d.firstName} ${d.lastName}`.trim());const I=d?.tags??[];return{isBusiness:u,isContact:b,contactType:j,displayName:g,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 d=o.contactData,u=Za(d),b=Xn(d),j=u?"business":b?"contact":null;if(!j)return;const g=new AbortController;return l(I=>({...I,contactFieldsLoading:!0,contactFieldsError:null})),r.fetchContactFields({forType:j,signal:g.signal}).then(I=>{l(C=>({...C,contactFields:I,contactFieldsLoading:!1,contactFieldsError:null}))}).catch(I=>{g.signal.aborted||l(C=>({...C,contactFieldsLoading:!1,contactFieldsError:I}))}),()=>{g.abort()}},[r,e,o.contactData]),{state:o,selectors:h,actions:{setContactData:d=>l(u=>({...u,contactData:d??null})),clearError:()=>l(d=>({...d,error:null}))}}}const Vt=({baseUrl:e,spaceId:a,entityType:n,entityId:s,initialImageUrl:i,onEntityUpdated:r})=>{const[o,l]=x(i??""),[c,m]=x(null),[y,h]=x(!1),[d,u]=x(!1),b=fe(null),j=te(()=>!!(e&&a&&n&&s),[e,a,n,s]);function g(E){return E.split("?sv=")[0]}function I(E){return E.split("&cacheId=")[0]}function C(E){let Y=g(E);return!Y||(Y=I(Y),!Y)?"":Y}const S=async()=>{if(!e||!a)return null;const E=await Kn({baseUrl:e,spaceId:a});return m(E),E},w=async E=>{const Y=(c??await S())?.storageAzureSAS,_=Y?.expireAt,B=_?new Date(_):null;let K=Y?.sas??"";if((!K||B&&B<new Date)&&(K=(await S())?.storageAzureSAS?.sas??""),!K)return E;const N=`${Date.now()}`;return`${E}${K}&cacheId=${N}`},L=async E=>{if(!E){l("");return}const Y=g(E);if(!Y)return;const _=await w(Y);l(_)},D=async E=>{const Y=E.target.files?.[0];if(Y&&j){b.current&&(b.current.value=""),h(!0);try{const _=await qn({baseUrl:e,spaceId:a,contactId:s,file:Y}),B=await tt({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:_}});r?.(B),await L(_)}finally{h(!1)}}},$=()=>{b.current?.click()},U=async()=>{if(j&&!d){u(!0);try{await tt({baseUrl:e,spaceId:a,entityType:n,entityId:s,body:{imageUrl:""}}),r?.({imageUrl:""}),l("")}finally{u(!1)}}};return H(()=>{if(!i){l("");return}L(i)},[i]),{inputAtributes:{onChange:D,ref:b,type:"file",accept:"image/*"},action:{uploadImage:$,deleteImage:U},imageUrl:o,removeParams:C,isUploading:y,isDeleting:d}},Se=(e,a)=>{const[n,s]=x(a||""),[i,r]=x(!1),[o,l]=x("");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)}}}},Zn=(e="")=>{const[a,n]=x(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 wa;const jo=new Uint8Array(16);function wo(){if(!wa&&(wa=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!wa))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return wa(jo)}const We=[];for(let e=0;e<256;++e)We.push((e+256).toString(16).slice(1));function So(e,a=0){return We[e[a+0]]+We[e[a+1]]+We[e[a+2]]+We[e[a+3]]+"-"+We[e[a+4]]+We[e[a+5]]+"-"+We[e[a+6]]+We[e[a+7]]+"-"+We[e[a+8]]+We[e[a+9]]+"-"+We[e[a+10]]+We[e[a+11]]+We[e[a+12]]+We[e[a+13]]+We[e[a+14]]+We[e[a+15]]}const Io=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var es={randomUUID:Io};function Sa(e,a,n){if(es.randomUUID&&!a&&!e)return es.randomUUID();e=e||{};const s=e.random||(e.rng||wo)();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 So(s)}function Eo(e){return{id:Sa(),address:"",note:"",channelType:e,isSaved:!1}}var Ia={createNewAddress:Eo};const To=(e,a,n)=>{if(a!==n&&!(a===null&&n==="")){const s={};return s[e]=n,s}return null},Do=(e,a,n)=>n.map(s=>s.id===a?{...s,address:e}:s);var At={getEditedField:To,getAddressesWithUpdatedValues:Do};const ts=({entityId:e,initial:a,dispatch:n,deleteAddress:s})=>{const[i,r]=x(!1),[o,l]=x(()=>a),[c,m]=x(a?.ims_facebook||[]),[y,h]=x(a?.ims_mercadolibre||[]),[d,u]=x(a?.ims_webchat||[]),[b,j]=x(a?.ims_instagram||[]),[g,I]=x(a?.ims_whatsapp||[]),[C,S]=x(a?.emails||[]),[w,L]=x(a?.phones||[]),[D,$]=x(a?.ims_rcs||[]),U=()=>{const R=Ia.createNewAddress(kt.PHONE),F=[...w,R];L(F)},E=()=>{const R=Ia.createNewAddress(kt.EMAIL),F=[...C,R];S(F)},Y=()=>{const R=Ia.createNewAddress(kt.WHATSAPP),F=[...g,R];I(F)},_=()=>{const R=Ia.createNewAddress(kt.RCS),F=[...D,R];$(F)},B=R=>{const F=[...g,R];I(F),l(M=>({...M??{},ims_whatsapp:F}))},K=(R,F)=>{if(F){if(F.channelType===3){const M=C.map(O=>O.id===R?F:O);S(M),l(O=>({...O??{},emails:M}))}if(F.channelType===5){const M=w.map(O=>O.id===R?F:O);L(M),l(O=>({...O??{},phones:M}))}if(F.channelType===13){const M=g.map(O=>O.id===R?F:O);I(M),l(O=>({...O??{},ims_whatsapp:M}))}if(F.channelType===21){const M=D.map(O=>O.id===R?F:O);$(M),l(O=>({...O??{},ims_rcs:M}))}if(F.channelType===41){const M=y.map(O=>O.id===R?F:O);h(M),l(O=>({...O??{},ims_mercadolibre:M}))}}},N=async(R,F,M)=>{const O=R.target.value;if(M===3){const q=At.getAddressesWithUpdatedValues(O,F,C);S(q)}else if(M===5){const q=At.getAddressesWithUpdatedValues(O,F,w);L(q)}else if(M===13){const q=At.getAddressesWithUpdatedValues(O,F,g);I(q)}else if(M===21){const q=At.getAddressesWithUpdatedValues(O,F,D);$(q)}else if(M===41){const q=At.getAddressesWithUpdatedValues(O,F,y);h(q)}},ae=(R,F,M)=>{if(M===14){const O=c.map(q=>q.id===F?{...q,note:R.target.value}:q);m(O)}if(M===20){const O=d.map(q=>q.id===F?{...q,note:R.target.value}:q);u(O)}if(M===16){const O=b.map(q=>q.id===F?{...q,note:R.target.value}:q);j(O)}if(M===3){const O=C.map(q=>q.id===F?{...q,note:R.target.value}:q);S(O)}if(M===5){const O=w.map(q=>q.id===F?{...q,note:R.target.value}:q);L(O)}if(M===13){const O=g.map(q=>q.id===F?{...q,note:R.target.value}:q);I(O)}if(M===21){const O=D.map(q=>q.id===F?{...q,note:R.target.value}:q);$(O)}if(M===41){const O=y.map(q=>q.id===F?{...q,note:R.target.value}:q);h(O)}},Q=async(R,F)=>{if(e&&(F===3||F===5||F===13||F===14||F===20||F===16||F===21||F===41)){r(R);const M={contactId:e,contactAddressId:R,type:F};switch(n?await n(s(M)):await s(M),r(!1),F){case 3:const O=C.filter(z=>z.id!==R);S(O),l(z=>({...z??{},emails:O}));break;case 5:const q=w.filter(z=>z.id!==R);L(q),l(z=>({...z??{},phones:q}));break;case 13:const G=g.filter(z=>z.id!==R);I(G),l(z=>({...z??{},ims_whatsapp:G}));break;case 21:const ie=D.filter(z=>z.id!==R);$(ie),l(z=>({...z??{},ims_rcs:ie}));break;case 41:const me=y.filter(z=>z.id!==R);h(me),l(z=>({...z??{},ims_mercadolibre:me}));break;case 14:const ve=c.filter(z=>z.id!==R);m(ve),l(z=>({...z??{},ims_facebook:ve}));break;case 20:const Ie=d.filter(z=>z.id!==R);u(Ie),l(z=>({...z??{},ims_webchat:Ie}));break;case 16:const ke=b.filter(z=>z.id!==R);j(ke),l(z=>({...z??{},ims_instagram:ke}));break}}};function T(){m(o?.ims_facebook||[]),h(o?.ims_mercadolibre||[]),u(o?.ims_webchat||[]),j(o?.ims_instagram||[]),I(o?.ims_whatsapp||[]),$(o?.ims_rcs||[]),S(o?.emails||[]),L(o?.phones||[])}return H(()=>{l(a),a?.emails&&a?.phones&&(S(a.emails),L(a.phones)),I(a?.ims_whatsapp||[]),$(a?.ims_rcs||[]),m(a?.ims_facebook||[]),u(a?.ims_webchat||[]),j(a?.ims_instagram||[]),h(a?.ims_mercadolibre||[])},[a]),{field:{imsWhatsapp:g,imsRCS:D,imsMercadolibre:y,imsFacebooks:c,imsWebchats:d,imsInstagrams:b,emails:C,phoneNumbers:w},action:{handleAddressFieldChange:N,handleNoteFieldChange:ae,handleDeleteAddress:Q,addPhone:U,addEmail:E,addWhatsapp:Y,addRCS:_,replaceAddress:K,addWhatsappVerified:B,resetToInitialContactInformation:T},state:{isDeletingAddress:i}}},as=({initialState:e=[]}={})=>{const[a,n]=x(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)}}}},ko=({business:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=te(()=>async ge=>{!n||!s||await ja({baseUrl:n,spaceId:s,data:ge})},[n,s]),r=async ge=>ge,[o,l]=x([]),c=Se("text",e?.name||""),m=Vt({baseUrl:n,spaceId:s,entityType:"business",entityId:e?.id,initialImageUrl:e?.imageUrl||""}),y=Zn(e?.owner),h=as({initialState:e?.tags??[]}),[d,u]=x([]),{field:{imsFacebooks:b,imsMercadolibre:j,imsWebchats:g,imsInstagrams:I,imsWhatsapp:C,emails:S,phoneNumbers:w,imsRCS:L},action:{addPhone:D,addEmail:$,addWhatsapp:U,addRCS:E,addWhatsappVerified:Y,replaceAddress:_,handleAddressFieldChange:B,handleNoteFieldChange:K,handleDeleteAddress:N,resetToInitialContactInformation:ae},state:{isDeletingAddress:Q}}=ts({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),T=Se("text",e?.address1?.street||""),R=Se("text",e?.address2?.street||""),F=Se("text",e?.address1?.city||""),M=Se("text",e?.address2?.city||""),O=Se("text",e?.address1?.state||""),q=Se("text",e?.address2?.state||""),G=Se("text",e?.address1?.zipcode||""),ie=Se("text",e?.address2?.zipcode||""),me=Se("text",e?.address1?.country||""),ve=Se("text",e?.address2?.country||""),Ie=(ge,De,be)=>De!==be&&!(De===null&&be==="")?{[ge]:be}:{},ke=()=>{if(!e)return null;const ge={street:T.attributes.value,city:F.attributes.value,state:O.attributes.value,zipcode:G.attributes.value,country:me.attributes.value},De={street:R.attributes.value,city:M.attributes.value,state:q.attributes.value,zipcode:ie.attributes.value,country:ve.attributes.value};return{id:e.id,...Ie("owner",e.owner,y.attributes.value),...Ie("name",e.name,c.attributes.value),imageUrl:m.imageUrl?m.removeParams(m.imageUrl):null,tags:h.attributes.value,properties:o,members:d,phoneNumbers:w,emails:S,address1:ge,address2:De}};function z(ge){if(!e)return;const De=J=>J.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(J=>J.nameKey===ge)??e.properties.find(J=>De(J.nameKey)===De(ge));if(!be){console.error(`No se encontr\xF3 una propiedad con nameKey: ${ge}`);return}const Ze=o.map(J=>J.nameKey===ge?{...J,value:be.value}:J);l(Ze)}const Te=()=>e?a.map(ge=>{const De=J=>J.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),be=e.properties.find(J=>J.nameKey===ge.nameKey)??e.properties.find(J=>De(J.nameKey)===De(ge.nameKey));if(be)return{...be,nameKey:ge.nameKey,type:be.type??ge.type,value:be.value};const Ze=o.find(J=>J.nameKey===ge.nameKey);return{nameKey:ge.nameKey,type:ge.type,value:Ze?Ze.value:""}}):[];return H(()=>{e&&a&&l(Te())},[e,a]),H(()=>{e&&h.actions.setValue(e.tags??[])},[e]),{field:{name:c,imsWhatsapp:C,imsRCS:L,contactImage:m,contactPropietary:y,imsMercadolibre:j,imsFacebooks:b,imsWebchats:g,imsInstagrams:I,emails:S,phoneNumbers:w,homeAddress:T,secondaryHomeAddress:R,city:F,secondaryCity:M,state:O,secondaryState:q,postalCode:G,secondaryPostalCode:ie,country:me,secondaryCountry:ve,customProperties:o,labelMultipleSelect:h},action:{setCustomProperties:l,addWhatsapp:U,addRCS:E,getEditedBusiness:ke,handleAddressFieldChange:B,handleNoteFieldChange:K,handleDeleteAddress:N,addPhone:D,addEmail:$,replaceAddress:_,addWhatsappVerified:Y,resetToInitialContactInformation:ae,resetCustomProperty:z},state:{isDeletingAddress:Q},selectedContacts:d,setSelectedContacts:u}},Ao=({contact:e,customContactFields:a,baseUrl:n,spaceId:s})=>{const i=te(()=>async J=>{!n||!s||await ja({baseUrl:n,spaceId:s,data:J})},[n,s]),r=async J=>J,{getEditedField:o}=At,[l,c]=x([]),m=Se("text",e?.firstName||""),y=Se("text",e?.lastName||""),h=Vt({baseUrl:n,spaceId:s,entityType:"contact",entityId:e?.id?String(e.id):void 0,initialImageUrl:e?.imageUrl}),[d,u]=x(e?.birthDate?X(e.birthDate):null),b=ts({entityId:e?.id,initial:e,dispatch:r,deleteAddress:i}),{field:{imsFacebooks:j,imsMercadolibre:g,imsWebchats:I,imsInstagrams:C,imsWhatsapp:S,emails:w,phoneNumbers:L,imsRCS:D},action:{addPhone:$,addEmail:U,addWhatsapp:E,addRCS:Y,addWhatsappVerified:_,replaceAddress:B,handleAddressFieldChange:K,handleNoteFieldChange:N,handleDeleteAddress:ae,resetToInitialContactInformation:Q},state:{isDeletingAddress:T}}=b,R=as({initialState:e?.tags}),F=Zn(e?.owner),M=Se("text",e?.address1?.street),O=Se("text",e?.address2?.street),q=Se("text",e?.address1?.city),G=Se("text",e?.address2?.city),ie=Se("text",e?.address1?.state),me=Se("text",e?.address2?.state),ve=Se("text",e?.address1?.zipcode),Ie=Se("text",e?.address2?.zipcode),ke=Se("text",e?.address1?.country),z=Se("text",e?.address2?.country),Te=()=>{if(!e)return null;const J=e,Fe=R.attributes.value.map(oe=>({id:oe.id,name:oe.name})),re=L.map(oe=>{const{id:Pe,...dt}=oe;return dt}),pe=w.map(oe=>{const{id:Pe,...dt}=oe;return dt});return{id:J.id,owner:F.attributes.value,firstName:m.attributes.value,lastName:y.attributes.value,address1:{...o("street",J.address1?.street,M.attributes.value),...o("city",J.address1?.street,q.attributes.value),...o("state",J.address1?.street,ie.attributes.value),...o("zipcode",J.address1?.street,ve.attributes.value),...o("country",J.address1?.street,ke.attributes.value)},address2:{...o("street",J.address2?.street,O.attributes.value),...o("city",J.address2?.street,G.attributes.value),...o("state",J.address2?.street,me.attributes.value),...o("zipcode",J.address2?.street,Ie.attributes.value),...o("country",J.address2?.street,z.attributes.value)},emails:pe,phones:re,tags:Fe,imageUrl:h.imageUrl?h.removeParams(h.imageUrl):null,properties:l,birthDate:d?.toDate()}};function ge(){e&&(!e.businessId||e.businessName)}function De(){u(e?.birthDate?X(e.birthDate):null)}function be(J){if(!e)return;const Fe=oe=>oe.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),re=e.properties.find(oe=>oe.nameKey===J)??e.properties.find(oe=>Fe(oe.nameKey)===Fe(J));if(!re){console.error(`No se encontr\xF3 una propiedad con nameKey: ${J}`);return}const pe=l.map(oe=>oe.nameKey===J?{...oe,value:re.value}:oe);c(pe)}const Ze=()=>e?a.map(J=>{const Fe=oe=>oe.trim().toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-"),re=e.properties.find(oe=>oe.nameKey===J.nameKey)??e.properties.find(oe=>Fe(oe.nameKey)===Fe(J.nameKey));if(re)return{...re,nameKey:J.nameKey,type:re.type??J.type,value:re.value};const pe=l.find(oe=>oe.nameKey===J.nameKey);return{nameKey:J.nameKey,type:J.type,value:pe?pe.value:""}}):[];return H(()=>{e&&a&&c(Ze())},[e,a]),H(()=>{e?.tags&&R.actions.setValue(e.tags),e?.businessId&&e.businessName},[e]),{field:{birthDate:d,imsWhatsapp:S,imsRCS:D,contactFirstname:m,contactLastname:y,contactImage:h,contactPropietary:F,imsMercadolibre:g,imsFacebooks:j,imsWebchats:I,imsInstagrams:C,emails:w,phoneNumbers:L,homeAddress:M,secondaryHomeAddress:O,city:q,secondaryCity:G,state:ie,secondaryState:me,postalCode:ve,secondaryPostalCode:Ie,country:ke,secondaryCountry:z,customProperties:l,labelMultipleSelect:R},action:{setBirthDate:u,setCustomProperties:c,getEditedContact:Te,handleAddressFieldChange:K,handleNoteFieldChange:N,handleDeleteAddress:ae,addPhone:$,addEmail:U,addWhatsapp:E,addRCS:Y,replaceAddress:B,addWhatsappVerified:_,resetToInitialContactInformation:Q,resetSelectedBusiness:ge,resetBirthDate:De,resetCustomProperty:be},state:{isDeletingAddress:T}}},en=mt(null),$o=({children:e,contact:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=Ao({contact:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(en.Provider,{value:{entityType:"contact",editEntity:r,entityId:String(a.id)},children:e})},Uo=({children:e,business:a,customContactFields:n,baseUrl:s,spaceId:i})=>{const r=ko({business:a,customContactFields:n,baseUrl:s,spaceId:i});return t.jsx(en.Provider,{value:{entityType:"business",editEntity:r,entityId:String(a.id)},children:e})},Fo=({children:e,entityType:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r})=>a==="contact"?t.jsx($o,{contact:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}):t.jsx(Uo,{business:n,customContactFields:s,baseUrl:i,spaceId:r,children:e}),ct=()=>{const e=rt(en);if(!e)throw new Error("useEditEntity must be used within EditEntityProvider");return e},$t=({userId:e,users:a,currentUser:n})=>{if(!e)return null;if(n?.uid&&n.uid===e)return n.display_name||n.email||null;const s=a.find(i=>i?.id===e);return s?.name?.trim()||s?.email||null},Ea=({title:e,children:a,enableDirectionSearch:n=!1,onDirectionSearchClick:s})=>{const i=we();return t.jsxs(v,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,p:2,mb:2},children:[t.jsxs(Xe,{direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsx(V,{variant:"subtitle1",children:e}),n&&t.jsx(Me,{startIcon:t.jsx(pr,{sx:{color:"primary.main",height:18,width:18}}),size:"small",variant:"outlined",color:"primary",onClick:()=>s&&s(),children:i("global.searchLocation")})]}),t.jsx(Cn,{sx:{my:1.5}}),a]})},ns=({children:e,...a})=>t.jsx(v,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"repeat(2, minmax(0, 1fr))"},gap:2,...a,children:e}),Po=({birthDate:e,setBirthDate:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(An,{value:e,onChange:i=>a(i),slotProps:{textField:{size:"small"}},format:s})})})},No={view:"main",setView:()=>{}},ss=mt(null),Ro=ss.Provider,Mo=()=>rt(ss)||(console.warn("[useEditContactView] using noop, context value is missing"),No),rs=()=>{},is=mt(rs),Oo=({navigate:e,children:a})=>t.jsx(is.Provider,{value:e,children:a}),zo=()=>rt(is)||(console.warn("[useNavigateContext] using noop, context value is falsy"),rs);function Lo({value:e,displayValue:a,businessId:n}){const s=gt(),i=zo(),[r,o]=x(null),l=Vt({initialImageUrl:r?.imageUrl,entityType:"business",entityId:n}),[c,m]=x(null),[y,h]=x(!1);return t.jsxs(v,{display:"flex",alignItems:"center",children:[t.jsx(V,{onClick:async d=>{const u=d.currentTarget;if(h(!0),!s){console.error("API is null");return}const b=await s.fetchBusiness({businessId:n});if(b&&Za(b)&&o(b),h(!1),!u){console.error("Target element is null");return}m(u)},variant:"body2",fontWeight:"600",sx:{padding:1,cursor:"pointer"},color:d=>d.palette.text.primary,children:a||typeof e=="string"&&e||"-"}),r&&t.jsx(Wn,{contactData:r,open:!!c,anchorEl:c,onClose:()=>m(null),navigate:i,avatarImgUrl:l.imageUrl}),y&&t.jsx(v,{display:"flex",alignItems:"center",justifyContent:"center",p:1,children:t.jsx(Qe,{size:20})})]})}const Wo=e=>"email"in e,tn=e=>e.entityType==="contact"&&e.inputType==="birthday",_o=Z(xe)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),os=Z(xe)({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}}),yt=e=>{const{title:a,value:n,isNotEditable:s,displayValue:i,baseUrl:r,spaceId:o,minWidth:l,onEntityUpdated:c}=e,m=we(),{setView:y}=Mo(),h=e.inputType??"text",[d,u]=x(!1),[b,j]=x(!1),g=fe(null),[I,C]=x(!1),[S,w]=x(()=>e.entityType==="business"||typeof n=="string"?n:void 0);H(()=>{const N=g.current;if(!N)return;const ae=()=>{const Q=N.scrollWidth>N.clientWidth;C(T=>T===Q?T:Q)};if(ae(),typeof ResizeObserver<"u"){let Q=0;const T=new ResizeObserver(()=>{if(typeof window>"u"){ae();return}Q&&window.cancelAnimationFrame(Q),Q=window.requestAnimationFrame(()=>{ae()})});return T.observe(N),()=>{typeof window<"u"&&Q&&window.cancelAnimationFrame(Q),T.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",ae),()=>{window.removeEventListener("resize",ae)}},[a]),H(()=>{e.entityType==="business"?w(n):w(typeof n=="string"?n:void 0)},[n,e.entityType]);const L=()=>{if(e.entityType==="contact"&&h==="selectBusiness"){y("businessSelect");return}u(N=>!N)},D=N=>{w(N.target.value)},$=N=>{const ae=N.target.value;w(ae)},U=()=>{tn(e)&&e.contact.action.resetBirthDate(),u(!1)},E=async()=>{if(!e.constructUpdateObject){u(!1);return}if(e.entityType==="business"&&S===void 0){u(!1);return}j(!0);try{if(!r||!o)throw new Error("Missing baseUrl or spaceId for updateEntity");if(e.entityType==="contact"){let N=S===void 0?null:S;if(tn(e)){const R=X(e.contact.field.birthDate);R.isValid()&&(N=R.toISOString())}const ae=e.constructUpdateObject(N),Q=e.entityId??ae?.id;if(!Q)throw new Error("Missing contactId for updateEntity");const T=await tt({baseUrl:r,spaceId:o,entityType:"contact",entityId:Q,body:ae});c?.(T)}else{const N=e.constructUpdateObject(S),ae=e.entityId??N?.id;if(!ae)throw new Error("Missing businessId for updateEntity");const Q=await tt({baseUrl:r,spaceId:o,entityType:"business",entityId:ae,body:N});c?.(Q)}}finally{j(!1),u(!1)}},Y=typeof S=="string"?S:"",_=S instanceof Date?S.toISOString():typeof S=="string"?S:"",B=l??(e.entityType==="contact"?"45%":"200px"),K=e.options??[];return t.jsxs(v,{className:"fadein contacts-col-5",sx:{display:"flex",backgroundColor:N=>N.palette.mode==="dark"?"1e1e1e":N.palette.background.default,flexDirection:"column",borderRadius:1,minWidth:B,"&:hover .edit-icon":{opacity:1}},children:[t.jsxs(v,{display:"flex",position:"relative",minHeight:"25px",children:[I?t.jsx(ht,{title:a,arrow:!0,children:t.jsx(V,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:N=>N.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a})}):t.jsx(V,{ref:g,component:"span",variant:"body2",letterSpacing:-.5,fontWeight:"600",alignSelf:"center",flexGrow:d?1:0,color:N=>N.palette.text.primary,noWrap:!0,sx:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),s?null:d?t.jsxs(t.Fragment,{children:[t.jsx(os,{size:"small",onClick:E,children:b?t.jsx(Qe,{size:24}):t.jsx(St,{})}),t.jsx(os,{size:"small",onClick:U,children:t.jsx($n,{})})]}):t.jsx(_o,{className:"edit-icon",size:"small",onClick:L,children:t.jsx(Mt,{})})]}),t.jsx(v,{width:d?"100%":"50%",position:"relative",children:d&&h==="text"?t.jsx(je,{value:_,onChange:D,variant:"standard",size:"small",sx:{width:"100%"}}):d&&(h==="select"||h==="selectMembers")?t.jsxs(ma,{value:Y,onChange:$,variant:"standard",size:"small",sx:{width:"100%"},children:[e.entityType==="contact"?t.jsx(it,{value:"",children:m("conversations.contactDetails.contactInfo.emptySelection")}):null,K.map((N,ae)=>t.jsx(it,{value:N.id,children:e.entityType==="contact"?N.name?.trim()||(Wo(N)?N.email:"")||"Sin nombre":N.name?.trim()||N.email||"Sin nombre"},ae))]}):d&&tn(e)?t.jsx(Po,{birthDate:e.contact.field.birthDate,setBirthDate:e.contact.action.setBirthDate,dateFormat:e.dateFormat}):!d&&e.entityType==="contact"&&h==="selectBusiness"&&e.businessId?t.jsx(Lo,{value:String(n??""),displayValue:String(i??""),businessId:e.businessId}):t.jsx(V,{variant:"body2",fontWeight:"400",sx:{padding:"2.5px 14px 8.5px 0px"},color:N=>N.palette.text.primary,children:i||typeof n=="string"&&n||"-"})})]})},Yt=e=>{const{title:a,value:n,isNotEditable:s,options:i=[],displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:m,contactId:y,onEntityUpdated:h}=e;if(e.inputType==="birthday")return t.jsx(yt,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:s,inputType:"birthday",options:i,displayValue:r,constructUpdateObject:o,contact:e.contact,businessId:l,baseUrl:c,spaceId:m,dateFormat:e.dateFormat,onEntityUpdated:h});const d=e.inputType??"text";return t.jsx(yt,{entityType:"contact",entityId:y,title:a,value:n,isNotEditable:s,inputType:d,options:i,displayValue:r,constructUpdateObject:o,businessId:l,baseUrl:c,spaceId:m,onEntityUpdated:h})},Bo=({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 m=c.target.value.replace(/[^0-9.]/g,"");n(e,m)},l=c=>{const m=c.target.value;/^\d*$/.test(m)&&n(e,m)};return t.jsx(je,{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%"}})},Vo=({value:e,handleChange:a,dateFormat:n})=>{const s=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(An,{value:e?X(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Yo=({handleChange:e,value:a,options:n})=>{const s=we();return t.jsx(Ba,{className:"fadein",sx:{width:"100%"},children:t.jsxs(ma,{value:a,onChange:i=>e(i.target.value),size:"small",variant:"standard",children:[t.jsx(it,{value:"",children:s("global.noValue")}),n.map((i,r)=>t.jsx(it,{value:i,children:i},r))]})})},Ho=({value:e,handleChange:a,userTimeFormat:n})=>{const s=n==="24"?"HH:mm":"hh:mm";return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(mr,{value:e?X(e):null,onChange:i=>a(i),format:s,slotProps:{textField:{size:"small",sx:{width:"100%"},variant:"standard"},openPickerButton:{disableRipple:!0}}})})})},Go=({value:e,handleChange:a,userTimeFormat:n})=>{const s=we(),i=[X().set("hour",0).set("minute",0),X().set("hour",0).set("minute",0)],r=n==="24"?"HH:mm":"hh:mm";return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(hr,{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})})})},Ko=({value:e,handleChange:a,userDateFormat:n})=>{const s=we(),i=[X(),X()],r=(n||"YYYY/MM/DD").toUpperCase();return t.jsx(zt,{dateAdapter:Ot,children:t.jsx(Lt,{sx:{overflow:"visible",paddingTop:"0px"},children:t.jsx(gr,{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})})})},qo=Z(xe)(()=>({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"})),ls=Z(xe)(()=>({"& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"}})),Jo=Z(v)(({theme:e})=>({display:"flex",flexDirection:"column",borderRadius:e.shape.borderRadius,minWidth:"45%","&:hover .edit-icon":{opacity:1}})),cs=Z(V)(({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=Z(V)(({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"})),ds=({property:e,entity:a,entityType:n,entityId:s,customContactFields:i,userTrii:r,baseUrl:o,spaceId:l,onEntityUpdated:c})=>{const{customProperties:m}=a.field,{setCustomProperties:y}=a.action,[h,d]=x(!1),[u,b]=x(!1),j=fe(null),[g,I]=x(!1),C=(r?.regCon_dateFormat||"YYYY/MM/DD").toUpperCase(),S=r?.regCon_timeFormat||"24",w=T=>T===le.NUMBER_INTEGER||T===le.NUMBER_DECIMAL||T===le.NUMBER_CURRENCY||T===le.NUMBER_ACCOUNTING||T===le.CURRENCY,L=(T,R)=>T.toLowerCase()==="dni"?!0:w(R),D=(T,R,F)=>{if(F===""||F===null||F===void 0)return null;if(L(T,R)){const M=Number(F);return Number.isNaN(M)?F:M}return F},$=()=>d(T=>!T),U=()=>{d(!1),a.action.resetCustomProperty(e.nameKey)},E=async()=>{if(!o||!l||!s)return;b(!0);const T=m.find(G=>G.nameKey===e.nameKey)||e,{nameKey:R,value:F}=T,M=i.find(G=>G.nameKey===R)?.type??T.type;let O;if(M===le.TIME){const G=X(F);G.isValid()?O=G.format(S==="24"?"HH:mm":"hh:mm"):O=F}else if(M===le.DATE){const G=X(F);G.isValid()?O=G.toISOString():O=F}else O=D(R,M,F);const q={properties:[{nameKey:R,type:M,value:O}]};try{const G=await tt({baseUrl:o,spaceId:l,entityType:n,entityId:s,body:q}),ie=m.map(me=>me.nameKey===R?{...me,type:M,value:O}:me);y(ie),c?.(G)}finally{b(!1),d(!1)}},Y=T=>i.find(R=>R.nameKey===T)?.name||T;H(()=>{const T=j.current;if(!T)return;const R=()=>{const F=T.scrollWidth>T.clientWidth;I(M=>M===F?M:F)};if(R(),typeof ResizeObserver<"u"){let F=0;const M=new ResizeObserver(()=>{if(typeof window>"u"){R();return}F&&window.cancelAnimationFrame(F),F=window.requestAnimationFrame(()=>{R()})});return M.observe(T),()=>{typeof window<"u"&&F&&window.cancelAnimationFrame(F),M.disconnect()}}if(!(typeof window>"u"))return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[i,e.nameKey]);const _=(T,R)=>{const F=e.type===le.DATERANGE?Array.isArray(R)&&R[0]&&R[1]?`${X(R[0]).toISOString()} - ${X(R[1]).toISOString()}`:"":e.type===le.DATE?X(R).isValid()?X(R).toISOString():"Invalid Date":e.type===le.TIME?X(R).isValid()?X(R).toISOString():"Invalid Time":R,M=m.map(O=>O.nameKey===T?{...O,value:F}:O);y(M)},{type:B,nameKey:K,value:N}=e,ae=T=>T==null?!1:typeof T=="string"?T.trim().length>0:!0,Q=()=>B===le.DATE?t.jsx(Vo,{value:N?X(N):null,handleChange:T=>_(K,T?.toDate()),dateFormat:C}):B===le.TIME?t.jsx(Ho,{value:e?.valueDate?X(e.valueDate):N?X(N):null,handleChange:T=>_(K,T),userTimeFormat:S}):B===le.DATERANGE?t.jsx(Ko,{value:N&&typeof N=="string"&&N.includes(" - ")?[X(N.split(" - ")[0]),X(N.split(" - ")[1])]:null,handleChange:T=>_(K,[T[0]?.toDate?.(),T[1]?.toDate?.()]),userDateFormat:C}):B===le.TIMERANGE?t.jsx(Go,{value:Array.isArray(N)&&N.length===2?[X(N[0]),X(N[1])]:null,handleChange:T=>_(K,[T[0]?.toDate?.(),T[1]?.toDate?.()]),userTimeFormat:S}):B===le.OPTIONS?t.jsx(Yo,{value:typeof N=="string"?N:"",handleChange:T=>_(K,T),options:i.find(T=>T.nameKey===K)?.typeOptions??[]}):t.jsx(Bo,{type:B,nameKey:K,value:N,onChange:_});return t.jsxs(Jo,{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:[g?t.jsx(ht,{title:Y(e.nameKey),arrow:!0,children:t.jsx(cs,{ref:j,flexGrow:1,noWrap:!0,children:Y(e.nameKey)})}):t.jsx(cs,{ref:j,flexGrow:1,noWrap:!0,children:Y(e.nameKey)}),h?t.jsxs(t.Fragment,{children:[t.jsx(ls,{size:"small",onClick:E,children:u?t.jsx(Qe,{size:24}):t.jsx(St,{})}),t.jsx(ls,{size:"small",onClick:U,children:t.jsx($n,{})})]}):t.jsx(qo,{className:"edit-icon",size:"small",onClick:$,children:t.jsx(Mt,{})})]}),t.jsx(v,{width:h||e.type===le.LONGTEXT?"100%":"50%",position:"relative",children:h?Q():t.jsx(Qo,{children:ae(e?.value)?e.type===le.DATERANGE?(()=>{if(typeof e.value=="string"){const T=e.value.split(" - ");if(T.length===2){const[R,F]=T,M=X(R),O=X(F);return`${M.isValid()?M.format(C):"-"} - ${O.isValid()?O.format(C):"-"}`}}else if(Array.isArray(e.value)&&e.value.length===2)return`${X(e.value[0]).format(C)} - ${X(e.value[1]).format(C)}`;return`${e.value}`})():e.type===le.TIMERANGE?Array.isArray(e.value)&&e.value.length===2?`${X(e.value[0]).format(S==="24"?"HH:mm":"hh:mm")} - ${X(e.value[1]).format(S==="24"?"HH:mm":"hh:mm")}`:`${e.value}`:e.type===le.TIME?(()=>{try{const T=e.valueDate||e.value;return`${X(T).format(S==="24"?"HH:mm":"hh:mm A")}`}catch{return`${e.value}`}})():e.type===le.DATE?(()=>{try{return`${X(e.value).format(C)}`}catch{return`${e.value}`}})():`${e?.value}`:null})})]})},Xo=e=>{const{dateFormat:a,entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,c=we(),{entityType:m,editEntity:y}=ct(),h=gt();if(m!=="contact")return null;const[d,u]=x([]),[b,j]=x(null),[g,I]=x(null),[C,S]=x(null),w=y;H(()=>{if(!h)return;const E=new AbortController;return h.fetchUsers({signal:E.signal}).then(Y=>{E.signal.aborted||u(Y??[])}).catch(()=>{E.signal.aborted||u([])}),()=>{E.abort()}},[h]),H(()=>{const E=new AbortController,Y=async _=>{if(!_||!h)return null;try{const B=await h.fetchUserTriiById({userId:_,signal:E.signal});return B?.display_name||B?.email||null}catch{return null}};return(async()=>{const _=$t({userId:n.owner,users:d,currentUser:o})??(n.owner?await Y(n.owner):null),B=$t({userId:n.createdBy??void 0,users:d,currentUser:o})??(n.createdBy?await Y(n.createdBy):null),K=$t({userId:n.updatedBy??void 0,users:d,currentUser:o})??(n.updatedBy?await Y(n.updatedBy):null);E.signal.aborted||(j(_),S(B),I(K))})(),()=>{E.abort()}},[h,n,d,o]);const L=(a||"YYYY/MM/DD").toUpperCase(),D=w.field.birthDate,$=D?.isValid()?D.format(L):null,U=E=>{const Y=new Date;let _=Y.getFullYear()-E.getFullYear();const B=Y.getMonth()-E.getMonth();return(B<0||B===0&&Y.getDate()<E.getDate())&&_--,_};return t.jsx(Ea,{title:"General",children:t.jsxs(ns,{children:[t.jsx(Yt,{title:c("conversations.contactDetails.contactOwner"),displayValue:b||"-",value:n.owner,inputType:"select",options:d,constructUpdateObject:E=>({owner:typeof E=="string"?E:""}),contact:w,baseUrl:i,spaceId:r,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:w,baseUrl:i,spaceId:r,contactId:n.id,onEntityUpdated:l}),t.jsx(Yt,{title:c("conversations.contactDetails.createdBy"),value:C||"-",isNotEditable:!0,contact:w,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Yt,{title:c("conversations.contactDetails.modifiedBy"),value:g||"-",isNotEditable:!0,contact:w,baseUrl:i,spaceId:r,contactId:n.id}),t.jsx(Yt,{title:c("global.birthdate"),inputType:"birthday",displayValue:D?`${$} (${U(D.toDate())})`:"-",value:D?D.toISOString():"",constructUpdateObject:E=>({birthDate:E}),contact:w,baseUrl:i,spaceId:r,contactId:n.id,dateFormat:a,onEntityUpdated:l}),w.field.customProperties.map(E=>t.jsx(ds,{property:E,entity:w,entityType:"contact",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},E.nameKey))]})})},an=({title:e,value:a,isNotEditable:n,inputType:s="text",options:i=[],displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,businessId:m,onEntityUpdated:y})=>t.jsx(yt,{entityType:"business",entityId:m,title:e,value:a,isNotEditable:n,inputType:s,options:i,displayValue:r,constructUpdateObject:o,baseUrl:l,spaceId:c,onEntityUpdated:y}),Zo=e=>{const a=we(),{entityData:n,customContactFields:s,baseUrl:i,spaceId:r,currentUser:o,onEntityUpdated:l}=e,{entityType:c,editEntity:m}=ct(),y=gt();if(c!=="business")return null;const[h,d]=x([]),[u,b]=x(null),[j,g]=x(null),[I,C]=x(null),S=m;return H(()=>{if(!y)return;const w=new AbortController;return y.fetchUsers({signal:w.signal}).then(L=>{w.signal.aborted||d(L??[])}).catch(()=>{w.signal.aborted||d([])}),()=>{w.abort()}},[y]),H(()=>{const w=new AbortController,L=async D=>{if(!D||!y)return null;try{const $=await y.fetchUserTriiById({userId:D,signal:w.signal});return $?.display_name||$?.email||null}catch{return null}};return(async()=>{const D=$t({userId:n.owner,users:h,currentUser:o})??(n.owner?await L(n.owner):null),$=$t({userId:n.createdBy??void 0,users:h,currentUser:o})??(n.createdBy?await L(n.createdBy):null),U=$t({userId:n.updatedBy??void 0,users:h,currentUser:o})??(n.updatedBy?await L(n.updatedBy):null);w.signal.aborted||(b(D),C($),g(U))})(),()=>{w.abort()}},[y,n,h,o]),t.jsx(Ea,{title:"General",children:t.jsxs(ns,{children:[t.jsx(an,{title:a("conversations.businessDetails.businessOwner"),value:n.owner,displayValue:u||"-",inputType:"select",options:h,constructUpdateObject:w=>({owner:typeof w=="string"?w:""}),baseUrl:i,spaceId:r,businessId:n.id,onEntityUpdated:l}),t.jsx(an,{title:a("conversations.contactDetails.createdBy"),value:I||"-",isNotEditable:!0}),t.jsx(an,{title:a("conversations.contactDetails.modifiedBy"),value:j||"-",isNotEditable:!0}),S.field.customProperties.map(w=>t.jsx(ds,{property:w,entity:S,entityType:"business",entityId:String(n.id),customContactFields:s,userTrii:o,baseUrl:i,spaceId:r,onEntityUpdated:l},w.nameKey))]})})},el=e=>{const{entityType:a,entityData:n}=e;return te(()=>a==="contact"||a==="business"?a:"contact",[a])==="contact"?t.jsx(Xo,{...e,entityData:n,entityType:"contact"}):t.jsx(Zo,{...e,entityData:n,entityType:"business"})},tl=()=>{const[e,a]=x(!1),[n,s]=x("");return{isOpen:e,title:n,openModal:i=>{s(i),a(!0)},closeModal:()=>{a(!1),s("")}}},al=$e(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"})),nl=$e(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),overflow:"hidden",maxWidth:"80%"})),sl=$e(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),rl=$e(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),il=$e(Wa)(({})=>({width:32,height:32,cursor:"pointer"})),nn=$e(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),ol=$e(nn)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),ll=$e(nn)(({})=>({fontSize:14,fontWeight:500})),cl=$e(nn)(({})=>({fontSize:14,fontWeight:500})),dl=({item:e})=>{const a=e.profileUrl,{imageUrl:n}=Vt({initialImageUrl:a});return t.jsx(t.Fragment,{children:t.jsxs(al,{children:[t.jsx(nl,{children:t.jsxs(rl,{children:[t.jsx(ht,{title:e.address||"",arrow:!0,children:t.jsx(ll,{children:e.address})}),t.jsx(ht,{title:e.profileName||"",arrow:!0,children:t.jsx(cl,{sx:{marginTop:"-10px",marginLeft:"5px",fontSize:"10px"},children:e.profileName})}),t.jsx(ht,{title:e.note||"",arrow:!0,children:t.jsx(ol,{children:e.note})})]})}),t.jsxs(sl,{children:[a!==""&&t.jsx(il,{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(xe,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(Tn,{sx:{color:"#fcac34"}}):t.jsx(Dn,{sx:{color:"#fcac34"}})})})]})]})})},sn=fr.getInstance(),ul=e=>{if(!e||!e.trim())return e;try{const a=sn.parse(e,void 0);return sn.isValidNumber(a)?sn.format(a,xr.INTERNATIONAL):e}catch{return e}},pl=$e(xe)(({theme:e})=>({padding:e.spacing(.5),marginTop:"-5px"})),ml=$e(yr)(({theme:e})=>({height:16,width:16,color:e.palette.secondary.main})),hl=$e(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"})),gl=$e(v)(({theme:e})=>({display:"flex",alignItems:"flex-start",gap:e.spacing(1),maxWidth:"80%"})),yl=$e(v)(({theme:e})=>({display:"flex",alignItems:"center",gap:e.spacing(1)})),fl=$e(v)(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",gap:e.spacing(.5),overflow:"hidden",flexFlow:"nowrap",flexWrap:"wrap",marginTop:"-5px"})),us=$e(v)(({})=>({fontSize:14,fontWeight:500,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})),xl=$e(us)(({theme:e})=>({fontSize:12,color:e.palette.text.secondary,position:"absolute",bottom:0,maxWidth:"70%"})),bl=$e(us)(({})=>({fontSize:14,fontWeight:500})),vl=({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(()=>ul(e.address||""),[e.address]);return t.jsx(t.Fragment,{children:t.jsxs(hl,{children:[t.jsxs(gl,{children:[t.jsx(pl,{onClick:a,color:"primary",size:"small",children:t.jsx(ml,{})}),t.jsxs(fl,{children:[t.jsx(ht,{title:n||"",arrow:!0,children:t.jsx(bl,{children:n})}),t.jsx(ht,{title:e.note||"",arrow:!0,children:t.jsx(xl,{children:e.note})})]})]}),t.jsx(yl,{children:t.jsx(v,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:t.jsx(xe,{size:"small",sx:{marginTop:"-5px",padding:0},children:e.isFavorite?t.jsx(Tn,{sx:{color:"#fcac34"}}):t.jsx(Dn,{sx:{color:"#fcac34"}})})})})]})})},Cl=Z(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}})),jl=Z(V)(({})=>({letterSpacing:-.5,fontSize:14})),wl=Z(v)(({})=>({display:"flex",alignItems:"center"})),Sl=Z(v)(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(1),width:"100%"})),Il=Z(xe)({opacity:0,transition:"opacity 0.3s ease-in-out","& .MuiSvgIcon-root":{width:"0.8em",height:"0.8em"},marginLeft:"15px"}),El=({title:e,methodItems:a,isPhone:n,handleEdit:s,owner:i})=>t.jsxs(Cl,{children:[t.jsxs(wl,{children:[t.jsx(jl,{children:e}),t.jsx(Il,{className:"edit-icon",size:"small",onClick:s,children:t.jsx(Mt,{fontSize:"small",sx:{color:r=>r.palette.secondary.main}})})]}),t.jsx(Sl,{children:a.map((r,o)=>n?t.jsx(vl,{item:r},o):t.jsx(dl,{item:r,owner:i},o))})]}),Tl=({title:e})=>t.jsx(v,{children:t.jsx(V,{variant:"subtitle2",children:e})}),Dl={container:{display:"flex",justifyContent:"space-between",alignItems:"center"}},Ta=({title:e,handleAdd:a})=>{const n=we();return console.log("[SubsectionHeaderWithButton] title:",e,"t fn:",n?.name||"anonymous"),t.jsxs(v,{sx:Dl.container,children:[t.jsx(V,{variant:"subtitle2",children:e}),t.jsx(Me,{onClick:a,size:"small",startIcon:t.jsx(Fn,{}),variant:"text",color:"primary",children:n("global.add")})]})},kl={container:{border:"1px solid lightgray",borderRadius:1,p:2,width:"100%",display:"flex",flexDirection:"column",gap:1}},Ht=({children:e})=>t.jsx(v,{sx:kl.container,children:e}),ps={container:{display:"flex",width:"50%",alignItems:"center",justifyContent:"end"},noteTextField:{width:"100%",marginRight:"15px"}},Al=({onDelete:e,addressData:a,handleLinkAccountSave:n,checked:s,onCheckContactAddress:i})=>{const r=we(),[o,l]=x(null),c=!!o,{channelType:m,address:y}=a,[h,d]=x(!1),[u,b]=x(null),[j,g]=x(!1),I=U=>{l(U.currentTarget)},C=()=>{l(null)},S=()=>{g(!1)},w=()=>{e(),C()},L=async()=>{d(!0);try{if(!i)return;const U=await i(13);if(!U)return;b(U),g(!0)}catch(U){console.error("Error verifying WhatsApp account:",U)}finally{d(!1)}C()},D=async()=>{d(!0);try{if(!i)return;const U=await i(21);if(!U)return;b(U),g(!0)}catch(U){console.error("Error verifying RCS account:",U)}finally{d(!1)}C()},$=async()=>{await n(),g(!1)};return t.jsxs(v,{children:[t.jsx(xe,{"aria-controls":c?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":c?"true":void 0,onClick:I,children:t.jsx(br,{})}),t.jsxs(zs,{id:"basic-menu",anchorEl:o,open:c,onClose:C,MenuListProps:{"aria-labelledby":"basic-button"},children:[t.jsxs(it,{onClick:w,children:[t.jsx(ha,{children:t.jsx(ba,{color:"error"})}),t.jsx(ga,{children:r("global.delete")})]}),m===5&&t.jsxs(it,{onClick:L,disabled:!s,children:[t.jsx(ha,{children:h?t.jsx(Qe,{size:24}):t.jsx(vr,{sx:{color:"green"}})}),t.jsx(ga,{children:r("optionsMenu.verifyWspAccount")})]}),m===21&&t.jsxs(it,{onClick:D,disabled:!s,children:[t.jsx(ha,{children:h?t.jsx(Qe,{size:24}):t.jsx(Cr,{})}),t.jsx(ga,{children:r("optionsMenu.verifyRCSAccount")})]})]}),t.jsx(Nt,{open:j,onClose:S,"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:U=>U.palette.background.default},children:u?.success?t.jsxs(t.Fragment,{children:[t.jsxs(V,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.wspAccountFound")," ",y]}),t.jsx(V,{id:"modal-modal-description",sx:{mt:2},children:r("optionsMenu.wantToLinkContact")}),t.jsxs(v,{sx:{marginTop:"10px"},children:[t.jsx(Me,{onClick:$,color:"primary",children:r("optionsMenu.yesLink")}),t.jsx(Me,{onClick:S,color:"secondary",children:"No"})]})]}):t.jsxs(v,{sx:{position:"relative"},children:[t.jsxs(V,{id:"modal-modal-title",variant:"h6",component:"h2",children:[r("optionsMenu.noWspAccountFound")," ",y]}),t.jsx(Me,{onClick:S,color:"secondary",sx:{position:"absolute",bottom:-25,right:0},children:r("global.cancel")})]})})})]})},Gt=e=>{const a=we(),n=gt(),{editEntity:s,entityId:i}=ct(),[r,o]=x(!1),l=e.checked??!0,c=e.entityId??i,{note:m,channelType:y,id:h,address:d}=e.addressData,u=!e.addressData.hasOwnProperty("isSaved"),b=e.replaceAddress??s.action.replaceAddress,j=e.addWhatsappVerified||(typeof s.action?.addWhatsappVerified=="function"?s.action.addWhatsappVerified:void 0),g=async w=>{if(!n||!c)return null;const L=await n.setContactAddress({data:{address:d,contactId:c,type:w}});return b(h,L),L},I=async()=>{if(!n||!c)return;const w=await n.updateContactAddress({data:{contactAddressId:h,contactId:c,note:m??""}});b(h,w)},C=async()=>{o(!0),u?(await I(),o(!1)):await g(y)&&o(!1)},S=async()=>{o(!0);const w=await g(13);w&&j&&j(w),w&&o(!1)};return t.jsxs(v,{sx:{...ps.container},children:[u&&t.jsx(je,{size:"small",label:a("global.note"),variant:"outlined",onChange:w=>e.handleNoteFieldChange(w,h,y),value:m,fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",sx:ps.noteTextField}),t.jsx(xe,{onClick:C,children:r?t.jsx(Qe,{size:24}):t.jsx(St,{color:"primary"})}),t.jsx(Al,{onDelete:()=>e.handleDeleteAddress(h,y),addressData:e.addressData,handleLinkAccountSave:S,checked:l&&!r,onCheckContactAddress:async w=>{if(!n)return null;try{return await n.checkContactAddress({data:{address:d,type:w}})}catch{return null}}})]})},$l={container:{display:"flex",gap:"100px",alignItems:"center"}},Kt=({children:e})=>t.jsx(v,{sx:$l.container,children:e}),Ul={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(v,{sx:{...Ul.container},children:e}),Fl=({status:e})=>{switch(e){case"idle":return null;case"loading":return t.jsx(Sr,{size:20});case"available":return t.jsx(jr,{style:{height:27,width:27},color:"success"});case"unavailable":return t.jsx(wr,{style:{height:27,width:27},color:"error"});default:return null}},ms=({status:e,text:a})=>t.jsxs(Ir,{position:"end",children:[a?t.jsx(Er,{marginRight:.5,children:a}):null,t.jsx("div",{style:{width:30,display:"flex",justifyContent:"center"},children:t.jsx(Fl,{status:e})})]}),Pl={code:{width:"60%",color:"gray"}},Nl=({data:e,editEntity:a})=>{const n=a.action;return t.jsx(Ht,{children:t.jsxs(Kt,{children:[t.jsx(V,{sx:Pl.code,variant:"body2",children:e.address}),t.jsx(Gt,{addressData:e,handleNoteFieldChange:n.handleNoteFieldChange,handleDeleteAddress:n.handleDeleteAddress})]})})},Rl=({IMSs:e,editEntity:a})=>t.jsx(qt,{children:e?.map(n=>t.jsx(Nl,{data:n,editEntity:a},n.id))}),Da=({editEntity:e,title:a,IMSs:n})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Tl,{title:a}),t.jsx(Rl,{IMSs:n,editEntity:e})]}),Ml={addressField:{}},rn=({data:e,onChange:a,setWarnings:n})=>{const{id:s,channelType:i,address:r}=e,o=we(),l=gt(),[c,m]=x("idle"),[y,h]=x(r),d=!e.hasOwnProperty("isSaved");return H(()=>{let u=setTimeout(async()=>{if(r!==""&&r!==y){if(!l)return;m("loading"),h(r);const b={address:r,type:i};try{const j=await l.checkContactAddress({data:b}),{success:g,warnings:I}=j;n(I),m(g?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(u)},[l,e,r,i,y,n]),t.jsx(t.Fragment,{children:t.jsx(je,{disabled:d,sx:Ml.addressField,size:"small",label:i===kt.WHATSAPP||i===kt.RCS?o?o("global.number"):"Number":o?o("global.email"):"Email",value:r,onChange:u=>{a(u,s,i)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ms,{status:c})})}})})},Ol={addressField:{}},zl=({data:e,onChange:a,setWarnings:n})=>{const s=gt(),i=we(),{id:r,channelType:o,address:l}=e,[c,m]=x("idle"),[y,h]=x(l),d=!e.hasOwnProperty("isSaved");return H(()=>{let u=setTimeout(async()=>{if(l!==""&&l!==y){if(!s)return;m("loading"),h(l);const b={address:l,type:o};try{const{success:j,warnings:g}=await s.checkContactAddress({data:b});n(g),m(j?"available":"unavailable")}catch{n([]),m("unavailable")}}},1700);return()=>clearTimeout(u)},[e]),t.jsx(t.Fragment,{children:t.jsx(je,{disabled:d,sx:Ol.addressField,size:"small",label:i("global.number"),value:l,onChange:u=>{a(u,r,o)},variant:"outlined",fullWidth:!0,InputLabelProps:{shrink:!0},className:"contacts-smallInput",InputProps:{endAdornment:t.jsx(t.Fragment,{children:t.jsx(ms,{status:c})})}})})},on={secondaryContainer:{display:"flex",alignItems:"baseline",height:"100%",gap:.5},icon:{height:15},chip:{borderRadius:"6px",height:"22px"}},Ll=({text:e})=>t.jsx(jn,{item:!0,children:t.jsx(v,{sx:on.secondaryContainer,children:t.jsx(Dr,{icon:t.jsx(Tr,{sx:on.icon}),sx:on.chip,label:e,color:"error",variant:"outlined"})})}),ka=({warnings:e})=>{const a=we();return t.jsx(v,{children:t.jsx(jn,{container:!0,children:e?.map((n,s)=>t.jsx(Ll,{text:a(`contactAddressError.${n}`)},s))})})},Wl={numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{marginTop:"10px"},adressInputBox:{position:"relative",width:"45%"}},_l=({data:e})=>{const a="edit",{editEntity:n}=ct(),s=n.action,i=n.state,[r,o]=x([]),[l,c]=x(!0);return H(()=>{c(r.length===0&&(e.address??"")!=="")},[r,e.address]),t.jsx(Ht,{children:t.jsxs(Kt,{children:[t.jsxs(v,{sx:{...Wl.numberCountryContainer,flexDirection:"column"},children:[t.jsx(zl,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange}),r.length>0&&t.jsx(ka,{warnings:r})]}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress,addWhatsappVerified:s.addWhatsappVerified,checked:l})]})})},Bl=({phoneNumbers:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(_l,{data:a},a.id))}),Vl=({phoneNumbers:e,handleAdd:a})=>{const n=we();return t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Ta,{handleAdd:a,title:n("global.phones")}),t.jsx(Bl,{phoneNumbers:e})]})},hs={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Yl=({data:e})=>{const a="edit",{editEntity:n}=ct(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:hs.numberCountryContainer,children:t.jsx(v,{sx:hs.adressInputBox,children:t.jsx(rn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(ka,{warnings:r})]})},Hl=({emails:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Yl,{data:a},a.id))}),Gl=({emails:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Ta,{handleAdd:a,title:"Emails"}),t.jsx(Hl,{emails:e})]}),gs={emailField:{width:"60%"},numberCountryContainer:{display:"flex",justifyContent:"flex-start",width:"50%"},warningMessage:{position:"absolute",bottom:"-30px"},adressInputBox:{position:"relative",width:"60%"}},Kl=({data:e})=>{const a="edit",{editEntity:n}=ct(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:gs.numberCountryContainer,children:t.jsx(v,{sx:gs.adressInputBox,children:t.jsx(rn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(ka,{warnings:r})]})},ql=({whatsapps:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Kl,{data:a},a.id))}),Jl=({whatsapps:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Ta,{handleAdd:a,title:"WhatsApp"}),t.jsx(ql,{whatsapps:e})]}),ys={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}=ct(),s=n.action,i=n.state,[r,o]=x([]);return t.jsxs(Ht,{children:[t.jsxs(Kt,{children:[t.jsx(v,{sx:ys.numberCountryContainer,children:t.jsx(v,{sx:ys.adressInputBox,children:t.jsx(rn,{data:e,setWarnings:o,onChange:s.handleAddressFieldChange})})}),t.jsx(Gt,{mode:a,addressData:e,handleNoteFieldChange:s.handleNoteFieldChange,handleDeleteAddress:s.handleDeleteAddress,isDeletingAddress:i.isDeletingAddress,replaceAddress:s.replaceAddress})]}),r.length>0&&t.jsx(ka,{warnings:r})]})},Xl=({RCSs:e})=>t.jsx(qt,{variant:"large",children:e?.map(a=>t.jsx(Ql,{data:a},a.id))}),Zl=({RCSs:e,handleAdd:a})=>t.jsxs(v,{sx:{width:"100%"},children:[t.jsx(Ta,{handleAdd:a,title:"RCS"}),t.jsx(Xl,{RCSs:e})]}),ec=$e(v)(({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})),tc=({open:e,onClose:a,title:n})=>{const s=we(),{editEntity:i}=ct(),{emails:r,phoneNumbers:o,imsWhatsapp:l,imsRCS:c}=i.field,{addEmail:m,addPhone:y,addWhatsapp:h,resetToInitialContactInformation:d,addRCS:u}=i.action;function b(){a(),d()}return t.jsx(Nt,{open:e,onClose:a,children:t.jsxs(ec,{children:[(()=>{switch(n){case"Phones":return t.jsx(Vl,{handleAdd:y,phoneNumbers:o});case"Emails":return t.jsx(Gl,{handleAdd:m,emails:r});case"Whatsapp":return t.jsx(Jl,{handleAdd:h,whatsapps:l});case"RCS":return t.jsx(Zl,{handleAdd:u,RCSs:c});case"Facebook":return t.jsx(Da,{title:"Facebook",IMSs:i.field.imsFacebooks,editEntity:i});case"Webchat":return t.jsx(Da,{title:"Webchat",IMSs:i.field.imsWebchats,editEntity:i});case"Instagram":return t.jsx(Da,{title:"Instagram",IMSs:i.field.imsInstagrams,editEntity:i});case"Mercado libre":return t.jsx(Da,{title:"Mercado Libre",IMSs:i.field.imsMercadolibre,editEntity:i});default:return t.jsx(V,{children:"No information available for this section."})}})(),t.jsx(v,{mt:2,display:"flex",justifyContent:"flex-end",children:t.jsx(Me,{variant:"contained",color:"primary",onClick:b,children:s("global.close")})})]})})},ac=({ownerData:e})=>{const{isOpen:a,title:n,openModal:s,closeModal:i}=tl(),{editEntity:r}=ct(),o=we(),l=r.field.phoneNumbers,c=r.field.emails,m=r.field.imsFacebooks,y=r.field.imsWhatsapp,h=r.field.imsMercadolibre,d=r.field.imsWebchats,u=r.field.imsInstagrams,b=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:m,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:h,modalTitle:"Mercado libre",visible:!0},{key:"webchat",title:"Webchat",items:d,modalTitle:"Webchat",visible:!0},{key:"instagram",title:"Instagram",items:u,modalTitle:"Instagram",visible:!0}];return t.jsxs(t.Fragment,{children:[t.jsx(Ea,{title:o("conversations.contactDetails.contactInformation"),children:t.jsx("div",{className:"grid grid-cols-1 gap-3",children:j.filter(g=>g.visible).map(g=>t.jsx(El,{handleEdit:()=>s(g.modalTitle),title:g.title,methodItems:g.items,isPhone:g.isPhone,owner:e},g.key))})}),t.jsx(tc,{open:a,onClose:i,title:n})]})},nc=({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=we(),c=({addressNumber:m,title:y})=>t.jsxs("div",{className:"flex flex-col gap-4 rounded-xl p-4",children:[t.jsx(V,{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(yt,{entityType:e,title:l("conversations.contactDetails.street"),value:a[m]?.street??"",...o,constructUpdateObject:h=>({[m]:{street:h}}),minWidth:"100%"})}),t.jsx(yt,{entityType:e,title:l("conversations.contactDetails.city"),value:a[m]?.city??"",...o,constructUpdateObject:h=>({[m]:{city:h}}),minWidth:"100%"}),t.jsx(yt,{entityType:e,title:l("conversations.contactDetails.state"),value:a[m]?.state??"",...o,constructUpdateObject:h=>({[m]:{state:h}}),minWidth:"100%"}),t.jsx(yt,{entityType:e,title:l("conversations.contactDetails.postcode"),value:a[m]?.zipcode??"",...o,constructUpdateObject:h=>({[m]:{zipcode:h}}),minWidth:"100%"}),t.jsx(yt,{entityType:e,title:l("conversations.contactDetails.country"),value:a[m]?.country??"",...o,constructUpdateObject:h=>({[m]:{country:h}}),minWidth:"100%"})]})]});return t.jsx(Ea,{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")})]})})},sc=({entity:e,setEntity:a})=>se(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]),rc=({open:e,baseUrl:a,spaceId:n,contactData:s,contactType:i,labels:r,selectedTags:o,onTagsUpdated:l})=>{const[c,m]=x("main"),[y,h]=x([]),[d,u]=x(!1),[b,j]=x(!1),[g,I]=x([]),[C,S]=x(!1),w=te(()=>{const U=r??[],E=g??[],Y=new Map;for(const _ of U)_?.id&&Y.set(String(_.id),_);for(const _ of E)_?.id&&Y.set(String(_.id),_);return Array.from(Y.values())},[r,g]),L=se(()=>{m("main"),h([]),u(!1),j(!1),I([]),S(!1)},[]);H(()=>{e||L()},[e,L]),H(()=>{if(c!=="tags"){u(!1);return}if(d||!w.length)return;const U=new Set(o.map(Y=>String(Y.id))),E=w.filter(Y=>U.has(String(Y?.id)));h(E),u(!0)},[c,d,w,o]);const D=se(async U=>{if(C||!a||!n)return;const E=String(U??"").trim();if(!E)return;const Y=E.toLowerCase(),_=w.find(B=>String(B?.name??"").trim().toLowerCase()===Y);if(_?.id){h(B=>{const K=B??[];return K.some(N=>String(N?.id)===String(_.id))?K:[...K,_]});return}S(!0);try{const B=await Gn({baseUrl:a,spaceId:n,name:E});I(K=>{const N=K??[];return!B?.id||N.some(ae=>String(ae?.id)===String(B.id))?N:[...N,B]}),h(K=>{const N=K??[];return!B?.id||N.some(ae=>String(ae?.id)===String(B.id))?N:[...N,B]})}finally{S(!1)}},[C,a,n,w]),$=se(async()=>{if(b||!a||!n||!s||i!=="contact"&&i!=="business")return;const U=y.filter(E=>E?.id&&E?.name).map(E=>({id:String(E.id),name:String(E.name)}));j(!0);try{await tt({baseUrl:a,spaceId:n,entityType:i,entityId:String(s.id),body:{tags:U}}),l(U),m("main")}finally{j(!1)}},[b,a,n,s,i,y,l]);return{view:c,setView:m,draftLabels:y,setDraftLabels:h,labelsOptions:w,isSaving:b,isCreatingLabel:C,handleCreateLabel:D,handleSaveTags:$}},ic=({onClose:e})=>se((a,n)=>{n!=="escapeKeyDown"&&e()},[e]),oc={format:"IBusiness",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"},lc=({baseUrl:e,spaceId:a,contactId:n,initialBusiness:s,onBack:i,onEntityUpdated:r,currentUser:o})=>{const l=we(),c=gt(),m=fe(null),y=fe(null),[h,d]=x(()=>s?.businessName??""),[u,b]=x(!1),[j,g]=x(!1),[I,C]=x(!1),[S,w]=x([]),[L,D]=x(s??null),[$,U]=x(1),[E,Y]=x(!1),[_,B]=x(!1),K=te(()=>{const G=o?.display_name,ie=o?.email;return String(G||ie||"").trim()},[o]);H(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null),y.current?.abort()},[]),H(()=>{D(s??null),d(s?.businessName??"")},[s]);const N=()=>{y.current?.abort(),y.current=null,m.current&&(clearTimeout(m.current),m.current=null),b(!1),B(!1),U(1),Y(!1),w([])},ae=G=>G.filter(ie=>!!ie?.id).map(ie=>({businessId:String(ie.id),businessName:String(ie.name??"")})),Q=async({query:G,page:ie})=>{if(!c)return;y.current?.abort();const me=new AbortController;y.current=me,g(!0);try{const ve={...oc,currentPage:ie,filter:[{value:G,column:"name",condition:""}]},Ie=await c.fetchBusinessTableData({pagination:ve,signal:me.signal});if(me.signal.aborted)return;const ke=ae(Ie?.contactos??[]);b(!0);const z=Ie?.paginacion?.total??0;w(Te=>{const ge=ie===1?ke:(()=>{const De=new Map;for(const be of Te)De.set(be.businessId,be);for(const be of ke)De.set(be.businessId,be);return Array.from(De.values())})();return z&&ge.length>=z&&B(!0),ge})}finally{g(!1),C(!1),Y(!1)}},T=G=>{N(),G&&(m.current&&(clearTimeout(m.current),m.current=null),C(!0),m.current=setTimeout(()=>{Q({query:G,page:1})},800))},R=G=>{const ie=G.target;if(!(ie.scrollHeight-ie.scrollTop-ie.clientHeight<1)||_||j||!h)return;const me=$+1;Y(!0),U(me),Q({query:h,page:me})},F=async()=>{if(!c||!K)return;const G=String(h??"").trim();if(G){g(!0);try{const ie={name:G,owner:K,imageUrl:"",members:[],tags:[],properties:[],address1:{street:"",city:"",state:"",zipcode:"",country:""},address2:{street:"",city:"",state:"",zipcode:"",country:""}},me=await c.createBusiness({business:ie}),ve={businessId:String(me.id??""),businessName:String(me.name??G)};w([ve]),D(ve),b(!0)}finally{g(!1)}}},M=async()=>{if(!e||!a||!n)return;const G=L?.businessId??"",ie=await tt({baseUrl:e,spaceId:a,entityType:"contact",entityId:n,body:{businessId:G}});r?.(ie),i()},O=u&&S.length===0&&h?t.jsxs(Xe,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1,py:.5},children:[t.jsx(V,{variant:"body2",children:l("global.noOptions")}),t.jsx(lt,{size:"small",variant:"contained",onClick:F,loading:j,disabled:j||!K,children:l("global.createNew")})]}):t.jsx(V,{variant:"body2",children:l("global.noOptions")}),q=!n||!e||!a;return t.jsxs(v,{sx:{width:"100%"},children:[t.jsxs(Xe,{direction:"row",alignItems:"center",spacing:1,sx:{mb:2},children:[t.jsx(xe,{size:"small",onClick:i,"aria-label":l("global.back"),children:t.jsx(Ga,{fontSize:"small"})}),t.jsx(V,{variant:"subtitle1",children:l("conversations.contactDetails.business")}),t.jsx(v,{sx:{flex:1}}),t.jsx(lt,{variant:"contained",size:"small",startIcon:t.jsx(St,{}),onClick:M,loading:!1,disabled:q,children:l("global.save")})]}),t.jsxs(v,{sx:{position:"relative"},children:[j||I||E?t.jsx(v,{sx:{position:"absolute",left:0,right:0,top:0},children:t.jsx(Ls,{sx:{borderRadius:1}})}):null,t.jsx(_a,{fullWidth:!0,disablePortal:!0,value:L,onChange:(G,ie)=>{D(ie)},inputValue:h,onInputChange:(G,ie,me)=>{d(ie),me==="input"&&T(ie)},options:S,getOptionLabel:G=>G?.businessName??"",isOptionEqualToValue:(G,ie)=>G.businessId===ie.businessId,noOptionsText:O,renderInput:G=>t.jsx(je,{...G,size:"small",label:l("conversations.contactDetails.business"),placeholder:l("global.noValue"),InputProps:{...G.InputProps,endAdornment:t.jsxs(t.Fragment,{children:[j||I?t.jsx(Qe,{size:18,sx:{mr:1}}):null,G.InputProps.endAdornment]})}}),ListboxProps:{sx:{maxHeight:240,overflowY:"auto"},onScroll:R}})]})]})},cc=({open:e,onClose:a,baseUrl:n,spaceId:s,contactId:i,sx:r,language:o="en",navigate:l,googleMapsApiKey:c,onEntityUpdated:m})=>{const{t:y,i18n:h}=wt(),d=fe(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&&h.changeLanguage(o)},[o,h]);const u=Q=>y(Q),b=te(()=>!n||!s?null:Jn(n,s),[n,s]),{state:j,selectors:g,actions:I}=Co({open:e,baseUrl:n,spaceId:s,contactId:i}),C=sc({entity:j.contactData,setEntity:Q=>{I.setContactData(Q??void 0),Q&&m&&m(Q)}}),{view:S,setView:w,draftLabels:L,setDraftLabels:D,labelsOptions:$,isSaving:U,isCreatingLabel:E,handleCreateLabel:Y,handleSaveTags:_}=rc({open:e,baseUrl:n,spaceId:s,contactData:j.contactData,contactType:g.contactType,labels:g.labels,selectedTags:g.tags,onTagsUpdated:Q=>{if(!j.contactData)return;const T={...j.contactData,tags:Q};I.setContactData(T),m&&m(T)}}),B=Vt({baseUrl:n,spaceId:s,entityType:g.contactType==="business"||g.contactType==="contact"?g.contactType:void 0,entityId:j.contactData?String(j.contactData.id):void 0,initialImageUrl:j.contactData?.imageUrl,onEntityUpdated:C}),K=ic({onClose:a}),N={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"min(640px, calc(100vw - 32px))",height:"min(560px, calc(100vh - 64px))",bgcolor:Q=>Q.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"},ae=Array.isArray(r)?[N,...r]:r?[N,r]:N;return t.jsx(Vi,{value:b,children:t.jsx(_i,{t:u,children:t.jsx(Oo,{navigate:l,children:t.jsx(Nt,{open:e,onClose:K,closeAfterTransition:!0,slots:{backdrop:Va},slotProps:{backdrop:{timeout:200}},children:t.jsx(ot,{in:e,timeout:200,children:t.jsxs(v,{sx:ae,ref:d,children:[t.jsx(xe,{"aria-label":"close",onClick:K,sx:{position:"absolute",right:5,top:5,color:Q=>Q.palette.grey[500],zIndex:1},size:"small",children:t.jsx(kn,{sx:{fontSize:20}})}),j.isLoading&&!j.contactData?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:220},children:t.jsx(Qe,{})}):j.error?t.jsx(v,{sx:{mb:2},children:"Failed to load contact"}):j.contactData?t.jsx(Ro,{value:{view:S,setView:w},children:t.jsx(Fo,{entityType:g.contactType==="business"?"business":"contact",entityData:j.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,children:t.jsxs(v,{sx:{position:"relative",height:"100%"},children:[t.jsx(ot,{in:S==="main",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsxs(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:[t.jsx(Xi,{imgUrl:B.imageUrl,displayName:g.displayName,tags:g.tags,onEditTags:()=>{w("tags")},onUploadPhoto:B.action.uploadImage,onPhotoFileChange:B.inputAtributes.onChange,photoInputRef:B.inputAtributes.ref,isUploadingPhoto:B.isUploading,onDeletePhoto:B.action.deleteImage,isDeletingPhoto:B.isDeleting,contactType:g.contactType,entityId:j.contactData?.id,firstName:g.isContact?j.contactData.firstName:void 0,lastName:g.isContact?j.contactData.lastName:void 0,name:g.isBusiness?j.contactData.name:void 0,onEntityUpdated:C}),t.jsxs(v,{sx:{px:1,pb:2},children:[t.jsx(el,{dateFormat:g.userTrii?.regCon_dateFormat||"MM/dd/yyyy",entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:j.contactData,customContactFields:g.contactFields,baseUrl:n,spaceId:s,onEntityUpdated:C,currentUser:g.userTrii}),t.jsx(nc,{entityType:g.contactType==="contact"||g.contactType==="business"?g.contactType:"contact",entityData:j.contactData,baseUrl:n,spaceId:s,onEntityUpdated:C,onDirectionSearchClick:()=>w("searchLocation")}),t.jsx(ac,{ownerData:j.contactData})]})]})}),t.jsx(ot,{in:S==="searchLocation",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(vo,{baseUrl:n,spaceId:s,entityType:g.contactType==="business"?"business":"contact",entityId:String(j.contactData.id),onBack:()=>w("main"),onEntityUpdated:C})})}),t.jsx(ot,{in:S==="tags",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(eo,{value:L,options:$,onChange:D,onBack:()=>w("main"),onSave:_,isSaving:U,onCreateNew:Y,isCreatingNew:E,popperContainer:d.current})})}),t.jsx(ot,{in:S==="businessSelect",timeout:200,mountOnEnter:!0,unmountOnExit:!0,children:t.jsx(v,{sx:{pt:.5,position:"absolute",inset:0,overflowY:"auto"},children:t.jsx(lc,{baseUrl:n,spaceId:s,contactId:String(j.contactData.id),initialBusiness:g.isContact&&j.contactData?.businessId?{businessId:String(j.contactData.businessId),businessName:String(j.contactData.businessName??"")}:null,onBack:()=>w("main"),onEntityUpdated:C,currentUser:g.userTrii})})})]})})}):null]})})})})})})},dc=e=>t.jsx(Ha,{i18n:Bt,children:t.jsx(cc,{...e})}),fs=mt(null),uc=fs.Provider,xs=()=>rt(fs),pc={events:[],setEvents:()=>{},filteredEvents:[]},mc=(e,a)=>{const[n,s]=x([]);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])},bs={open:!1,handleOpen:()=>{},handleClose:()=>{}},vs=()=>{const[e,a]=x(!1),n=se(()=>{a(!0)},[]),s=se(()=>{a(!1)},[]);return te(()=>({open:e,handleOpen:n,handleClose:s}),[e,n,s])},It={actions:{onError:()=>{},onSuccess:()=>{},resetValue:()=>{},changeValue:()=>{}},attributes:{error:!1,helperText:"",type:"",value:"",onChange:()=>{}}},Et=(e,a)=>{const[n,s]=x(a||""),[i,r]=x(!1),[o,l]=x("");H(()=>{s(a||"")},[a]);const c=se(j=>{r(!0),l(j)},[]),m=se(()=>{r(!1),l("")},[]),y=se(j=>{s(j.target.value)},[]),h=se(j=>{s(j)},[]),d=se(()=>{s(a||"")},[a]),u=te(()=>({onError:c,onSuccess:m,resetValue:d,changeValue:h}),[c,m,d,h]),b=te(()=>({error:i,helperText:o,type:e,value:n,onChange:y}),[i,o,e,n,y]);return{actions:u,attributes:b}};function Cs(e){return typeof e=="number"}const hc={notifications:[],action:{addNotification:()=>{},deleteNotification:e=>{},handleTimeFieldChange:(e,a)=>{},handleTimePeriodChange:(e,a)=>{},handleReminderChange:(e,a)=>{},resetNotifications:()=>{}}};function gc(e){const[a,n]=x(e||[]),s=se(()=>{const y={id:Sa(),timeValue:0,timePeriod:Ca.MINUTE,sendToContact:!1};n(h=>h.concat(y))},[]),i=se(y=>{n(h=>h.filter(d=>d.id!==y))},[]),r=se((y,h)=>{const d=Number(y.target.value);Cs(d)&&n(u=>u.map(b=>b.id===h?{...b,timeValue:d}:b))},[]),o=se((y,h)=>{if(!Cs(y.target.value))return;const d=y.target.value;n(u=>u.map(b=>b.id===h?{...b,timePeriod:d}:b))},[]),l=se((y,h)=>{const d=y.target.checked;n(u=>u.map(b=>b.id===h?{...b,sendToContact:d}:b))},[]),c=se(()=>{n([])},[]);H(()=>{e&&n(e)},[e]);const m=te(()=>({addNotification:s,deleteNotification:i,handleTimeFieldChange:r,handleTimePeriodChange:o,handleReminderChange:l,resetNotifications:c}),[s,i,r,o,l,c]);return{notifications:a,action:m}}const yc={state:{selectedStartDate:X(),selectedEndDate:X().add(30,"minute"),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},fc={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},xc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},bc={titleField:It,descriptionField:It,locationField:It,colorField:It,date:yc,allDay:!1,setAllDay:()=>{},isPrivate:!1,setIsPrivate:()=>{},recurrenceRule:"",setRecurrenceRule:()=>{},notifications:hc,shareWithUsers:xc,linkContact:fc,create:()=>({title:"",details:"",location:"",allDay:!1,isPrivate:!1,color:"",startAt:"",endAt:"",notifications:[],sharedWith:[],rule:""}),resetFields:()=>{}},vc=(e,a)=>{const[n,s]=x(e??X()),[i,r]=x(a??X().add(30,"minute")),[o,l]=x(!1),c=se(h=>d=>{h(d)},[]),m=te(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),y=te(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:m,action:y}},Cc=()=>{const[e,a]=x(""),[n,s]=x([]),i=se(y=>{s(h=>h.some(d=>d.id===y.id)?h:[...h,{id:y.id,name:y.name??""}]),a("")},[]),r=se(y=>{s(h=>h.filter(d=>d.id!==y))},[]),o=se(y=>{a(y)},[]),l=se(()=>{a(""),s([])},[]),c=te(()=>({search:e,selectedContacts:n}),[e,n]),m=te(()=>({handleSelectContact:i,handleRemoveContact:r,handleSearchChange:o,resetField:l}),[i,r,o,l]);return{state:c,action:m}},jc=()=>{const[e,a]=x([]),n=se(()=>{a([])},[]),s=te(()=>({userIds:e}),[e]),i=te(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},wc=e=>{const a=fe(null),n=Et("text",e?.title??""),s=Et("text",e?.details??e?.description??""),i=Et("text",e?.location??""),r=Et("text",e?.color??"#1976d2"),o=vc(e?.startAt?X(e.startAt):void 0,e?.endAt?X(e.endAt):void 0),[l,c]=x(e?.allDay??!1),[m,y]=x(e?.isPrivate??!1),[h,d]=x(e?.rule??""),u=gc(e?.notifications),b=jc(),j=Cc(),g=se(()=>({title:n.attributes.value,details:s.attributes.value,location:i.attributes.value,allDay:l,isPrivate:m,color:r.attributes.value,startAt:o.state.selectedStartDate.toISOString(),endAt:o.state.selectedEndDate.toISOString(),notifications:u.notifications.map(C=>({timePeriod:C.timePeriod,timeValue:C.timeValue,sendToContact:C.sendToContact})),sharedWith:b.field.userIds,rule:h,relatedContactId:j.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.attributes.value,l,m,r.attributes.value,o.state.selectedStartDate,o.state.selectedEndDate,u.notifications,b.field.userIds,h,j.state.selectedContacts]),I=se(()=>{n.actions.resetValue(),s.actions.resetValue(),i.actions.resetValue(),r.actions.changeValue("#1976d2"),c(!1),y(!1),d(""),u.action.resetNotifications(),b.action.resetField(),j.action.resetField(),o.action.setError(!1)},[n.actions,s.actions,i.actions,r.actions,u.action,b.action,j.action,o.action]);return H(()=>{const C=e?.id;!e||a.current===C||(a.current=C,c(e.allDay??!1),y(e.isPrivate??!1),d(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(X(e.startAt)),e.endAt&&o.action.setSelectedEndDate(X(e.endAt)))},[e?.id]),te(()=>({titleField:n,descriptionField:s,locationField:i,colorField:r,date:o,allDay:l,setAllDay:c,isPrivate:m,setIsPrivate:y,recurrenceRule:h,setRecurrenceRule:d,notifications:u,shareWithUsers:b,linkContact:j,create:g,resetFields:I}),[n,s,i,r,o,l,m,h,u,b,j,g,I])},Sc={field:{userIds:[]},action:{setUserIds:()=>{},resetField:()=>{}}},Ic={nameField:It,color:"#ffffff",handleColorChange:()=>{},shareWithUsers:Sc,googleCalendar:null,handleGoogleCalendarChange:()=>{}},Ec=()=>{const[e,a]=x([]),n=se(()=>{a([])},[]),s=te(()=>({userIds:e}),[e]),i=te(()=>({setUserIds:a,resetField:n}),[n]);return{field:s,action:i}},Tc=()=>{const e=Et("text",""),[a,n]=x("#ffffff"),[s,i]=x(null),r=Ec(),o=se(c=>{n(c)},[]),l=se(c=>{i(c)},[]);return te(()=>({nameField:e,color:a,handleColorChange:o,shareWithUsers:r,googleCalendar:s,handleGoogleCalendarChange:l}),[e,a,o,r,s,l])},Dc={tasks:[],setTasks:()=>{},filteredTasks:[]},kc=e=>{const[a,n]=x([]),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])},Ac={state:{selectedStartDate:X(),selectedEndDate:X(),error:!1},action:{setSelectedStartDate:()=>{},setSelectedEndDate:()=>{},setError:()=>{},handleSelect:()=>()=>{}}},$c={state:{search:"",selectedContacts:[]},action:{handleSelectContact:()=>{},handleRemoveContact:()=>{},handleSearchChange:()=>{},resetField:()=>{}}},Uc={titleField:It,descriptionField:It,date:Ac,linkContact:$c,create:()=>({title:"",description:"",startAt:"",endAt:""}),resetFields:()=>{}},Fc=(e,a)=>{const[n,s]=x(e??X()),[i,r]=x(a??X()),[o,l]=x(!1),c=se(h=>d=>{h(d)},[]),m=te(()=>({selectedStartDate:n,selectedEndDate:i,error:o}),[n,i,o]),y=te(()=>({setSelectedStartDate:s,setSelectedEndDate:r,setError:l,handleSelect:c}),[c]);return{state:m,action:y}},Pc=()=>{const[e,a]=x(""),[n,s]=x([]),i=se(y=>{s(h=>h.some(d=>d.id===y.id)?h:[...h,{id:y.id,name:y.name??""}]),a("")},[]),r=se(y=>{s(h=>h.filter(d=>d.id!==y))},[]),o=se(y=>{a(y)},[]),l=se(()=>{a(""),s([])},[]),c=te(()=>({search:e,selectedContacts:n}),[e,n]),m=te(()=>({handleSelectContact:i,handleRemoveContact:r,handleSearchChange:o,resetField:l}),[i,r,o,l]);return{state:c,action:m}},Nc=e=>{const a=fe(null),n=Et("text",e?.title??""),s=Et("text",e?.description??""),i=Fc(e?.startAt?X(e.startAt):void 0,e?.startAt?X(e.startAt):void 0),r=Pc(),o=se(()=>({title:n.attributes.value,description:s.attributes.value,startAt:i.state.selectedStartDate.toISOString(),endAt:i.state.selectedStartDate.toISOString(),relatedContactId:r.state.selectedContacts[0]?.id??null}),[n.attributes.value,s.attributes.value,i.state.selectedStartDate,r.state.selectedContacts]),l=se(()=>{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 m=X(e.startAt);i.action.setSelectedStartDate(m),i.action.setSelectedEndDate(m)}},[e?.id]),te(()=>({titleField:n,descriptionField:s,date:i,linkContact:r,create:o,resetFields:l}),[n,s,i,r,o,l])},ln=mt({eventDialog:bs,createCalendarDialog:bs,event:bc,events:pc,calendar:Ic,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:Dc,activeCalendarIds:[],setActiveCalendarIds:()=>{},handleCreateTask:()=>{},task:Uc,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}),js=e=>e,ws=mt(js),Rc=({t:e,children:a})=>t.jsx(ws.Provider,{value:e,children:a}),_e=()=>{const e=rt(ws);return e?(...a)=>{const[n,...s]=a;return e(n,...s)}:(console.warn("[useTranslationContext] using noop, context value is falsy"),js)};var Mc=Object.defineProperty,Oc=(e,a,n)=>a in e?Mc(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,Ss=(e,a,n)=>Oc(e,typeof a!="symbol"?a+"":a,n);class zc extends Error{constructor(a,n,s){super(a),Ss(this,"status"),Ss(this,"body"),this.name="ApiError",this.status=n,this.body=s}}async function Be({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 zc(l,r.status,o)}return o}function Oe(e,a){const n=e.endsWith("/")?e.slice(0,-1):e,s=a.startsWith("/")?a:`/${a}`;return`${n}${s}`}function cn(e,a){const n=encodeURIComponent(a);return{CONTACTS:Oe(e,`/contacts/${n}`),MEDIA:Oe(e,`/media/${n}`),SETTINGS:Oe(e,`/settings/${n}`),CALENDAR:Oe(e,`/calendar/${n}`)}}function Je(e){return cn(e.baseUrl,e.spaceId).CALENDAR}async function Lc(e){const a=cn(e.baseUrl,e.spaceId);return Be({url:Oe(a.SETTINGS,"/user")})}async function Wc(e,a,n){const s=`${Je(e)}/Events?start=${encodeURIComponent(a)}&end=${encodeURIComponent(n)}`;return Be({url:s})}async function _c(e,a){const n=Je(e);return Be({url:Oe(n,"/events"),method:"POST",body:a})}async function Is(e,a){const n=Je(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 Be({url:l,method:"PUT",body:i})}return Be({url:Oe(n,`/events/${s}`),method:"PUT",body:i})}async function dn(e,a,n){const s=Je(e);if(n){const i=n instanceof Date?n.toISOString():n,r=`${s}/events/${a}?occurrence=${i}`;await Be({url:r,method:"DELETE"})}else await Be({url:Oe(s,`/events/${a}`),method:"DELETE"})}async function Bc(e,a){const n=Je(e);return Be({url:Oe(n,`/events/${a}`),method:"PUT",body:{finalized:!0}})}async function Vc(e,a){const n=Je(e);return Be({url:Oe(n,`/Task/${a}`)})}async function Yc(e,a){const n=Je(e);return Be({url:Oe(n,"/Task"),method:"POST",body:a})}async function Es(e,a,n){const s=Je(e);return Be({url:Oe(s,`/Task/${a}`),method:"PUT",body:n})}async function Hc(e,a){const n=Je(e);await Be({url:Oe(n,`/Task/${a}`),method:"DELETE"})}async function Gc(e,a,n){const s=Je(e);return Be({url:Oe(s,`/Task/${a}`),method:"PUT",body:{isCompleted:n}})}async function Kc(e){const a=Je(e);return Be({url:Oe(a,"/Calendar")})}async function qc(e,a){const n=Je(e);return Be({url:Oe(n,"/Calendar"),method:"POST",body:a})}async function Jc(e,a,n){const s=Je(e);return Be({url:Oe(s,`/Calendar/${a}`),method:"PUT",body:n})}function un(e){const a=X(e),n=a.minute();return n===0||n===30?a.second(0).millisecond(0):n>0&&n<30?a.minute(30).second(0).millisecond(0):a.add(1,"hour").minute(0).second(0).millisecond(0)}const Jt=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},Qt=e=>e?e.parentId?e.parentId:Jt(e.id):"",Qc=({children:e,externalOpen:a,externalOnClose:n,externalMode:s="create",externalType:i="event",externalEventCalendarId:r,externalTaskCalendarId:o,externalSelectedEvent:l,externalSelectedTask:c,hiddenTabs:m=!1,externalOnActionComplete:y})=>{const{t:h}=wt(),d=xs(),u=(f,...P)=>h(f,...P),[b,j]=x(i),[g,I]=x(null),[C,S]=x(null),[w,L]=x(s),[D,$]=x(o||""),[U,E]=x(r||""),[Y,_]=x(!1),[B,K]=x("create"),[N,ae]=x(null),[Q,T]=x({open:!1,message:"",severity:"info"}),[R,F]=x(!1),[M,O]=x("event"),[q,G]=x(!1),[ie,me]=x(!1),[ve,Ie]=x(null),ke="trii_calendar_last_view",z=f=>f==="month"||f==="week"||f==="day",[Te,ge]=x(()=>{try{const f=localStorage.getItem(ke);return z(f)?f:"month"}catch{return"month"}}),[De,be]=x(new Date),Ze=f=>{be(f),ge("day")},J=vs(),Fe=vs(),re=wc(g??void 0),pe=Nc(C??void 0);H(()=>{s!==void 0&&L(s)},[s]),H(()=>{i!==void 0&&j(i)},[i]),H(()=>{r!==void 0&&E(r)},[r]),H(()=>{o!==void 0&&$(o)},[o]),H(()=>{l!==void 0&&I(l)},[l]),H(()=>{c!==void 0&&S(c)},[c]),H(()=>{if(a!==void 0)if(a&&!J.open){if(s==="create"){re.resetFields(),pe.resetFields(),_(!1),I(null),S(null),re.date.action.setError(!1),pe.date.action.setError(!1);const f=un(new Date),P=f.add(30,"minute");if(i==="task"?(pe.date.action.setSelectedStartDate(f),pe.date.action.setSelectedEndDate(f)):(re.date.action.setSelectedStartDate(f),re.date.action.setSelectedEndDate(P)),!r){const A=Ye?.[0]??ut?.[0]?.id??ze?.[0]?.id??"";A&&E(A)}if(!o){const A=Ye?.[0]??ze?.[0]?.id??"";A&&$(A)}}J.handleOpen()}else!a&&J.open&&J.handleClose()},[a]);const oe=()=>{(w==="edit"||w==="create")&&(re.resetFields(),pe.resetFields()),re.date.action.setError(!1),pe.date.action.setError(!1),n?n():J.handleClose()},Pe=Tc(),dt=B==="create",[ze,Fa]=x([]),[Pa,Zt]=x([]),[ft,xt]=x(""),ea="calendar_selected_ids",[Ye,bt]=x(()=>{try{const f=localStorage.getItem(ea);return f?JSON.parse(f):[]}catch{return[]}}),vt=mc(Ye,Pa),ta=kc(Ye),Na=()=>{T(f=>({...f,open:!1}))},at=se((f,P,A)=>{y?.(f,P,A)},[y]);function aa(f){const P=f?.startAt??f?.start,A=f?.endAt??f?.end??P;return{startAt:P,endAt:A}}const{myCalendars:ut,otherCalendars:Ra}=te(()=>{const f=ze??[];if(!ft)return{myCalendars:f,otherCalendars:[]};const P=f.filter(ee=>ee.userId===ft),A=f.filter(ee=>ee.userId!==ft);return P.length===0&&f.length>0?{myCalendars:f,otherCalendars:[]}:{myCalendars:P,otherCalendars:A}},[ze,ft]),nt=se(async()=>{if(d)try{const f=new Date,P=f.getUTCFullYear(),A=f.getUTCMonth(),ee=new Date(Date.UTC(P,A-1,1,0,0,0)).toISOString(),de=new Date(Date.UTC(P,A+2,1,0,0,0)).toISOString(),Ae=await Wc(d,ee,de);Zt(Ae)}catch(f){console.error("Error fetching activities:",f)}},[d]),st=se(async f=>{if(d)try{const P=await Vc(d,f);ta.setTasks(P.map(A=>({id:A.id,title:A.title||"",start:new Date(A.startAt),end:new Date(A.endAt||A.startAt),startAt:A.startAt,endAt:A.endAt,description:A.description,calendarId:A.calendarId,isCompleted:A.isCompleted||!1,relatedContact:A.relatedContact,kind:"task"})))}catch(P){console.error("Error fetching tasks:",P)}},[d]),Tt=se(async()=>{if(d)try{const f=await Kc(d);Fa(f)}catch(f){console.error("Error fetching calendars:",f)}},[d]);H(()=>{if(!J.open||w!=="create")return;const f=ut?.[0]?.id??ze?.[0]?.id??"";f&&(U||E(f),D||$(f))},[ze,ut]),H(()=>{if(!d)return;Tt(),nt();let f=!1;return Lc(d).then(P=>{f||xt(P.uid)}).catch(()=>{}),()=>{f=!0}},[d,Tt,nt]);function et(f,P,A){j(f),L("create"),I(null),S(null),re.resetFields(),pe.resetFields(),_(!1);const ee=un(P??new Date),de=A?un(A):ee.add(30,"minute"),Ae=de.isAfter(ee)?de:ee.add(30,"minute");if(f==="task"){pe.date.action.setSelectedStartDate(ee),pe.date.action.setSelectedEndDate(ee),pe.date.action.setError(!1);const Ke=Ye?.[0]??ze?.[0]?.id??"";$(Ke)}else{re.date.action.setSelectedStartDate(ee),re.date.action.setSelectedEndDate(Ae),re.date.action.setError(!1);const Ke=Ye?.[0]??ut?.[0]?.id??ze?.[0]?.id??"";E(Ke);const Ne=ut?.find(Re=>Re.id===Ke)??ze?.find(Re=>Re.id===Ke);Ne?.color&&re.colorField.actions.changeValue(Ne.color)}J.handleOpen()}function Ft(){et("event")}function Pt(){re.date.action.setError(!1),pe.date.action.setError(!1),L("edit")}function na(f){const{startAt:P,endAt:A}=aa(f),ee={...f,kind:"event",startAt:P,endAt:A,details:f?.details??""};j("event"),I(ee),S(null),E(ee.calendarId??""),L("view"),re.date.action.setError(!1),pe.date.action.setError(!1),J.handleOpen()}async function Ma(f){if(!d)return;let P;if(f)P={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(de=>({id:Sa(),timeValue:de.value,timePeriod:de.type,sendToContact:de.sendToContact||!1})),eventTypeId:"",repeatId:""};else{const de=re.create();if(!de.title){T({open:!0,message:u("global.nameRequired"),severity:"error"});return}P={...de,startAt:new Date(de.startAt),endAt:new Date(de.endAt),contactId:de.relatedContactId||null,eventTypeId:"",repeatId:"",notifications:de.notifications.map(Ae=>({...Ae,id:Ae.id||Sa()}))}}const A=U;if(!A){T({open:!0,message:u("global.errorSavingChanges"),severity:"error"});return}const ee={...P,calendarId:A};try{T({open:!0,message:u("global.savingChanges"),severity:"info"}),re.resetFields(),oe();const de=await _c(d,ee);Ye.includes(A)||bt(Ae=>[...Ae,A]),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("created","event",de),nt()}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}async function sa(){if(!g?.id)return;const f=re.create(),P=U||g.calendarId||"";if(!P){T({open:!0,message:u("global.errorSavingChanges"),severity:"error"});return}g.originalOccurrenceDate!=null?(Ie(()=>async A=>{await ra(f,P,A)}),me(!0)):await ra(f,P,!1)}async function ra(f,P,A){const ee=g?.originalOccurrenceDate!=null,de={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:P,notifications:f.notifications,sharedWith:f.sharedWith};(A||!ee)&&(de.rule=f.rule);const Ae=Qt(g),Ke={updatedActivity:de,activityId:Ae};ee&&!A&&(Ke.originalOccurrenceDate=g.originalOccurrenceDate);try{const Ne=await Is(d,Ke);Ne&&I(Ne),oe(),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("updated","event",Ne),nt()}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}async function ia(f){me(!1),ve&&(await ve(f),Ie(null))}async function oa(){g?.originalOccurrenceDate!=null?G(!0):(O("event"),F(!0))}async function Oa(){if(d)if(F(!1),M==="event")try{const f=Qt(g);oe(),await dn(d,f),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("deleted","event",{id:f}),nt()}catch(f){console.error("Error deleting event:",f);const P=f?.message?.includes("duplicate key")?u("global.eventAlreadyDeleted","El evento ya fue eliminado"):u("global.errorSavingChanges");T({open:!0,message:P,severity:"error"})}else{if(!C?.id)return;try{const f=Jt(C.id),P=C.calendarId;oe(),await Hc(d,f),S(null),pe.resetFields(),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("deleted","task",{id:f}),P&&st(P)}catch(f){console.error("Error deleting task:",f);const P=f?.message?.includes("duplicate key")?u("global.taskAlreadyDeleted","La tarea ya fue eliminada"):u("global.errorSavingChanges");T({open:!0,message:P,severity:"error"})}}}async function za(f){G(!1);const P=Qt(g);oe();try{f?await dn(d,P):await dn(d,P,g.originalOccurrenceDate),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("deleted","event",{id:P}),nt()}catch(A){console.error("Error deleting recurring event:",A);const ee=A?.message?.includes("duplicate key")?u("global.eventAlreadyDeleted","El evento ya fue eliminado"):u("global.errorSavingChanges");T({open:!0,message:ee,severity:"error"})}}async function la(){if(!d)return;const f=Qt(g);await Bc(d,f),oe()}async function ca(f,P,A){const ee=P instanceof Date?P:new Date(P),de=A instanceof Date?A:new Date(A),Ae=ee.toISOString(),Ke=de.toISOString(),Ne=f.kind==="task";!Ne&&f.originalOccurrenceDate!=null?(I(f),Ie(()=>async Re=>{await da(f,Ae,Ke,ee,de,Ne,Re)}),me(!0)):await da(f,Ae,Ke,ee,de,Ne,!1)}async function da(f,P,A,ee,de,Ae,Ke){Ae||vt.setEvents(Ne=>Ne.map(Re=>Re.id===f.id?{...Re,start:ee,end:de,startAt:ee,endAt:de}:Re)),T({open:!0,message:u("global.savingChanges"),severity:"info"});try{if(Ae){const Ne=Jt(f.id),Re={title:f.title,description:f.description,startAt:P,endAt:A,calendarId:f.calendarId,allDay:f.allDay||!1,isCompleted:f.isCompleted||!1};await Es(d,Ne,Re),await st(f.calendarId)}else{const Ne=Qt(f),Re=f.originalOccurrenceDate!=null,yn={title:f.title,details:f.details,startAt:new Date(P),endAt:new Date(A),allDay:f.allDay,isPrivate:f.isPrivate,location:f.location,color:f.color,calendarId:f.calendarId};(Ke||!Re)&&(yn.rule=f.rule);const fn={updatedActivity:yn,activityId:Ne};Re&&!Ke&&(fn.originalOccurrenceDate=f.originalOccurrenceDate),await Is(d,fn)}T({open:!0,message:u("global.changesSaved"),severity:"success"}),nt()}catch{Ae||vt.setEvents(Ne=>Ne.map(Re=>Re.id===f.id?{...Re,start:f.start,end:f.end}:Re)),T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}function La(f,P){et("event",f,P)}function ua(){Pe.nameField.actions.resetValue(),Pe.handleColorChange("#ffffff"),Pe.shareWithUsers.action.resetField(),Pe.handleGoogleCalendarChange(null)}function pa(){ua(),ae(null),K("create"),Fe.handleClose()}function p(f){Pe.nameField.actions.changeValue(f.title??""),Pe.nameField.actions.onSuccess(),Pe.handleColorChange(f.color??"#ffffff"),Pe.shareWithUsers.action.setUserIds(f.sharedWith??[]),Pe.handleGoogleCalendarChange(f.googleCalendar??null)}function k(){K("create"),ae(null),ua(),Fe.handleOpen()}function W(f){K("edit"),ae(f),p(f),Fe.handleOpen()}async function ne(){if(!d)return;const f=(Pe.nameField.attributes.value??"").trim();if(!f){T({open:!0,message:u("global.nameRequired"),severity:"error"});return}const P=Pe.shareWithUsers.field.userIds,A={title:f,color:Pe.color,sharedWith:P.length?P:void 0,googleCalendar:Pe.googleCalendar};try{if(dt)await qc(d,A);else{const ee=N?.id;if(!ee)return;await Jc(d,ee,A)}pa(),T({open:!0,message:u(dt?"global.calendarCreatedSuccess":"global.calendarUpdatedSuccess"),severity:"success"}),Tt()}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}async function he(f){if(!d)return;let P;if(f?P={title:f.title,description:f.description||"",startAt:f.startAt,contactId:f.relatedContactId||null}:P=pe.create(),!P.title){T({open:!0,message:u("global.nameRequired"),severity:"error"});return}const A=D;if(!A){T({open:!0,message:u("global.errorSavingChanges"),severity:"error"});return}const ee={...P,calendarId:A};try{T({open:!0,message:u("global.savingChanges"),severity:"info"}),pe.resetFields(),oe();const de=await Yc(d,ee);Ye.includes(A)||bt(Ae=>[...Ae,A]),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("created","task",de),st(A)}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}function ye(){et("task")}async function ue(){if(!d||!C?.id)return;const f=pe.create();if(!f.title){T({open:!0,message:u("global.nameRequired"),severity:"error"});return}const P=D||C.calendarId;if(!P){T({open:!0,message:u("global.errorSavingChanges"),severity:"error"});return}const A={...f,calendarId:P};try{T({open:!0,message:u("global.savingChanges"),severity:"info"});const ee=Jt(C.id),de=await Es(d,ee,A);de&&S(de),oe(),T({open:!0,message:u("global.changesSaved"),severity:"success"}),at("updated","task",de),st(P)}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}async function ce(){C?.id&&(O("task"),F(!0))}async function Le(){if(!d||!C?.id)return;const f=!C.isCompleted;try{const P=Jt(C.id),A=C.calendarId,ee=await Gc(d,P,f);ee&&S(ee),T({open:!0,message:u("global.changesSaved"),severity:"success"}),A&&st(A)}catch{T({open:!0,message:u("global.errorSavingChanges"),severity:"error"})}}function Ce(){const f=b==="event",P=f?g:C;if(!P)return;const A={...P};f?(I(null),L("create"),_(!0),setTimeout(()=>{if(re.titleField.actions.changeValue(A.title??""),re.descriptionField.actions.changeValue(A.details??A.description??""),re.locationField.actions.changeValue(A.location??""),re.colorField.actions.changeValue(A.color??""),re.setAllDay(A.allDay??!1),re.setIsPrivate(A.isPrivate??!1),re.setRecurrenceRule(A.rule??""),re.date.action.setSelectedStartDate(X(A.startAt)),re.date.action.setSelectedEndDate(X(A.endAt)),re.date.action.setError(!1),re.notifications.action.resetNotifications(),A.relatedContact?.id&&re.linkContact.action.handleSelectContact(A.relatedContact),A.sharedWith){const ee=A.sharedWith.map(de=>de.id);re.shareWithUsers.action.setUserIds(ee)}E(A.calendarId??U)},50)):(S(null),L("create"),setTimeout(()=>{pe.titleField.actions.changeValue(A.title??""),pe.descriptionField.actions.changeValue(A.description??""),pe.date.action.setSelectedStartDate(X(A.startAt)),pe.date.action.setSelectedEndDate(X(A.startAt)),pe.date.action.setError(!1),A.relatedContact?.id&&pe.linkContact.action.handleSelectContact(A.relatedContact),$(A.calendarId??D)},50))}function Ee(f){const{startAt:P,endAt:A}=aa(f),ee={...f,kind:"task",startAt:P,endAt:A,description:f?.description??""};j("task"),S(ee),$(ee.calendarId??""),E(ee.calendarId??""),I(null),L("view"),re.date.action.setError(!1),pe.date.action.setError(!1),J.handleOpen()}function Ge(f){return f?.kind==="task"?Ee(f):na(f)}H(()=>{try{Ye&&localStorage.setItem(ea,JSON.stringify(Ye))}catch{}},[Ye]),H(()=>{ze?.length&&bt(f=>{const P=new Set(ze.map(ee=>ee.id)),A=(f??[]).filter(ee=>P.has(ee));return A.length?A:ze.map(ee=>ee.id)})},[ze]),H(()=>{try{localStorage.setItem(ke,Te)}catch{}},[Te]);const pt={eventDialog:{...J,handleClose:oe},dialogMode:w,createCalendarDialog:Fe,event:re,calendar:Pe,events:vt,handleCreateEvent:Ma,handleSelectEvent:Ge,handleOpenEventCreate:Ft,handleStartEditingEvent:Pt,handleSaveUpdatedEvent:sa,handleEndEvent:la,handleDeleteEvent:oa,handleResizeEvent:ca,selectedEvent:g,savingSnackbar:Q,handleCloseSnackbar:Na,dialogType:b,setDialogType:j,handleOpenTaskCreate:ye,handleOpenCreateFromSlot:La,handleCloseCreateCalendarDialog:pa,calendarDialogMode:B,editingCalendar:N,handleOpenCreateCalendarDialog:k,handleOpenEditCalendarDialog:W,handleSubmitCalendar:ne,tasks:ta,activeCalendarIds:Ye,setActiveCalendarIds:bt,handleCreateTask:he,task:pe,selectedTask:C,taskCalendarId:D,setTaskCalendarId:$,eventCalendarId:U,setEventCalendarId:E,userManuallyChangedColor:Y,setUserManuallyChangedColor:_,myCalendars:ut,otherCalendars:Ra,handleSaveUpdatedTask:ue,handleDeleteTask:ce,handleToggleTaskCompleted:Le,handleDuplicateItem:Ce,calendarView:Te,setCalendarView:ge,calendarDate:De,setCalendarDate:be,navigateToDate:Ze,confirmDeleteDialog:{open:R,handleClose:()=>F(!1),itemType:M},handleConfirmDelete:Oa,deleteRecurringDialog:{open:q,handleClose:()=>G(!1)},handleConfirmDeleteRecurring:za,editRecurringDialog:{open:ie,handleClose:()=>{me(!1),Ie(null)}},handleConfirmEditRecurring:ia,hiddenTabs:m};return t.jsx(Rc,{t:u,children:t.jsx(ln.Provider,{value:pt,children:e})})},Aa=Z(v)(()=>({display:"flex",flexDirection:"column",gap:.5})),pn=Z(v)(()=>({display:"flex",alignItems:"baseline",gap:1})),mn=Z(V)(()=>({marginX:"8px",marginTop:"-15px",color:"text.primary"})),Ut="DD/MM/YYYY",$a="HH:mm",Xc=({selectedStartDate:e,selectedEndDate:a,handleSelectStart:n,handleSelectEnd:s,isError:i,disabled:r,hideLabel:o=!1,allDay:l=!1})=>{const c=_e(),m=te(()=>a.diff(e,"minute"),[e,a]),y=te(()=>{if(m===0)return"0 min";const g=Math.floor(m/60),I=m%60;return g===0?`${I} min`:I===0?`${g} h`:`${g}.${Math.round(I/60*10)} h`},[m]),h=g=>{if(!g)return;const I=g.hour(e.hour()).minute(e.minute()).second(0).millisecond(0),C=g.hour(a.hour()).minute(a.minute()).second(0).millisecond(0);n(I),s(C)},d=g=>{if(!g)return;const I=g.hour(0).minute(0).second(0).millisecond(0);n(I)},u=g=>{if(!g)return;const I=g.hour(23).minute(59).second(59).millisecond(999);s(I)},b=g=>{if(!g)return;const I=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0),C=I.add(m,"minute");n(I),s(C)},j=g=>{if(!g)return;let I=e.hour(g.hour()).minute(g.minute()).second(0).millisecond(0);(I.isBefore(e)||I.isSame(e))&&(I=I.add(1,"day")),s(I)};return r?t.jsxs(Aa,{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(V,{variant:"body1",children:e.format(Ut)}),t.jsx(V,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(V,{variant:"body1",children:a.format(Ut)})]}):t.jsxs(v,{children:[t.jsx(V,{variant:"body1",sx:{mb:1},children:e.format(Ut)}),t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(V,{variant:"body1",children:e.format($a)}),t.jsx(V,{variant:"body1",color:"text.secondary",children:"\u2013"}),t.jsx(V,{variant:"body1",children:a.format($a)}),m>0&&t.jsxs(V,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1},children:["(",y,")"]})]})]})]}):t.jsxs(Aa,{children:[!o&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:c("global.date")}),t.jsx(Un,{dateAdapter:Pn,children:l?t.jsxs(pn,{children:[t.jsx(va,{disabled:r,format:Ut,label:c("global.from"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:d,minDate:X(),sx:{flex:1}}),t.jsx(mn,{variant:"body1",children:"\u2013"}),t.jsx(va,{disabled:r,format:Ut,label:c("global.to"),slotProps:{textField:()=>({size:"small"}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:a,onChange:u,minDate:e,sx:{flex:1}})]}):t.jsxs(t.Fragment,{children:[t.jsx(v,{sx:{mb:1},children:t.jsx(va,{disabled:r,format:Ut,slotProps:{textField:()=>({size:"small",fullWidth:!0}),popper:{sx:{"& .MuiPaper-root":{backgroundColor:g=>g.palette.background.panel}}}},value:e,onChange:h,minDate:X()})}),t.jsxs(pn,{children:[t.jsx(Ka,{disabled:r,format:$a,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(mn,{variant:"body1",children:"\u2013"}),t.jsxs(v,{sx:{flex:1,display:"flex",flexDirection:"column",gap:.5},children:[t.jsx(Ka,{disabled:r,format:$a,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:j,sx:{alignSelf:"baseline",width:"100%"}}),m>0&&t.jsxs(V,{variant:"caption",sx:{color:"text.secondary",fontSize:"0.7rem",ml:1.5},children:["(",y,")"]})]})]})]})}),i&&t.jsx(ot,{in:i,children:t.jsx(V,{color:"red",variant:"caption",sx:{mt:1,ml:"10px"},children:c("calendarView.reminders.errorDate")})})]})};Z(v)(()=>({display:"flex",gap:2,alignItems:"center"})),Z(v)(({theme:e})=>({width:"15%",userSelect:"none",color:e.palette.text.secondary}));const qe=({children:e,title:a})=>t.jsxs(v,{children:[t.jsx(V,{variant:"subtitle2",sx:{mb:1,userSelect:"none"},children:a}),e]}),hn=({titleField:e,disabled:a,variantMode:n="default"})=>{const s=_e(),{value:i,type:r,...o}=e.attributes,l=i||"";return n==="inline"?t.jsx(je,{...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(qe,{title:s("global.title"),children:t.jsx(V,{variant:"body1",sx:{py:.5,color:c=>c.palette.text.secondary,fontSize:"0.9rem"},children:l||"-"})}):t.jsx(qe,{title:s("global.title"),children:t.jsx(je,{...o,value:l,disabled:a,autoFocus:!0,fullWidth:!0,variant:"outlined",size:"small",type:r})})},Zc=Z(v)(()=>({marginBottom:"6px",padding:"8px 16px",border:"1px solid lightgray",borderRadius:"3px"})),ed=Z(v)(()=>({display:"flex",gap:"8px",alignItems:"center",userSelect:"none"})),td=Z(je)(()=>({width:"13%"})),ad=Z(ma)(()=>({width:"23%"})),nd=Z(v)(()=>({display:"flex",gap:1,width:"100%",alignItems:"center"})),sd=Z(xe)(()=>({ml:"auto"})),rd=[{title:"minute",value:Ca.MINUTE},{title:"hour",value:Ca.HOUR},{title:"day",value:Ca.DAY}],id=({data:e,timeValueHandler:a,timePeriodHandler:n,sendToContactHandler:s,deleteHandler:i})=>{const r=_e(),o=e.timeValue??0;return t.jsxs(Zc,{children:[t.jsxs(ed,{children:[t.jsx(V,{variant:"body2",sx:{userSelect:"none"},children:r("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:rd.map(l=>t.jsx(it,{value:l.value,children:r(`calendarView.reminders.timePeriod.${l.title}`)},l.value))}),t.jsx(V,{variant:"body2",sx:{userSelect:"none"},children:r("calendarView.reminders.sendReminder.pt2")})]}),t.jsxs(nd,{children:[t.jsx(Dt,{sx:{display:"flex",alignItems:"center"},label:r("calendarView.reminders.sendReminderToContact"),control:t.jsx(wn,{checked:e.sendToContact,onChange:l=>s(l,e.id),color:"secondary"})}),t.jsx(sd,{onClick:()=>i(e.id),sx:{ml:"auto",color:"text.disabled"},children:t.jsx(ba,{})})]})]})},od=Z(v)`
|
|
17
17
|
display: 'flex',
|
|
18
18
|
flexDirection: 'column',
|
|
19
19
|
gap: 1,
|
|
20
|
-
`,ld=ee(v)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),cd=({notificationsField:e,disabled:a})=>{const n=Le(),{addNotification:s,deleteNotification:i,handleReminderChange:r,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(Ne,{disabled:a,startIcon:t.jsx($n,{}),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(m=>t.jsx(id,{data:m,deleteHandler:i,sendToContactHandler:r,timePeriodHandler:l,timeValueHandler:o},m.id)):a?t.jsx(Y,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Es=({descriptionField:e,disabled:a})=>{const n=Le(),{value:s,type:i,...r}=e.attributes,o=s||"";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,{...r,value:o,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},dd=({onPlaceSelected:e})=>{const a=xe(null),n=xe(null),s=xe(null),i=xe(null),[r,o]=x([]),[l,c]=x(!1),m=Le();K(()=>{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 s.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 g=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,C)=>{C===window.google.maps.places.PlacesServiceStatus.OK&&b?(o(b),c(!0)):(o([]),c(!1))})},u=(d,h)=>{s.current&&s.current.getDetails({placeId:d,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(b,C)=>{if(C===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const y=b.geometry.location.lat(),S=b.geometry.location.lng(),j=b.formatted_address??h;e({lat:y,lng:S},j),a.current&&(a.current.value=j),c(!1),o([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return K(()=>{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:m("global.searchLocation","Buscar en Google Maps"),onChange:g,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(d=>t.jsxs("div",{onClick:()=>u(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))})]})},Ts="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",Ds=["places"],mn={apiKey:Ts,libraries:Ds,loading:"async"},Da=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),ks=(e=Ts,a=Ds)=>{if(Da())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++,Da()?(clearInterval(l),s()):r>=o&&(clearInterval(l),n(),ks(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const r="initGoogleMaps";window[r]=()=>{Da()?s():setTimeout(()=>{Da()||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)}})},Xt=(e,a,n=18,s=400,i=400,r="red",o=mn.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}`,ud=({onLocationChange:e,initialLocation:a})=>{const n=xe(null),s=xe(null),i=xe(null),r=xe(null),[o,l]=x(!0),[c,m]=x(!1),[g,u]=x(a||null),d=18,h=re(j=>{u(j),e(j)},[e]);K(()=>{let j=!0;(async()=>{try{if(await ks(mn.apiKey,mn.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(()=>{j&&b()},100)}catch(w){console.error("Error al cargar Google Maps:",w),l(!1)}})(),a||navigator.geolocation.getCurrentPosition(w=>{const I=w.coords.latitude,L=w.coords.longitude,D=I.toString(),U=L.toString(),$=Xt(I,L,d);h({lat:D,lng:U,title:"",description:"",url:$})},w=>{console.error("Error getting location:",w);const I=-34.6037,L=-58.3816;h({lat:I.toString(),lng:L.toString(),title:"",description:"",url:Xt(I,L,d)})})},[a,h,d]),K(()=>{c&&g&&y()},[c,g]),K(()=>()=>{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};s.current=new window.google.maps.Map(n.current,j),s.current.addListener("click",w=>{C(w)}),m(!0)}catch(j){console.error("Error inicializando mapa:",j)}},C=j=>{if(!j.latLng||!r.current)return;const w={lat:j.latLng.lat(),lng:j.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},(I,L)=>{if(L==="OK"&&I&&I[0]){const D=I[0].formatted_address,U=Xt(w.lat,w.lng,d);h({lat:w.lat.toString(),lng:w.lng.toString(),title:D||"",description:"",url:U})}else{const D=Xt(w.lat,w.lng,d);h({lat:w.lat.toString(),lng:w.lng.toString(),title:`${w.lat.toFixed(6)}, ${w.lng.toFixed(6)}`,description:"",url:D})}})},y=()=>{if(!(!s.current||!g))try{const j={lat:parseFloat(g.lat),lng:parseFloat(g.lng)};s.current.setCenter(j),i.current?i.current.setPosition(j):i.current=new window.google.maps.Marker({position:j,map:s.current})}catch(j){console.error("Error actualizando mapa:",j)}},S=(j,w)=>{const I=Xt(j.lat,j.lng,d);h({lat:j.lat.toString(),lng:j.lng.toString(),title:w||"",description:"",url:I})};return!g||o?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(qe,{})}):t.jsxs(v,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(dd,{onPlaceSelected:S}),t.jsx("div",{style:{height:"100%"},ref:n})]})},pd=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const i=Le(),[r,o]=x(null),l=xe(null);K(()=>{e||o(null)},[e]),K(()=>{l.current&&r&&(l.current.scrollTop=l.current.scrollHeight/4)},[r]);const c=re(g=>{o(g)},[]),m=re(()=>{r&&(n(r.title||`${r.lat}, ${r.lng}`,r.lat,r.lng),a())},[r,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:g=>g.palette.background.panel}},children:[t.jsxs(v,{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(Tn,{fontSize:"small"})})]}),t.jsx(ha,{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(ud,{onLocationChange:c,initialLocation:void 0})}),t.jsx(bn,{sx:{width:"100%",padding:0}}),t.jsxs(v,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(Ne,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(Ne,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:m,disabled:!r,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},md=({locationField:e,disabled:a})=>{const n=Le(),[s,i]=x(!1),{value:r,type:o,...l}=e.attributes,c=r||"",m=()=>{a||i(!0)},g=()=>{i(!1)},u=d=>{e.actions.changeValue(d)};return a?t.jsx(v,{children:t.jsx(Je,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx(Fn,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:c||"-"})]})})}):t.jsxs(v,{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:m,InputProps:{startAdornment:t.jsx(Fn,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(pd,{open:s,onClose:g,onSelectLocation:u,initialAddress:c})]})},hd=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:s,search:i})=>{const r=Le(),o=jn();return t.jsx(Ls,{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(Ws,{sx:{width:"100%"},onClick:()=>n(l),selected:s.includes(l.id),children:[t.jsx(ua,{children:t.jsx(Zs,{sx:{color:c=>c.palette.text.disabled}})}),t.jsx(pa,{primary:r(l.name),secondary:l?.phone})]},l.id))})};async function gd({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=on(e,a),r=Re(i.CONTACTS,"/Search");return We({url:r,method:"POST",body:n,signal:s})}const yd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function fd(e){const a=xe(null),n=xe(null),[s,i]=x([]),[r,o]=x(!1),[l,c]=x(!1),[m,g]=x(!1),[u,d]=x(!1),[h,b]=x(1),[C,y]=x(!1),S=re(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),o(!1),y(!1),b(1),d(!1),i([])},[]),j=D=>D.filter(U=>!!U?.id),w=re(async({query:D,page:U})=>{if(!e)return;n.current?.abort();const $=new AbortController;n.current=$,c(!0);try{const E={...yd,currentPage:U,filter:[{value:D,column:"name",condition:""}]},V=await gd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:E,signal:$.signal});if($.signal.aborted)return;const H=j(V?.contactos??[]);o(!0);const O=V?.paginacion?.total??0;i(J=>{const F=U===1?H:(()=>{const se=new Map;for(const N of J)se.set(N.id,N);for(const N of H)se.set(N.id,N);return Array.from(se.values())})();return O&&F.length>=O&&y(!0),F})}finally{c(!1),g(!1),d(!1)}},[e]),I=re(D=>{S(),D&&(a.current&&(clearTimeout(a.current),a.current=null),g(!0),a.current=setTimeout(()=>{w({query:D,page:1})},800))},[w,S]),L=re((D,U)=>{const $=D.target;if(!($.scrollHeight-$.scrollTop-$.clientHeight<1)||C||l||!U)return;const E=h+1;d(!0),b(E),w({query:U,page:E})},[C,l,h,w]);return{contactList:s,hasSearched:r,isLoading:l,isLoadingTimer:m,isNextPage:u,handleQueryChanged:I,handleScroll:L,resetSearchState:S}}const As=({linkContactsHandler:e,disabled:a=!1})=>{const n=Le(),s=ys(),i=xe(null),[r,o]=x(null),{action:{handleSearchChange:l,handleSelectContact:c,handleRemoveContact:m},state:{search:g,selectedContacts:u}}=e,{contactList:d,hasSearched:h,isLoading:b,isLoadingTimer:C,handleQueryChanged:y,handleScroll:S,resetSearchState:j}=fd(s),w=g||"",I=!!r&&w.length>0&&!a,L=u.map(E=>E.id);K(()=>{w?y(w):j()},[w,y,j]);const D=E=>{l(E),E&&!r?o(i.current):E||o(null)},U=E=>{c(E),o(null),j()},$=()=>{o(null)};return a?t.jsx(Je,{title:n("global.linkContacts"),children:u.length>0?t.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:u.map(E=>t.jsx(yt,{icon:t.jsx(Ha,{fontSize:"small"}),label:E.name,size:"small",variant:"outlined"},E.id))}):t.jsx(Y,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(xn,{onClickAway:$,children:t.jsxs(v,{children:[t.jsxs(Je,{title:n("global.linkContacts"),children:[t.jsx(we,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:w,onChange:E=>D(E.target.value),onFocus:()=>{w&&o(i.current)},InputProps:{startAdornment:t.jsx(Ha,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:b||C?t.jsx(qe,{size:18,sx:{mr:1}}):null}}),u.length>0&&t.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:u.map(E=>t.jsx(yt,{icon:t.jsx(Ha,{fontSize:"small"}),label:E.name,size:"small",onDelete:()=>m(E.id)},E.id))})]}),t.jsx(fn,{open:I,anchorEl:r,placement:"bottom-start",style:{width:r?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(_s,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[h&&d.length>0&&t.jsx(hd,{handleScroll:E=>S(E,w),contactList:d,handleSelectContact:U,selectedContactIds:L,search:w}),h&&d.length===0&&t.jsx(v,{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:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:r,handleEndEvent:o,dialogType:l,handleCreateTask:c,handleSaveUpdatedTask:m,selectedTask:g,handleToggleTaskCompleted:u}=et(rn),d=Le(),h=l==="event",b=!1,C=!1,y=!1,S=()=>{h?n():c()},j=(()=>{if(s==="view")return i;if(s==="edit")return h?()=>r?.():()=>m?.();if(s==="create")return S})(),w=d(s==="view"?h?"global.editEvent":"global.editTask":s==="edit"?h?"global.saveEvent":"global.saveTask":h?"global.createEvent":"global.createTask"),I=h?b:y,L=e,D=!h&&s==="view",U=g?.isCompleted||!1;return D?t.jsx(Rt,{children:t.jsx(nt,{startIcon:t.jsx(er,{}),size:"small",loading:y,disabled:y,onClick:u,variant:"contained",color:U?"inherit":"primary",children:U?d("global.markAsIncomplete","Marcar como incompleta"):d("global.markAsCompleted","Marcar como completada")})}):t.jsxs(Rt,{children:[t.jsx(Ne,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:d("global.cancel")}),h&&(s==="edit"||s==="view")&&t.jsx(nt,{startIcon:t.jsx(tr,{}),size:"small",disabled:e,loading:C,onClick:o,variant:"contained",children:d("global.finalizeEvent")}),t.jsx(nt,{startIcon:t.jsx(ar,{}),size:"small",loading:I,disabled:L,onClick:j,variant:"contained",children:w})]})},$s={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(v,{sx:{display:"flex",gap:1},children:[t.jsx(Ne,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...$s},children:n.event}),t.jsx(Ne,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...$s},color:"secondary",children:n.task})]}),vd="DD/MM/YYYY",Cd="HH:mm",jd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const r=Le(),o=c=>{if(!c)return;const m=c.hour(e.hour()).minute(e.minute());a(m)},l=c=>{if(!c)return;const m=e.hour(c.hour()).minute(c.minute());a(m)};return n?t.jsxs(Ea,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:r("global.date")}),t.jsxs(v,{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:r("global.date")}),t.jsx(dn,{children:t.jsxs(An,{dateAdapter:Un,children:[t.jsx(fa,{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:Q()}),t.jsx(un,{variant:"body1",children:"_"}),t.jsx(Ya,{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(at,{in:s,children:t.jsx(Y,{color:"red",variant:"caption",children:r("conversations.sidebar.events.errorDate")})})]})},Us=({disabled:e,calendars:a,value:n,onChange:s})=>{const i=Le(),r=ae(()=>a??[],[a]),o=ae(()=>r.find(l=>l.id===n)??null,[r,n]);return e?t.jsx(Je,{title:i("global.calendar"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[o&&t.jsx(Tr,{sx:{opacity:.5,color:l=>l.palette.text.secondary},fontSize:"small"}),t.jsx(Y,{variant:"body1",children:o?.title||"-"})]})}):t.jsx(Je,{title:i("global.calendar"),children:t.jsx(za,{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:{popper:{sx:{zIndex:1400}},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 s=Le();return t.jsx(v,{sx:{display:"flex",alignItems:"center"},children:t.jsx(It,{control:t.jsx(Cn,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:s("global.allDay","Todo el d\xEDa")})})},Sd=({colorField:e,disabled:a,onColorChange:n})=>{const s=Le(),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 m=parseInt(c[1]),g=parseInt(c[2]),u=parseInt(c[3]),d=h=>{const b=h.toString(16);return b.length===1?"0"+b:b};return`#${d(m)}${d(g)}${d(u)}`}return"#1976d2"})(i),o=l=>{const c=l.target.value;n?n(c):e.actions.changeValue(c)};return a?t.jsx(Je,{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(Y,{variant:"body2",sx:{color:"text.secondary"},children:r})]})}):t.jsx(Je,{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"}})})})},Fs=[{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"}],Id=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const i=Le(),r=m=>{a(m.target.value)},o=ae(()=>Fs.map(m=>t.jsx(tt,{value:m.value,children:i(m.label,m.label)},m.value)),[i]),l=ae(()=>{const m=Fs.find(g=>g.value===e);return m?i(m.label,m.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ga,{sx:{opacity:.5},fontSize:"small"}),t.jsx(Y,{variant:"body2",children:l})]}):t.jsx(Je,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ga,{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:r,startAdornment:t.jsx(Ga,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}}},children:o});return s?c:t.jsx(Je,{title:i("global.recurrence","Recurrencia"),children:c})},Ed=({open:e,onClose:a,onConfirm:n,itemTitle:s,itemType:i})=>{const{t:r}=xt(),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(ma,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsxs(_a,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Dr,{color:"warning"}),l]}),t.jsxs(ha,{children:[t.jsx(Y,{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(Y,{variant:"body2",sx:{fontWeight:500},children:['"',s,'"']})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Ne,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:r("global.cancel","Cancelar")}),t.jsx(Ne,{onClick:o,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:r("global.delete","Eliminar")})]})]})},Td=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=xt(),[r,o]=x("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ma,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsx(_a,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(ha,{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(wn,{value:r,onChange:m=>o(m.target.value),children:[t.jsx(It,{value:"single",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(It,{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(Ne,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Ne,{onClick:l,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},Dd=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=xt(),[r,o]=x("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ma,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsx(_a,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(ha,{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(wn,{value:r,onChange:m=>o(m.target.value),children:[t.jsx(It,{value:"single",control:t.jsx(ga,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(It,{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(Ne,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Ne,{onClick:l,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},kd=()=>{const e=Le(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:r,handleStartEditingEvent:o,handleDuplicateItem:l,dialogType:c,setDialogType:m,selectedTask:g,taskCalendarId:u,setTaskCalendarId:d,eventCalendarId:h,setEventCalendarId:b,myCalendars:C,handleDeleteTask:y,userManuallyChangedColor:S,setUserManuallyChangedColor:j,eventDialog:{open:w,handleClose:I},confirmDeleteDialog:L,handleConfirmDelete:D,deleteRecurringDialog:U,handleConfirmDeleteRecurring:$,editRecurringDialog:E,handleConfirmEditRecurring:V,hiddenTabs:H}=et(rn);if(!a||!n)return t.jsx(Nt,{open:w,onClose:I,closeAfterTransition:!0,slots:{backdrop:Wa},slotProps:{backdrop:{timeout:200}},children:t.jsx(at,{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:te=>te.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const O=c==="event",J=O?a:n,F=O?i:g,se=xe(null),N=xe(null);K(()=>{w||(se.current=null,N.current=null)},[w]);const{titleField:z,descriptionField:P,date:T,linkContact:_}=J,R=O?a.notifications:null,B=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,X=e(s==="edit"?O?"global.editEvent":"global.editTask":s==="create"?O?"global.createEvent":"global.createTask":O?"global.showEvent":"global.showTask"),oe=(s==="edit"||s==="view")&&!!F?.id,ge=s==="view";K(()=>{if(s!=="create"||c!=="event"||!w||S||!h)return;const te=C.find(Z=>Z.id===h);te?.color&&a.colorField.actions.changeValue(te.color)},[s,c,w,h,S,C]),K(()=>{if(!w||c!=="event"||s!=="edit")return;const te=T.state.selectedStartDate.isAfter(T.state.selectedEndDate)&&!T.state.selectedStartDate.isSame(T.state.selectedEndDate,"minute");N.current!==te&&(N.current=te,T.action.setError(te))},[w,c,s,T.state.selectedStartDate.valueOf(),T.state.selectedEndDate.valueOf()]),K(()=>{if(!w||s==="create")return;const te=F?.relatedContact;te?.id&&se.current!==te.id&&(se.current=te.id,_.action.resetField(),_.action.handleSelectContact({id:te.id,name:te.name}))},[w,s,F?.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)}m(te)},De=te=>{a.colorField.actions.changeValue(te),j(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(Nt,{open:w,onClose:I,closeAfterTransition:!0,slots:{backdrop:Wa},slotProps:{backdrop:{timeout:200}},children:t.jsx(at,{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:te=>te.palette.background.panel,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(Y,{sx:{fontWeight:600},children:X}),t.jsxs(v,{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"})}),oe&&t.jsx(be,{size:"small",onClick:O?r:y,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(kr,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(pn,{disabled:!1,titleField:z,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:[s!=="create"&&t.jsx(pn,{disabled:s==="view",titleField:z}),t.jsx(Es,{disabled:s==="view",descriptionField:P}),t.jsx(Us,{disabled:s==="view",calendars:C,value:h,onChange:te=>b(te)}),t.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:te=>te.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(Jc,{disabled:s==="view",selectedStartDate:T.state.selectedStartDate,selectedEndDate:T.state.selectedEndDate,handleSelectStart:T.action.handleSelect(T.action.setSelectedStartDate),handleSelectEnd:T.action.handleSelect(T.action.setSelectedEndDate),isError:T.state.error,hideLabel:!0,allDay:B?.allDay??!1})})}),B&&t.jsxs(v,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(wd,{checked:B.allDay,onChange:B.setAllDay,disabled:s==="view"}),t.jsx(v,{sx:{flex:1},children:t.jsx(Id,{disabled:s==="view",value:B.recurrenceRule,onChange:B.setRecurrenceRule,hideLabel:!0})})]})]}),B&&t.jsx(t.Fragment,{children:t.jsx(Sd,{disabled:s==="view",colorField:B.colorField,onColorChange:s==="create"?De:void 0})}),R&&t.jsx(cd,{disabled:s==="view",notificationsField:R}),t.jsx(As,{linkContactsHandler:_,disabled:s==="view"}),B&&t.jsx(md,{disabled:s==="view",locationField:B.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(pn,{disabled:s==="view",titleField:z}),t.jsx(Es,{disabled:s==="view",descriptionField:P}),t.jsx(Us,{disabled:s==="view",calendars:C,value:u,onChange:te=>d(te)}),t.jsx(v,{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(v,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[t.jsx(Ar,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(v,{sx:{flex:1},children:t.jsx(jd,{disabled:s==="view",selectedDateTime:T.state.selectedStartDate,handleSelect:te=>{T.action.setSelectedStartDate(te),T.action.setSelectedEndDate(te),T.action.setError(!1)},isError:T.state.error,hideLabel:!0})})]})}),t.jsx(As,{linkContactsHandler:_,disabled:s==="view"})]})]}),t.jsx(v,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(xd,{isFinalized:i?.finalized})})]})})}),t.jsx(Ed,{open:L.open,onClose:L.handleClose,onConfirm:D,itemTitle:L.itemType==="event"?i?.title:g?.title,itemType:L.itemType}),t.jsx(Td,{open:U.open,onClose:U.handleClose,onConfirm:$,eventTitle:i?.title}),t.jsx(Dd,{open:E.open,onClose:E.handleClose,onConfirm:V,eventTitle:i?.title})]})},Ad=e=>{const a=e.palette.background;return Sn({...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:s,spaceId:i,language:r="en",mode:o="create",type:l="event",eventCalendarId:c,taskCalendarId:m,selectedEvent:g,selectedTask:u,hiddenTabs:d=!1}=e,{i18n:h}=xt();return K(()=>{r&&h.changeLanguage(r)},[r,h]),t.jsx(cc,{value:{baseUrl:s,spaceId:i},children:t.jsx(qc,{externalOpen:a,externalOnClose:n,externalMode:o,externalType:l,externalEventCalendarId:c,externalTaskCalendarId:m,externalSelectedEvent:g,externalSelectedTask:u,hiddenTabs:d,children:t.jsx(kd,{})})})},Ud=e=>{const a=jn(),n=a?.palette?a:Sn(),s=Ad(n);return t.jsx(Bs,{theme:s,children:t.jsx(Ba,{i18n:Bt,children:t.jsx($d,{...e})})})};export{zn as ContactInfoPopup,lc as EditContactModal,Ud as EventsDialog,Bt as i18n};
|
|
20
|
+
`,ld=Z(v)(()=>({display:"flex",justifyContent:"space-between",alignItems:"baseline",userSelect:"none"})),cd=({notificationsField:e,disabled:a})=>{const n=_e(),{addNotification:s,deleteNotification:i,handleReminderChange:r,handleTimeFieldChange:o,handleTimePeriodChange:l}=e.action,c=e.notifications.length>0;return t.jsxs(od,{children:[t.jsxs(ld,{children:[t.jsx(V,{variant:"subtitle2",sx:{userSelect:"none"},children:n("calendarView.reminders.title")}),!a&&t.jsx(Me,{disabled:a,startIcon:t.jsx(Fn,{}),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(m=>t.jsx(id,{data:m,deleteHandler:i,sendToContactHandler:r,timePeriodHandler:l,timeValueHandler:o},m.id)):a?t.jsx(V,{variant:"body1",sx:{py:.5},children:"-"}):null})]})},Ts=({descriptionField:e,disabled:a})=>{const n=_e(),{value:s,type:i,...r}=e.attributes,o=s||"";return a?t.jsx(qe,{title:n("global.description"),children:t.jsx(V,{variant:"body2",sx:{py:.5,whiteSpace:"pre-wrap",color:l=>l.palette.text.secondary,fontSize:"0.9rem"},children:o||"-"})}):t.jsx(qe,{title:n("global.description"),children:t.jsx(je,{...r,value:o,disabled:a,size:"small",multiline:!0,maxRows:5,fullWidth:!0,variant:"outlined"})})},dd=({onPlaceSelected:e})=>{const a=fe(null),n=fe(null),s=fe(null),i=fe(null),[r,o]=x([]),[l,c]=x(!1),m=_e();H(()=>{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 u=document.createElement("div");return s.current=new window.google.maps.places.PlacesService(u),i.current=new window.google.maps.places.AutocompleteSessionToken,!0};if(!d()){const u=setTimeout(()=>{d()},500);return()=>clearTimeout(u)}},[]);const y=d=>{const u=d.target.value;if(!u||u.length<3||!n.current){o([]),c(!1);return}n.current.getPlacePredictions({input:u,types:["geocode"],sessionToken:i.current||void 0},(b,j)=>{j===window.google.maps.places.PlacesServiceStatus.OK&&b?(o(b),c(!0)):(o([]),c(!1))})},h=(d,u)=>{s.current&&s.current.getDetails({placeId:d,fields:["geometry","formatted_address"],sessionToken:i.current||void 0},(b,j)=>{if(j===window.google.maps.places.PlacesServiceStatus.OK&&b?.geometry?.location){const g=b.geometry.location.lat(),I=b.geometry.location.lng(),C=b.formatted_address??u;e({lat:g,lng:I},C),a.current&&(a.current.value=C),c(!1),o([]),i.current=new window.google.maps.places.AutocompleteSessionToken}})};return H(()=>{const d=u=>{a.current&&!a.current.contains(u.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:m("global.searchLocation","Buscar en Google Maps"),onChange:y,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(d=>t.jsxs("div",{onClick:()=>h(d.place_id,d.description),style:{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid #f0f0f0",fontSize:"14px",transition:"background-color 0.2s"},onMouseEnter:u=>{u.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:u=>{u.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))})]})},Ds="AIzaSyAQ1bUt3y6UoAhbi5-HAwYwaFx71pAiaKU",ks=["places"],gn={apiKey:Ds,libraries:ks,loading:"async"},Ua=()=>!!(window.google?.maps?.Map&&window.google?.maps?.Marker&&window.google?.maps?.Geocoder&&window.google?.maps?.places),As=(e=Ds,a=ks)=>{if(Ua())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++,Ua()?(clearInterval(l),s()):r>=o&&(clearInterval(l),n(),As(e,a).then(s).catch(i))},100)}):new Promise((s,i)=>{try{n();const r="initGoogleMaps";window[r]=()=>{Ua()?s():setTimeout(()=>{Ua()||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)}})},Xt=(e,a,n=18,s=400,i=400,r="red",o=gn.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}`,ud=({onLocationChange:e,initialLocation:a})=>{const n=fe(null),s=fe(null),i=fe(null),r=fe(null),[o,l]=x(!0),[c,m]=x(!1),[y,h]=x(a||null),d=18,u=se(C=>{h(C),e(C)},[e]);H(()=>{let C=!0;(async()=>{try{if(await As(gn.apiKey,gn.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)}catch(S){console.error("Error al cargar Google Maps:",S),l(!1)}})(),a||navigator.geolocation.getCurrentPosition(S=>{const w=S.coords.latitude,L=S.coords.longitude,D=w.toString(),$=L.toString(),U=Xt(w,L,d);u({lat:D,lng:$,title:"",description:"",url:U})},S=>{console.error("Error getting location:",S);const w=-34.6037,L=-58.3816;u({lat:w.toString(),lng:L.toString(),title:"",description:"",url:Xt(w,L,d)})})},[a,u,d]),H(()=>{if(o||s.current)return;const C=setTimeout(()=>{s.current||b()},50);return()=>clearTimeout(C)},[o]),H(()=>{c&&y&&g()},[c,y]),H(()=>()=>{i.current&&(i.current.setMap(null),i.current=null)},[]);const b=()=>{if(!n.current){console.warn("Contenedor del mapa no disponible");return}if(!window.google?.maps){console.warn("Google Maps API no disponible a\xFAn");return}try{const C={zoom:d,disableDefaultUI:!1,zoomControl:!0,mapTypeControl:!1,streetViewControl:!1,fullscreenControl:!1};s.current=new window.google.maps.Map(n.current,C),s.current.addListener("click",S=>{j(S)}),m(!0)}catch(C){console.error("Error inicializando mapa:",C)}},j=C=>{if(!C.latLng||!r.current)return;const S={lat:C.latLng.lat(),lng:C.latLng.lng()};i.current?i.current.setPosition(S):s.current&&(i.current=new window.google.maps.Marker({position:S,map:s.current})),r.current.geocode({location:S},(w,L)=>{if(L==="OK"&&w&&w[0]){const D=w[0].formatted_address,$=Xt(S.lat,S.lng,d);u({lat:S.lat.toString(),lng:S.lng.toString(),title:D||"",description:"",url:$})}else{const D=Xt(S.lat,S.lng,d);u({lat:S.lat.toString(),lng:S.lng.toString(),title:`${S.lat.toFixed(6)}, ${S.lng.toFixed(6)}`,description:"",url:D})}})},g=()=>{if(!(!s.current||!y))try{const C={lat:parseFloat(y.lat),lng:parseFloat(y.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,S)=>{const w=Xt(C.lat,C.lng,d);u({lat:C.lat.toString(),lng:C.lng.toString(),title:S||"",description:"",url:w})};return o?t.jsx(v,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:t.jsx(Qe,{})}):t.jsxs(v,{sx:{position:"relative",height:"calc(100vh - 305px)"},children:[t.jsx(dd,{onPlaceSelected:I}),t.jsx("div",{style:{height:"100%"},ref:n})]})},pd=({open:e,onClose:a,onSelectLocation:n,initialAddress:s})=>{const i=_e(),[r,o]=x(null),l=fe(null);H(()=>{e||o(null)},[e]),H(()=>{l.current&&r&&(l.current.scrollTop=l.current.scrollHeight/4)},[r]);const c=se(y=>{o(y)},[]),m=se(()=>{r&&(n(r.title||`${r.lat}, ${r.lng}`,r.lat,r.lng),a())},[r,n,a]);return t.jsxs(ya,{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(v,{sx:{position:"relative",display:"flex",alignItems:"center",p:2},children:[t.jsx(V,{variant:"body1",sx:{flex:1},children:i("global.selectLocation","Seleccionar ubicaci\xF3n")}),t.jsx(xe,{"aria-label":"close",onClick:a,size:"small",children:t.jsx(kn,{fontSize:"small"})})]}),t.jsx(fa,{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(ud,{onLocationChange:c,initialLocation:void 0})}),t.jsx(Cn,{sx:{width:"100%",padding:0}}),t.jsxs(v,{sx:{width:"100%",display:"flex",justifyContent:"flex-end",gap:".5rem",p:2},children:[t.jsx(Me,{variant:"outlined",color:"error",size:"small",sx:{borderRadius:"0.5rem"},onClick:a,children:i("global.cancel","Cancelar")}),t.jsx(Me,{variant:"outlined",color:"secondary",size:"small",sx:{borderRadius:"0.5rem"},onClick:m,disabled:!r,children:i("global.selectLocation","Seleccionar ubicaci\xF3n")})]})]})})]})},md=({locationField:e,disabled:a})=>{const n=_e(),[s,i]=x(!1),{value:r,type:o,...l}=e.attributes,c=r||"",m=()=>{a||i(!0)},y=()=>{i(!1)},h=d=>{e.actions.changeValue(d)};return a?t.jsx(v,{children:t.jsx(qe,{title:n("global.location","Ubicaci\xF3n"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[c&&t.jsx(Nn,{sx:{opacity:.5},fontSize:"small"}),t.jsx(V,{variant:"body1",sx:{color:d=>d.palette.text.secondary,fontSize:"0.9rem"},children:c||"-"})]})})}):t.jsxs(v,{children:[t.jsx(qe,{title:n("global.location","Ubicaci\xF3n"),children:t.jsx(je,{...l,value:c,disabled:a,size:"small",fullWidth:!0,variant:"outlined",placeholder:n("global.addLocation","Agregar ubicaci\xF3n"),onClick:m,InputProps:{startAdornment:t.jsx(Nn,{sx:{mr:1,opacity:.5},fontSize:"small"}),readOnly:!0},sx:{cursor:a?"default":"pointer","& .MuiInputBase-input":{cursor:a?"default":"pointer"}}})}),t.jsx(pd,{open:s,onClose:y,onSelectLocation:h,initialAddress:c})]})},hd=({handleScroll:e,contactList:a,handleSelectContact:n,selectedContactIds:s,search:i})=>{const r=_e(),o=Sn();return t.jsx(Ws,{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(_s,{sx:{width:"100%"},onClick:()=>n(l),selected:s.includes(l.id),children:[t.jsx(ha,{children:t.jsx(tr,{sx:{color:c=>c.palette.text.disabled}})}),t.jsx(ga,{primary:r(l.name),secondary:l?.phone})]},l.id))})};async function gd({baseUrl:e,spaceId:a,pagination:n,signal:s}){const i=cn(e,a),r=Oe(i.CONTACTS,"/Search");return Be({url:r,method:"POST",body:n,signal:s})}const yd={format:"IContact",total:0,lastPage:1,perPage:10,order:"ASC",orderColumn:"Id"};function fd(e){const a=fe(null),n=fe(null),[s,i]=x([]),[r,o]=x(!1),[l,c]=x(!1),[m,y]=x(!1),[h,d]=x(!1),[u,b]=x(1),[j,g]=x(!1),I=se(()=>{n.current?.abort(),n.current=null,a.current&&(clearTimeout(a.current),a.current=null),o(!1),g(!1),b(1),d(!1),i([])},[]),C=D=>D.filter($=>!!$?.id),S=se(async({query:D,page:$})=>{if(!e)return;n.current?.abort();const U=new AbortController;n.current=U,c(!0);try{const E={...yd,currentPage:$,filter:[{value:D,column:"name",condition:""}]},Y=await gd({baseUrl:e.baseUrl,spaceId:e.spaceId,pagination:E,signal:U.signal});if(U.signal.aborted)return;const _=C(Y?.contactos??[]);o(!0);const B=Y?.paginacion?.total??0;i(K=>{const N=$===1?_:(()=>{const ae=new Map;for(const Q of K)ae.set(Q.id,Q);for(const Q of _)ae.set(Q.id,Q);return Array.from(ae.values())})();return B&&N.length>=B&&g(!0),N})}finally{c(!1),y(!1),d(!1)}},[e]),w=se(D=>{I(),D&&(a.current&&(clearTimeout(a.current),a.current=null),y(!0),a.current=setTimeout(()=>{S({query:D,page:1})},800))},[S,I]),L=se((D,$)=>{const U=D.target;if(!(U.scrollHeight-U.scrollTop-U.clientHeight<1)||j||l||!$)return;const E=u+1;d(!0),b(E),S({query:$,page:E})},[j,l,u,S]);return{contactList:s,hasSearched:r,isLoading:l,isLoadingTimer:m,isNextPage:h,handleQueryChanged:w,handleScroll:L,resetSearchState:I}}const $s=({linkContactsHandler:e,disabled:a=!1})=>{const n=_e(),s=xs(),i=fe(null),[r,o]=x(null),{action:{handleSearchChange:l,handleSelectContact:c,handleRemoveContact:m},state:{search:y,selectedContacts:h}}=e,{contactList:d,hasSearched:u,isLoading:b,isLoadingTimer:j,handleQueryChanged:g,handleScroll:I,resetSearchState:C}=fd(s),S=y||"",w=!!r&&S.length>0&&!a,L=h.map(E=>E.id);H(()=>{S?g(S):C()},[S,g,C]);const D=E=>{l(E),E&&!r?o(i.current):E||o(null)},$=E=>{c(E),o(null),C()},U=()=>{o(null)};return a?t.jsx(qe,{title:n("global.linkContacts"),children:h.length>0?t.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,pt:.5},children:h.map(E=>t.jsx(Ct,{icon:t.jsx(qa,{fontSize:"small"}),label:E.name,size:"small",variant:"outlined"},E.id))}):t.jsx(V,{variant:"body1",sx:{py:.5},children:"-"})}):t.jsx(vn,{onClickAway:U,children:t.jsxs(v,{children:[t.jsxs(qe,{title:n("global.linkContacts"),children:[t.jsx(je,{ref:i,fullWidth:!0,size:"small",placeholder:n("global.searchContacts"),value:S,onChange:E=>D(E.target.value),onFocus:()=>{S&&o(i.current)},InputProps:{startAdornment:t.jsx(qa,{sx:{mr:1,opacity:.5},fontSize:"small"}),endAdornment:b||j?t.jsx(Qe,{size:18,sx:{mr:1}}):null}}),h.length>0&&t.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,mt:1},children:h.map(E=>t.jsx(Ct,{icon:t.jsx(qa,{fontSize:"small"}),label:E.name,size:"small",onDelete:()=>m(E.id)},E.id))})]}),t.jsx(bn,{open:w,anchorEl:r,placement:"bottom-start",style:{width:r?.offsetWidth||"auto",zIndex:1300},children:t.jsxs(Bs,{elevation:8,sx:{mt:.5,maxHeight:300,overflow:"hidden"},children:[u&&d.length>0&&t.jsx(hd,{handleScroll:E=>I(E,S),contactList:d,handleSelectContact:$,selectedContactIds:L,search:S}),u&&d.length===0&&t.jsx(v,{sx:{p:2,textAlign:"center",color:"text.secondary"},children:t.jsx(V,{variant:"body2",children:n("global.noResults","No se encontraron resultados")})})]})})]})})},xd=({isFinalized:e})=>{const{eventDialog:{handleClose:a},handleCreateEvent:n,dialogMode:s,handleStartEditingEvent:i,handleSaveUpdatedEvent:r,handleEndEvent:o,dialogType:l,handleCreateTask:c,handleSaveUpdatedTask:m,selectedTask:y,handleToggleTaskCompleted:h}=rt(ln),d=_e(),u=l==="event",b=!1,j=!1,g=!1,I=()=>{u?n():c()},C=(()=>{if(s==="view")return i;if(s==="edit")return u?()=>r?.():()=>m?.();if(s==="create")return I})(),S=d(s==="view"?u?"global.editEvent":"global.editTask":s==="edit"?u?"global.saveEvent":"global.saveTask":u?"global.createEvent":"global.createTask"),w=u?b:g,L=e,D=!u&&s==="view",$=y?.isCompleted||!1;return D?t.jsx(Rt,{children:t.jsx(lt,{startIcon:t.jsx(ar,{}),size:"small",loading:g,disabled:g,onClick:h,variant:"contained",color:$?"inherit":"primary",children:$?d("global.markAsIncomplete","Marcar como incompleta"):d("global.markAsCompleted","Marcar como completada")})}):t.jsxs(Rt,{children:[t.jsx(Me,{variant:"outlined",size:"small",onClick:a,color:"secondary",children:d("global.cancel")}),u&&(s==="edit"||s==="view")&&t.jsx(lt,{startIcon:t.jsx(nr,{}),size:"small",disabled:e,loading:j,onClick:o,variant:"contained",children:d("global.finalizeEvent")}),t.jsx(lt,{startIcon:t.jsx(sr,{}),size:"small",loading:w,disabled:L,onClick:C,variant:"contained",children:S})]})},Us={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(v,{sx:{display:"flex",gap:1},children:[t.jsx(Me,{size:"small",onClick:()=>a("event"),variant:e==="event"?"contained":"text",disableElevation:!0,color:"secondary",sx:{...Us},children:n.event}),t.jsx(Me,{size:"small",onClick:()=>a("task"),variant:e==="task"?"contained":"text",disableElevation:!0,sx:{...Us},color:"secondary",children:n.task})]}),vd="DD/MM/YYYY",Cd="HH:mm",jd=({selectedDateTime:e,handleSelect:a,disabled:n,isError:s=!1,hideLabel:i=!1})=>{const r=_e(),o=c=>{if(!c)return;const m=c.hour(e.hour()).minute(e.minute());a(m)},l=c=>{if(!c)return;const m=e.hour(c.hour()).minute(c.minute());a(m)};return n?t.jsxs(Aa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:r("global.date")}),t.jsxs(v,{children:[t.jsx(V,{variant:"body1",sx:{mb:1},children:e.format(vd)}),t.jsx(V,{variant:"body1",children:e.format(Cd)})]})]}):t.jsxs(Aa,{children:[!i&&t.jsx("span",{style:{userSelect:"none",marginBottom:10},children:r("global.date")}),t.jsx(pn,{children:t.jsxs(Un,{dateAdapter:Pn,children:[t.jsx(va,{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:X()}),t.jsx(mn,{variant:"body1",children:"_"}),t.jsx(Ka,{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(ot,{in:s,children:t.jsx(V,{color:"red",variant:"caption",children:r("conversations.sidebar.events.errorDate")})})]})},Fs=({disabled:e,calendars:a,userId:n,value:s,onChange:i})=>{const r=_e(),o=te(()=>a??[],[a]),l=te(()=>o.find(c=>c.id===s)??null,[o,s]);return e?t.jsx(qe,{title:r("global.calendar"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[l&&t.jsx(kr,{sx:{opacity:.5,color:c=>c.palette.text.secondary},fontSize:"small"}),t.jsx(V,{variant:"subtitle2",sx:{color:c=>c.palette.text.secondary,fontSize:"0.9rem"},children:l?.title||"-"})]})}):t.jsx(qe,{title:r("global.calendar"),children:t.jsx(_a,{disabled:e,size:"small",fullWidth:!0,options:o,value:l,onChange:(c,m)=>i(m?.id??""),getOptionLabel:c=>c?.title??"",isOptionEqualToValue:(c,m)=>c.id===m.id,groupBy:n?c=>c.userId===n?r("calendarView.myCalendars"):r("calendarView.othersCalendars"):void 0,renderGroup:c=>t.jsxs("li",{children:[t.jsx(Vs,{component:"div",sx:{lineHeight:"32px",fontSize:"0.75rem",fontWeight:600,color:"text.secondary",backgroundColor:m=>m.palette.background.panel},children:c.group}),t.jsx("ul",{style:{padding:0},children:c.children})]},c.key),slotProps:{popper:{sx:{zIndex:1400}},paper:{sx:{backgroundColor:c=>c.palette.background.panel}}},renderInput:c=>t.jsx(je,{...c,placeholder:r("global.selectCalendar")})})})},wd=({checked:e,onChange:a,disabled:n})=>{const s=_e();return t.jsx(v,{sx:{display:"flex",alignItems:"center"},children:t.jsx(Dt,{control:t.jsx(wn,{checked:e,onChange:i=>a(i.target.checked),disabled:n,color:"secondary"}),label:s("global.allDay","Todo el d\xEDa")})})},Sd=({colorField:e,disabled:a,onColorChange:n})=>{const s=_e(),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 m=parseInt(c[1]),y=parseInt(c[2]),h=parseInt(c[3]),d=u=>{const b=u.toString(16);return b.length===1?"0"+b:b};return`#${d(m)}${d(y)}${d(h)}`}return"#1976d2"})(i),o=l=>{const c=l.target.value;n?n(c):e.actions.changeValue(c)};return a?t.jsx(qe,{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(V,{variant:"body2",sx:{color:"text.secondary"},children:r})]})}):t.jsx(qe,{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"}})})})},Ps=[{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"}],Id=({value:e,onChange:a,disabled:n,hideLabel:s=!1})=>{const i=_e(),r=m=>{a(m.target.value)},o=te(()=>Ps.map(m=>t.jsx(it,{value:m.value,children:i(m.label,m.label)},m.value)),[i]),l=te(()=>{const m=Ps.find(y=>y.value===e);return m?i(m.label,m.label):i("global.noRepeat")},[e,i]);if(n)return s?t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ja,{sx:{opacity:.5},fontSize:"small"}),t.jsx(V,{variant:"body2",children:l})]}):t.jsx(qe,{title:i("global.recurrence","Recurrencia"),children:t.jsxs(v,{sx:{display:"flex",alignItems:"center",gap:1,py:.5},children:[t.jsx(Ja,{sx:{opacity:.5},fontSize:"small"}),t.jsx(V,{variant:"body1",children:l})]})});const c=t.jsx(ma,{disabled:n,size:"small",variant:"outlined",fullWidth:!0,value:e||"",onChange:r,startAdornment:t.jsx(Ja,{sx:{mr:1,ml:1,opacity:.5},fontSize:"small"}),MenuProps:{PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}}},children:o});return s?c:t.jsx(qe,{title:i("global.recurrence","Recurrencia"),children:c})},Ed=({open:e,onClose:a,onConfirm:n,itemTitle:s,itemType:i})=>{const{t:r}=wt(),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(ya,{open:e,onClose:a,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsxs(Ya,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(Ar,{color:"warning"}),l]}),t.jsxs(fa,{children:[t.jsx(V,{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(V,{variant:"body2",sx:{fontWeight:500},children:['"',s,'"']})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Me,{onClick:a,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:r("global.cancel","Cancelar")}),t.jsx(Me,{onClick:o,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:r("global.delete","Eliminar")})]})]})},Td=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=wt(),[r,o]=x("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ya,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsx(Ya,{children:i("calendar.deleteRecurringEvent","Borrar evento recurrente")}),t.jsxs(fa,{children:[s&&t.jsxs(v,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(Ba,{component:"fieldset",fullWidth:!0,children:t.jsxs(In,{value:r,onChange:m=>o(m.target.value),children:[t.jsx(Dt,{value:"single",control:t.jsx(xa,{color:"secondary"}),label:i("calendar.deleteThisEvent","Este evento"),sx:{mb:1}}),t.jsx(Dt,{value:"all",control:t.jsx(xa,{color:"secondary"}),label:i("calendar.deleteAllEvents","Todos los eventos")})]})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Me,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Me,{onClick:l,variant:"contained",color:"error",sx:{borderRadius:"8px"},children:i("global.delete","Eliminar")})]})]})},Dd=({open:e,onClose:a,onConfirm:n,eventTitle:s})=>{const{t:i}=wt(),[r,o]=x("single"),l=()=>{n(r==="all"),a()},c=()=>{o("single"),a()};return t.jsxs(ya,{open:e,onClose:c,maxWidth:"xs",fullWidth:!0,PaperProps:{sx:{backgroundColor:m=>m.palette.background.panel}},children:[t.jsx(Ya,{children:i("calendar.editRecurringEvent","Editar evento recurrente")}),t.jsxs(fa,{children:[s&&t.jsxs(v,{sx:{mb:2,color:"text.secondary",fontSize:"0.875rem"},children:['"',s,'"']}),t.jsx(Ba,{component:"fieldset",fullWidth:!0,children:t.jsxs(In,{value:r,onChange:m=>o(m.target.value),children:[t.jsx(Dt,{value:"single",control:t.jsx(xa,{color:"secondary"}),label:i("calendar.editThisEvent","Este evento"),sx:{mb:1}}),t.jsx(Dt,{value:"all",control:t.jsx(xa,{color:"secondary"}),label:i("calendar.editAllEvents","Todos los eventos")})]})})]}),t.jsxs(Rt,{sx:{px:3,pb:2},children:[t.jsx(Me,{onClick:c,variant:"outlined",color:"inherit",sx:{borderRadius:"8px"},children:i("global.cancel","Cancelar")}),t.jsx(Me,{onClick:l,variant:"contained",color:"secondary",sx:{borderRadius:"8px"},children:i("global.save","Guardar")})]})]})},kd=()=>{const e=_e(),{event:a,task:n,dialogMode:s,selectedEvent:i,handleDeleteEvent:r,handleStartEditingEvent:o,handleDuplicateItem:l,dialogType:c,setDialogType:m,selectedTask:y,taskCalendarId:h,setTaskCalendarId:d,eventCalendarId:u,setEventCalendarId:b,myCalendars:j,otherCalendars:g,handleDeleteTask:I,userManuallyChangedColor:C,setUserManuallyChangedColor:S,eventDialog:{open:w,handleClose:L},confirmDeleteDialog:D,handleConfirmDelete:$,deleteRecurringDialog:U,handleConfirmDeleteRecurring:E,editRecurringDialog:Y,handleConfirmEditRecurring:_,hiddenTabs:B}=rt(ln);if(!a||!n)return t.jsx(Nt,{open:w,onClose:L,closeAfterTransition:!0,slots:{backdrop:Va},slotProps:{backdrop:{timeout:200}},children:t.jsx(ot,{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:z=>z.palette.background.panel,borderRadius:3,boxShadow:24,outline:0,p:3,overflow:"visible"}})})});const K=c==="event",N=K?a:n,ae=K?i:y,Q=fe(null),T=fe(null);H(()=>{w||(Q.current=null,T.current=null)},[w]);const{titleField:R,descriptionField:F,date:M,linkContact:O}=N,q=K?a.notifications:null,G=K?{locationField:a.locationField,colorField:a.colorField,allDay:a.allDay,setAllDay:a.setAllDay,isPrivate:a.isPrivate,setIsPrivate:a.setIsPrivate,recurrenceRule:a.recurrenceRule,setRecurrenceRule:a.setRecurrenceRule}:null,ie=e(s==="edit"?K?"global.editEvent":"global.editTask":s==="create"?K?"global.createEvent":"global.createTask":K?"global.showEvent":"global.showTask"),me=(s==="edit"||s==="view")&&!!ae?.id,ve=s==="view";H(()=>{if(s!=="create"||c!=="event"||!w||C||!u)return;const z=j.find(Te=>Te.id===u);z?.color&&a.colorField.actions.changeValue(z.color)},[s,c,w,u,C,j]),H(()=>{if(!w||c!=="event"||s!=="edit")return;const z=M.state.selectedStartDate.isAfter(M.state.selectedEndDate)&&!M.state.selectedStartDate.isSame(M.state.selectedEndDate,"minute");T.current!==z&&(T.current=z,M.action.setError(z))},[w,c,s,M.state.selectedStartDate.valueOf(),M.state.selectedEndDate.valueOf()]),H(()=>{if(!w||s==="create")return;const z=ae?.relatedContact;z?.id&&Q.current!==z.id&&(Q.current=z.id,O.action.resetField(),O.action.handleSelectContact({id:z.id,name:z.name}))},[w,s,ae?.id]);const Ie=z=>{if(z==="task"){const Te=a.date.state.selectedStartDate;n.date.action.setSelectedStartDate(Te),n.date.action.setSelectedEndDate(Te),n.date.action.setError(!1),a.date.action.setError(!1)}else{const Te=n.date.state.selectedStartDate;a.date.action.setSelectedStartDate(Te),a.date.action.setError(!1),n.date.action.setError(!1)}m(z)},ke=z=>{a.colorField.actions.changeValue(z),S(!0)};return t.jsxs(t.Fragment,{children:[t.jsx(Nt,{open:w,onClose:L,closeAfterTransition:!0,slots:{backdrop:Va},slotProps:{backdrop:{timeout:200}},children:t.jsx(ot,{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:z=>z.palette.background.panel,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(V,{sx:{fontWeight:600},children:ie}),t.jsxs(v,{sx:{display:"flex",gap:1},children:[ve&&t.jsx(xe,{size:"small",onClick:o,"aria-label":e("global.edit","Editar"),children:t.jsx(Mt,{fontSize:"small"})}),me&&t.jsx(xe,{size:"small",onClick:K?r:I,color:"error","aria-label":e("global.delete","Eliminar"),children:t.jsx(ba,{fontSize:"small"})}),ve&&t.jsx(xe,{size:"small",onClick:l,"aria-label":e("global.duplicate","Duplicar"),children:t.jsx($r,{fontSize:"small"})})]})]}),s==="create"&&t.jsxs(t.Fragment,{children:[t.jsx(hn,{disabled:!1,titleField:R,variantMode:"inline"}),!B&&t.jsx(bd,{value:c,onChange:Ie,labels:{event:e("global.event","Evento"),task:e("global.task","Tarea")}})]}),c==="event"?t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(hn,{disabled:s==="view",titleField:R}),t.jsx(Ts,{disabled:s==="view",descriptionField:F}),t.jsx(Fs,{disabled:s==="view",calendars:[...j,...g],userId:j[0]?.userId,value:u,onChange:z=>b(z)}),t.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:1.5,borderRadius:1,padding:"15px",bgcolor:z=>z.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(Xc,{disabled:s==="view",selectedStartDate:M.state.selectedStartDate,selectedEndDate:M.state.selectedEndDate,handleSelectStart:M.action.handleSelect(M.action.setSelectedStartDate),handleSelectEnd:M.action.handleSelect(M.action.setSelectedEndDate),isError:M.state.error,hideLabel:!0,allDay:G?.allDay??!1})})}),G&&t.jsxs(v,{sx:{display:"flex",gap:2,alignItems:"center"},children:[t.jsx(wd,{checked:G.allDay,onChange:G.setAllDay,disabled:s==="view"}),t.jsx(v,{sx:{flex:1},children:t.jsx(Id,{disabled:s==="view",value:G.recurrenceRule,onChange:G.setRecurrenceRule,hideLabel:!0})})]})]}),G&&t.jsx(t.Fragment,{children:t.jsx(Sd,{disabled:s==="view",colorField:G.colorField,onColorChange:s==="create"?ke:void 0})}),q&&t.jsx(cd,{disabled:s==="view",notificationsField:q}),t.jsx($s,{linkContactsHandler:O,disabled:s==="view"}),G&&t.jsx(md,{disabled:s==="view",locationField:G.locationField})]}):t.jsxs(t.Fragment,{children:[s!=="create"&&t.jsx(hn,{disabled:s==="view",titleField:R}),t.jsx(Ts,{disabled:s==="view",descriptionField:F}),t.jsx(Fs,{disabled:s==="view",calendars:[...j,...g],userId:j[0]?.userId,value:h,onChange:z=>d(z)}),t.jsx(v,{sx:{display:"flex",flexDirection:"column",gap:1.5,p:2,borderRadius:1,bgcolor:z=>z.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(Ur,{sx:{mt:.5,color:"text.secondary",fontSize:"1.25rem"}}),t.jsx(v,{sx:{flex:1},children:t.jsx(jd,{disabled:s==="view",selectedDateTime:M.state.selectedStartDate,handleSelect:z=>{M.action.setSelectedStartDate(z),M.action.setSelectedEndDate(z),M.action.setError(!1)},isError:M.state.error,hideLabel:!0})})]})}),t.jsx($s,{linkContactsHandler:O,disabled:s==="view"})]})]}),t.jsx(v,{sx:{borderTop:1,borderColor:"divider",p:2},children:t.jsx(xd,{isFinalized:i?.finalized})})]})})}),t.jsx(Ed,{open:D.open,onClose:D.handleClose,onConfirm:$,itemTitle:D.itemType==="event"?i?.title:y?.title,itemType:D.itemType}),t.jsx(Td,{open:U.open,onClose:U.handleClose,onConfirm:E,eventTitle:i?.title}),t.jsx(Dd,{open:Y.open,onClose:Y.handleClose,onConfirm:_,eventTitle:i?.title})]})},Ad=e=>{const a=e.palette.background;return En({...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:s,spaceId:i,language:r="en",mode:o="create",type:l="event",eventCalendarId:c,taskCalendarId:m,selectedEvent:y,selectedTask:h,hiddenTabs:d=!1,onActionComplete:u}=e,{i18n:b}=wt();return H(()=>{r&&b.changeLanguage(r)},[r,b]),t.jsx(uc,{value:{baseUrl:s,spaceId:i},children:t.jsx(Qc,{externalOpen:a,externalOnClose:n,externalMode:o,externalType:l,externalEventCalendarId:c,externalTaskCalendarId:m,externalSelectedEvent:y,externalSelectedTask:h,hiddenTabs:d,externalOnActionComplete:u,children:t.jsx(kd,{})})})},Ud=e=>{const a=Sn(),n=a?.palette?a:En(),s=Ad(n);return t.jsx(Ys,{theme:s,children:t.jsx(Ha,{i18n:Bt,children:t.jsx($d,{...e})})})};export{Wn as ContactInfoPopup,dc as EditContactModal,Ud as EventsDialog,Bt as i18n};
|
|
21
21
|
//# sourceMappingURL=index.js.map
|