call-control-sdk 5.4.7 β 6.0.3
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/index.d.mts +765 -21
- package/dist/index.d.ts +765 -21
- package/dist/index.js +84 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +84 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,85 @@
|
|
|
1
|
-
var vs=Object.defineProperty,Ss=Object.defineProperties;var Ts=Object.getOwnPropertyDescriptors;var Qo=Object.getOwnPropertySymbols;var Es=Object.prototype.hasOwnProperty,Ds=Object.prototype.propertyIsEnumerable;var it=(t,o,e)=>o in t?vs(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,l=(t,o)=>{for(var e in o||(o={}))Es.call(o,e)&&it(t,e,o[e]);if(Qo)for(var e of Qo(o))Ds.call(o,e)&&it(t,e,o[e]);return t},Q=(t,o)=>Ss(t,Ts(o));var se=(t,o,e)=>it(t,typeof o!="symbol"?o+"":o,e);var lt=class{constructor(){se(this,"state");se(this,"listeners",[]);se(this,"STORAGE_KEY","call-control-sdk-state");this.state=this.getInitialState(),this.loadFromStorage()}getInitialState(){return{process:null,agentId:"",openConferenceDialog:!1,openCallTransferDialog:!1,isInitialized:!1,sdkConfig:{disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},isHolding:!1,isMuted:!1,status:"idle",callStartTime:null,controlPanelPosition:{x:10,y:10},iframePosition:{x:10,y:80},callData:{agent_id:"",status:"",type:"",event_time:"",phone_number:""},conferenceLine:[{line:1,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:2,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:3,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:4,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:5,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1}]}}loadFromStorage(){try{let o=localStorage.getItem(this.STORAGE_KEY);if(o){let e=JSON.parse(o);this.state=Q(l({},this.state),{agentId:e.agentId||"",process:e.process||null,openConferenceDialog:(e==null?void 0:e.openConferenceDialog)||!1,openCallTransferDialog:(e==null?void 0:e.openCallTransferDialog)||!1,isInitialized:e.isInitialized||!1,sdkConfig:e.sdkConfig||{disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},isHolding:e.isHolding||!1,isMuted:e.isMuted||!1,status:e.status||"idle",callStartTime:e.callStartTime||null,controlPanelPosition:e.controlPanelPosition||{x:10,y:10},iframePosition:e.iframePosition||{x:10,y:80},callData:e.callData||{mobileNumber:"",callReferenceId:"",agent_id:"",status:"",type:"",event_time:"",phone_number:""},conferenceLine:e.conferenceLine&&Array.isArray(e.conferenceLine)&&e.conferenceLine.length>0?e.conferenceLine:this.state.conferenceLine})}}catch(o){console.warn("Failed to load SDK state from localStorage:",o)}}saveToStorage(){try{let o={agentId:this.state.agentId,process:this.state.process,isInitialized:this.state.isInitialized,openConferenceDialog:this.state.openConferenceDialog,openCallTransferDialog:this.state.openCallTransferDialog,sdkConfig:this.state.sdkConfig,isHolding:this.state.isHolding,isMuted:this.state.isMuted,status:this.state.status,callStartTime:this.state.callStartTime,controlPanelPosition:this.state.controlPanelPosition,iframePosition:this.state.iframePosition,callData:this.state.callData,conferenceLine:this.state.conferenceLine};localStorage.setItem(this.STORAGE_KEY,JSON.stringify(o))}catch(o){console.warn("Failed to save SDK state to localStorage:",o)}}notifyListeners(){this.listeners.forEach(o=>o())}initialize(o,e,n){if(!o||typeof o!="string"||o.trim().length===0)throw new Error("API key not available");this.state.agentId=e,this.state.openConferenceDialog=!1,this.state.openCallTransferDialog=!1,this.state.sdkConfig=l({disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},n),this.state.isInitialized=!0,this.saveToStorage(),this.notifyListeners()}getState(){return l({},this.state)}subscribe(o){return this.listeners.push(o),()=>{let e=this.listeners.indexOf(o);e>-1&&this.listeners.splice(e,1)}}setHolding(o){this.state.isHolding=o,this.saveToStorage(),this.notifyListeners()}setMuted(o){this.state.isMuted=o,this.saveToStorage(),this.notifyListeners()}setStatus(o){this.state.status=o,this.saveToStorage(),this.notifyListeners()}setProcess(o){this.state.process=o,this.saveToStorage(),this.notifyListeners()}setControlPanelPosition(o){this.state.controlPanelPosition=o,this.saveToStorage(),this.notifyListeners()}setIframePosition(o){this.state.iframePosition=o,this.saveToStorage(),this.notifyListeners()}startCall(){this.state.callStartTime=Date.now(),this.state.status="on call",this.saveToStorage(),this.notifyListeners()}endCall(){this.state.callStartTime=null,this.state.status="idle",this.state.isHolding=!1,this.state.isMuted=!1,this.saveToStorage(),this.notifyListeners()}setInitCheck(){this.state.isInitialized=!1,this.saveToStorage(),this.notifyListeners()}setOpenConferenceDialog(o){this.state.openConferenceDialog=o,this.saveToStorage(),this.notifyListeners()}setOpenCallTransferDialog(o){this.state.openCallTransferDialog=o,this.saveToStorage(),this.notifyListeners()}updateCallData(o){this.state.callData=l(l({},this.state.callData),o),this.saveToStorage(),this.notifyListeners()}setConferenceLine(o){var n;(!this.state.conferenceLine||!Array.isArray(this.state.conferenceLine))&&(console.warn("Conference line data corrupted, resetting to initial state"),this.state.conferenceLine=this.getInitialState().conferenceLine);let e=(n=this.state.conferenceLine)==null?void 0:n.map(c=>c.line===o.line?o:c);this.state.conferenceLine=e,this.saveToStorage(),this.notifyListeners()}resetConferenceLines(){this.state.conferenceLine=this.getInitialState().conferenceLine,this.saveToStorage(),this.notifyListeners()}clearStorageAndReset(){try{localStorage.removeItem(this.STORAGE_KEY),this.state=this.getInitialState(),this.notifyListeners()}catch(o){console.warn("Failed to clear localStorage:",o)}}debugStorage(){try{let o=localStorage.getItem(this.STORAGE_KEY);console.log("Current localStorage data:",o),o&&console.log("Parsed localStorage data:",JSON.parse(o)),console.log("Current state:",this.state)}catch(o){console.error("Error debugging storage:",o)}}getConferenceLines(){return this.state.conferenceLine||[]}},h=new lt;var rt=class{constructor(){se(this,"config",null);se(this,"ticketId",null);se(this,"baseUrl","");se(this,"eventQueue",[]);se(this,"isOnline",!0);se(this,"retryQueue",[]);se(this,"flushTimer",null)}async init(o){this.config=l({autoTrack:!0,retryAttempts:3,queueSize:100,flushInterval:5e3},o),this.baseUrl=o.baseUrl||(typeof window!="undefined"?window.location.origin:""),this.setupNetworkDetection();let e=await this.createTicket();return this.startPeriodicFlush(),console.log("EventTracker SDK initialized successfully"),e}isInitialized(){return this.config!==null&&this.ticketId!==null}getConfig(){return this.config}getTicketId(){return this.ticketId}async createTicket(){if(!this.config)throw new Error("EventTracker not initialized");try{let o=await this.makeRequest("/api/v1/et/init",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({agentId:this.config.agentId,sessionId:this.config.sessionId})});if(!o.ok)throw h.setInitCheck(),new Error(`Failed to initialize: ${o.status} ${o.statusText}`);let e=await o.json();return this.ticketId=e.ticketId,this.config.autoTrack&&this.setupAutoTracking(),this.ticketId}catch(o){throw console.error("EventTracker initialization failed:",o),o}}async logEvent(o,e){if(!this.config||!this.ticketId){console.warn("EventTracker not initialized, skipping event:",o);return}let n={eventType:o,eventData:e,timestamp:Date.now()};if(this.eventQueue.push(n),this.eventQueue.length>(this.config.queueSize||100)&&this.eventQueue.shift(),this.isOnline)try{await this.sendEvent(n)}catch(c){console.warn("Failed to send event, will retry later:",c)}}async sendEvent(o){if(!(!this.config||!this.ticketId))try{let e=await this.makeRequest("/api/v1/et/event",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({ticketId:this.ticketId,eventType:o.eventType,eventData:o.eventData})});if(!e.ok)throw new Error(`Failed to log event: ${e.status} ${e.statusText}`);let n=this.eventQueue.findIndex(c=>c.timestamp===o.timestamp);n>-1&&this.eventQueue.splice(n,1)}catch(e){console.error("Event logging failed:",e),this.retryQueue.push(()=>this.sendEvent(o))}}async closeTicket(){if(!this.config||!this.ticketId)throw new Error("EventTracker not initialized");await this.flush();try{let o=await this.makeRequest("/api/v1/et/close",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({ticketId:this.ticketId})});if(!o.ok)throw new Error(`Failed to close ticket: ${o.status} ${o.statusText}`);this.ticketId=null,this.stopPeriodicFlush(),console.log("Ticket closed successfully")}catch(o){throw console.error("Ticket close failed:",o),o}}async flush(){if(!this.isOnline||this.eventQueue.length===0)return;let o=[...this.eventQueue];for(let n of o)await this.sendEvent(n);let e=[...this.retryQueue];this.retryQueue=[];for(let n of e)try{await n()}catch(c){console.error("Retry failed:",c)}}async makeRequest(o,e){var r;let n=`${this.baseUrl}${o}`,c=((r=this.config)==null?void 0:r.retryAttempts)||3;for(let d=1;d<=c;d++)try{return await fetch(n,e)}catch(f){if(d===c)throw f;let b=Math.min(1e3*Math.pow(2,d-1),1e4);await new Promise(u=>setTimeout(u,b))}throw new Error("Max retries exceeded")}setupAutoTracking(){var n;if(typeof window=="undefined"||!((n=this.config)!=null&&n.autoTrack))return;let o=this.config.autoTrack===!0?{}:this.config.autoTrack;if(o.pageVisits!==!1&&this.logEvent("pageVisit",{url:window.location.href,title:document.title,referrer:document.referrer,userAgent:navigator.userAgent,viewport:{width:window.innerWidth,height:window.innerHeight},timestamp:new Date().toISOString()}).catch(c=>console.warn("Failed to track page visit:",c)),o.clicks!==!1&&document.addEventListener("click",c=>{var d;let r=c.target;(r.tagName==="BUTTON"||r.tagName==="A"||r.onclick||r.getAttribute("role")==="button"||r instanceof HTMLButtonElement&&r.type==="button")&&this.logEvent("click",{element:r.tagName,text:(d=r.textContent)==null?void 0:d.trim().substring(0,100),href:r.getAttribute("href"),id:r.id,className:r.className,role:r.getAttribute("role"),position:{x:c.clientX,y:c.clientY},timestamp:new Date().toISOString()}).catch(f=>console.warn("Failed to track click:",f))}),o.forms!==!1&&document.addEventListener("submit",c=>{let r=c.target,d=new FormData(r),f={};d.forEach((b,u)=>{f[u]=b.toString()}),this.logEvent("formSubmission",{formId:r.id,action:r.action,method:r.method,fields:Object.keys(f),fieldCount:Object.keys(f).length,timestamp:new Date().toISOString()}).catch(b=>console.warn("Failed to track form submission:",b))}),o.inputs!==!1){let c;document.addEventListener("input",r=>{let d=r.target;(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.tagName==="SELECT")&&(clearTimeout(c),c=setTimeout(()=>{var f;this.logEvent("fieldChange",{element:d.tagName,type:d.getAttribute("type"),name:d.getAttribute("name"),id:d.id,valueLength:((f=d.value)==null?void 0:f.length)||0,timestamp:new Date().toISOString()}).catch(b=>console.warn("Failed to track field change:",b))},1e3))})}let e=Date.now();window.addEventListener("beforeunload",()=>{let c=Date.now()-e;this.logEvent("pageUnload",{url:window.location.href,sessionDuration:c,timestamp:new Date().toISOString()}),this.ticketId&&navigator.sendBeacon(`${this.baseUrl}/api/v1/et/close`,JSON.stringify({ticketId:this.ticketId}))}),o.visibility!==!1&&document.addEventListener("visibilitychange",()=>{this.logEvent("visibilityChange",{hidden:document.hidden,visibilityState:document.visibilityState,timestamp:new Date().toISOString()})}),o.errors!==!1&&(window.addEventListener("error",c=>{this.logEvent("jsError",{message:c.message,filename:c.filename,lineno:c.lineno,colno:c.colno,timestamp:new Date().toISOString()})}),window.addEventListener("unhandledrejection",c=>{var r;this.logEvent("unhandledRejection",{reason:(r=c.reason)==null?void 0:r.toString(),timestamp:new Date().toISOString()})})),o.performance!==!1&&typeof window.performance!="undefined"&&window.performance.navigation&&window.addEventListener("load",()=>{setTimeout(()=>{let c=window.performance.navigation,r=window.performance.timing;this.logEvent("performanceMetrics",{navigationTime:r.navigationStart,loadTime:r.loadEventEnd-r.navigationStart,domReady:r.domContentLoadedEventEnd-r.navigationStart,renderTime:r.loadEventEnd-r.domContentLoadedEventEnd,navigationType:c.type,redirectCount:c.redirectCount,timestamp:new Date().toISOString()})},1e3)})}setupNetworkDetection(){typeof window!="undefined"&&(this.isOnline=navigator.onLine,window.addEventListener("online",()=>{this.isOnline=!0,console.log("EventTracker: Back online, flushing queued events"),this.flush()}),window.addEventListener("offline",()=>{this.isOnline=!1,console.log("EventTracker: Offline, queueing events")}))}startPeriodicFlush(){var e;this.flushTimer&&clearInterval(this.flushTimer);let o=((e=this.config)==null?void 0:e.flushInterval)||5e3;this.flushTimer=setInterval(()=>{this.flush()},o)}stopPeriodicFlush(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null)}},ct=new rt;typeof window!="undefined"&&(window.EventTracker=ct);import{useCallback as Rs,useState as Ae}from"react";var Qe="10.10.102.42",M=`http://${Qe}:8095`,Ls=`ws://${Qe}:8095`,q={v1:"/api/v1"},_={LOGIN:`${M}${q.v1}/cti/login?provider=convox`,READY_AGENT:`${M}${q.v1}/cti/ready-agent?provider=convox`,UPDATE_AGENT_BREAK:`${M}${q.v1}/cti/update-agent-status?provider=convox`,CLICK_TO_CALL:`${M}${q.v1}/cti/calls?provider=convox`,HOLD_CALL:`${M}${q.v1}/cti/calls/hold?provider=convox`,MUTE_CALL:`${M}${q.v1}/cti/calls/mute?provider=convox`,UNMUTE_CALL:`${M}${q.v1}/cti/unmute-call?provider=convox`,END_CALL:`${M}${q.v1}/cti/calls/end?provider=convox`,LOGOUT:`${M}${q.v1}/cti/logout?provider=convox`,CONFERENCE_CALL:`${M}${q.v1}/cti/calls/conference?provider=convox`,CONFERENCE_CALL_HOLD_OR_UN_HOLD:`${M}${q.v1}/cti/calls/conference/hold?provider=convox`,CONFERENCE_CALL_MUTE_OT_UN_MUTE:`${M}${q.v1}/cti/calls/conference/mute?provider=convox`,CONFERENCE_CALL_END:`${M}${q.v1}/cti/calls/conference/hangup?provider=convox`,CONFERENCE_CALL_END_ALL:`${M}${q.v1}/cti/calls/conference/hangup/all?provider=convox`,TRANSFER_CALL:`${M}${q.v1}/cti/calls/transfer?provider=convox`,AGENTS_LIST:`${M}${q.v1}/cti/users`,PROCESS_LIST:`${M}${q.v1}/cti/processes-list`,TRANSFER_TO_DETAILS:`${M}${q.v1}/cti/transfer-to-details?provider=convox`,CALL_HISTORY:`${M}${q.v1}/dashboard/call-history`,SENTIMENTAL_ANALYSIS:`${M}${q.v1}/users/get_sentiment_analysis`},Zo={WS:`${Ls}${q.v1}/cti/ws`};import Is from"axios";var _s="12345",dt=Is.create({baseURL:M,headers:{"Content-Type":"application/json",Authorization:_s},timeout:6e4});dt.interceptors.request.use(t=>{let o="12345";return o&&t.headers&&(t.headers.Authorization=`Bearer ${o}`),t},t=>Promise.reject(t instanceof Error?t:new Error(String(t))));dt.interceptors.response.use(t=>t,async t=>{var e;let o=t.config;return((e=t.response)==null?void 0:e.status)===401&&!o._retry&&(o._retry=!0),Promise.reject(t instanceof Error?t:new Error(String(t)))});var Z=dt;var ks=()=>{let[t,o]=Ae(!1),[e,n]=Ae(!1),[c,r]=Ae(!1),[d,f]=Ae(null),[b,u]=Ae(null);return{logout:Rs(async()=>{var x;let g=JSON.parse((x=localStorage.getItem("call-control-sdk-state"))!=null?x:"");o(!0);let i={action:"LOGOUTUSER",userId:g.agentId||""};return Z.post(_.LOGOUT,i).then(C=>(h.clearStorageAndReset(),localStorage.clear(),sessionStorage.clear(),u(C==null?void 0:C.data),n(!0),C==null?void 0:C.data)).catch(C=>{var L;return r(!0),f(C),(L=C==null?void 0:C.response)==null?void 0:L.data}).finally(()=>{o(!1)})},[]),isLoading:t,isSuccess:e,isError:c,error:d,data:b}},ws=ks;import{useCallback as As,useState as Ne}from"react";var Ns=()=>{let[t,o]=Ne(!1),[e,n]=Ne(!1),[c,r]=Ne(!1),[d,f]=Ne(null),[b,u]=Ne(null);return{handleEndCall:As(async g=>{var C,L,N,P,O,A,H,V,F,k,T,S,ee,oe,I;let i=JSON.parse((C=localStorage.getItem("call-control-sdk-state"))!=null?C:"");o(!0);let x={action:"ENDCALL",userId:i==null?void 0:i.agentId,processid:(P=(N=(L=i==null?void 0:i.process)==null?void 0:L.process_id)==null?void 0:N.toString())!=null?P:"",process_name:(A=(O=i==null?void 0:i.process)==null?void 0:O.process_name)!=null?A:"",callreferenceid:(V=(H=i==null?void 0:i.callData)==null?void 0:H.convox_id)!=null?V:"",mobile_number:(k=(F=i==null?void 0:i.callData)==null?void 0:F.phone_number)!=null?k:"",disposition:(T=g==null?void 0:g.disposition)!=null?T:"RES",set_followUp:(S=g==null?void 0:g.followUp)!=null?S:"N",callback_date:(ee=g==null?void 0:g.callbackDate)!=null?ee:"",callback_hrs:(oe=g==null?void 0:g.callbackHrs)!=null?oe:"",callback_mins:(I=g==null?void 0:g.callbackMins)!=null?I:"",endcall_type:"CLOSE"};return Z.post(_.END_CALL,x).then(y=>(h.endCall(),u(y==null?void 0:y.data),n(!0),y==null?void 0:y.data)).catch(y=>{var w;return r(!0),f(y),(w=y==null?void 0:y.response)==null?void 0:w.data}).finally(()=>{o(!1)})},[]),isLoading:t,isSuccess:e,isError:c,error:d,data:b}};import{useCallback as Ps,useState as Pe}from"react";var Os=()=>{let[t,o]=Pe(!1),[e,n]=Pe(!1),[c,r]=Pe(!1),[d,f]=Pe(null),[b,u]=Pe(null);return{handleStartCall:Ps(async g=>{var x,C,L,N,P,O,A,H,V;let i=JSON.parse((x=localStorage.getItem("call-control-sdk-state"))!=null?x:"");if(o(!0),((C=i==null?void 0:i.callData)==null?void 0:C.status)==="IDLE"){let F={action:"CALL",userId:i==null?void 0:i.agentId,phone_number:g==null?void 0:g.mobileNumber};return Z.post(_.CLICK_TO_CALL,F).then(k=>(u(k==null?void 0:k.data),n(!0),k==null?void 0:k.data)).catch(k=>{var T;return r(!0),f(k),(T=k==null?void 0:k.response)==null?void 0:T.data}).finally(()=>{o(!1)})}else if(((L=i==null?void 0:i.callData)==null?void 0:L.status)==="ONCALL"){let F=(P=(N=i==null?void 0:i.conferenceLine)==null?void 0:N.filter(T=>T.line!==1))==null?void 0:P.find(T=>T.status==="IDLE"&&!(T!=null&&T.isCallStart)),k={action:"EXTERNAL_CONFERENCE",operation:`CALL${F.line}`,line_used:String(F.line),thirdparty_no:g==null?void 0:g.mobileNumber,userid:(A=(O=i.callData)==null?void 0:O.agent_id)!=null?A:"",process:(V=(H=i.callData)==null?void 0:H.process_name)!=null?V:""};return Z.post(_.CONFERENCE_CALL,k).then(T=>(u(T==null?void 0:T.data),n(!0),h.setConferenceLine(Q(l({},F),{isCallStart:!0,status:"ONCALL",phone:g==null?void 0:g.mobileNumber})),h.setOpenConferenceDialog(!0),T==null?void 0:T.data)).catch(T=>{var S;return r(!0),f(T),(S=T==null?void 0:T.response)==null?void 0:S.data}).finally(()=>{o(!1)})}else alert("Agent is not ready")},[]),isLoading:t,isSuccess:e,isError:c,error:d,data:b}};import{CallEnd as ra,Close as ca,DragIndicator as us,Group as da,KeyboardArrowDown as pa,Layers as ua,Mic as ga,MicOff as fa,Pause as ma,Pending as xa,Phone as Ca,PlayArrow as ha,SupportAgent as ba,TransferWithinAStation as ya,Upcoming as va,WifiCalling3 as Sa}from"@mui/icons-material";import{Box as re,Button as Ee,Chip as at,CircularProgress as Be,Fade as gs,IconButton as nt,Menu as ft,MenuItem as fs,Paper as ms,TextField as Ta,Tooltip as ye,Typography as xs,useTheme as Ea}from"@mui/material";import{useCallback as Da,useEffect as He,useRef as La,useState as pe}from"react";import{useCallback as Ze,useRef as pt,useState as es}from"react";function ut(t,o){let[e,n]=es(t),[c,r]=es(!1),d=pt(),f=pt({x:0,y:0}),b=pt({x:0,y:0}),u=Ze(x=>{let C=d.current;if(!C)return;let L=C.getBoundingClientRect(),N=window.innerWidth,P=window.innerHeight,O={x:Math.max(0,Math.min(x.x,N-L.width)),y:Math.max(0,Math.min(x.y,P-L.height))};n(O),o==null||o(O)},[o]),m=Ze((x,C)=>{r(!0),f.current={x,y:C},b.current=e;let L=(A,H)=>{let V=A-f.current.x,F=H-f.current.y;u({x:b.current.x+V,y:b.current.y+F})},N=A=>{A.preventDefault(),L(A.clientX,A.clientY)},P=A=>{A.preventDefault();let H=A.touches[0];H&&L(H.clientX,H.clientY)},O=()=>{r(!1),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",O),document.removeEventListener("touchmove",P),document.removeEventListener("touchend",O)};document.addEventListener("mousemove",N),document.addEventListener("mouseup",O),document.addEventListener("touchmove",P,{passive:!1}),document.addEventListener("touchend",O)},[e,u]),g=Ze(x=>{x.preventDefault(),m(x.clientX,x.clientY)},[m]),i=Ze(x=>{x.preventDefault();let C=x.touches[0];C&&m(C.clientX,C.clientY)},[m]);return{position:e,isDragging:c,dragRef:d,handleMouseDown:g,handleTouchStart:i}}import{useState as Us,useEffect as Ms}from"react";function ve(){let[t,o]=Us(h.getState());return Ms(()=>h.subscribe(()=>{o(h.getState())}),[]),t}import{useCallback as Fs,useReducer as Ws}from"react";import{createContext as Bs,useContext as Hs,useState as gt}from"react";import{Snackbar as $s,Alert as zs}from"@mui/material";import{jsx as ts,jsxs as qs}from"react/jsx-runtime";var os=Bs(void 0),he=()=>{let t=Hs(os);if(!t)throw new Error("useToast must be used inside ToastProvider");return t},ss=({children:t})=>{let[o,e]=gt(!1),[n,c]=gt(""),[r,d]=gt("info"),f=(b,u="info")=>{c(b),d(u),e(!0)};return qs(os.Provider,{value:{showToast:f},children:[t,ts($s,{open:o,color:r,autoHideDuration:3e3,onClose:()=>e(!1),anchorOrigin:{vertical:"top",horizontal:"right"},children:ts(zs,{variant:"filled",severity:r,onClose:()=>e(!1),sx:{width:"100%"},children:n})})]})};var Ks={isLoading:!1,isSuccess:!1,isError:!1,error:null,data:null},Gs=(t,o)=>{if(o.type==="isLoading")return Q(l({},t),{isLoading:o.payload});if(o.type==="isSuccess")return Q(l({},t),{isSuccess:!0,data:o.payload});if(o.type==="isError")return Q(l({},t),{isError:!0,error:o.payload});if(o.type==="reset")return{isLoading:!1,isSuccess:!1,isError:!1,error:null,data:null};throw Error("Unknown action.")};var le=(t={})=>{let{onSuccess:o=null,onError:e=null}=t,{showToast:n}=he(),[c,r]=Ws(Gs,Ks);return[Fs((f,b,u={})=>{r({type:"isLoading",payload:!0}),Z.post(f,b,u).then(m=>{var g,i;r({type:"isSuccess",payload:m.data}),o==null||o(m.data,b),console.log((g=m.data)==null?void 0:g.message,"res45"),n((i=m.data)==null?void 0:i.message,"success")}).catch(m=>{var i,x,C,L,N,P,O,A,H,V,F,k;let g={status:(x=(i=m.response)==null?void 0:i.status)!=null?x:500,message:((L=(C=m.response)==null?void 0:C.data)==null?void 0:L.detail)||((P=(N=m.response)==null?void 0:N.data)==null?void 0:P.message)||m.message||"An unknown error occurred",data:(A=(O=m.response)==null?void 0:O.data)!=null?A:null,statusText:(V=(H=m.response)==null?void 0:H.statusText)!=null?V:"",code:(F=m==null?void 0:m.code)!=null?F:"",name:(k=m==null?void 0:m.name)!=null?k:""};n(g.message,"error"),r({type:"isError",payload:g}),e==null||e(g,b)}).finally(()=>{r({type:"isLoading",payload:!1})})},[o,e,n]),c]};import{Call as tt,CallEnd as Xs,CallSplit as Js,Close as st,Mic as Vs,MicOff as Qs,Pause as Zs,PhoneDisabled as ea,PlayArrow as ta,SupportAgent as ot}from"@mui/icons-material";import{Box as B,Button as ae,Dialog as Ue,IconButton as xe,Paper as Te,TextField as Se,Typography as te,Autocomplete as as,Tooltip as Oe,useTheme as oa,TableContainer as sa,Table as aa,TableHead as na,TableRow as ns,TableCell as de,TableBody as ia,CircularProgress as be}from"@mui/material";import{useEffect as is,useState as me}from"react";import{useTheme as js}from"@mui/material";var Ys=({disabled:t,enabled:o,outlined:e})=>{let n=js();return{disabled:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",border:"1px solid rgb(206, 204, 204)",height:"40px","&:hover":{boxShadow:" 0px 2px 2px rgba(0, 0, 0, 0.79)",border:`1px solid ${n.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${n.palette.primary.light}`}},t),enabled:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",boxShadow:" 0px 2px 1px rgba(0, 0, 0, 0.507)",border:`1px solid ${n.palette.primary.main}`,height:"40px","&:hover":{boxShadow:" 0px 2px 1px rgba(0, 0, 0, 0.507)",border:`1px solid ${n.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${n.palette.primary.light}`}},o),outlined:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",backgroundColor:n.palette.grey[200],boxShadow:`0px 2px 1px ${n.palette.primary.light}`,border:`0px solid ${n.palette.primary.main}`,height:"40px","&:hover":{boxShadow:`0px 2px 1px ${n.palette.primary.main}`,border:`0px solid ${n.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${n.palette.primary.light}`}},e)}},et=Ys;import{Fragment as Me,jsx as s,jsxs as D}from"react/jsx-runtime";var la=({each:t})=>{var k,T,S,ee,oe;let o=ve(),{showToast:e}=he(),{disabled:n,enabled:c,outlined:r}=et({disabled:((k=o.sdkConfig)==null?void 0:k.disabled)||{},enabled:((T=o.sdkConfig)==null?void 0:T.enabled)||{},outlined:((S=o.sdkConfig)==null?void 0:S.outlined)||{}}),d=oa(),[f,b]=me(!1),[u,m]=me(!1),[g,i]=me(!1),[x,C]=me(!1),[L,N]=me(!1),P=(I,y)=>{h.setConferenceLine(l(l({},I),y))},O=(I,y)=>{var K,U,j,Y;let w=l(l({},I),y);b(!0);let W={action:"EXTERNAL_CONFERENCE",operation:`CALL${w.line}`,line_used:String(w.line),thirdparty_no:w.phone,userid:(U=(K=o.callData)==null?void 0:K.agent_id)!=null?U:"",process:(Y=(j=o.callData)==null?void 0:j.process_name)!=null?Y:""};Z.post(_.CONFERENCE_CALL,W).then(R=>{var E;e((E=R.data)==null?void 0:E.message,"success"),h.setConferenceLine(l(l({},I),y))}).catch(R=>{var $,X,J,G;let E=((X=($=R.response)==null?void 0:$.data)==null?void 0:X.detail)||((G=(J=R.response)==null?void 0:J.data)==null?void 0:G.message)||R.message||"An unknown error occurred";e(E,"error")}).finally(()=>{b(!1)})},A=(I,y)=>{var K,U,j,Y;let w=l(l({},I),y);m(!0);let W={action:"EXTERNAL_CONFERENCE",operation:"CONFERENCE",line_used:String(w.line),thirdparty_no:w.phone,userid:(U=(K=o.callData)==null?void 0:K.agent_id)!=null?U:"",process:(Y=(j=o.callData)==null?void 0:j.process_name)!=null?Y:""};Z.post(_.CONFERENCE_CALL,W).then(R=>{var E;e((E=R.data)==null?void 0:E.message,"success"),h.setConferenceLine(l(l({},I),y))}).catch(R=>{var $,X,J,G;let E=((X=($=R.response)==null?void 0:$.data)==null?void 0:X.detail)||((G=(J=R.response)==null?void 0:J.data)==null?void 0:G.message)||R.message||"An unknown error occurred";e(E,"error")}).finally(()=>{m(!1)})},H=(I,y,w)=>{var U,j,Y,R;let W=l(l({},I),y);i(!0);let K={action:"EXTERNAL_CONFERENCE",operation:w,hold_channel_no:w==="HOLDUSER"?`hold${W.line}`:`unhold${W.line}`,userid:(j=(U=o.callData)==null?void 0:U.agent_id)!=null?j:"",process:(R=(Y=o.callData)==null?void 0:Y.process_name)!=null?R:""};Z.post(_.CONFERENCE_CALL_HOLD_OR_UN_HOLD,K).then(E=>{var $;e(($=E.data)==null?void 0:$.message,"success"),h.setConferenceLine(l(l({},I),y))}).catch(E=>{var X,J,G,ce;let $=((J=(X=E.response)==null?void 0:X.data)==null?void 0:J.detail)||((ce=(G=E.response)==null?void 0:G.data)==null?void 0:ce.message)||E.message||"An unknown error occurred";e($,"error")}).finally(()=>{i(!1)})},V=(I,y,w)=>{var U,j,Y,R;let W=l(l({},I),y);C(!0);let K={action:"EXTERNAL_CONFERENCE",operation:w,channel_no:w==="MUTEUSER"?`mute${W.line}`:`play${W.line}`,userid:(j=(U=o.callData)==null?void 0:U.agent_id)!=null?j:"",thirdparty_no:W.phone,process:(R=(Y=o.callData)==null?void 0:Y.process_name)!=null?R:""};Z.post(_.CONFERENCE_CALL_MUTE_OT_UN_MUTE,K).then(E=>{var $;e(($=E.data)==null?void 0:$.message,"success"),h.setConferenceLine(l(l({},I),y))}).catch(E=>{var X,J,G,ce;let $=((J=(X=E.response)==null?void 0:X.data)==null?void 0:J.detail)||((ce=(G=E.response)==null?void 0:G.data)==null?void 0:ce.message)||E.message||"An unknown error occurred";e($,"error")}).finally(()=>{C(!1)})},F=(I,y)=>{var K,U,j,Y;let w=l(l({},I),y);N(!0);let W={action:"EXTERNAL_CONFERENCE",operation:"HANGUP_CHANNEL",line_used:String(w.line-1),user_type:`THIRDPARTY${w.line-1}`,thirdparty_no:w.phone,userid:(U=(K=o.callData)==null?void 0:K.agent_id)!=null?U:"",process:(Y=(j=o.callData)==null?void 0:j.process_name)!=null?Y:""};Z.post(_.CONFERENCE_CALL_END,W).then(R=>{var E;e((E=R.data)==null?void 0:E.message,"success"),h.setConferenceLine(l(l({},I),y))}).catch(R=>{var $,X,J,G;let E=((X=($=R.response)==null?void 0:$.data)==null?void 0:X.detail)||((G=(J=R.response)==null?void 0:J.data)==null?void 0:G.message)||R.message||"An unknown error occurred";e(E,"error")}).finally(()=>{N(!1)})};return D(ns,{sx:{border:"2px solid #fff"},children:[s(de,{sx:{padding:"6px"},children:D(te,{children:["Line ",(ee=t==null?void 0:t.line)!=null?ee:"",". "]})}),s(de,{sx:{padding:"6px"},children:s(te,{variant:"body2",sx:{px:1,borderRadius:"10px"},children:(oe=t==null?void 0:t.status)!=null?oe:""})}),s(de,{sx:{padding:"6px"},children:s(ae,{sx:{textTransform:"capitalize"},size:"small",children:s(te,{variant:"body2",children:(t==null?void 0:t.line)===1?"Internal":"External"})})}),s(de,{sx:{padding:"6px"},children:s(Se,{size:"small",placeholder:"Phone Number",fullWidth:!0,value:(t==null?void 0:t.phone)||"",disabled:(t==null?void 0:t.line)===1||(t==null?void 0:t.status)==="LINE USED",onChange:I=>{P(t,{phone:I.target.value})}})}),s(de,{sx:{padding:"6px"},children:D(B,{sx:{display:"flex",alignItems:"center",justifyContent:"space-around"},children:[s(Oe,{title:"Call",children:s(ae,{variant:t!=null&&t.isCallStart?"outlined":"contained",color:"success",sx:t!=null&&t.isCallStart?l({},n):Q(l({},c),{border:`0px solid ${d.palette.success.light}`,"&:hover":{bgcolor:"success.light",boxShadow:`0px 2px 1px ${d.palette.success.light}`,border:`0px solid ${d.palette.success.light}`},"&:active":{bgcolor:"success.light",boxShadow:`inset 1px -2px 4px ${d.palette.primary.light}`}}),onClick:()=>{O(t,{isCallStart:!0,status:"ONCALL"})},disabled:(t==null?void 0:t.isCallStart)||f||(t==null?void 0:t.status)==="LINE USED",children:f?s(be,{size:"20px",color:"success"}):s(tt,{sx:{color:t!=null&&t.isCallStart?"default":"#e7e7e7ff"}})})}),(t==null?void 0:t.line)===1&&s(Oe,{title:"Merge Call",children:s(ae,{variant:t!=null&&t.isMergeCall?"contained":"outlined",sx:t!=null&&t.isMergeCall&&(t!=null&&t.isCallStart)?l({},n):t!=null&&t.isCallStart?l({},r):l({},n),onClick:()=>{A(t,{isMergeCall:!0,status:"ONCALL"})},disabled:!(t!=null&&t.isCallStart)||u,children:u?s(be,{size:"20px",sx:{color:t!=null&&t.isMergeCall?"#e7e7e7ff":d.palette.primary.main}}):s(Js,{})})}),s(Oe,{title:t.isHold?"Hold":"Un Hold",children:s(ae,{variant:t!=null&&t.isHold?"contained":"outlined",sx:t!=null&&t.isHold&&(t!=null&&t.isCallStart)?l({},n):t!=null&&t.isCallStart?l({},r):l({},n),onClick:()=>{t.isHold?H(t,{isHold:!1},"UNHOLDUSER"):H(t,{isHold:!0},"HOLDUSER")},disabled:!(t!=null&&t.isCallStart)||g,children:g?s(be,{size:"20px",sx:{color:d.palette.primary.main}}):t.isHold?s(ta,{}):s(Zs,{})})}),s(Oe,{title:t.isMute?"Mute":"Un Mute",children:s(ae,{variant:t!=null&&t.isMute?"contained":"outlined",sx:t!=null&&t.isMute&&(t!=null&&t.isCallStart)?l({},n):t!=null&&t.isCallStart?l({},r):l({},n),onClick:()=>{t.isMute?V(t,{isMute:!1},"PLAYUSER"):V(t,{isMute:!0},"MUTEUSER")},disabled:!(t!=null&&t.isCallStart)||x,children:x?s(be,{size:"20px",sx:{color:d.palette.primary.main}}):t.isMute?s(Qs,{}):s(Vs,{})})}),(t==null?void 0:t.line)!==1&&s(Oe,{title:"End Call",children:s(ae,{variant:t!=null&&t.isCallStart?"contained":"outlined",color:"error",sx:t!=null&&t.isCallStart?Q(l({},c),{minWidth:"60px !important",border:`0px solid ${d.palette.error.light}`,"&:hover":{bgcolor:"error.light",boxShadow:`0px 2px 1px ${d.palette.error.light}`,border:`0px solid ${d.palette.error.light}`},"&:active":{bgcolor:"error.light",boxShadow:`inset 1px -2px 4px ${d.palette.primary.light}`}}):Q(l({},n),{minWidth:"60px !important"}),onClick:()=>{F(t,{isCallStart:!1,isMergeCall:!1,isMute:!1,isHold:!1,status:"LINE USED"})},disabled:!(t!=null&&t.isCallStart)||L,children:L?s(be,{size:"20px",color:"error"}):s(Xs,{})})})]})})]},t.line)};function ls(){var d;let t=ve(),{showToast:o}=he(),[e,n]=me(!1),c=()=>{h.setOpenConferenceDialog(!1)},r=()=>{var b,u,m,g;n(!0);let f={action:"EXTERNAL_CONFERENCE",operation:"ENDCONFERENCE",userid:(u=(b=t.callData)==null?void 0:b.agent_id)!=null?u:"",process:(g=(m=t.callData)==null?void 0:m.process_name)!=null?g:""};Z.post(_.CONFERENCE_CALL_END_ALL,f).then(i=>{var x;o((x=i.data)==null?void 0:x.message,"success"),h.resetConferenceLines(),c()}).catch(i=>{var C,L,N,P;let x=((L=(C=i.response)==null?void 0:C.data)==null?void 0:L.detail)||((P=(N=i.response)==null?void 0:N.data)==null?void 0:P.message)||i.message||"An unknown error occurred";o(x,"error")}).finally(()=>{n(!1)})};return is(()=>{var b,u,m,g;let f={line:1,status:(u=(b=t.callData)==null?void 0:b.status)!=null?u:"",type:"internal",phone:(g=(m=t.callData)==null?void 0:m.phone_number)!=null?g:"",isMute:!1,isHold:!1,isMergeCall:!1,isCallStart:!0};h.setConferenceLine(f)},[]),s(Me,{children:s(Ue,{open:t.openConferenceDialog,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:D(Te,{sx:{borderRadius:2},children:[D(B,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 16px"},children:[D(te,{variant:"body1",children:[(d=t==null?void 0:t.agentId)!=null?d:""," conference"]}),s(xe,{onClick:c,children:s(st,{})})]}),s(B,{sx:{boxShadow:"1px 1px 2px #e7e5e5ff",margin:"0px 15px",borderRadius:"20px"},children:s(sa,{component:Te,sx:{outline:"0px solid gray !important",boxShadow:"1px 1px 6px #e7e5e5ff"},children:D(aa,{sx:{border:"4px solid #ffffff !important"},children:[s(na,{children:D(ns,{sx:{border:"2px solid #f3f3f3ff !important"},children:[s(de,{sx:{padding:"6px"},children:"Line"}),s(de,{sx:{padding:"6px"},children:"Status"}),s(de,{sx:{padding:"6px"},children:"Call Type"}),s(de,{sx:{padding:"6px"},children:"Mobile Number"}),s(de,{sx:{padding:"6px"},children:"Call Actions"})]})}),s(ia,{children:t==null?void 0:t.conferenceLine.map(f=>s(la,{each:f}))})]})})}),s(B,{textAlign:"center",m:2,children:D(ae,{variant:"outlined",color:"error",size:"large",onClick:r,disabled:e,sx:{px:2,borderRadius:"20px",textTransform:"capitalize"},children:[e?s(be,{size:"20px",color:"error",sx:{marginRight:"8px"}}):s(xe,{sx:{bgcolor:"error.main","&:hover":{bgcolor:"error.dark"},marginRight:"8px",width:"28px",height:"28px",fontSize:"12px",fontWeight:"600",lineHeight:"16px",letterSpacing:"0.02em",textTransform:"capitalize",color:"white",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%"},children:s(ea,{sx:{color:"white",fontSize:"16px",fontWeight:"600"}})}),"End Conference"]})})]})})})}function rs({open:t}){var x,C,L,N,P,O,A,H,V,F,k,T;let[o]=le({onSuccess:()=>{h.setOpenCallTransferDialog(!1)}}),e=ve(),[n,c]=me("process"),[r,{data:d,isLoading:f}]=le(),[b,{data:u,isLoading:m}]=le(),g=()=>{h.setOpenCallTransferDialog(!1)},i=(S,ee)=>{var oe,I,y,w,W,K,U,j,Y,R,E,$,X,J,G,ce,De,$e,Le,ze,qe,Fe,Ie,We,Ke,Ge,je,_e,Ye,Xe,Re,Je,Ve;if(console.log(S,"data34"),ee==="PROCESS"){let Ce={mobile_number:(I=(oe=e.callData)==null?void 0:oe.phone_number)!=null?I:"",userid:(w=(y=e.callData)==null?void 0:y.agent_id)!=null?w:"",type:"PROCESS",transfer_to:(W=S==null?void 0:S.process_name)!=null?W:"",callreferenceid:(U=(K=e.callData)==null?void 0:K.convox_id)!=null?U:"",processid:String((Y=(j=e.callData)==null?void 0:j.process_id)!=null?Y:""),process_name:(E=(R=e.callData)==null?void 0:R.process_name)!=null?E:""};o(_.TRANSFER_CALL,Ce)}else if(ee==="QUEUE"){let Ce={mobile_number:(X=($=e.callData)==null?void 0:$.phone_number)!=null?X:"",userid:(G=(J=e.callData)==null?void 0:J.agent_id)!=null?G:"",type:"QUEUE",transfer_to:(ce=S==null?void 0:S.queue_name)!=null?ce:"",callreferenceid:($e=(De=e.callData)==null?void 0:De.convox_id)!=null?$e:"",processid:String((ze=(Le=e.callData)==null?void 0:Le.process_id)!=null?ze:""),process_name:(Fe=(qe=e.callData)==null?void 0:qe.process_name)!=null?Fe:""};o(_.TRANSFER_CALL,Ce)}else if(ee==="AGENT"){let Ce={mobile_number:(We=(Ie=e.callData)==null?void 0:Ie.phone_number)!=null?We:"",userid:(Ge=(Ke=e.callData)==null?void 0:Ke.agent_id)!=null?Ge:"",type:"AGENT",transfer_to:(je=S==null?void 0:S.user_id)!=null?je:"",callreferenceid:(Ye=(_e=e.callData)==null?void 0:_e.convox_id)!=null?Ye:"",processid:String((Re=(Xe=e.callData)==null?void 0:Xe.process_id)!=null?Re:""),process_name:(Ve=(Je=e.callData)==null?void 0:Je.process_name)!=null?Ve:""};o(_.TRANSFER_CALL,Ce)}};return is(()=>{r(_.AGENTS_LIST,{status:"IDLE",active:!0}),b(_.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},[]),console.log(d,"idleAgentsList"),s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:D(Te,{sx:{borderRadius:2},children:[D(B,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Call Transfer"}),s(xe,{onClick:g,children:s(st,{})})]}),D(B,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px 10px",margin:"10px",borderRadius:"10px"},children:[D(B,{sx:{display:"flex",gap:1},children:[s(ae,{variant:n==="process"?"contained":"outlined",onClick:()=>{c("process"),b(_.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},children:"Process"}),s(ae,{variant:n==="queues"?"contained":"outlined",onClick:()=>{c("queues"),b(_.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},children:"Queues"}),s(ae,{variant:n==="agents"?"contained":"outlined",onClick:()=>{c("agents"),r(_.AGENTS_LIST,{status:"IDLE",active:!0})},children:"Agents"})]}),(m||f)&&D(B,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:[s(be,{})," "]}),!m&&!f&&n==="process"&&s(B,{sx:{display:"flex",gap:1},children:(x=u==null?void 0:u.data)!=null&&x.process&&((L=(C=u==null?void 0:u.data)==null?void 0:C.process)==null?void 0:L.length)>0?(P=(N=u==null?void 0:u.data)==null?void 0:N.process)==null?void 0:P.map((S,ee)=>D(B,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[D(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),S.process_name]}),s(xe,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{i(S,"PROCESS")},children:s(tt,{})})]},ee)):s(te,{variant:"body1",sx:{fontSize:"12px",fontWeight:"600",letterSpacing:"0.02em",textTransform:"capitalize",textAlign:"center",width:"100%",margin:"10px 0px",color:"gray"},children:"No Process Found"})}),!m&&!f&&n==="queues"&&s(B,{sx:{display:"flex",gap:1},children:(O=u==null?void 0:u.data)!=null&&O.queue&&((H=(A=u==null?void 0:u.data)==null?void 0:A.queue)==null?void 0:H.length)>0?(F=(V=u==null?void 0:u.data)==null?void 0:V.queue)==null?void 0:F.map((S,ee)=>{var oe,I,y,w,W,K;return D(B,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[D(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),S.queue_name,(y=(I=(oe=u==null?void 0:u.data)==null?void 0:oe.process)==null?void 0:I.find(U=>U.process_id===S.process_id))!=null&&y.process_name?s(te,{variant:"body1",sx:{fontSize:"12px",fontWeight:"600",letterSpacing:"0.02em",textTransform:"capitalize",color:"gray"},children:"("+((K=(W=(w=u==null?void 0:u.data)==null?void 0:w.process)==null?void 0:W.find(U=>U.process_id===S.process_id))==null?void 0:K.process_name)+")"}):""]}),s(xe,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{i(S,"QUEUE")},children:s(tt,{})})]},ee)}):s(te,{variant:"body1",sx:{fontSize:"12px",fontWeight:"600",letterSpacing:"0.02em",textTransform:"capitalize",textAlign:"center",width:"100%",margin:"10px 0px",color:"gray"},children:"No Queues Found"})}),!m&&!f&&n==="agents"&&s(B,{sx:{display:"flex",gap:1},children:d!=null&&d.data&&((k=d==null?void 0:d.data)==null?void 0:k.length)>0?(T=d==null?void 0:d.data)==null?void 0:T.map((S,ee)=>D(B,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[D(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),S.name]}),s(xe,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{i(S,"AGENT")},children:s(tt,{})})]},ee)):s(te,{variant:"body1",sx:{fontSize:"12px",fontWeight:"600",letterSpacing:"0.02em",textTransform:"capitalize",textAlign:"center",width:"100%",margin:"10px 0px",color:"gray"},children:"No Agents Found"})})]})]})})})}function cs({open:t,setOpen:o,onSubmitDisposition:e}){var m,g;let[n,c]=me({disposition:{label:"Resolved",value:"RES"},followUp:{label:"No",value:"N"},callbackDate:"",callbackHrs:"",callbackMins:""}),r=[{label:"Not Interested",value:"NI"},{label:"Resolved",value:"RES"}],d=[{label:"Yes",value:"Y"},{label:"No",value:"N"}],f=(i,x)=>{c(C=>Q(l({},C),{[i]:x}))},b=()=>{c({disposition:{label:"Resolved",value:"RES"},followUp:{label:"No",value:"N"},callbackDate:"",callbackHrs:"",callbackMins:""})},u=()=>{b(),o(!1)};return s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"xs",children:D(Te,{sx:{borderRadius:2},children:[s(B,{sx:{display:"flex",justifyContent:"center",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:D(te,{variant:"body1",m:1,children:[" ","Call Disposition"]})}),D(B,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"10px",margin:"10px",borderRadius:"10px"},children:[D(B,{display:"flex",gap:2,children:[s(as,{value:n.disposition,options:r,getOptionLabel:i=>i.label,onChange:(i,x)=>f("disposition",x),size:"small",renderInput:i=>s(Se,Q(l({},i),{label:"Disposition",fullWidth:!0})),sx:{flex:1}}),s(as,{options:d,getOptionLabel:i=>i.label,value:n.followUp,onChange:(i,x)=>f("followUp",x),size:"small",renderInput:i=>s(Se,Q(l({},i),{label:"Follow Up",fullWidth:!0})),sx:{flex:1}})]}),((g=(m=n==null?void 0:n.followUp)==null?void 0:m.label)==null?void 0:g.toLowerCase())==="yes"&&D(B,{display:"flex",gap:2,mt:2,children:[s(Se,{size:"small",label:"Callback Date",type:"date",slotProps:{inputLabel:{shrink:!0}},value:n.callbackDate,onChange:i=>f("callbackDate",i.target.value),fullWidth:!0,sx:{flex:1}}),s(Se,{size:"small",label:"Hours (0-23)",type:"number",inputProps:{min:0,max:23},value:n.callbackHrs,onChange:i=>f("callbackHrs",i.target.value),fullWidth:!0,sx:{flex:1}}),s(Se,{size:"small",label:"Minutes (0-59)",type:"number",inputProps:{min:0,max:59},value:n.callbackMins,onChange:i=>f("callbackMins",i.target.value),fullWidth:!0,sx:{flex:1}})]})]}),D(B,{textAlign:"right",m:2,children:[s(ae,{variant:"outlined",color:"error",size:"large",onClick:u,sx:{px:2,mx:1,borderRadius:"10px",textTransform:"capitalize"},children:"cancel"}),s(ae,{variant:"contained",color:"primary",size:"large",onClick:()=>e(n),sx:{px:2,borderRadius:"10px",textTransform:"capitalize"},children:"Submit"})]})]})})})}function ds({open:t,setOpen:o,processList:e=null,handleSelectedProcessor:n}){let c=()=>{o(!1)};return console.log(e,"processList"),s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",maxWidth:"xs",children:D(Te,{sx:{borderRadius:2},children:[D(B,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Process List"}),s(xe,{onClick:c,children:s(st,{})})]}),s(B,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px 10px",margin:"10px",borderRadius:"10px"},children:e.length>0?e==null?void 0:e.map((r,d)=>s(B,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px",cursor:"pointer","&:hover":{bgcolor:"action.selected"}},onClick:()=>{n(r)},children:D(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),r.process_name]})},d)):null})]})})})}function ps({open:t,setOpen:o}){return s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:D(Te,{sx:{borderRadius:2},children:[D(B,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Call History"}),s(xe,{onClick:()=>{o(!1)},children:s(st,{})})]}),s(B,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",margin:"10px",borderRadius:"10px",textAlign:"center",fontSize:"16px",fontWeight:"bold"},p:6,children:"Coming Soon..."})]})})})}import{Fragment as Ia,jsx as p,jsxs as ue}from"react/jsx-runtime";function Cs({onDataChange:t}){var mt,xt,Ct,ht,bt,yt,vt,St,Tt,Et,Dt,Lt,It,_t,Rt,kt,wt,At,Nt,Pt,Ot,Ut,Mt,Bt,Ht,$t,zt,qt,Ft,Wt,Kt,Gt,jt,Yt,Xt,Jt,Vt,Qt,Zt,eo,to,oo,so,ao,no,io,lo,ro,co,po,uo,go,fo,mo,xo,Co,ho,bo,yo,vo,So,To,Eo,Do,Lo,Io,_o,Ro,ko,wo,Ao,No,Po,Oo,Uo,Mo,Bo,Ho,$o,zo,qo;let o=Ea(),e=ve(),{showToast:n}=he(),{disabled:c,enabled:r,outlined:d}=et({disabled:((mt=e.sdkConfig)==null?void 0:mt.disabled)||{},enabled:((xt=e.sdkConfig)==null?void 0:xt.enabled)||{},outlined:((Ct=e.sdkConfig)==null?void 0:Ct.outlined)||{}}),f=La(null),[b,u]=pe(null),[m,g]=pe(!0),[i,x]=pe(null),[C,L]=pe(null),[N,P]=pe(!1),[O,A]=pe(!1),[H,V]=pe(!1),[F,k]=pe(null),[T,S]=pe(""),[ee,oe]=pe(0),{position:I,isDragging:y,dragRef:w,handleMouseDown:W,handleTouchStart:K}=ut(e.controlPanelPosition,a=>h.setControlPanelPosition(a)),{position:U,isDragging:j,dragRef:Y,handleMouseDown:R,handleTouchStart:E}=ut(e.iframePosition,a=>h.setIframePosition(a)),[$,{isLoading:X}]=le({onSuccess:()=>{S(""),L(null)}}),[J,{isLoading:G}]=le({onSuccess:()=>{h.setHolding(!e.isHolding)},onError:a=>{console.log("error",a)}}),[ce,{isLoading:De}]=le({onSuccess:()=>{h.setMuted(!e.isMuted)},onError:a=>{console.log("error",a)}}),[$e,{isLoading:Le}]=le(),[ze,{isLoading:qe}]=le(),[Fe,{isLoading:Ie}]=le(),We=Da(a=>{let v=Math.floor(a/60),z=a%60;return`${v.toString().padStart(2,"0")}:${z.toString().padStart(2,"0")}`},[]),Ke=()=>{u(null)},Ge=a=>{g(!0),L(a.currentTarget),h.setStatus("dial")},je=()=>{e.status!=="on call"&&h.setStatus("idle"),L(null)},_e=a=>{x(a.currentTarget)},Ye=()=>{x(null)},Xe=()=>{let a={action:"READYAGENT",userId:e.agentId};$e(_.READY_AGENT,a)},Re=a=>{x(null);let v={action:"AGENTBREAK",break_type:a,userId:e.agentId};ze(_.UPDATE_AGENT_BREAK,v)},Je=a=>{if(a.length!==10)alert("Invalid phone number");else if(/^\d+$/.test(a)){let v={action:"CALL",phone_number:a,userId:e.agentId};$(_.CLICK_TO_CALL,v)}},Ve=()=>{let a={action:e.isHolding?"UNHOLD":"HOLD",userId:e.agentId};J(_.HOLD_CALL,a)},Ce=()=>{let a={action:e.isMuted?"UNMUTE":"MUTE",userId:e.agentId};ce(_.MUTE_CALL,a)},ys=a=>{var z,ne,ie,ge,fe,ke,we,Fo,Wo,Ko,Go,jo,Yo,Xo,Jo,Vo;console.log("data",a);let v={action:"ENDCALL",userId:e.agentId,processid:(ie=(ne=(z=e.process)==null?void 0:z.process_id)==null?void 0:ne.toString())!=null?ie:"",process_name:(fe=(ge=e.process)==null?void 0:ge.process_name)!=null?fe:"",callreferenceid:(we=(ke=e.callData)==null?void 0:ke.convox_id)!=null?we:"",mobile_number:(Wo=(Fo=e.callData)==null?void 0:Fo.phone_number)!=null?Wo:"",disposition:(Go=(Ko=a==null?void 0:a.disposition)==null?void 0:Ko.value)!=null?Go:"",set_followUp:(Yo=(jo=a==null?void 0:a.followUp)==null?void 0:jo.value)!=null?Yo:"",callback_date:(Xo=a==null?void 0:a.callbackDate)!=null?Xo:"",callback_hrs:(Jo=a==null?void 0:a.callbackHrs)!=null?Jo:"",callback_mins:(Vo=a==null?void 0:a.callbackMins)!=null?Vo:"",endcall_type:"CLOSE"};S(""),Fe(_.END_CALL,v),h.endCall(),P(!1)};return He(()=>{let a=v=>{v.preventDefault()};return window.addEventListener("beforeunload",a),()=>{window.removeEventListener("beforeunload",a)}},[]),He(()=>{let a;return e.callData.status&&e.callData.status==="ONCALL"?a=setInterval(()=>{let v=Math.floor((Date.now()-e.callStartTime)/1e3);oe(v)},1e3):oe(0),()=>{a&&clearInterval(a)}},[e.callData.status]),He(()=>{t&&t(e.callData)},[e.callData,t]),He(()=>{e.agentId?Z.post(_.PROCESS_LIST,{userId:e.agentId,action:"GETAGENTPROCESSLIST",refno:"1234221233"}).then(a=>{var v,z;console.log(a.data.data,"res4"),a&&a.data&&((v=a==null?void 0:a.data)==null?void 0:v.length)>1?(k(a.data.data),A(!0)):(h.setProcess((z=a==null?void 0:a.data)==null?void 0:z.data[0]),A(!1))}).catch(a=>{n(a.response.data.message,"error")}):console.log("No agentId available, skipping API call")},[e.agentId]),He(()=>(e.agentId&&(f.current=new WebSocket(`${Zo.WS}?agent_id=${e.agentId}`),f.current.onopen=()=>{console.log("WebSocket connection established")},f.current.onmessage=a=>{try{let v=JSON.parse(a.data);console.log("parsedJSON:",v),h.updateCallData(v),v.status==="ONCALL"&&(h.startCall(),m||g(!0)),v.status==="WRAPUP"&&h.endCall()}catch(v){console.log("Raw message:",a.data)}},f.current.onclose=()=>{console.log("WebSocket connection closed")},f.current.onerror=a=>{console.error("WebSocket error:",a)}),()=>{var a;(a=f.current)==null||a.close()}),[e.agentId]),!e.isInitialized||!e.process?p(re,{children:!!O&&p(ds,{processList:F,open:O,setOpen:A,handleSelectedProcessor:a=>{h.setProcess(a)}})}):ue(Ia,{children:[p(re,{children:p(gs,{in:!0,timeout:300,children:p(ms,{ref:(ht=e.sdkConfig)!=null&&ht.isDraggable?w:null,elevation:y?4:(bt=e.sdkConfig)!=null&&bt.isDraggable?1:0,sx:{position:(yt=e.sdkConfig)!=null&&yt.isDraggable?"fixed":"relative",left:(vt=e.sdkConfig)!=null&&vt.isDraggable?I.x:"auto",top:(St=e.sdkConfig)!=null&&St.isDraggable?I.y:"auto",display:"inline-block",width:"auto",flexShrink:0,whiteSpace:"nowrap",p:.5,borderRadius:3,bgcolor:"background.paper",zIndex:(Tt=e.sdkConfig)!=null&&Tt.isDraggable?Number.MAX_SAFE_INTEGER:0,transition:o.transitions.create(["box-shadow","transform"],{duration:o.transitions.duration.short}),userSelect:"none"},children:ue(re,{sx:{display:"flex",alignItems:"center"},children:[ue(re,{sx:{display:"flex",alignItems:"center",gap:1,margin:"0px 10px"},children:[((Et=e.sdkConfig)==null?void 0:Et.isDraggable)&&ue(nt,{component:"div",size:"small",sx:{cursor:"all-scroll"},onMouseDown:W,onTouchStart:K,children:[p(us,{})," "]}),p(re,{sx:{},children:!((Dt=e.sdkConfig)!=null&&Dt.disabledDialButton)&&p(ye,{title:"Dial",children:p(nt,{size:"small",onClick:a=>{var v,z,ne,ie,ge,fe,ke,we;((z=(v=e.callData)==null?void 0:v.status)==null?void 0:z.toUpperCase())!=="ONCALL"&&((ie=(ne=e.callData)==null?void 0:ne.status)==null?void 0:ie.toUpperCase())!=="BREAK"&&((fe=(ge=e.callData)==null?void 0:ge.status)==null?void 0:fe.toUpperCase())!=="RINGING"&&((we=(ke=e.callData)==null?void 0:ke.status)==null?void 0:we.toUpperCase())!=="WRAPUP"&&Ge(a)},sx:{bgcolor:"action.hover","&:hover":{bgcolor:"warning"}},children:p(Sa,{sx:{color:((It=(Lt=e.callData)==null?void 0:Lt.status)==null?void 0:It.toUpperCase())==="ONCALL"||((Rt=(_t=e.callData)==null?void 0:_t.status)==null?void 0:Rt.toUpperCase())==="BREAK"||((wt=(kt=e.callData)==null?void 0:kt.status)==null?void 0:wt.toUpperCase())==="RINGING"||((Nt=(At=e.callData)==null?void 0:At.status)==null?void 0:Nt.toUpperCase())==="WRAPUP"?"action.selected":"success.main"}})})})}),p(xs,{sx:{color:"success.main",width:"40px",marginRight:"10px",fontSize:"18px",fontWeight:"600"},children:We(ee)}),p(at,{sx:{padding:"18px 0px"},label:qe||Le?p(re,{sx:{fontWeight:"bold",width:"60px",display:"flex",alignItems:"center",justifyContent:"center"},children:p(Be,{size:"20px"})}):p(xs,{variant:"body2",sx:{fontWeight:"bold",width:"60px",textAlign:"center"},children:(Ut=(Ot=(Pt=e.callData)==null?void 0:Pt.status)==null?void 0:Ot.toUpperCase())!=null?Ut:"N/A"}),onClick:_e,deleteIcon:p(pa,{color:"primary"}),onDelete:_e})]}),ue(re,{sx:{display:"flex",gap:1,justifyContent:"center",alignItems:"center"},children:[p(ye,{title:"Agent Ready",children:p(Ee,{variant:((Bt=(Mt=e.callData)==null?void 0:Mt.status)==null?void 0:Bt.toUpperCase())==="BREAK"||(($t=(Ht=e.callData)==null?void 0:Ht.status)==null?void 0:$t.toUpperCase())==="MISSED"?"outlined":"contained",onClick:a=>{var v,z,ne,ie;(((z=(v=e.callData)==null?void 0:v.status)==null?void 0:z.toUpperCase())==="BREAK"||((ie=(ne=e.callData)==null?void 0:ne.status)==null?void 0:ie.toUpperCase())==="MISSED")&&(a.stopPropagation(),Xe())},classes:{root:((qt=(zt=e.callData)==null?void 0:zt.status)==null?void 0:qt.toUpperCase())==="BREAK"||((Wt=(Ft=e.callData)==null?void 0:Ft.status)==null?void 0:Wt.toUpperCase())==="MISSED"?"outlined":"enabled"},sx:l({},((Gt=(Kt=e.callData)==null?void 0:Kt.status)==null?void 0:Gt.toUpperCase())==="BREAK"||((Yt=(jt=e.callData)==null?void 0:jt.status)==null?void 0:Yt.toUpperCase())==="MISSED"?d:r),disabled:Le,children:p(ba,{})})}),p(ye,{title:e.isHolding?"Resume":"Hold",children:p(Ee,{variant:e.isHolding&&((Jt=(Xt=e.callData)==null?void 0:Xt.status)==null?void 0:Jt.toUpperCase())==="ONCALL"?"contained":"outlined",onClick:a=>{a.stopPropagation(),Ve()},sx:e.isHolding&&((Qt=(Vt=e.callData)==null?void 0:Vt.status)==null?void 0:Qt.toUpperCase())==="ONCALL"?l({},r):((eo=(Zt=e.callData)==null?void 0:Zt.status)==null?void 0:eo.toUpperCase())==="ONCALL"?l({},d):l({},c),disabled:((oo=(to=e.callData)==null?void 0:to.status)==null?void 0:oo.toUpperCase())!=="ONCALL"&&!e.isHolding||G,children:G?p(Be,{size:"20px",sx:{color:o.palette.primary.main}}):e.isHolding?p(ha,{}):p(ma,{})})}),p(ye,{title:e.isMuted?"Unmute":"Mute",children:p(Ee,{variant:e.isMuted&&((ao=(so=e.callData)==null?void 0:so.status)==null?void 0:ao.toUpperCase())==="ONCALL"?"contained":"outlined",onClick:a=>{a.stopPropagation(),Ce()},sx:e.isMuted&&((io=(no=e.callData)==null?void 0:no.status)==null?void 0:io.toUpperCase())==="ONCALL"?l({},r):((ro=(lo=e.callData)==null?void 0:lo.status)==null?void 0:ro.toUpperCase())==="ONCALL"?l({},d):l({},c),disabled:((po=(co=e.callData)==null?void 0:co.status)==null?void 0:po.toUpperCase())!=="ONCALL"&&!e.isMuted||De,children:De?p(Be,{size:"20px",sx:{color:o.palette.primary.main}}):e.isMuted?p(fa,{}):p(ga,{})})}),!((uo=e.sdkConfig)!=null&&uo.disableCallTransferButton)&&p(ye,{title:"Transfer Call",children:p(Ee,{variant:e.openCallTransferDialog?"contained":"outlined",onClick:a=>{var v,z;((z=(v=e.callData)==null?void 0:v.status)==null?void 0:z.toUpperCase())==="ONCALL"&&(a.stopPropagation(),h.setOpenCallTransferDialog(!0))},sx:e.openCallTransferDialog?l({},r):((fo=(go=e.callData)==null?void 0:go.status)==null?void 0:fo.toUpperCase())==="ONCALL"?l({},d):l({},c),disabled:((xo=(mo=e.callData)==null?void 0:mo.status)==null?void 0:xo.toUpperCase())!=="ONCALL",children:p(ya,{})})}),!((Co=e.sdkConfig)!=null&&Co.disableConferenceButton)&&p(ye,{title:"Conference Call",children:p(Ee,{variant:e.openConferenceDialog?"contained":"outlined",onClick:a=>{var v,z;((z=(v=e.callData)==null?void 0:v.status)==null?void 0:z.toUpperCase())==="ONCALL"&&(a.stopPropagation(),h.setOpenConferenceDialog(!0))},sx:e.openConferenceDialog?l({},r):((bo=(ho=e.callData)==null?void 0:ho.status)==null?void 0:bo.toUpperCase())==="ONCALL"?l({},d):l({},c),disabled:((vo=(yo=e.callData)==null?void 0:yo.status)==null?void 0:vo.toUpperCase())!=="ONCALL",children:p(da,{})})}),!((So=e.sdkConfig)!=null&&So.disableEndCallButton)&&p(ye,{title:"End Call",children:p(Ee,{variant:((Eo=(To=e.callData)==null?void 0:To.status)==null?void 0:Eo.toUpperCase())==="ONCALL"||((Lo=(Do=e.callData)==null?void 0:Do.status)==null?void 0:Lo.toUpperCase())==="RINGING"||((_o=(Io=e.callData)==null?void 0:Io.status)==null?void 0:_o.toUpperCase())==="WRAPUP"?"contained":"outlined",onClick:a=>{var v,z,ne,ie,ge,fe;(((z=(v=e.callData)==null?void 0:v.status)==null?void 0:z.toUpperCase())==="ONCALL"||((ie=(ne=e.callData)==null?void 0:ne.status)==null?void 0:ie.toUpperCase())==="RINGING"||((fe=(ge=e.callData)==null?void 0:ge.status)==null?void 0:fe.toUpperCase())==="WRAPUP")&&(a.stopPropagation(),P(!0))},sx:((ko=(Ro=e.callData)==null?void 0:Ro.status)==null?void 0:ko.toUpperCase())==="ONCALL"||((Ao=(wo=e.callData)==null?void 0:wo.status)==null?void 0:Ao.toUpperCase())==="RINGING"||((Po=(No=e.callData)==null?void 0:No.status)==null?void 0:Po.toUpperCase())==="WRAPUP"?Q(l({},r),{borderRight:"1px",backgroundColor:"error.main",minWidth:"60px !important",boxShadow:" 0px 2px 1px #5f3f3f",border:`1px solid ${o.palette.error.light}`,height:"40px","&:hover":{bgcolor:"error.light",boxShadow:" 0px 2px 1px #5f3f3f",border:`0px solid ${o.palette.error.light}`},"&:active":{bgcolor:"error.light",boxShadow:`inset 1px -2px 4px ${o.palette.primary.light}`}}):Q(l({},c),{minWidth:"60px !important"}),disabled:((Uo=(Oo=e.callData)==null?void 0:Oo.status)==null?void 0:Uo.toUpperCase())!=="ONCALL"&&((Bo=(Mo=e.callData)==null?void 0:Mo.status)==null?void 0:Bo.toUpperCase())!=="RINGING"&&(($o=(Ho=e.callData)==null?void 0:Ho.status)==null?void 0:$o.toUpperCase())!=="WRAPUP"||Ie,children:Ie?p(Be,{size:"20px",color:"error"}):p(ra,{})})})]})]})})})}),p(gs,{in:!0,timeout:300,children:ue(ms,{ref:Y,elevation:j?4:1,sx:{position:"absolute",left:U.x,top:U.y,borderRadius:2,bgcolor:"background.paper",zIndex:Number.MAX_SAFE_INTEGER,transition:o.transitions.create(["box-shadow","transform"],{duration:o.transitions.duration.short}),visibility:m&&!((zo=e.sdkConfig)!=null&&zo.disableSoftPhone)?"visible":"hidden",userSelect:"none"},children:[ue(re,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"all-scroll",padding:"0px 10px"},onMouseDown:R,onTouchStart:E,children:[p(us,{sx:{transform:"rotate(90deg)",color:"#7b7b7b"}})," ",p(nt,{onClick:()=>g(!1),children:p(ca,{})})]}),p(re,{children:p("iframe",{src:`https://${Qe}/ConVoxCCS/iframe?agent_id=${e.agentId}&process_id=${(qo=e.process)==null?void 0:qo.process_id}`,height:380,width:420,allow:"camera; microphone; autoplay",style:{border:"none"}})})]})}),p(ft,{anchorEl:C,open:!!C,onClose:je,onClick:a=>a.stopPropagation(),sx:{zIndex:99999},children:ue(re,{sx:{all:"unset",padding:"10px","&hover":{backgroundColor:"white"}},children:[p(Ta,{size:"small",value:T,placeholder:"Enter Mobile No.",onChange:a=>{S(a.target.value)}}),p(nt,{color:"info",onClick:()=>{Je(T)},children:X?p(Be,{size:"20px",sx:{color:o.palette.success.main}}):p(Ca,{color:"success"})})]})}),ue(ft,{anchorEl:i,open:!!i,onClose:Ye,onClick:a=>a.stopPropagation(),sx:{zIndex:99999},children:[p(fs,{onClick:()=>Re("Lunch"),children:"- Lunch"}),p(fs,{onClick:()=>Re("Tea"),children:"- Tea"})]}),p(ft,{anchorEl:b,open:!!b,onClose:Ke,onClick:a=>a.stopPropagation(),sx:{zIndex:99999},children:ue(re,{sx:{display:"flex",justifyContent:"flex-start",flexDirection:"column",padding:"0px 10px","&hover":{backgroundColor:"white"}},children:[p(at,{icon:p(ua,{color:"secondary"}),variant:"outlined",label:"Waiting - 25",sx:{margin:"4px 2px"}}),p(at,{icon:p(xa,{color:"info"}),label:"Pending - 99+",variant:"outlined",sx:{margin:"4px 2px"}}),p(at,{icon:p(va,{color:"success"}),variant:"outlined",label:"Upcoming - 66",sx:{margin:"4px 2px"}})]})}),!!e.openConferenceDialog&&p(ls,{}),!!e.openCallTransferDialog&&p(rs,{open:e.openCallTransferDialog}),!!N&&p(cs,{open:N,setOpen:P,onSubmitDisposition:ys}),!!H&&p(ps,{open:H,setOpen:V})]})}import{jsx as _a}from"react/jsx-runtime";var hs=({children:t})=>_a(ss,{children:t});import{jsx as bs}from"react/jsx-runtime";function Ra({onDataChange:t}){return bs(hs,{children:bs(Cs,{onDataChange:t})})}function ui({apiKey:t,tenantId:o,agentId:e,sdkConfig:n}){ct.init({apiKey:t,tenantId:o,agentId:e,baseUrl:M}).then(c=>{c?(console.log("SDK initialized successfully"),h.initialize(t,e,n)):(console.log("SDK initialization failed"),h.setInitCheck())})}export{Ra as CallControlPanel,ui as initSDK,Os as useClickToCall,Ns as useEndCall,ws as useLogout};
|
|
1
|
+
var hs=Object.defineProperty,vs=Object.defineProperties;var Es=Object.getOwnPropertyDescriptors;var Qo=Object.getOwnPropertySymbols;var Ts=Object.prototype.hasOwnProperty,Ss=Object.prototype.propertyIsEnumerable;var it=(t,o,e)=>o in t?hs(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,l=(t,o)=>{for(var e in o||(o={}))Ts.call(o,e)&&it(t,e,o[e]);if(Qo)for(var e of Qo(o))Ss.call(o,e)&&it(t,e,o[e]);return t},F=(t,o)=>vs(t,Es(o));var ie=(t,o,e)=>it(t,typeof o!="symbol"?o+"":o,e);var lt=class{constructor(){ie(this,"state");ie(this,"listeners",[]);ie(this,"STORAGE_KEY","call-control-sdk-state");this.state=this.getInitialState(),this.loadFromStorage()}getInitialState(){return{process:null,agentId:"",openConferenceDialog:!1,openCallTransferDialog:!1,isInitialized:!1,sdkConfig:{disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},isHolding:!1,isMuted:!1,status:"idle",callStartTime:null,controlPanelPosition:{x:10,y:10},iframePosition:{x:10,y:80},callData:{agent_id:"",status:"",type:"",event_time:"",phone_number:""},conferenceLine:[{line:1,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:2,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:3,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:4,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1},{line:5,status:"IDLE",type:"",phone:"",isMute:!1,isHold:!1,isCallStart:!1,isMergeCall:!1}]}}loadFromStorage(){try{let o=localStorage.getItem(this.STORAGE_KEY);if(o){let e=JSON.parse(o);this.state=F(l({},this.state),{agentId:e.agentId||"",process:e.process||null,openConferenceDialog:(e==null?void 0:e.openConferenceDialog)||!1,openCallTransferDialog:(e==null?void 0:e.openCallTransferDialog)||!1,isInitialized:e.isInitialized||!1,sdkConfig:e.sdkConfig||{disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},isHolding:e.isHolding||!1,isMuted:e.isMuted||!1,status:e.status||"idle",callStartTime:e.callStartTime||null,controlPanelPosition:e.controlPanelPosition||{x:10,y:10},iframePosition:e.iframePosition||{x:10,y:80},callData:e.callData||{mobileNumber:"",callReferenceId:"",agent_id:"",status:"",type:"",event_time:"",phone_number:""},conferenceLine:e.conferenceLine&&Array.isArray(e.conferenceLine)&&e.conferenceLine.length>0?e.conferenceLine:this.state.conferenceLine})}}catch(o){console.warn("Failed to load SDK state from localStorage:",o)}}saveToStorage(){try{let o={agentId:this.state.agentId,process:this.state.process,isInitialized:this.state.isInitialized,openConferenceDialog:this.state.openConferenceDialog,openCallTransferDialog:this.state.openCallTransferDialog,sdkConfig:this.state.sdkConfig,isHolding:this.state.isHolding,isMuted:this.state.isMuted,status:this.state.status,callStartTime:this.state.callStartTime,controlPanelPosition:this.state.controlPanelPosition,iframePosition:this.state.iframePosition,callData:this.state.callData,conferenceLine:this.state.conferenceLine};localStorage.setItem(this.STORAGE_KEY,JSON.stringify(o))}catch(o){console.warn("Failed to save SDK state to localStorage:",o)}}notifyListeners(){this.listeners.forEach(o=>o())}initialize(o,e,a){if(!o||typeof o!="string"||o.trim().length===0)throw new Error("API key not available");this.state.agentId=e,this.state.openConferenceDialog=!1,this.state.openCallTransferDialog=!1,this.state.sdkConfig=l({disableEndCallButton:!1,disabledDialButton:!1,disableCallTransferButton:!1,isDraggable:!0,disableSoftPhone:!1,disableConferenceButton:!1,disabled:{},enabled:{},outlined:{}},a),this.state.isInitialized=!0,this.saveToStorage(),this.notifyListeners()}getState(){return l({},this.state)}subscribe(o){return this.listeners.push(o),()=>{let e=this.listeners.indexOf(o);e>-1&&this.listeners.splice(e,1)}}setHolding(o){this.state.isHolding=o,this.saveToStorage(),this.notifyListeners()}setMuted(o){this.state.isMuted=o,this.saveToStorage(),this.notifyListeners()}setStatus(o){this.state.status=o,this.saveToStorage(),this.notifyListeners()}setProcess(o){this.state.process=o,this.saveToStorage(),this.notifyListeners()}setControlPanelPosition(o){this.state.controlPanelPosition=o,this.saveToStorage(),this.notifyListeners()}setIframePosition(o){this.state.iframePosition=o,this.saveToStorage(),this.notifyListeners()}startCall(){this.state.callStartTime=Date.now(),this.state.status="on call",this.saveToStorage(),this.notifyListeners()}endCall(){this.state.callStartTime=null,this.state.status="idle",this.state.isHolding=!1,this.state.isMuted=!1,this.saveToStorage(),this.notifyListeners()}setInitCheck(){this.state.isInitialized=!1,this.saveToStorage(),this.notifyListeners()}setOpenConferenceDialog(o){this.state.openConferenceDialog=o,this.saveToStorage(),this.notifyListeners()}setOpenCallTransferDialog(o){this.state.openCallTransferDialog=o,this.saveToStorage(),this.notifyListeners()}updateCallData(o){this.state.callData=l(l({},this.state.callData),o),this.saveToStorage(),this.notifyListeners()}updateConferenceData(o){this.state.conferenceLine=[...o],this.saveToStorage(),this.notifyListeners()}setConferenceLine(o){var a;(!this.state.conferenceLine||!Array.isArray(this.state.conferenceLine))&&(console.warn("Conference line data corrupted, resetting to initial state"),this.state.conferenceLine=this.getInitialState().conferenceLine);let e=(a=this.state.conferenceLine)==null?void 0:a.map(i=>i.line===o.line?o:i);this.state.conferenceLine=e,this.saveToStorage(),this.notifyListeners()}resetConferenceLines(){this.state.conferenceLine=this.getInitialState().conferenceLine,this.saveToStorage(),this.notifyListeners()}clearStorageAndReset(){try{localStorage.removeItem(this.STORAGE_KEY),this.state=this.getInitialState(),this.notifyListeners()}catch(o){console.warn("Failed to clear localStorage:",o)}}debugStorage(){try{let o=localStorage.getItem(this.STORAGE_KEY);console.log("Current localStorage data:",o),o&&console.log("Parsed localStorage data:",JSON.parse(o)),console.log("Current state:",this.state)}catch(o){console.error("Error debugging storage:",o)}}getConferenceLines(){return this.state.conferenceLine||[]}},x=new lt;var rt=class{constructor(){ie(this,"config",null);ie(this,"ticketId",null);ie(this,"baseUrl","");ie(this,"eventQueue",[]);ie(this,"isOnline",!0);ie(this,"retryQueue",[]);ie(this,"flushTimer",null)}async init(o){this.config=l({autoTrack:!0,retryAttempts:3,queueSize:100,flushInterval:5e3},o),this.baseUrl=o.baseUrl||(typeof window!="undefined"?window.location.origin:""),this.setupNetworkDetection();let e=await this.createTicket();return this.startPeriodicFlush(),console.log("EventTracker SDK initialized successfully"),e}isInitialized(){return this.config!==null&&this.ticketId!==null}getConfig(){return this.config}getTicketId(){return this.ticketId}async createTicket(){if(!this.config)throw new Error("EventTracker not initialized");try{let o=await this.makeRequest("/api/v1/et/init",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({agentId:this.config.agentId,sessionId:this.config.sessionId})});if(!o.ok)throw x.setInitCheck(),new Error(`Failed to initialize: ${o.status} ${o.statusText}`);let e=await o.json();return this.ticketId=e.ticketId,this.config.autoTrack&&this.setupAutoTracking(),this.ticketId}catch(o){throw console.error("EventTracker initialization failed:",o),o}}async logEvent(o,e){if(!this.config||!this.ticketId){console.warn("EventTracker not initialized, skipping event:",o);return}let a={eventType:o,eventData:e,timestamp:Date.now()};if(this.eventQueue.push(a),this.eventQueue.length>(this.config.queueSize||100)&&this.eventQueue.shift(),this.isOnline)try{await this.sendEvent(a)}catch(i){console.warn("Failed to send event, will retry later:",i)}}async sendEvent(o){if(!(!this.config||!this.ticketId))try{let e=await this.makeRequest("/api/v1/et/event",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({ticketId:this.ticketId,eventType:o.eventType,eventData:o.eventData})});if(!e.ok)throw new Error(`Failed to log event: ${e.status} ${e.statusText}`);let a=this.eventQueue.findIndex(i=>i.timestamp===o.timestamp);a>-1&&this.eventQueue.splice(a,1)}catch(e){console.error("Event logging failed:",e),this.retryQueue.push(()=>this.sendEvent(o))}}async closeTicket(){if(!this.config||!this.ticketId)throw new Error("EventTracker not initialized");await this.flush();try{let o=await this.makeRequest("/api/v1/et/close",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":this.config.apiKey},body:JSON.stringify({ticketId:this.ticketId})});if(!o.ok)throw new Error(`Failed to close ticket: ${o.status} ${o.statusText}`);this.ticketId=null,this.stopPeriodicFlush(),console.log("Ticket closed successfully")}catch(o){throw console.error("Ticket close failed:",o),o}}async flush(){if(!this.isOnline||this.eventQueue.length===0)return;let o=[...this.eventQueue];for(let a of o)await this.sendEvent(a);let e=[...this.retryQueue];this.retryQueue=[];for(let a of e)try{await a()}catch(i){console.error("Retry failed:",i)}}async makeRequest(o,e){var r;let a=`${this.baseUrl}${o}`,i=((r=this.config)==null?void 0:r.retryAttempts)||3;for(let c=1;c<=i;c++)try{return await fetch(a,e)}catch(m){if(c===i)throw m;let b=Math.min(1e3*Math.pow(2,c-1),1e4);await new Promise(f=>setTimeout(f,b))}throw new Error("Max retries exceeded")}setupAutoTracking(){var a;if(typeof window=="undefined"||!((a=this.config)!=null&&a.autoTrack))return;let o=this.config.autoTrack===!0?{}:this.config.autoTrack;if(o.pageVisits!==!1&&this.logEvent("pageVisit",{url:window.location.href,title:document.title,referrer:document.referrer,userAgent:navigator.userAgent,viewport:{width:window.innerWidth,height:window.innerHeight},timestamp:new Date().toISOString()}).catch(i=>console.warn("Failed to track page visit:",i)),o.clicks!==!1&&document.addEventListener("click",i=>{var c;let r=i.target;(r.tagName==="BUTTON"||r.tagName==="A"||r.onclick||r.getAttribute("role")==="button"||r instanceof HTMLButtonElement&&r.type==="button")&&this.logEvent("click",{element:r.tagName,text:(c=r.textContent)==null?void 0:c.trim().substring(0,100),href:r.getAttribute("href"),id:r.id,className:r.className,role:r.getAttribute("role"),position:{x:i.clientX,y:i.clientY},timestamp:new Date().toISOString()}).catch(m=>console.warn("Failed to track click:",m))}),o.forms!==!1&&document.addEventListener("submit",i=>{let r=i.target,c=new FormData(r),m={};c.forEach((b,f)=>{m[f]=b.toString()}),this.logEvent("formSubmission",{formId:r.id,action:r.action,method:r.method,fields:Object.keys(m),fieldCount:Object.keys(m).length,timestamp:new Date().toISOString()}).catch(b=>console.warn("Failed to track form submission:",b))}),o.inputs!==!1){let i;document.addEventListener("input",r=>{let c=r.target;(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.tagName==="SELECT")&&(clearTimeout(i),i=setTimeout(()=>{var m;this.logEvent("fieldChange",{element:c.tagName,type:c.getAttribute("type"),name:c.getAttribute("name"),id:c.id,valueLength:((m=c.value)==null?void 0:m.length)||0,timestamp:new Date().toISOString()}).catch(b=>console.warn("Failed to track field change:",b))},1e3))})}let e=Date.now();window.addEventListener("beforeunload",()=>{let i=Date.now()-e;this.logEvent("pageUnload",{url:window.location.href,sessionDuration:i,timestamp:new Date().toISOString()}),this.ticketId&&navigator.sendBeacon(`${this.baseUrl}/api/v1/et/close`,JSON.stringify({ticketId:this.ticketId}))}),o.visibility!==!1&&document.addEventListener("visibilitychange",()=>{this.logEvent("visibilityChange",{hidden:document.hidden,visibilityState:document.visibilityState,timestamp:new Date().toISOString()})}),o.errors!==!1&&(window.addEventListener("error",i=>{this.logEvent("jsError",{message:i.message,filename:i.filename,lineno:i.lineno,colno:i.colno,timestamp:new Date().toISOString()})}),window.addEventListener("unhandledrejection",i=>{var r;this.logEvent("unhandledRejection",{reason:(r=i.reason)==null?void 0:r.toString(),timestamp:new Date().toISOString()})})),o.performance!==!1&&typeof window.performance!="undefined"&&window.performance.navigation&&window.addEventListener("load",()=>{setTimeout(()=>{let i=window.performance.navigation,r=window.performance.timing;this.logEvent("performanceMetrics",{navigationTime:r.navigationStart,loadTime:r.loadEventEnd-r.navigationStart,domReady:r.domContentLoadedEventEnd-r.navigationStart,renderTime:r.loadEventEnd-r.domContentLoadedEventEnd,navigationType:i.type,redirectCount:i.redirectCount,timestamp:new Date().toISOString()})},1e3)})}setupNetworkDetection(){typeof window!="undefined"&&(this.isOnline=navigator.onLine,window.addEventListener("online",()=>{this.isOnline=!0,console.log("EventTracker: Back online, flushing queued events"),this.flush()}),window.addEventListener("offline",()=>{this.isOnline=!1,console.log("EventTracker: Offline, queueing events")}))}startPeriodicFlush(){var e;this.flushTimer&&clearInterval(this.flushTimer);let o=((e=this.config)==null?void 0:e.flushInterval)||5e3;this.flushTimer=setInterval(()=>{this.flush()},o)}stopPeriodicFlush(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null)}},ct=new rt;typeof window!="undefined"&&(window.EventTracker=ct);import{useCallback as Ns,useState as Ne}from"react";var Qe="10.10.102.42",H=`http://${Qe}:8095`,Ds=`ws://${Qe}:8095`,K={v1:"/api/v1"},I={LOGIN:`${H}${K.v1}/cti/login?provider=convox`,READY_AGENT:`${H}${K.v1}/cti/ready-agent?provider=convox`,UPDATE_AGENT_BREAK:`${H}${K.v1}/cti/update-agent-status?provider=convox`,CLICK_TO_CALL:`${H}${K.v1}/cti/calls?provider=convox`,HOLD_CALL:`${H}${K.v1}/cti/calls/hold?provider=convox`,MUTE_CALL:`${H}${K.v1}/cti/calls/mute?provider=convox`,UNMUTE_CALL:`${H}${K.v1}/cti/unmute-call?provider=convox`,END_CALL:`${H}${K.v1}/cti/calls/end?provider=convox`,LOGOUT:`${H}${K.v1}/cti/logout?provider=convox`,CONFERENCE_CALL:`${H}${K.v1}/cti/calls/conference?provider=convox`,CONFERENCE_CALL_HOLD_OR_UN_HOLD:`${H}${K.v1}/cti/calls/conference/hold?provider=convox`,CONFERENCE_CALL_MUTE_OT_UN_MUTE:`${H}${K.v1}/cti/calls/conference/mute?provider=convox`,CONFERENCE_CALL_END:`${H}${K.v1}/cti/calls/conference/hangup?provider=convox`,CONFERENCE_CALL_END_ALL:`${H}${K.v1}/cti/calls/conference/hangup/all?provider=convox`,TRANSFER_CALL:`${H}${K.v1}/cti/calls/transfer?provider=convox`,AGENTS_LIST:`${H}${K.v1}/cti/users`,PROCESS_LIST:`${H}${K.v1}/cti/processes-list`,TRANSFER_TO_DETAILS:`${H}${K.v1}/cti/transfer-to-details?provider=convox`,CALL_HISTORY:`${H}${K.v1}/dashboard/call-history`,SENTIMENTAL_ANALYSIS:`${H}${K.v1}/users/get_sentiment_analysis`},Zo={WS:`${Ds}${K.v1}/cti/ws`};import Ls from"axios";var Is="12345",_s=6e4;function Rs(){return Is}function ws(){let t=Ls.create({baseURL:H,headers:{"Content-Type":"application/json",Accept:"application/json"},timeout:_s,withCredentials:!1});return t.interceptors.request.use(o=>{let e=Rs();return e&&o.headers&&(o.headers.Authorization=`Bearer ${e}`),o.metadata={startTime:new Date().getTime()},o},o=>(console.error("Request interceptor error:",o),Promise.reject(o))),t.interceptors.response.use(o=>{var i;let e=new Date().getTime(),a=(i=o.config.metadata)==null?void 0:i.startTime;return a&&console.log(`Request to ${o.config.url} took ${e-a}ms`),o},async o=>{var a;let e=o.config;return((a=o.response)==null?void 0:a.status)===401&&!e._retry&&(e._retry=!0,console.warn("Unauthorized request, attempting retry...")),o.response||(console.error("Network error:",o.message),o.message="Network error: Please check your internet connection"),o.response&&o.response.status>=500&&(console.error("Server error:",o.response.status,o.response.data),o.message="Server error: Please try again later"),Promise.reject(o)}),t}var ks=ws(),Z=ks;var As=()=>{let[t,o]=Ne(!1),[e,a]=Ne(!1),[i,r]=Ne(!1),[c,m]=Ne(null),[b,f]=Ne(null);return{logout:Ns(async()=>{var C;let p=JSON.parse((C=localStorage.getItem("call-control-sdk-state"))!=null?C:"");o(!0);let u={action:"LOGOUTUSER",userId:p.agentId||""};return Z.post(I.LOGOUT,u).then(g=>(x.clearStorageAndReset(),localStorage.clear(),sessionStorage.clear(),f(g==null?void 0:g.data),a(!0),g==null?void 0:g.data)).catch(g=>{var h;return r(!0),m(g),(h=g==null?void 0:g.response)==null?void 0:h.data}).finally(()=>{o(!1)})},[]),isLoading:t,isSuccess:e,isError:i,error:c,data:b}};import{useCallback as Ps,useState as Ae}from"react";var Os=()=>{let[t,o]=Ae(!1),[e,a]=Ae(!1),[i,r]=Ae(!1),[c,m]=Ae(null),[b,f]=Ae(null);return{handleEndCall:Ps(async p=>{var g,h,R,O,M,A,$,Q,q,w,v,T,ee,oe,L;let u=JSON.parse((g=localStorage.getItem("call-control-sdk-state"))!=null?g:"");o(!0);let C={action:"ENDCALL",userId:u==null?void 0:u.agentId,processid:(O=(R=(h=u==null?void 0:u.process)==null?void 0:h.process_id)==null?void 0:R.toString())!=null?O:"",process_name:(A=(M=u==null?void 0:u.process)==null?void 0:M.process_name)!=null?A:"",callreferenceid:(Q=($=u==null?void 0:u.callData)==null?void 0:$.convox_id)!=null?Q:"",mobile_number:(w=(q=u==null?void 0:u.callData)==null?void 0:q.phone_number)!=null?w:"",disposition:(v=p==null?void 0:p.disposition)!=null?v:"RES",set_followUp:(T=p==null?void 0:p.followUp)!=null?T:"N",callback_date:(ee=p==null?void 0:p.callbackDate)!=null?ee:"",callback_hrs:(oe=p==null?void 0:p.callbackHrs)!=null?oe:"",callback_mins:(L=p==null?void 0:p.callbackMins)!=null?L:"",endcall_type:"CLOSE"};return Z.post(I.END_CALL,C).then(E=>(x.endCall(),f(E==null?void 0:E.data),a(!0),E==null?void 0:E.data)).catch(E=>{var k;return r(!0),m(E),(k=E==null?void 0:E.response)==null?void 0:k.data}).finally(()=>{o(!1)})},[]),isLoading:t,isSuccess:e,isError:i,error:c,data:b}};import{useCallback as Us,useState as Pe}from"react";var Ms=()=>{let[t,o]=Pe(!1),[e,a]=Pe(!1),[i,r]=Pe(!1),[c,m]=Pe(null),[b,f]=Pe(null);return{handleStartCall:Us(async p=>{var C,g,h,R,O,M,A,$,Q;let u=JSON.parse((C=localStorage.getItem("call-control-sdk-state"))!=null?C:"");if(o(!0),((g=u==null?void 0:u.callData)==null?void 0:g.status)==="IDLE"){let q={action:"CALL",userId:u==null?void 0:u.agentId,phone_number:p==null?void 0:p.mobileNumber};return Z.post(I.CLICK_TO_CALL,q).then(w=>(f(w==null?void 0:w.data),a(!0),w==null?void 0:w.data)).catch(w=>{var v;return r(!0),m(w),(v=w==null?void 0:w.response)==null?void 0:v.data}).finally(()=>{o(!1)})}else if(((h=u==null?void 0:u.callData)==null?void 0:h.status)==="ONCALL"){let q=(O=(R=u==null?void 0:u.conferenceLine)==null?void 0:R.filter(v=>v.line!==1))==null?void 0:O.find(v=>v.status==="IDLE"&&!(v!=null&&v.isCallStart)),w={action:"EXTERNAL_CONFERENCE",operation:`CALL${q.line}`,line_used:String(q.line),thirdparty_no:p==null?void 0:p.mobileNumber,userid:(A=(M=u.callData)==null?void 0:M.agent_id)!=null?A:"",process:(Q=($=u.callData)==null?void 0:$.process_name)!=null?Q:""};return Z.post(I.CONFERENCE_CALL,w).then(v=>(f(v==null?void 0:v.data),a(!0),x.setConferenceLine(F(l({},q),{isCallStart:!0,status:"ONCALL",phone:p==null?void 0:p.mobileNumber})),x.setOpenConferenceDialog(!0),v==null?void 0:v.data)).catch(v=>{var T;return r(!0),m(v),(T=v==null?void 0:v.response)==null?void 0:T.data}).finally(()=>{o(!1)})}else alert("Agent is not ready")},[]),isLoading:t,isSuccess:e,isError:i,error:c,data:b}};import{memo as On,useCallback as Un}from"react";import{CallEnd as pn,Close as un,DragIndicator as us,Group as gn,KeyboardArrowDown as fn,Layers as mn,Mic as xn,MicOff as Cn,Pause as yn,Pending as bn,Phone as hn,PlayArrow as vn,SupportAgent as En,TransferWithinAStation as Tn,Upcoming as Sn,WifiCalling3 as Dn}from"@mui/icons-material";import{Box as re,Button as Se,Chip as nt,CircularProgress as Be,Fade as gs,IconButton as at,Menu as gt,MenuItem as fs,Paper as ms,TextField as Ln,Tooltip as he,Typography as xs,useTheme as In}from"@mui/material";import{useCallback as _n,useEffect as He,useRef as Rn,useState as ue}from"react";import{useCallback as Ze,useRef as dt,useState as es}from"react";function pt(t,o){let[e,a]=es(t),[i,r]=es(!1),c=dt(),m=dt({x:0,y:0}),b=dt({x:0,y:0}),f=Ze(C=>{let g=c.current;if(!g)return;let h=g.getBoundingClientRect(),R=window.innerWidth,O=window.innerHeight,M={x:Math.max(0,Math.min(C.x,R-h.width)),y:Math.max(0,Math.min(C.y,O-h.height))};a(M),o==null||o(M)},[o]),N=Ze((C,g)=>{r(!0),m.current={x:C,y:g},b.current=e;let h=(A,$)=>{let Q=A-m.current.x,q=$-m.current.y;f({x:b.current.x+Q,y:b.current.y+q})},R=A=>{A.preventDefault(),h(A.clientX,A.clientY)},O=A=>{A.preventDefault();let $=A.touches[0];$&&h($.clientX,$.clientY)},M=()=>{r(!1),document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",M),document.removeEventListener("touchmove",O),document.removeEventListener("touchend",M)};document.addEventListener("mousemove",R),document.addEventListener("mouseup",M),document.addEventListener("touchmove",O,{passive:!1}),document.addEventListener("touchend",M)},[e,f]),p=Ze(C=>{C.preventDefault(),N(C.clientX,C.clientY)},[N]),u=Ze(C=>{C.preventDefault();let g=C.touches[0];g&&N(g.clientX,g.clientY)},[N]);return{position:e,isDragging:i,dragRef:c,handleMouseDown:p,handleTouchStart:u}}import{useState as Bs,useEffect as Hs}from"react";function ve(){let[t,o]=Bs(x.getState());return Hs(()=>x.subscribe(()=>{o(x.getState())}),[]),t}import{useCallback as Ws,useReducer as Gs}from"react";import{createContext as $s,useContext as zs,useState as ut}from"react";import{Snackbar as qs,Alert as Fs}from"@mui/material";import{jsx as ts,jsxs as Ks}from"react/jsx-runtime";var os=$s(void 0),be=()=>{let t=zs(os);if(!t)throw new Error("useToast must be used inside ToastProvider");return t},ss=({children:t})=>{let[o,e]=ut(!1),[a,i]=ut(""),[r,c]=ut("info"),m=(b,f="info")=>{i(b),c(f),e(!0)};return Ks(os.Provider,{value:{showToast:m},children:[t,ts(qs,{open:o,color:r,autoHideDuration:3e3,onClose:()=>e(!1),anchorOrigin:{vertical:"top",horizontal:"right"},children:ts(Fs,{variant:"filled",severity:r,onClose:()=>e(!1),sx:{width:"100%"},children:a})})]})};var js={isLoading:!1,isSuccess:!1,isError:!1,error:null,data:null},Ys=(t,o)=>{if(o.type==="isLoading")return F(l({},t),{isLoading:o.payload});if(o.type==="isSuccess")return F(l({},t),{isSuccess:!0,data:o.payload});if(o.type==="isError")return F(l({},t),{isError:!0,error:o.payload});if(o.type==="reset")return{isLoading:!1,isSuccess:!1,isError:!1,error:null,data:null};throw Error("Unknown action.")};var le=(t={})=>{let{onSuccess:o=null,onError:e=null,disabledSuccessToast:a=!1}=t,{showToast:i}=be(),[r,c]=Gs(Ys,js);return[Ws((b,f,N={})=>{c({type:"isLoading",payload:!0}),Z.post(b,f,N).then(p=>{var u,C;c({type:"isSuccess",payload:p.data}),o==null||o(p.data,f),console.log((u=p.data)==null?void 0:u.message,"res45"),a||i((C=p.data)==null?void 0:C.message,"success")}).catch(p=>{var C,g,h,R,O,M,A,$,Q,q,w,v;let u={status:(g=(C=p.response)==null?void 0:C.status)!=null?g:500,message:((R=(h=p.response)==null?void 0:h.data)==null?void 0:R.detail)||((M=(O=p.response)==null?void 0:O.data)==null?void 0:M.message)||p.message||"An unknown error occurred",data:($=(A=p.response)==null?void 0:A.data)!=null?$:null,statusText:(q=(Q=p.response)==null?void 0:Q.statusText)!=null?q:"",code:(w=p==null?void 0:p.code)!=null?w:"",name:(v=p==null?void 0:p.name)!=null?v:""};i(u.message,"error"),c({type:"isError",payload:u}),e==null||e(u,f)}).finally(()=>{c({type:"isLoading",payload:!1})})},[o,e,i]),r]};import{Call as tt,CallEnd as ns,CallSplit as Vs,Close as st,Mic as Qs,MicOff as Zs,Pause as en,PhoneDisabled as tn,PlayArrow as on,SupportAgent as ot}from"@mui/icons-material";import{Box as P,Button as ae,Dialog as Ue,IconButton as Ce,Paper as Te,TextField as Ee,Typography as te,Autocomplete as as,Tooltip as Oe,useTheme as sn,TableContainer as nn,Table as an,TableHead as ln,TableRow as is,TableCell as pe,TableBody as rn,CircularProgress as me}from"@mui/material";import{useEffect as cn,useState as xe}from"react";import{useTheme as Xs}from"@mui/material";var Js=({disabled:t,enabled:o,outlined:e})=>{let a=Xs();return{disabled:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",border:"1px solid rgb(206, 204, 204)",height:"40px","&:hover":{boxShadow:" 0px 2px 2px rgba(0, 0, 0, 0.79)",border:`1px solid ${a.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${a.palette.primary.light}`}},t),enabled:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",boxShadow:" 0px 2px 1px rgba(0, 0, 0, 0.507)",border:`1px solid ${a.palette.primary.main}`,height:"40px","&:hover":{boxShadow:" 0px 2px 1px rgba(0, 0, 0, 0.507)",border:`1px solid ${a.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${a.palette.primary.light}`}},o),outlined:l({padding:"0px",margin:"0px",minWidth:"40px !important",borderRadius:"16px",backgroundColor:a.palette.grey[200],boxShadow:`0px 2px 1px ${a.palette.primary.light}`,border:`0px solid ${a.palette.primary.main}`,height:"40px","&:hover":{boxShadow:`0px 2px 1px ${a.palette.primary.main}`,border:`0px solid ${a.palette.primary.main}`},"&:active":{bgcolor:"primary.main",boxShadow:`inset 1px -2px 4px ${a.palette.primary.light}`}},e)}},et=Js;import{Fragment as Me,jsx as s,jsxs as S}from"react/jsx-runtime";var dn=({each:t})=>{var w,v,T,ee,oe;let o=ve(),{showToast:e}=be(),{disabled:a,enabled:i,outlined:r}=et({disabled:((w=o.sdkConfig)==null?void 0:w.disabled)||{},enabled:((v=o.sdkConfig)==null?void 0:v.enabled)||{},outlined:((T=o.sdkConfig)==null?void 0:T.outlined)||{}}),c=sn(),[m,b]=xe(!1),[f,N]=xe(!1),[p,u]=xe(!1),[C,g]=xe(!1),[h,R]=xe(!1),O=(L,E)=>{x.setConferenceLine(l(l({},L),E))},M=(L,E)=>{var G,B,Y,X;let k=l(l({},L),E);b(!0);let W={action:"EXTERNAL_CONFERENCE",operation:`CALL${k.line}`,line_used:String(k.line),thirdparty_no:k.phone,userid:(B=(G=o.callData)==null?void 0:G.agent_id)!=null?B:"",process:(X=(Y=o.callData)==null?void 0:Y.process_name)!=null?X:""};Z.post(I.CONFERENCE_CALL,W).then(_=>{var D;e((D=_.data)==null?void 0:D.message,"success"),x.setConferenceLine(l(l({},L),E))}).catch(_=>{var z,J,V,j;let D=((J=(z=_.response)==null?void 0:z.data)==null?void 0:J.detail)||((j=(V=_.response)==null?void 0:V.data)==null?void 0:j.message)||_.message||"An unknown error occurred";e(D,"error")}).finally(()=>{b(!1)})},A=(L,E)=>{var G,B,Y,X;let k=l(l({},L),E);N(!0);let W={action:"EXTERNAL_CONFERENCE",operation:"CONFERENCE",line_used:String(k.line),thirdparty_no:k.phone,userid:(B=(G=o.callData)==null?void 0:G.agent_id)!=null?B:"",process:(X=(Y=o.callData)==null?void 0:Y.process_name)!=null?X:""};Z.post(I.CONFERENCE_CALL,W).then(_=>{var D;e((D=_.data)==null?void 0:D.message,"success"),x.setConferenceLine(l(l({},L),E))}).catch(_=>{var z,J,V,j;let D=((J=(z=_.response)==null?void 0:z.data)==null?void 0:J.detail)||((j=(V=_.response)==null?void 0:V.data)==null?void 0:j.message)||_.message||"An unknown error occurred";e(D,"error")}).finally(()=>{N(!1)})},$=(L,E,k)=>{var B,Y,X,_;let W=l(l({},L),E);u(!0);let G={action:"EXTERNAL_CONFERENCE",operation:k,hold_channel_no:k==="HOLDUSER"?`hold${W.line}`:`unhold${W.line}`,userid:(Y=(B=o.callData)==null?void 0:B.agent_id)!=null?Y:"",process:(_=(X=o.callData)==null?void 0:X.process_name)!=null?_:""};Z.post(I.CONFERENCE_CALL_HOLD_OR_UN_HOLD,G).then(D=>{var z;e((z=D.data)==null?void 0:z.message,"success"),x.setConferenceLine(l(l({},L),E))}).catch(D=>{var J,V,j,ce;let z=((V=(J=D.response)==null?void 0:J.data)==null?void 0:V.detail)||((ce=(j=D.response)==null?void 0:j.data)==null?void 0:ce.message)||D.message||"An unknown error occurred";e(z,"error")}).finally(()=>{u(!1)})},Q=(L,E,k)=>{var B,Y,X,_;let W=l(l({},L),E);g(!0);let G={action:"EXTERNAL_CONFERENCE",operation:k,channel_no:k==="MUTEUSER"?`mute${W.line}`:`play${W.line}`,userid:(Y=(B=o.callData)==null?void 0:B.agent_id)!=null?Y:"",thirdparty_no:W.phone,process:(_=(X=o.callData)==null?void 0:X.process_name)!=null?_:""};Z.post(I.CONFERENCE_CALL_MUTE_OT_UN_MUTE,G).then(D=>{var z;e((z=D.data)==null?void 0:z.message,"success"),x.setConferenceLine(l(l({},L),E))}).catch(D=>{var J,V,j,ce;let z=((V=(J=D.response)==null?void 0:J.data)==null?void 0:V.detail)||((ce=(j=D.response)==null?void 0:j.data)==null?void 0:ce.message)||D.message||"An unknown error occurred";e(z,"error")}).finally(()=>{g(!1)})},q=(L,E)=>{var G,B,Y,X;let k=l(l({},L),E);R(!0);let W={action:"EXTERNAL_CONFERENCE",operation:"HANGUP_CHANNEL",line_used:String(k.line-1),user_type:`THIRDPARTY${k.line-1}`,thirdparty_no:k.phone,userid:(B=(G=o.callData)==null?void 0:G.agent_id)!=null?B:"",process:(X=(Y=o.callData)==null?void 0:Y.process_name)!=null?X:""};Z.post(I.CONFERENCE_CALL_END,W).then(_=>{var D;e((D=_.data)==null?void 0:D.message,"success"),x.setConferenceLine(l(l({},L),E))}).catch(_=>{var z,J,V,j;let D=((J=(z=_.response)==null?void 0:z.data)==null?void 0:J.detail)||((j=(V=_.response)==null?void 0:V.data)==null?void 0:j.message)||_.message||"An unknown error occurred";e(D,"error")}).finally(()=>{R(!1)})};return S(is,{sx:{border:"2px solid #fff"},children:[s(pe,{sx:{padding:"6px"},children:S(te,{children:["Line ",(ee=t==null?void 0:t.line)!=null?ee:"",". "]})}),s(pe,{sx:{padding:"6px"},children:s(te,{variant:"body2",sx:{px:1,borderRadius:"10px"},children:(oe=t==null?void 0:t.status)!=null?oe:""})}),s(pe,{sx:{padding:"6px"},children:s(ae,{sx:{textTransform:"capitalize"},size:"small",children:s(te,{variant:"body2",children:(t==null?void 0:t.line)===1?"Internal":"External"})})}),s(pe,{sx:{padding:"6px"},children:s(Ee,{size:"small",placeholder:"Phone Number",fullWidth:!0,value:(t==null?void 0:t.phone)||"",disabled:(t==null?void 0:t.line)===1||(t==null?void 0:t.status)==="LINE USED",onChange:L=>{O(t,{phone:L.target.value})}})}),s(pe,{sx:{padding:"6px"},children:S(P,{sx:{display:"flex",alignItems:"center",justifyContent:"space-around"},children:[t.line!==1&&s(Oe,{title:"Call",children:s(ae,{variant:(t==null?void 0:t.status)!=="IDLE"?"outlined":"contained",color:"success",sx:(t==null?void 0:t.status)!=="IDLE"?l({},a):F(l({},i),{border:`0px solid ${c.palette.success.light}`,"&:hover":{bgcolor:"success.light",boxShadow:`0px 2px 1px ${c.palette.success.light}`,border:`0px solid ${c.palette.success.light}`},"&:active":{bgcolor:"success.light",boxShadow:`inset 1px -2px 4px ${c.palette.primary.light}`}}),onClick:()=>{M(t,{})},disabled:(t==null?void 0:t.status)!=="IDLE",children:m?s(me,{size:"20px",color:"success"}):s(tt,{sx:{color:(t==null?void 0:t.status)!=="IDLE"?"default":"#f3f2f2"}})})}),t.line===1&&s(Oe,{title:"Merge Call",children:S(ae,{variant:t!=null&&t.isMergeCall&&(t==null?void 0:t.status)==="ONCALL"?"contained":"outlined",sx:t!=null&&t.isMergeCall&&(t==null?void 0:t.status)==="ONCALL"?F(l({},a),{padding:"0px 16px"}):(t==null?void 0:t.status)==="ONCALL"?F(l({},r),{padding:"0px 16px"}):F(l({},a),{padding:"0px 16px"}),onClick:()=>{A(t,{isMergeCall:!0})},disabled:(t==null?void 0:t.status)!=="ONCALL"||f,children:[t!=null&&t.isMergeCall?"Merged":"Merge",f?s(me,{size:"20px"}):s(Vs,{})]})}),s(Oe,{title:t.isHold?"Hold":"Un Hold",children:s(ae,{variant:t!=null&&t.isHold?"contained":"outlined",sx:t!=null&&t.isHold&&(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"?l({},a):(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"?l({},r):l({},a),onClick:()=>{t.isHold?$(t,{isHold:!1},"UNHOLDUSER"):$(t,{isHold:!0},"HOLDUSER")},disabled:(t==null?void 0:t.status)!=="ONCALL"&&(t==null?void 0:t.status)!=="CONFERENCE"||p,children:p?s(me,{size:"20px",sx:{color:c.palette.primary.main}}):t.isHold?s(on,{}):s(en,{})})}),s(Oe,{title:t.isMute?"Mute":"Un Mute",children:s(ae,{variant:t!=null&&t.isMute?"contained":"outlined",sx:t!=null&&t.isMute&&(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"?l({},a):(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"?l({},r):l({},a),onClick:()=>{t.isMute?Q(t,{isMute:!1},"PLAYUSER"):Q(t,{isMute:!0},"MUTEUSER")},disabled:(t==null?void 0:t.status)!=="ONCALL"&&(t==null?void 0:t.status)!=="CONFERENCE"||C,children:C?s(me,{size:"20px",sx:{color:c.palette.primary.main}}):t.isMute?s(Zs,{}):s(Qs,{})})}),(t==null?void 0:t.line)!==1?s(Oe,{title:"End Call",children:s(ae,{variant:(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"||(t==null?void 0:t.status)==="DIALING"?"contained":"outlined",color:"error",sx:(t==null?void 0:t.status)==="ONCALL"||(t==null?void 0:t.status)==="CONFERENCE"||(t==null?void 0:t.status)==="DIALING"?F(l({},i),{border:`0px solid ${c.palette.error.light}`,"&:hover":{bgcolor:"error.light",boxShadow:`0px 2px 1px ${c.palette.error.light}`,border:`0px solid ${c.palette.error.light}`},"&:active":{bgcolor:"error.light",boxShadow:`inset 1px -2px 4px ${c.palette.primary.light}`}}):l({},a),onClick:()=>{q(t,{isCallStart:!1,isMergeCall:!1,isMute:!1,isHold:!1})},disabled:(t==null?void 0:t.status)!=="ONCALL"&&(t==null?void 0:t.status)!=="CONFERENCE"&&(t==null?void 0:t.status)!=="DIALING"||h,children:h?s(me,{size:"20px",color:"error"}):s(ns,{})})}):s(ae,{variant:t!=null&&t.isCallStart?"contained":"outlined",color:"error",sx:{display:"none"},onClick:()=>{q(t,{isCallStart:!1,isMergeCall:!1,isMute:!1,isHold:!1})},disabled:!(t!=null&&t.isCallStart)||h,children:h?s(me,{size:"20px",color:"error"}):s(ns,{})})]})})]},t.line)};function ls(){var c;let t=ve(),{showToast:o}=be(),[e,a]=xe(!1),i=()=>{x.setOpenConferenceDialog(!1)},r=()=>{var b,f,N,p;a(!0);let m={action:"EXTERNAL_CONFERENCE",operation:"ENDCONFERENCE",userid:(f=(b=t.callData)==null?void 0:b.agent_id)!=null?f:"",process:(p=(N=t.callData)==null?void 0:N.process_name)!=null?p:""};Z.post(I.CONFERENCE_CALL_END_ALL,m).then(u=>{var C;o((C=u.data)==null?void 0:C.message,"success"),x.resetConferenceLines(),i()}).catch(u=>{var g,h,R,O;let C=((h=(g=u.response)==null?void 0:g.data)==null?void 0:h.detail)||((O=(R=u.response)==null?void 0:R.data)==null?void 0:O.message)||u.message||"An unknown error occurred";o(C,"error")}).finally(()=>{a(!1)})};return s(Me,{children:s(Ue,{open:t.openConferenceDialog,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:S(Te,{sx:{borderRadius:2},children:[S(P,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 16px"},children:[S(te,{variant:"body1",children:[(c=t==null?void 0:t.agentId)!=null?c:""," conference"]}),s(Ce,{onClick:i,children:s(st,{})})]}),s(P,{sx:{boxShadow:"1px 1px 2px #e7e5e5ff",margin:"0px 15px",borderRadius:"20px"},children:s(nn,{component:Te,sx:{outline:"0px solid gray !important",boxShadow:"1px 1px 6px #e7e5e5ff"},children:S(an,{sx:{border:"4px solid #ffffff !important"},children:[s(ln,{children:S(is,{sx:{border:"2px solid #f3f3f3ff !important"},children:[s(pe,{sx:{padding:"6px"},children:"Line"}),s(pe,{sx:{padding:"6px"},children:"Status"}),s(pe,{sx:{padding:"6px"},children:"Call Type"}),s(pe,{sx:{padding:"6px"},children:"Mobile Number"}),s(pe,{sx:{padding:"6px"},children:"Call Actions"})]})}),s(rn,{children:t==null?void 0:t.conferenceLine.map(m=>s(dn,{each:m}))})]})})}),s(P,{textAlign:"center",m:2,children:S(ae,{variant:"outlined",color:"error",size:"large",onClick:r,disabled:e,sx:{px:2,borderRadius:"20px",textTransform:"capitalize"},children:[e?s(me,{size:"20px",color:"error",sx:{marginRight:"8px"}}):s(Ce,{sx:{bgcolor:"error.main","&:hover":{bgcolor:"error.dark"},marginRight:"8px",width:"28px",height:"28px",fontSize:"12px",fontWeight:"600",lineHeight:"16px",letterSpacing:"0.02em",textTransform:"capitalize",color:"white",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%"},children:s(tn,{sx:{color:"white",fontSize:"16px",fontWeight:"600"}})}),"End Conference"]})})]})})})}function rs({open:t}){var C,g,h,R,O,M,A,$,Q,q,w,v;let o=ve(),[e]=le({onSuccess:()=>{x.setOpenCallTransferDialog(!1)}}),[a,i]=xe("process"),[r,{data:c,isLoading:m}]=le({disabledSuccessToast:!0}),[b,{data:f,isLoading:N}]=le({disabledSuccessToast:!0}),p=()=>{x.setOpenCallTransferDialog(!1)},u=(T,ee)=>{var oe,L,E,k,W,G,B,Y,X,_,D,z,J,V,j,ce,De,$e,Le,ze,qe,Fe,Ie,Ke,We,Ge,_e,je,Ye,Re,Xe,Je,Ve;if(console.log(T,"data34"),ee==="PROCESS"){let ye={mobile_number:(L=(oe=o.callData)==null?void 0:oe.phone_number)!=null?L:"",userid:(k=(E=o.callData)==null?void 0:E.agent_id)!=null?k:"",type:"PROCESS",transfer_to:(W=T==null?void 0:T.process_name)!=null?W:"",callreferenceid:(B=(G=o.callData)==null?void 0:G.convox_id)!=null?B:"",processid:String((X=(Y=o.callData)==null?void 0:Y.process_id)!=null?X:""),process_name:(D=(_=o.callData)==null?void 0:_.process_name)!=null?D:""};e(I.TRANSFER_CALL,ye)}else if(ee==="QUEUE"){let ye={mobile_number:(J=(z=o.callData)==null?void 0:z.phone_number)!=null?J:"",userid:(j=(V=o.callData)==null?void 0:V.agent_id)!=null?j:"",type:"QUEUE",transfer_to:(ce=T==null?void 0:T.queue_name)!=null?ce:"",callreferenceid:($e=(De=o.callData)==null?void 0:De.convox_id)!=null?$e:"",processid:String((ze=(Le=o.callData)==null?void 0:Le.process_id)!=null?ze:""),process_name:(Fe=(qe=o.callData)==null?void 0:qe.process_name)!=null?Fe:""};e(I.TRANSFER_CALL,ye)}else if(ee==="AGENT"){let ye={mobile_number:(Ke=(Ie=o.callData)==null?void 0:Ie.phone_number)!=null?Ke:"",userid:(Ge=(We=o.callData)==null?void 0:We.agent_id)!=null?Ge:"",type:"AGENT",transfer_to:(_e=T==null?void 0:T.user_id)!=null?_e:"",callreferenceid:(Ye=(je=o.callData)==null?void 0:je.convox_id)!=null?Ye:"",processid:String((Xe=(Re=o.callData)==null?void 0:Re.process_id)!=null?Xe:""),process_name:(Ve=(Je=o.callData)==null?void 0:Je.process_name)!=null?Ve:""};e(I.TRANSFER_CALL,ye)}};return cn(()=>{r(I.AGENTS_LIST,{status:"IDLE",active:!0}),b(I.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},[]),s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:S(Te,{sx:{borderRadius:2},children:[S(P,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Call Transfer"}),s(Ce,{onClick:p,children:s(st,{})})]}),S(P,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px 10px",margin:"10px",borderRadius:"10px"},children:[S(P,{sx:{display:"flex",gap:1},children:[s(ae,{variant:a==="process"?"contained":"outlined",onClick:()=>{i("process"),b(I.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},children:"Process"}),s(ae,{variant:a==="queues"?"contained":"outlined",onClick:()=>{i("queues"),b(I.TRANSFER_TO_DETAILS,{status:"ACTIVE",active:!0})},children:"Queues"}),s(ae,{variant:a==="agents"?"contained":"outlined",onClick:()=>{i("agents"),r(I.AGENTS_LIST,{status:"IDLE",active:!0})},children:"Agents"})]}),(N||m)&&S(P,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"80px"},children:[s(me,{})," "]}),!N&&!m&&a==="process"&&s(P,{sx:{display:"flex",gap:1},children:(C=f==null?void 0:f.data)!=null&&C.process&&((h=(g=f==null?void 0:f.data)==null?void 0:g.process)==null?void 0:h.length)>0?(O=(R=f==null?void 0:f.data)==null?void 0:R.process)==null?void 0:O.map((T,ee)=>S(P,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[S(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),T.process_name]}),s(Ce,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{u(T,"PROCESS")},children:s(tt,{})})]},ee)):s(te,{variant:"body1",sx:{fontSize:"16px",letterSpacing:"0.02em",textTransform:"capitalize",display:"flex",alignItems:"center",justifyContent:"center",width:"100%",margin:"10px 0px",color:"gray",height:"60px"},children:"No Process Found"})}),!N&&!m&&a==="queues"&&s(P,{sx:{display:"flex",gap:1},children:(M=f==null?void 0:f.data)!=null&&M.queue&&(($=(A=f==null?void 0:f.data)==null?void 0:A.queue)==null?void 0:$.length)>0?(q=(Q=f==null?void 0:f.data)==null?void 0:Q.queue)==null?void 0:q.map((T,ee)=>{var oe,L,E,k,W,G;return S(P,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[S(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),T.queue_name,(E=(L=(oe=f==null?void 0:f.data)==null?void 0:oe.process)==null?void 0:L.find(B=>B.process_id===T.process_id))!=null&&E.process_name?s(te,{variant:"body1",sx:{fontSize:"12px",fontWeight:"600",letterSpacing:"0.02em",textTransform:"capitalize",color:"gray"},children:"("+((G=(W=(k=f==null?void 0:f.data)==null?void 0:k.process)==null?void 0:W.find(B=>B.process_id===T.process_id))==null?void 0:G.process_name)+")"}):""]}),s(Ce,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{u(T,"QUEUE")},children:s(tt,{})})]},ee)}):s(te,{variant:"body1",sx:{fontSize:"16px",letterSpacing:"0.02em",textTransform:"capitalize",display:"flex",alignItems:"center",justifyContent:"center",width:"100%",margin:"10px 0px",color:"gray",height:"60px"},children:"No Queues Found"})}),!N&&!m&&a==="agents"&&s(P,{sx:{display:"flex",gap:1},children:c!=null&&c.data&&((w=c==null?void 0:c.data)==null?void 0:w.length)>0?(v=c==null?void 0:c.data)==null?void 0:v.map((T,ee)=>S(P,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px","&:hover":{bgcolor:"action.selected"}},children:[S(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),T.name]}),s(Ce,{color:"success",sx:{bgcolor:"action.hover","&:hover":{bgcolor:"action.selected"}},onClick:()=>{u(T,"AGENT")},children:s(tt,{})})]},ee)):s(te,{variant:"body1",sx:{fontSize:"16px",letterSpacing:"0.02em",textTransform:"capitalize",display:"flex",alignItems:"center",justifyContent:"center",width:"100%",margin:"10px 0px",color:"gray",height:"60px"},children:"No Agents Found"})})]})]})})})}function cs({open:t,setOpen:o,onSubmitDisposition:e}){var N,p,u,C;let[a,i]=xe({disposition:{label:"Resolved",value:"RES"},followUp:{label:"No",value:"N"},callbackDate:"",callbackHrs:"",callbackMins:""}),r=[{label:"Not Interested",value:"NI"},{label:"Resolved",value:"RES"}],c=[{label:"Yes",value:"Y"},{label:"No",value:"N"}],m=(g,h)=>{i(R=>F(l({},R),{[g]:h}))},b=()=>{i({disposition:{label:"Resolved",value:"RES"},followUp:{label:"No",value:"N"},callbackDate:"",callbackHrs:"",callbackMins:""})},f=()=>{b(),o(!1)};return s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"xs",children:S(Te,{sx:{borderRadius:2},children:[s(P,{sx:{display:"flex",justifyContent:"center",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:S(te,{variant:"body1",m:1,children:[" ","Call Disposition"]})}),S(P,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"10px",margin:"10px",borderRadius:"10px"},children:[S(P,{display:"flex",gap:2,children:[s(as,{value:a.disposition,options:r,getOptionLabel:g=>g.label,onChange:(g,h)=>m("disposition",h),size:"small",renderInput:g=>s(Ee,F(l({},g),{label:"Disposition",fullWidth:!0})),sx:{flex:1}}),s(as,{options:c,getOptionLabel:g=>g.label,value:a.followUp,onChange:(g,h)=>m("followUp",h),size:"small",renderInput:g=>s(Ee,F(l({},g),{label:"Follow Up",fullWidth:!0})),sx:{flex:1}})]}),((p=(N=a==null?void 0:a.followUp)==null?void 0:N.label)==null?void 0:p.toLowerCase())==="yes"&&S(P,{display:"flex",gap:2,mt:2,children:[s(Ee,{size:"small",label:"Callback Date",type:"date",slotProps:{inputLabel:{shrink:!0}},value:a.callbackDate,onChange:g=>m("callbackDate",g.target.value),fullWidth:!0,sx:{flex:1}}),s(Ee,{size:"small",label:"Hours (0-23)",type:"text",value:a.callbackHrs,onChange:g=>m("callbackHrs",g.target.value),fullWidth:!0,sx:{flex:1}})]}),((C=(u=a==null?void 0:a.followUp)==null?void 0:u.label)==null?void 0:C.toLowerCase())==="yes"&&S(P,{display:"flex",gap:2,mt:2,children:[s(Ee,{size:"small",label:"Minutes (0-59)",type:"text",value:a.callbackMins,onChange:g=>m("callbackMins",g.target.value),fullWidth:!0,sx:{flex:1}}),s(P,{sx:{flex:1}})]})]}),S(P,{textAlign:"right",m:2,children:[s(ae,{variant:"outlined",color:"error",size:"large",onClick:f,sx:{px:2,mx:1,borderRadius:"10px",textTransform:"capitalize"},children:"cancel"}),s(ae,{variant:"contained",color:"primary",size:"large",onClick:()=>e(a),sx:{px:2,borderRadius:"10px",textTransform:"capitalize"},children:"Submit"})]})]})})})}function ds({open:t,setOpen:o,processList:e=null,handleSelectedProcessor:a}){return s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",maxWidth:"xs",children:S(Te,{sx:{borderRadius:2},children:[S(P,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Process List"}),s(Ce,{onClick:()=>{o(!1)},children:s(st,{})})]}),s(P,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px 10px",margin:"10px",borderRadius:"10px"},children:e.length>0?e==null?void 0:e.map((r,c)=>s(P,{sx:{p:1,display:"flex",alignItems:"center",boxShadow:"1px 1px 4px #d3d3d3ff",padding:"6px",margin:"10px 0px",borderRadius:"10px",cursor:"pointer","&:hover":{bgcolor:"action.selected"}},onClick:()=>{a(r)},children:S(te,{variant:"body1",sx:{mx:1,width:"200px",maxWidth:"250px",display:"flex",alignItems:"center"},children:[s(ot,{sx:{marginRight:"4px"}}),r.process_name]})},c)):null})]})})})}function ps({open:t,setOpen:o}){return s(Me,{children:s(Ue,{open:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:"md",children:S(Te,{sx:{borderRadius:2},children:[S(P,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"4px 16px",boxShadow:"0px 1px 2px #f5f5f5ff"},children:[s(te,{variant:"body1",children:" Call History"}),s(Ce,{onClick:()=>{o(!1)},children:s(st,{})})]}),s(P,{sx:{boxShadow:"1px 1px 4px #d3d3d3ff",margin:"10px",borderRadius:"10px",textAlign:"center",fontSize:"16px",fontWeight:"bold"},p:6,children:"Coming Soon..."})]})})})}import{Fragment as Nn,jsx as d,jsxs as ge}from"react/jsx-runtime";var wn=(t,o,e)=>t.map(i=>{var r,c,m;if((i==null?void 0:i.line)===1)return{line:1,status:(r=e==null?void 0:e.status)!=null?r:"",type:"internal",phone:(c=e==null?void 0:e.phone_number)!=null?c:"",isMute:!1,isHold:!1,isMergeCall:!1,isCallStart:!0};{let b=`line_${i.line}_status`,f=`line_${i.line}_phonenumber`;return F(l({},i),{status:(m=o[b])!=null?m:"IDLE",phone:o[f]!=="0"?o[f]:""})}}),kn=_n(t=>{let o=Math.floor(t/60),e=t%60;return`${o.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`},[]);function Cs({onDataChange:t}){var mt,xt,Ct,yt,bt,ht,vt,Et,Tt,St,Dt,Lt,It,_t,Rt,wt,kt,Nt,At,Pt,Ot,Ut,Mt,Bt,Ht,$t,zt,qt,Ft,Kt,Wt,Gt,jt,Yt,Xt,Jt,Vt,Qt,Zt,eo,to,oo,so,no,ao,io,lo,ro,co,po,uo,go,fo,mo,xo,Co,yo,bo,ho,vo,Eo,To,So,Do,Lo,Io,_o,Ro,wo,ko,No,Ao,Po,Oo,Uo,Mo,Bo,Ho,$o,zo,qo;let o=In(),e=ve(),{showToast:a}=be(),{disabled:i,enabled:r,outlined:c}=et({disabled:((mt=e.sdkConfig)==null?void 0:mt.disabled)||{},enabled:((xt=e.sdkConfig)==null?void 0:xt.enabled)||{},outlined:((Ct=e.sdkConfig)==null?void 0:Ct.outlined)||{}}),m=Rn(null),[b,f]=ue(null),[N,p]=ue(!0),[u,C]=ue(null),[g,h]=ue(null),[R,O]=ue(!1),[M,A]=ue(!1),[$,Q]=ue(!1),[q,w]=ue(null),[v,T]=ue(""),[ee,oe]=ue(0),{position:L,isDragging:E,dragRef:k,handleMouseDown:W,handleTouchStart:G}=pt(e.controlPanelPosition,n=>x.setControlPanelPosition(n)),{position:B,isDragging:Y,dragRef:X,handleMouseDown:_,handleTouchStart:D}=pt(e.iframePosition,n=>x.setIframePosition(n)),[z,{isLoading:J}]=le({onSuccess:()=>{T(""),h(null)}}),[V,{isLoading:j}]=le({onSuccess:()=>{x.setHolding(!e.isHolding)},onError:n=>{console.log("\u274C Hold operation error:",n)}}),[ce,{isLoading:De}]=le({onSuccess:()=>{x.setMuted(!e.isMuted)},onError:n=>{console.log("\u274C Mute operation error:",n)}}),[$e,{isLoading:Le}]=le(),[ze,{isLoading:qe}]=le(),[Fe,{isLoading:Ie}]=le(),Ke=()=>{f(null)},We=n=>{p(!0),h(n.currentTarget),x.setStatus("dial")},Ge=()=>{e.status!=="on call"&&x.setStatus("idle"),h(null)},_e=n=>{C(n.currentTarget)},je=()=>{C(null)},Ye=()=>{let n={action:"READYAGENT",userId:e.agentId};$e(I.READY_AGENT,n)},Re=n=>{C(null);let y={action:"AGENTBREAK",break_type:n,userId:e.agentId};ze(I.UPDATE_AGENT_BREAK,y)},Xe=n=>{if(n.length!==10)a("Invalid phone number","error");else if(!/^\d+$/.test(n))a("Invalid phone number","error");else{let y={action:"CALL",phone_number:n,userId:e.agentId};z(I.CLICK_TO_CALL,y)}},Je=()=>{let n={action:e.isHolding?"UNHOLD":"HOLD",userId:e.agentId};V(I.HOLD_CALL,n)},Ve=()=>{let n={action:e.isMuted?"UNMUTE":"MUTE",userId:e.agentId};ce(I.MUTE_CALL,n)},ye=n=>{var U,se,ne,de,fe,we,ke,Fo,Ko,Wo,Go,jo,Yo,Xo,Jo,Vo;console.log("data",n);let y={action:"ENDCALL",userId:e.agentId,processid:(ne=(se=(U=e.process)==null?void 0:U.process_id)==null?void 0:se.toString())!=null?ne:"",process_name:(fe=(de=e.process)==null?void 0:de.process_name)!=null?fe:"",callreferenceid:(ke=(we=e.callData)==null?void 0:we.convox_id)!=null?ke:"",mobile_number:(Ko=(Fo=e.callData)==null?void 0:Fo.phone_number)!=null?Ko:"",disposition:(Go=(Wo=n==null?void 0:n.disposition)==null?void 0:Wo.value)!=null?Go:"",set_followUp:(Yo=(jo=n==null?void 0:n.followUp)==null?void 0:jo.value)!=null?Yo:"",callback_date:(Xo=n==null?void 0:n.callbackDate)!=null?Xo:"",callback_hrs:(Jo=n==null?void 0:n.callbackHrs)!=null?Jo:"",callback_mins:(Vo=n==null?void 0:n.callbackMins)!=null?Vo:"",endcall_type:"CLOSE"};T(""),Fe(I.END_CALL,y),x.endCall(),O(!1)};return He(()=>{let n=y=>{y.preventDefault()};return window.addEventListener("beforeunload",n),()=>{window.removeEventListener("beforeunload",n)}},[]),He(()=>{let n;return e.callData.status&&e.callData.status==="ONCALL"?n=setInterval(()=>{let y=Math.floor((Date.now()-e.callStartTime)/1e3);oe(y)},1e3):oe(0),()=>{n&&clearInterval(n)}},[e.callData.status]),He(()=>{if(t&&e.callData){let{process_id:n,process_name:y,status:U,phone_number:se,agent_id:ne,convox_id:de}=e.callData;t({phone_number:se,status:U,callReferenceId:de,agent_id:ne,process_id:n,process_name:y})}},[e.callData,t]),He(()=>{e.agentId?Z.post(I.PROCESS_LIST,{userId:e.agentId,action:"GETAGENTPROCESSLIST",refno:"1234221233"}).then(n=>{var y,U;console.log(n.data.data,"res4"),n&&n.data&&((y=n==null?void 0:n.data)==null?void 0:y.length)>1?(w(n.data.data),A(!0)):(x.setProcess((U=n==null?void 0:n.data)==null?void 0:U.data[0]),A(!1))}).catch(n=>{a(n.response.data.message,"error")}):console.log("No agentId available, skipping API call")},[e.agentId]),He(()=>(e.agentId&&(m.current=new WebSocket(`${Zo.WS}?agent_id=${e.agentId}`),m.current.onopen=()=>{console.log("\u{1F310} WebSocket connection established")},m.current.onmessage=n=>{try{let y=JSON.parse(n.data),U=wn(e==null?void 0:e.conferenceLine,y==null?void 0:y.conferencestatus,y);console.log(U,"\u{1F4CA} Parsed JSON:",y),x.updateCallData(y),x.updateConferenceData([...U]),y.status==="ONCALL"&&(x.startCall(),N||p(!0)),y.status==="WRAPUP"&&x.endCall()}catch(y){console.log("\u{1F4E8} Raw message:",n.data)}},m.current.onclose=()=>{console.log("\u{1F50C} WebSocket connection closed")},m.current.onerror=n=>{console.error("\u274C WebSocket error:",n)}),()=>{var n;(n=m.current)==null||n.close()}),[e.agentId]),!e.isInitialized||!e.process?d(re,{children:!!M&&d(ds,{processList:q,open:M,setOpen:A,handleSelectedProcessor:n=>{x.setProcess(n)}})}):ge(Nn,{children:[d(re,{children:d(gs,{in:!0,timeout:300,children:d(ms,{ref:(yt=e.sdkConfig)!=null&&yt.isDraggable?k:null,elevation:E?4:(bt=e.sdkConfig)!=null&&bt.isDraggable?1:0,sx:{position:(ht=e.sdkConfig)!=null&&ht.isDraggable?"fixed":"relative",left:(vt=e.sdkConfig)!=null&&vt.isDraggable?L.x:"auto",top:(Et=e.sdkConfig)!=null&&Et.isDraggable?L.y:"auto",display:"inline-block",width:"auto",flexShrink:0,whiteSpace:"nowrap",p:.5,borderRadius:3,bgcolor:"background.paper",zIndex:(Tt=e.sdkConfig)!=null&&Tt.isDraggable?Number.MAX_SAFE_INTEGER:0,transition:o.transitions.create(["box-shadow","transform"],{duration:o.transitions.duration.short}),userSelect:"none"},children:ge(re,{sx:{display:"flex",alignItems:"center"},children:[ge(re,{sx:{display:"flex",alignItems:"center",gap:1,margin:"0px 10px"},children:[((St=e.sdkConfig)==null?void 0:St.isDraggable)&&ge(at,{component:"div",size:"small",sx:{cursor:"all-scroll"},onMouseDown:W,onTouchStart:G,children:[d(us,{})," "]}),d(re,{children:!((Dt=e.sdkConfig)!=null&&Dt.disabledDialButton)&&d(he,{title:"Dial",children:d(at,{size:"small",onClick:n=>{var y,U,se,ne,de,fe,we,ke;((U=(y=e.callData)==null?void 0:y.status)==null?void 0:U.toUpperCase())!=="ONCALL"&&((ne=(se=e.callData)==null?void 0:se.status)==null?void 0:ne.toUpperCase())!=="BREAK"&&((fe=(de=e.callData)==null?void 0:de.status)==null?void 0:fe.toUpperCase())!=="RINGING"&&((ke=(we=e.callData)==null?void 0:we.status)==null?void 0:ke.toUpperCase())!=="WRAPUP"&&We(n)},sx:{bgcolor:"action.hover","&:hover":{bgcolor:"warning"}},children:d(Dn,{sx:{color:((It=(Lt=e.callData)==null?void 0:Lt.status)==null?void 0:It.toUpperCase())==="ONCALL"||((Rt=(_t=e.callData)==null?void 0:_t.status)==null?void 0:Rt.toUpperCase())==="BREAK"||((kt=(wt=e.callData)==null?void 0:wt.status)==null?void 0:kt.toUpperCase())==="RINGING"||((At=(Nt=e.callData)==null?void 0:Nt.status)==null?void 0:At.toUpperCase())==="WRAPUP"?"action.selected":"success.main"}})})})}),d(xs,{sx:{color:"success.main",width:"40px",marginRight:"10px",fontSize:"18px",fontWeight:"600"},children:kn(ee)}),d(nt,{sx:{padding:"18px 0px"},label:qe||Le?d(re,{sx:{fontWeight:"bold",width:"60px",display:"flex",alignItems:"center",justifyContent:"center"},children:d(Be,{size:"20px"})}):d(xs,{variant:"body2",sx:{fontWeight:"bold",width:"60px",textAlign:"center"},children:(Ut=(Ot=(Pt=e.callData)==null?void 0:Pt.status)==null?void 0:Ot.toUpperCase())!=null?Ut:"N/A"}),onClick:_e,deleteIcon:d(fn,{color:"primary"}),onDelete:_e})]}),ge(re,{sx:{display:"flex",gap:1,justifyContent:"center",alignItems:"center"},children:[d(he,{title:"Agent Ready",children:d(Se,{variant:((Bt=(Mt=e.callData)==null?void 0:Mt.status)==null?void 0:Bt.toUpperCase())==="BREAK"||(($t=(Ht=e.callData)==null?void 0:Ht.status)==null?void 0:$t.toUpperCase())==="MISSED"?"outlined":"contained",onClick:n=>{var y,U,se,ne;(((U=(y=e.callData)==null?void 0:y.status)==null?void 0:U.toUpperCase())==="BREAK"||((ne=(se=e.callData)==null?void 0:se.status)==null?void 0:ne.toUpperCase())==="MISSED")&&(n.stopPropagation(),Ye())},classes:{root:((qt=(zt=e.callData)==null?void 0:zt.status)==null?void 0:qt.toUpperCase())==="BREAK"||((Kt=(Ft=e.callData)==null?void 0:Ft.status)==null?void 0:Kt.toUpperCase())==="MISSED"?"outlined":"enabled"},sx:l({},((Gt=(Wt=e.callData)==null?void 0:Wt.status)==null?void 0:Gt.toUpperCase())==="BREAK"||((Yt=(jt=e.callData)==null?void 0:jt.status)==null?void 0:Yt.toUpperCase())==="MISSED"?c:r),disabled:Le,children:d(En,{})})}),d(he,{title:e.isHolding?"Resume":"Hold",children:d(Se,{variant:e.isHolding&&((Jt=(Xt=e.callData)==null?void 0:Xt.status)==null?void 0:Jt.toUpperCase())==="ONCALL"?"contained":"outlined",onClick:n=>{n.stopPropagation(),Je()},sx:e.isHolding&&((Qt=(Vt=e.callData)==null?void 0:Vt.status)==null?void 0:Qt.toUpperCase())==="ONCALL"?l({},r):((eo=(Zt=e.callData)==null?void 0:Zt.status)==null?void 0:eo.toUpperCase())==="ONCALL"?l({},c):l({},i),disabled:((oo=(to=e.callData)==null?void 0:to.status)==null?void 0:oo.toUpperCase())!=="ONCALL"&&!e.isHolding||j,children:j?d(Be,{size:"20px",sx:{color:o.palette.primary.main}}):e.isHolding?d(vn,{}):d(yn,{})})}),d(he,{title:e.isMuted?"Unmute":"Mute",children:d(Se,{variant:e.isMuted&&((no=(so=e.callData)==null?void 0:so.status)==null?void 0:no.toUpperCase())==="ONCALL"?"contained":"outlined",onClick:n=>{n.stopPropagation(),Ve()},sx:e.isMuted&&((io=(ao=e.callData)==null?void 0:ao.status)==null?void 0:io.toUpperCase())==="ONCALL"?l({},r):((ro=(lo=e.callData)==null?void 0:lo.status)==null?void 0:ro.toUpperCase())==="ONCALL"?l({},c):l({},i),disabled:((po=(co=e.callData)==null?void 0:co.status)==null?void 0:po.toUpperCase())!=="ONCALL"&&!e.isMuted||De,children:De?d(Be,{size:"20px",sx:{color:o.palette.primary.main}}):e.isMuted?d(Cn,{}):d(xn,{})})}),!((uo=e.sdkConfig)!=null&&uo.disableCallTransferButton)&&d(he,{title:"Transfer Call",children:d(Se,{variant:e.openCallTransferDialog?"contained":"outlined",onClick:n=>{var y,U;((U=(y=e.callData)==null?void 0:y.status)==null?void 0:U.toUpperCase())==="ONCALL"&&(n.stopPropagation(),x.setOpenCallTransferDialog(!0))},sx:e.openCallTransferDialog?l({},r):((fo=(go=e.callData)==null?void 0:go.status)==null?void 0:fo.toUpperCase())==="ONCALL"?l({},c):l({},i),disabled:((xo=(mo=e.callData)==null?void 0:mo.status)==null?void 0:xo.toUpperCase())!=="ONCALL",children:d(Tn,{})})}),!((Co=e.sdkConfig)!=null&&Co.disableConferenceButton)&&d(he,{title:"Conference Call",children:d(Se,{variant:e.openConferenceDialog?"contained":"outlined",onClick:n=>{var y,U;((U=(y=e.callData)==null?void 0:y.status)==null?void 0:U.toUpperCase())==="ONCALL"&&(n.stopPropagation(),x.setOpenConferenceDialog(!0))},sx:e.openConferenceDialog?l({},r):((bo=(yo=e.callData)==null?void 0:yo.status)==null?void 0:bo.toUpperCase())==="ONCALL"?l({},c):l({},i),disabled:((vo=(ho=e.callData)==null?void 0:ho.status)==null?void 0:vo.toUpperCase())!=="ONCALL",children:d(gn,{})})}),!((Eo=e.sdkConfig)!=null&&Eo.disableEndCallButton)&&d(he,{title:"End Call",children:d(Se,{variant:((So=(To=e.callData)==null?void 0:To.status)==null?void 0:So.toUpperCase())==="ONCALL"||((Lo=(Do=e.callData)==null?void 0:Do.status)==null?void 0:Lo.toUpperCase())==="RINGING"||((_o=(Io=e.callData)==null?void 0:Io.status)==null?void 0:_o.toUpperCase())==="WRAPUP"?"contained":"outlined",onClick:n=>{var y,U,se,ne,de,fe;(((U=(y=e.callData)==null?void 0:y.status)==null?void 0:U.toUpperCase())==="ONCALL"||((ne=(se=e.callData)==null?void 0:se.status)==null?void 0:ne.toUpperCase())==="RINGING"||((fe=(de=e.callData)==null?void 0:de.status)==null?void 0:fe.toUpperCase())==="WRAPUP")&&(n.stopPropagation(),O(!0))},sx:((wo=(Ro=e.callData)==null?void 0:Ro.status)==null?void 0:wo.toUpperCase())==="ONCALL"||((No=(ko=e.callData)==null?void 0:ko.status)==null?void 0:No.toUpperCase())==="RINGING"||((Po=(Ao=e.callData)==null?void 0:Ao.status)==null?void 0:Po.toUpperCase())==="WRAPUP"?F(l({},r),{borderRight:"1px",backgroundColor:"error.main",minWidth:"60px !important",boxShadow:" 0px 2px 1px #5f3f3f",border:`1px solid ${o.palette.error.light}`,height:"40px","&:hover":{bgcolor:"error.light",boxShadow:" 0px 2px 1px #5f3f3f",border:`0px solid ${o.palette.error.light}`},"&:active":{bgcolor:"error.light",boxShadow:`inset 1px -2px 4px ${o.palette.primary.light}`}}):F(l({},i),{minWidth:"60px !important"}),disabled:((Uo=(Oo=e.callData)==null?void 0:Oo.status)==null?void 0:Uo.toUpperCase())!=="ONCALL"&&((Bo=(Mo=e.callData)==null?void 0:Mo.status)==null?void 0:Bo.toUpperCase())!=="RINGING"&&(($o=(Ho=e.callData)==null?void 0:Ho.status)==null?void 0:$o.toUpperCase())!=="WRAPUP"||Ie,children:Ie?d(Be,{size:"20px",color:"error"}):d(pn,{})})})]})]})})})}),d(gs,{in:!0,timeout:300,children:ge(ms,{ref:X,elevation:Y?4:1,sx:{position:"absolute",left:B.x,top:B.y,borderRadius:2,bgcolor:"background.paper",zIndex:Number.MAX_SAFE_INTEGER,transition:o.transitions.create(["box-shadow","transform"],{duration:o.transitions.duration.short}),visibility:N&&!((zo=e.sdkConfig)!=null&&zo.disableSoftPhone)?"visible":"hidden",userSelect:"none"},children:[ge(re,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"all-scroll",padding:"0px 10px"},onMouseDown:_,onTouchStart:D,children:[d(us,{sx:{transform:"rotate(90deg)",color:"#7b7b7b"}})," ",d(at,{onClick:()=>p(!1),children:d(un,{})})]}),d(re,{children:d("iframe",{src:`https://${Qe}/ConVoxCCS/iframe?agent_id=${e.agentId}&process_id=${(qo=e.process)==null?void 0:qo.process_id}`,height:380,width:420,allow:"camera; microphone; autoplay",style:{border:"none"}})})]})}),d(gt,{anchorEl:g,open:!!g,onClose:Ge,onClick:n=>n.stopPropagation(),sx:{zIndex:99999},children:ge(re,{sx:{all:"unset",padding:"10px","&hover":{backgroundColor:"white"}},children:[d(Ln,{size:"small",value:v,placeholder:"Enter Mobile No.",onChange:n=>{T(n.target.value)}}),d(at,{color:"info",onClick:()=>{Xe(v)},children:J?d(Be,{size:"20px",sx:{color:o.palette.success.main}}):d(hn,{color:"success"})})]})}),ge(gt,{anchorEl:u,open:!!u,onClose:je,onClick:n=>n.stopPropagation(),sx:{zIndex:99999},children:[d(fs,{onClick:()=>Re("Lunch"),children:"- Lunch"}),d(fs,{onClick:()=>Re("Tea"),children:"- Tea"})]}),d(gt,{anchorEl:b,open:!!b,onClose:Ke,onClick:n=>n.stopPropagation(),sx:{zIndex:99999},children:ge(re,{sx:{display:"flex",justifyContent:"flex-start",flexDirection:"column",padding:"0px 10px","&hover":{backgroundColor:"white"}},children:[d(nt,{icon:d(mn,{color:"secondary"}),variant:"outlined",label:"Waiting - 25",sx:{margin:"4px 2px"}}),d(nt,{icon:d(bn,{color:"info"}),label:"Pending - 99+",variant:"outlined",sx:{margin:"4px 2px"}}),d(nt,{icon:d(Sn,{color:"success"}),variant:"outlined",label:"Upcoming - 66",sx:{margin:"4px 2px"}})]})}),!!e.openConferenceDialog&&d(ls,{}),!!e.openCallTransferDialog&&d(rs,{open:e.openCallTransferDialog}),!!R&&d(cs,{open:R,setOpen:O,onSubmitDisposition:ye}),!!$&&d(ps,{open:$,setOpen:Q})]})}import{memo as An}from"react";import{jsx as Pn}from"react/jsx-runtime";var ft=An(({children:t})=>Pn(ss,{children:t}));ft.displayName="SDKProvider";import{jsx as ys}from"react/jsx-runtime";var bs=On(({onDataChange:t})=>{let o=Un(e=>{try{t&&typeof t=="function"&&t(e)}catch(a){console.error("Error in CallControlPanel data change handler:",a)}},[t]);return ys(ft,{children:ys(Cs,{onDataChange:o})})});bs.displayName="CallControlPanel";async function Di({apiKey:t,tenantId:o,agentId:e,sdkConfig:a}){if(!t||typeof t!="string"||t.trim().length===0)throw new Error("SDK initialization failed: API key is required and must be a non-empty string");if(!o||typeof o!="string"||o.trim().length===0)throw new Error("SDK initialization failed: Tenant ID is required and must be a non-empty string");if(!e||typeof e!="string"||e.trim().length===0)throw new Error("SDK initialization failed: Agent ID is required and must be a non-empty string");try{if(await ct.init({apiKey:t.trim(),tenantId:o.trim(),agentId:e.trim(),baseUrl:H}))console.log("SDK initialized successfully"),x.initialize(t.trim(),e.trim(),a);else throw console.error("SDK initialization failed: Event tracker initialization returned false"),x.setInitCheck(),new Error("SDK initialization failed: Unable to establish connection with the CTI system")}catch(i){throw console.error("SDK initialization error:",i),x.setInitCheck(),i instanceof Error?i:new Error(`SDK initialization failed: ${String(i)}`)}}function Li(){return"5.4.8"}function Ii(){return x.getState().isInitialized}export{bs as CallControlPanel,Li as getSDKVersion,Di as initSDK,Ii as isSDKInitialized,Ms as useClickToCall,Os as useEndCall,As as useLogout};
|
|
2
|
+
/**
|
|
3
|
+
* =============================================================================
|
|
4
|
+
* π FILE SUMMARY & COMPONENT OVERVIEW
|
|
5
|
+
* =============================================================================
|
|
6
|
+
*
|
|
7
|
+
* π― This CallControls component is a comprehensive telephony interface that provides:
|
|
8
|
+
*
|
|
9
|
+
* π **Core Functionality**:
|
|
10
|
+
* - π± Complete call control operations (dial, hold, mute, transfer, conference, end)
|
|
11
|
+
* - βΈοΈ Hold/resume functionality with visual feedback
|
|
12
|
+
* - π Mute/unmute controls with state synchronization
|
|
13
|
+
* - π Call transfer and conference capabilities
|
|
14
|
+
* - π End call with comprehensive disposition tracking
|
|
15
|
+
*
|
|
16
|
+
* π **Real-time Updates**:
|
|
17
|
+
* - π WebSocket integration for live call status updates
|
|
18
|
+
* - π Conference data synchronization
|
|
19
|
+
* - β±οΈ Real-time call duration tracking
|
|
20
|
+
* - π‘ Automatic UI updates based on call state changes
|
|
21
|
+
*
|
|
22
|
+
* π€ **Agent Management**:
|
|
23
|
+
* - π§ Agent ready/break status controls
|
|
24
|
+
* - β Break type management (Lunch, Tea, etc.)
|
|
25
|
+
* - βοΈ Process selection and initialization
|
|
26
|
+
* - π Queue count monitoring
|
|
27
|
+
*
|
|
28
|
+
* π¨ **User Experience**:
|
|
29
|
+
* - π±οΈ Draggable floating interface
|
|
30
|
+
* - π Soft phone iframe integration
|
|
31
|
+
* - π± Responsive design for different screen sizes
|
|
32
|
+
* - β¨ Smooth animations and transitions
|
|
33
|
+
* - π¨ Material-UI theming support
|
|
34
|
+
*
|
|
35
|
+
* π **Data Management**:
|
|
36
|
+
* - π Call disposition tracking and classification
|
|
37
|
+
* - π
Callback scheduling and follow-up management
|
|
38
|
+
* - π State synchronization across components
|
|
39
|
+
* - πΎ Persistent position and configuration storage
|
|
40
|
+
*
|
|
41
|
+
* π‘οΈ **Error Handling**:
|
|
42
|
+
* - β
Input validation for phone numbers
|
|
43
|
+
* - π Toast notifications for user feedback
|
|
44
|
+
* - π« Page unload protection during active calls
|
|
45
|
+
* - π Graceful failure management and recovery
|
|
46
|
+
*
|
|
47
|
+
* π **Integration**:
|
|
48
|
+
* - π‘ Parent component communication via callbacks
|
|
49
|
+
* - π External system connectivity via APIs
|
|
50
|
+
* - π§ Configurable button states and functionality
|
|
51
|
+
* - π Real-time data synchronization
|
|
52
|
+
*
|
|
53
|
+
* ποΈ **Architecture**:
|
|
54
|
+
* - βοΈ React functional component with hooks
|
|
55
|
+
* - ποΈ Centralized state management via SDK state manager
|
|
56
|
+
* - π Effect hooks for lifecycle management
|
|
57
|
+
* - π‘ Custom hooks for API operations
|
|
58
|
+
* - π¨ Material-UI component library integration
|
|
59
|
+
*
|
|
60
|
+
* π― **Best Practices**:
|
|
61
|
+
* - π Comprehensive JSDoc documentation
|
|
62
|
+
* - π¨ Consistent code formatting and structure
|
|
63
|
+
* - π§ TypeScript type safety throughout
|
|
64
|
+
* - β‘ Performance optimization with useCallback
|
|
65
|
+
* - π§Ή Proper cleanup and memory management
|
|
66
|
+
*
|
|
67
|
+
* π **Performance Features**:
|
|
68
|
+
* - β‘ Optimized re-renders with proper dependency arrays
|
|
69
|
+
* - π Memoized callback functions
|
|
70
|
+
* - π§Ή Automatic cleanup of intervals and event listeners
|
|
71
|
+
* - π Efficient state updates and synchronization
|
|
72
|
+
*
|
|
73
|
+
* π― **Use Cases**:
|
|
74
|
+
* - π’ Contact center agent interfaces
|
|
75
|
+
* - π Customer service telephony systems
|
|
76
|
+
* - π§ Call center management platforms
|
|
77
|
+
* - π± Integrated telephony applications
|
|
78
|
+
* - π Multi-channel communication systems
|
|
79
|
+
*
|
|
80
|
+
* @version 5.4.8
|
|
81
|
+
* @since 1.0.0
|
|
82
|
+
* @author CTI SDK Team
|
|
83
|
+
* @license Proprietary
|
|
84
|
+
*/
|
|
2
85
|
//# sourceMappingURL=index.mjs.map
|