const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./browser-DZMeNISi.js","./main-vendor-EsW8t9LQ.js","./main-vendor-DJ5v5pVD.css"])))=>i.map(i=>d[i]); import{u as c,a as _,b as h,p as b,y as x,c as B,d as m,C as S,E as g,i as re,l as $,_ as U,s as ie,e as E,f as D,g as R,h as M,j as ce,k as H,m as le,n as ue,o as z,q as de,r as ge,A as y,V as fe,t as me,v as W,w as Se,x as V,z as _e,B as N,D as pe,F as he,G as Ce,H as ve,I as be,J as xe,K as we,L as je,M as ye,N as Ee,O as Ie,P as ke,Q as Le}from"./chat-widget-components-Dyu12MHK.js";import{r as d,j as s,u as q,R as Fe,a as Be}from"./main-vendor-EsW8t9LQ.js";import{P as Re}from"./PortalProvider-CIKExZzq.js";import{d as Me,u as Ne,P as Te,a as Ae,C as Oe,U as Ue,I as Pe,c as $e,b as De}from"./Chat.module-C2uSU7EE.js";import{u as T,a as He}from"./useMessageButtonClick-D8Dlolpb.js";import"./reporter-vendor-C5xOdCey.js";function Vt(){import.meta.url,import("_").catch(()=>1),async function*(){}().next()}/*! * Talkdesk Confidential * * Copyright (C) Talkdesk Inc. 2025 * * The source code for this program is not published or otherwise divested * of its trade secrets, irrespective of what has been deposited with the * U.S. Copyright Office. Unauthorized copying of this file, via any medium * is strictly prohibited. */const ze=function(e,n){for(let t=e.length-1;t>=0;t--)if(n(e[t],t,e))return t;return-1},We=()=>{const e=t=>{var C;const{messages:a,lastReadIndexByConversationSid:i}=t,o=c.getState().credentials.roomId,r=(C=i[o])!=null?C:-1,u=a.filter(p=>p.alignment==="received").flatMap(p=>p.items.map(w=>({...w,index:p.index}))),l=u[u.length-1],f=l!=null&&l.index?l.index:-1;if(r>=f)return 0;const v=ze(u,p=>p.index===r);return u.length-1-v},n=t=>{const{messages:a}=t;return a.length?a.reduce((o,r)=>r.alignment==="received"&&!re(r.tid)?r:o,{}).role!=="va"?"agent":"va":"agent"};B.subscribe(e,t=>{_.getState().setBadge(t)}),B.subscribe(n,t=>{c.setState({typingMode:t})})},Ve=()=>{c.getState().on("leave_conversation",()=>{c.getState().reset(["unreadMessageCount","conversationCreating"])}),c.getState().on("enter_end",()=>{_.getState().conversationEnded(),h.getState().resume()}),c.getState().on("enter_error",()=>{b.clear(),_.getState().conversationEnded(),h.getState().resume()}),c.getState().on(x.frame_opened,()=>{c.getState().preloadClient("openChatWidget"),c.getState().conversationStart("openChatWidget"),B.getState().updateLastReadIndex()}),c.getState().on(x.start_new_chat,()=>{const{is:e,getInitialPage:n,go:t,preloadClient:a,conversationStart:i}=c.getState(),o=n();e(o)||(t(o),b.clear(),m.getState().emit(S.resetFrame,{initialPage:o}),_.getState().conversationClear(),a("startNewChat"),o===g.Conversation&&i("startNewChat"))})},qe=()=>{m.getState().on(S.createIdentity,e=>{c.setState({identity:e})}),m.getState().on(S.preloadClient,e=>{const{credentials:n}=e;c.getState().setCredentials({accessToken:n.accessToken,region:n.region,createAccessTokenAt:n.createAccessTokenAt}),c.getState().preloadClient("tabEvent")}),m.getState().on(S.conversationCreating,()=>{c.setState({conversationCreating:!0}),_.getState().closeFloatFrame(),h.getState().destroy()}),m.getState().on(S.conversationCreated,e=>{const{credentials:n}=e;c.getState().setCredentials(n),c.setState({conversationCreating:!1}),_.getState().closeFloatFrame(),h.getState().destroy(),c.getState().isNot(g.Conversation)&&c.getState().go(g.Conversation),b.init("tabEvent")}),m.getState().on(S.conversationEnded,()=>{c.getState().enableLoadFeedback(),c.getState().isNot(g.End)&&(c.setState({conversationCreating:!1}),c.getState().go(g.End),h.getState().resume())}),m.getState().on(S.conversationEndedByError,()=>{c.getState().isNot(g.Error)&&(c.setState({conversationCreating:!1}),c.getState().go(g.Error),h.getState().resume())}),m.getState().on(S.resetFrame,e=>{const{initialPage:n}=e;c.getState().isNot(n)&&c.getState().go(n),b.clear(),_.getState().conversationClear()}),m.getState().on(S.enableScreenLoading,e=>{c.getState().enableScreenLoading(e,!1)}),m.getState().on(S.reset,()=>{b.clear(),_.getState().minimize(),c.getState().reset(),window.location.reload()}),m.getState().on(S.updateOptOut,({optOutTime:e})=>{var n;h.getState().destroy(),_.getState().closeFloatFrame(),e&&((n=h.getState().localSlice)==null||n.getState().updateOptOutTime(e))})},Ye=()=>{let e=!1;return()=>(e||(e=!0,Ve(),qe(),We()),e)},Ge=Ye();async function k(e,n,t){try{t.debug("Load ".concat(e," start")),await n(),t.debug("Load ".concat(e," success"))}catch(a){t.warn("Load ".concat(e," failed"),a)}}function Ke(){const e=$.getSubLogger({name:"PreLoader"});k("locales",()=>U(()=>import("./index-pMO0Uhu2.js"),[],import.meta.url),e),k("@twilio/conversations",()=>U(()=>import("./browser-DZMeNISi.js").then(n=>n.b),__vite__mapDeps([0,1,2]),import.meta.url),e),k("TextMessage",()=>ie(),e)}function Je(){Ke()}const Y=""+new URL("receive_message-DYKPA011.mp3",import.meta.url).href,Qe=1e3;function G({appEvent:e,delay:n=Qe,onError:t}){const{on:a,off:i}=E(),o=d.useRef(null),r=d.useRef(null),u=d.useCallback(()=>{var l;(l=r.current)==null||l.call(r)},[]);return d.useEffect(()=>(r.current=Me(()=>{const l=o.current;l?l.play().catch(f=>{t==null||t(f)}):t==null||t(new Error("Failed to load the audio element"))},n,{leading:!0,trailing:!1}),()=>{var l,f;(f=(l=r.current)==null?void 0:l.cancel)==null||f.call(l),r.current=null}),[n,t]),d.useEffect(()=>(a(e,u),()=>{i(e,u)}),[e,i,a,u]),{audioRef:o}}const K=d.forwardRef(({src:e,testId:n},t)=>s.jsxs("audio",{src:e,ref:t,preload:"auto",playsInline:!0,"data-testid":n,style:{display:"none",position:"absolute",left:0,top:0},children:[s.jsx("track",{src:"",kind:"captions",srcLang:"en",label:"english_captions",default:!0}),"Your browser does not support the audio tag."]})),Xe=1e3,Ze=({onError:e})=>{const{receiveMessageAudioUrl:n}=D(),t=n||Y,{audioRef:a}=G({delay:Xe,appEvent:x.sound_notification_for_new_message,onError:i=>{e==null||e({error:i,scene:"new_message",url:t})}});return s.jsx(K,{src:t,ref:a,testId:"new-message-sound-notification-audio"})},et=300,tt=({onError:e})=>{const{openFlyOutAudioUrl:n}=D(),t=n||Y,{audioRef:a}=G({appEvent:x.sound_notification_for_opening_float_frame,delay:et,onError:i=>{e==null||e({error:i,scene:"open_float_frame",url:t})}});return s.jsx(K,{src:t,ref:a,testId:"open-float-frame-sound-notification-audio"})},nt=$.getSubLogger({name:"SoundNotification"}),st=()=>{const e=d.useRef(!1),n=d.useCallback(({error:t,scene:a,url:i})=>{const o=(t==null?void 0:t.name)||"unknown error name",r=(t==null?void 0:t.message)||"unknown error message",u=e.current?"yes":"no";nt.warn("Failed to play ".concat(a," notification user_interact=").concat(u," error_name=").concat(o," error_message=").concat(r," url=").concat(i))},[]);return d.useEffect(()=>{const t=i=>{!e.current&&i.isTrusted&&(e.current=!0,a())};function a(){document.removeEventListener("click",t),document.removeEventListener("touchstart",t)}return document.addEventListener("click",t),document.addEventListener("touchstart",t),()=>{a()}},[]),s.jsxs(s.Fragment,{children:[s.jsx(Ze,{onError:n}),s.jsx(tt,{onError:n})]})};function at(e){return"text"in e}function ot(e){const{value:n}=e,[t]=q();return at(n)?s.jsx(s.Fragment,{children:n.text}):s.jsx(s.Fragment,{children:t(n.key,n.options)})}const rt="_notifications_1drif_110",it="_notification_1drif_110",ct="_error_1drif_135",lt="_warning_1drif_141",ut="_success_1drif_147",dt="_circle_1drif_1",gt="_loading_1drif_1",L={notifications:rt,notification:it,"slide-down":"_slide-down_1drif_1",error:ct,warning:lt,success:ut,circle:dt,loading:gt,"move-x":"_move-x_1drif_1","slide-in":"_slide-in_1drif_1","slide-out":"_slide-out_1drif_1","fade-in":"_fade-in_1drif_1","fade-out":"_fade-out_1drif_1"},ft=3,mt=3e3,St=0;function _t(){const{items:e,error:n,success:t,clear:a}=Ne(),{on:i,off:o}=E();return d.useLayoutEffect(()=>{let r=null;const u=()=>{r==null||r(),r=null,r=n({key:"noConnectionTip"},St)},l=()=>{r==null||r(),r=null,t({key:"connectedTip"},mt)},f=()=>{a()};return i("disconnect",u),i("reconnect",l),i("leave_end",f),i("leave_error",f),()=>{o("disconnect",u),o("reconnect",l),o("leave_end",f),o("leave_error",f)}},[i,o,n,t,a]),s.jsx(Te,{children:s.jsx("div",{className:L.notifications,children:e.slice(0,ft).map(r=>s.jsx("div",{className:R(L.notification,L[r.type]),children:s.jsx(ot,{value:r.content})},r.id))})})}const pt="_loading_8k0uy_110",ht="_loader_8k0uy_117",P={loading:pt,loader:ht},Ct=()=>s.jsx("div",{className:P.loading,children:s.jsx("span",{className:P.loader,"data-testid":"loading-screen"})}),vt=()=>{const e=M(),n=ce(),t=e===g.InitialScreen;return{delayOpenWidget:n&&t?200:-1,enableUpdateFrameByInitialScreen:n&&t}},bt=()=>{const e=d.useRef(!1),{maximize:n}=T(),t=H(),{autoOpen:a}=le();return{run:d.useCallback(async o=>e.current?!1:(e.current=!0,t||a?(await ue(o),await n(),!0):!1),[t,a,n])}},xt=()=>{const e=d.useRef(null),{chatContainerHeight:n}=z(),t=de(),{frameResize:a}=T(),i=d.useCallback(async()=>{var o;if(!n&&e.current){let r=((o=e.current)==null?void 0:o.scrollHeight)||0;if(r>0){t&&(r+=ge);const u=r{const{chatContainerHeight:e}=z(),{frameResize:n}=T();return{run:d.useCallback(()=>e?!1:n({height:y}),[e,n])}};function jt(){const{delayOpenWidget:e,enableUpdateFrameByInitialScreen:n}=vt(),{run:t}=bt(),{run:a,initialScreenContainerRef:i}=xt(),{run:o}=wt();return d.useEffect(()=>{t(e)},[t,e]),d.useEffect(()=>(n&&a(),()=>{n&&o()}),[n,o,a]),d.useEffect(()=>{const r=i.current,u=new ResizeObserver(()=>{a()});return r&&n&&u.observe(r),()=>{u.disconnect()}},[a,i,n]),{initialScreenContainerRef:i,updateChatFrameHeight:a}}const yt="_scrollToBottomButton_1ip2l_16",Et="_arrow_1ip2l_37",It="_newMessages_1ip2l_40",F={scrollToBottomButton:yt,arrow:Et,newMessages:It},kt=e=>{const{onClick:n,unreadMessageCount:t=0}=e,a=t>0,i=o=>{o.stopPropagation(),n==null||n()};return s.jsx("div",{className:F.scrollToBottomButton,children:s.jsxs("button",{onClick:i,"aria-label":"scroll-to-bottom",children:[s.jsx(fe,{className:F.arrow}),a&&s.jsx("span",{"data-testid":"unread-dot",className:F.newMessages})]})})},Lt="_startChatButton_qjuz1_23",Ft="_withSeparator_qjuz1_31",Bt="_button_qjuz1_36",Rt="_transparent_qjuz1_60",j={startChatButton:Lt,withSeparator:Ft,button:Bt,transparent:Rt},Mt=e=>{const[n]=q(),t=me(),a=M(),i=W(),{active:o}=Se(),{footerVisible:r,enableScroll:u}=V(),l=d.useRef(null),f=a===g.End&&!!i&&o;d.useEffect(()=>{var C;(C=l.current)==null||C.focus()},[]);const v=()=>{e.onClick()};return s.jsx("div",{className:R(j.startChatButton,{[j.withSeparator]:!r&&u}),children:s.jsxs("button",{ref:l,type:"button",className:R(j.button,{[j.transparent]:f}),onClick:v,children:[f&&s.jsx(_e,{}),s.jsx("p",{children:t||n("startChatButtonLabel")})]})})},Nt="_hidden_xxytr_1",Tt={hidden:Nt},At=({message:e})=>e?s.jsx("div",{className:Tt.hidden,role:"log","aria-atomic":"true","aria-live":"polite",children:e.items.map((n,t)=>n.type==="text"?s.jsx("p",{children:n.text},t):null)}):null,Ot="_conversation_mscrs_1",Ut={conversation:Ot};function Pt(){const{enableEmoji:e,enableAttachments:n,enableUserInput:t}=N(),a=M(),i=Ae(),o=pe(),r=W(),u=he(),l=Ce(),f=ve(),v=He(),{showScrollToBottom:C}=V(),p=be(),w=xe(),{send:J,typing:Q}=we(),{is:I,emit:A}=E(),X=I([g.End,g.Error]),Z=I(g.Conversation)&&t,ee=I(g.Conversation)&&C,O=d.useMemo(()=>{if(l){const oe=je();return[...i,...o,oe]}return[...i,...o]},[l,o,i]),te=()=>{A(x.need_scroll_to_bottom)},ne=()=>{A(x.start_new_chat)},se=d.useMemo(()=>s.jsx(Oe,{shouldLoadFeedback:u,feedbackLink:r,messages:O,page:a}),[r,O,a,u]),ae=d.useMemo(()=>s.jsx(At,{message:(o==null?void 0:o[o.length-1])||void 0}),[o]);return s.jsxs(ye.page,{className:Ut.conversation,children:[se,Z&&s.jsx(Ue,{enableEmoji:e,enableAttachments:n,send:J,connected:v,typing:Q,enableRTL:f,showScreenLoading:l,conversationCreating:w}),X&&s.jsx(Mt,{onClick:ne}),ee&&s.jsx(kt,{onClick:te,unreadMessageCount:p}),ae]})}function $t(){const{go:e,is:n,isNot:t,setFormData:a,conversationStart:i}=E(),o=H(),{showInitialScreen:r,welcomeMessage:u,controls:l,enableValidation:f,context:v}=N(),{initialScreenContainerRef:C}=jt(),p=w=>{a(w),t(g.Conversation)&&(e(g.Conversation),i("submitInitialScreen"))};return n(g.Loading)?s.jsx(Ct,{}):n(g.InitialScreen)?s.jsx(Pe,{ref:C,active:r,welcomeMessage:u,controls:l,enableValidation:f,onSubmitInitialScreen:p,defaultValues:v,frameOpened:o}):n([g.Conversation,g.End,g.Error])?s.jsx(Pt,{}):s.jsx(s.Fragment,{})}const Dt=()=>{const{chatTitle:e,chatSubtitle:n,showCloseConversationButton:t,showDownloadTranscriptButton:a,enableChatHeader:i,enableSoundNotification:o}=N();return s.jsxs("div",{className:$e.chat,children:[s.jsx(De,{visible:i,chatTitle:e,chatSubtitle:n,showCloseConversationButton:t,showDownloadTranscriptButton:a}),s.jsx($t,{}),s.jsx(_t,{}),o&&s.jsx(st,{})]})};function Ht(){window.location.reload()}function zt(){return s.jsx(Ee,{fallback:s.jsx(ke,{onRetry:Ht}),onError:Ie,children:s.jsx(Re,{children:s.jsx(Dt,{})})})}async function Wt(){Je(),c.getState().go("loading"),m.getState().init(),await Le.getState().init(),await _.getState().init(),h.getState().bootstrap(),Ge(),b.init("pageLoaded").then(()=>{_.getState().openFloatFrame(),c.getState().getProcessConversation()||h.getState().start()});const e=document.getElementById("root");Fe.createRoot(e).render(s.jsx(Be.StrictMode,{children:s.jsx(zt,{})}))}Wt();export{Vt as __vite_legacy_guard};