@deepdesk/deepdesk-sdk 19.5.0 → 19.5.1-beta.0

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.esm.js CHANGED
@@ -1,13 +1,13 @@
1
- var Ri=Object.defineProperty,qu=Object.defineProperties;var Gu=Object.getOwnPropertyDescriptors;var $n=Object.getOwnPropertySymbols;var Pi=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable;var ki=(t,e,n)=>e in t?Ri(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,y=(t,e)=>{for(var n in e||(e={}))Pi.call(e,n)&&ki(t,n,e[n]);if($n)for(var n of $n(e))Ii.call(e,n)&&ki(t,n,e[n]);return t},x=(t,e)=>qu(t,Gu(e));var O=(t,e)=>{var n={};for(var o in t)Pi.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&$n)for(var o of $n(t))e.indexOf(o)<0&&Ii.call(t,o)&&(n[o]=t[o]);return n};var J=(t,e)=>{for(var n in e)Ri(t,n,{get:e[n],enumerable:!0})};var v=(t,e,n)=>new Promise((o,s)=>{var r=d=>{try{a(n.next(d))}catch(l){s(l)}},i=d=>{try{a(n.throw(d))}catch(l){s(l)}},a=d=>d.done?o(d.value):Promise.resolve(d.value).then(r,i);a((n=n.apply(t,e)).next())});import Li from"classnames";import Yu,{createContext as ep,useContext as Fs,useEffect as tp,useState as np}from"react";import Xu,{useContext as Ju}from"react";import Qu from"classnames";var an=Xu.createContext({});function b(t,e){let r=Ju(an),{debug:n}=r,s=O(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return x(y({},i),{[a]:Qu(d,l,n?`${t}__${a}`:!1)})},{})}var Ai={root:"dd-4s9wq"};import{jsx as qn,jsxs as Zu}from"react/jsx-runtime";var Gn=()=>Zu("svg",{className:Ai.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[qn("defs",{children:qn("style",{children:".cls-1 { fill: #b3b3b3; }"})}),qn("title",{children:"Failed loading image"}),qn("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var _s={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as At}from"react/jsx-runtime";var Xn=ep(_s),op=({title:t,src:e})=>{let n=Fs(Xn),[o,s]=np(!1);return tp(()=>{s(!1)},[e]),At("div",{className:n.imageWrapper,children:e&&!o?At("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):At(Gn,{})})},sp=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=Fs(Xn);return At("div",{className:Li(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},rp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=O(i,["as","cropText","className","children"]);let a=Fs(Xn);return Yu.createElement(t,y({className:Li(a.title,n,{[a.contentIsCropped]:e})},s),o)},Jn=({children:t})=>{let e=b("Card",_s);return At("div",{className:e.root,children:At(Xn.Provider,{value:e,children:t})})};Jn.Image=op;Jn.Content=sp;Jn.Title=rp;var _=Jn;import ip from"classnames";var Mi={root:"dd-llBx9"};import{jsx as dp}from"react/jsx-runtime";var ap={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},lp=o=>{var s=o,{className:t,keyCode:e}=s,n=O(s,["className","keyCode"]);let r=b("KeyboardHint",Mi);return dp("span",y({"data-key":ap[e],className:ip(t,r.root)},n))},Hs=lp;import cp from"classnames";var Ni={root:"dd-e6HXZ"};import{jsx as gp}from"react/jsx-runtime";var up=o=>{var s=o,{className:t,children:e}=s,n=O(s,["className","children"]);let r=b("Label",Ni);return gp("span",x(y({},n),{className:cp(t,r.root),children:e}))},pp=up;var Oi={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as Bs,jsxs as fp}from"react/jsx-runtime";var mp=s=>{var r=s,{title:t,children:e,type:n}=r,o=O(r,["title","children","type"]);let i=b("Section",Oi);return fp("section",x(y({},o),{className:i.root,"data-section-type":n,children:[t&&Bs("div",{className:i.subTitleContainer,children:Bs("span",{className:i.subtitle,children:t})}),Bs("div",{className:i.suggestions,children:e})]}))},Me=mp;import bp from"classnames";import{useRef as Cp}from"react";import{createContext as hp,useCallback as yp,useContext as vp,useEffect as Sp}from"react";import{jsx as xp}from"react/jsx-runtime";var Di=hp(null),_i=({scrollContainerRef:t,children:e})=>{let n=yp(o=>{let s=t.current;if(!s||s.scrollHeight<=s.clientHeight)return;let{top:r}=s.getBoundingClientRect(),{top:i}=o.getBoundingClientRect(),a=s.scrollTop+(i-r);typeof s.scrollTo=="function"?s.scrollTo({top:a}):s.scrollTop=a},[]);return xp(Di.Provider,{value:n,children:e})},Qn=t=>{let e=vp(Di);Sp(()=>{let n=t.current;n&&e(n)},[])};var Fi={root:"dd-uoTXh"};import{jsx as Hi}from"react/jsx-runtime";var Tp=({className:t,children:e})=>{let n=b("SectionList",Fi),o=Cp(null);return Hi(_i,{scrollContainerRef:o,children:Hi("div",{ref:o,className:bp(n.root,t),children:e})})},ln=Tp;import dn from"classnames";import wp,{createContext as Ep,useCallback as kp,useContext as at}from"react";var Us={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",buttonsContainer:"dd-uRYN4",button:"dd-9UE-x",buttonPrimary:"dd-aYDCB",buttonSecondary:"dd--cpPL",buttonWithIcon:"dd-MQVt5",icon:"dd-Jr-ww",buttonDisabled:"dd-agTuH"};import{jsx as ue,jsxs as Bi}from"react/jsx-runtime";var qe=Ep(Us),Rp=o=>{var s=o,{fixed:t,children:e}=s,n=O(s,["fixed","children"]);let r=at(qe);return ue("div",x(y({},n),{className:dn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function Pp(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=O(l,["as","className","icon","title","children","disabled","variant"]);let c=at(qe);return Bi(t||"button",x(y({type:"button",className:dn(c.button,{[c.buttonWithIcon]:n,[c.buttonDisabled]:r,[c.buttonPrimary]:i==="primary",[c.buttonSecondary]:i==="secondary"},e),title:o,"aria-label":o},a),{children:[n&&ue("span",{className:c.icon,children:n}),s]}))}var Ip=({children:t})=>{let e=at(qe);return ue("div",{className:e.buttonsContainer,children:t})},Ap=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=at(qe);return Bi("div",{className:dn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,ue("ul",{className:r.dropdownList,children:s})]})},Lp=({index:t,label:e,onClick:n})=>{let o=at(qe);return ue("li",{className:o.dropdownItem,children:ue("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Mp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=at(qe);return ue("button",{type:"button",className:dn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},Np=({labels:t})=>{let e=at(qe);return ue("div",{className:e.labels,children:t.map(n=>ue("span",{className:e.label,children:n},n))})},Ge=wp.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=O(d,["className","selected","onClick","children","as"]);let l=b("Suggestion",Us),c=kp(p=>{p.preventDefault(),n&&n(p)},[n]);return ue(s,x(y({},r),{ref:i,className:dn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:ue(qe.Provider,{value:l,children:o})}))});Ge.Labels=Np;Ge.Actions=Rp;Ge.ActionButton=Mp;Ge.DropdownButton=Ap;Ge.DropdownItem=Lp;Ge.ButtonsContainer=Ip;Ge.Button=Pp;var M=Ge;import Op from"classnames";var Ui={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as _p}from"react/jsx-runtime";var Dp=({withDivider:t,children:e})=>{let n=b("SuggestionList",Ui);return _p("div",{"data-testid":"suggestions-overlay-list",className:Op(n.root,{[n.isWithDivider]:t}),children:e})},Y=Dp;import Fp from"classnames";var Ki={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as Ks}from"react/jsx-runtime";var Hp=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=b("ToggleButton",Ki);return Ks("button",{type:"button",className:Fp(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:Ks("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Ks("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Lt=Hp;var Wi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Zn=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var zi=/x-deepdesk-(([a-z0-9\-_])+-version)/,Yn=["cues","custom-data","custom-data-banner","knowledge-assist"],Vi=Intl.DateTimeFormat().resolvedOptions().timeZone,Ne=(m=>(m.SEARCH="search",m.TEMPLATE="template",m.ELASTIC_SEARCH="search-autocomplete",m.GPT="gpt",m.TRIE="trie",m.TRIE_WITH_TYPOS="trie-with-typos",m.SEMANTIC="semantic",m.TEXT_RECOMMENDATION="text_recommendation",m.URL_RECOMMENDATION="url_recommendation",m.LINK_RECOMMENDATION="link_recommendation",m.PERSONAL_COLLECTION="personal-collection",m.PERSONAL_COLLECTION_SEARCH="personal-collection-search",m.SEARCH_OVERLAY="search-overlay",m.SEARCH_PREVIEW="search-preview",m.SEARCH_URL="search-url",m.STYLE="style",m))(Ne||{}),Mt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Mt||{});import{createContext as Km,Fragment as Wm,useContext as br,useEffect as zm,useRef as bl,useState as xt}from"react";import{useDispatch as Vm,useSelector as jm}from"react-redux";import{createAsyncThunk as un,createSlice as Bp}from"@reduxjs/toolkit";var eo=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(eo||{});var Up={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},Q=t=>t.auth.isLoggedIn;var ji=t=>t.auth.verifyFetchState,$i=t=>t.auth.showLoginOverlay,qi=t=>t.auth.loginError,Oe=un("auth/validate",(t,e)=>v(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Gi=un("auth/requestLogin",(n,o)=>v(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),Ws=un("auth/loginWithPassword",(o,s)=>v(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),to=un("auth/logout",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),cn=un("auth/verifyLoginToken",(n,o)=>v(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Xi=Bp({name:"auth",initialState:Up,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload},setLoginError(t,e){t.loginError=e.payload},clearLoginError(t){t.loginError=null}},extraReducers:t=>{t.addCase(Oe.pending,e=>{e.loginFetchState="loading"}),t.addCase(Oe.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(Oe.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Ws.pending,e=>{e.loginFetchState="loading",e.loginError=null}),t.addCase(Ws.fulfilled,e=>{e.isLoggedIn=!0,e.loginFetchState="done",e.loginError=null,e.showLoginOverlay=!1}),t.addCase(Ws.rejected,(e,n)=>{e.loginFetchState="error",e.isLoggedIn=!1,e.loginError=n.error.message==="Bad Request"?"Invalid credentials":"Login failed"}),t.addCase(to.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(to.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(cn.pending,e=>{e.verifyFetchState="loading"}),t.addCase(cn.rejected,e=>{e.verifyFetchState="error"}),t.addCase(cn.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Nt,setShowLoginOverlay:Ji,setLoginError:zs,clearLoginError:no}=Xi.actions,Qi=Xi.reducer;import{createAction as Jp,createSelector as oa,createSlice as Qp}from"@reduxjs/toolkit";import{diffChars as Zp}from"diff";function Zi(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Xe(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Xe(r,e[i],n-1)):Zi(t)&&Zi(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Xe(t[i],e[i],n-1)):!1}function Kp(t){return Math.max(...t.map(e=>e.length))}function Wp(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return x(y({},o),{[s]:r})}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function Yi(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Kp(o);s++){let r=Wp(o.map(a=>a[s]),e),i=o.filter(a=>!r.includes(a[s]));if(i.length>=e)o=i;else return{text:o[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var zp=2;function ea(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=Yi(t,zp);return n&&n.text!==e?n:t[0]}import{createAction as jp,createAsyncThunk as Ot,createSlice as $p}from"@reduxjs/toolkit";var Vp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},k=Vp;var ta={current:null,isSupported:null},j=jp("resetConversation"),oo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},Ce=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Dt=t=>t.conversation.isSupported,Vs=Ot("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),so=Ot("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),ro=Ot("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),io=Ot("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),js=Ot("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),$s=Ot("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>y({},s)))}),qp=[so.rejected,ro.rejected,io.rejected,$s.rejected].map(t=>t==null?void 0:t.toString());function Gp(t){return qp.includes(t.type)}var Xp=$p({name:"conversation",initialState:ta,reducers:{},extraReducers:t=>{t.addCase(Vs.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(so.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(ro.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(js.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(io.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(j,()=>ta).addMatcher(Gp,(e,n)=>{var o;throw k.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),na=Xp.reducer;var lt={text:"",html:null,suggestionTextStart:0,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion:null,textSuggestions:[],pinnedSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function qs(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var ao=Jp("input/applyImageSuggestion"),sa=Qp({name:"input",initialState:lt,reducers:{setInput(t,e){var i,a;let{beforeInputChange:n}=t,{text:o,html:s,suggestionTextStart:r}=e.payload;if(t.text=o,t.html=s!=null?s:null,t.suggestionTextStart=o===""?0:Math.max(0,r!=null?r:0),o==="")t.metrics=lt.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(n!==null&&t.text!==n.text){let{key:d,shiftKey:l,ctrlKey:c,metaKey:p,altKey:u}=n.keyDown;switch(d){case"Enter":l&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=t,h=Zp(n.text,f);n.text.length-f.length>1&&t.metrics.deletions.push(...h.filter(g=>g.removed).map(g=>g.value)),t.metrics.numCharsDeleted+=n.text.length-f.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(c||p)break;default:if(!c&&!p&&!u){t.metrics.numCharsTyped+=1;let f=((i=n.selection)==null?void 0:i.start)!==void 0&&((a=n.selection)==null?void 0:a.end)!==void 0?n.text.substring(n.selection.start,n.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},sendMessage(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(n=>!t.metrics.textSuggestions.some(o=>o.text===n.text&&o.source===n.source))},setSelection(t,e){e.payload!==null&&(Xe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let n=e.payload,{text:o,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,assistantCode:c,text:p},eventMetrics:{inputType:u},replace:f}=n,h=s==="search"||s==="personal-collection-search",g=o.slice(t.text.substring(0,t.selection.start).length);(h||f==="selection")&&(g=o),n.suggestion.source==="search-overlay"&&(g=p),t.metrics.textSuggestions.push({text:g,source:s,assistantCode:c,abVariant:r,abTestName:i,inputType:u,sourceText:d,trainingJobs:a||[],searchTerm:h?t.text:l}),t.textSuggestions=[],t.selectedSuggestionIndex=-1},offeredTextSuggestion(t,e){let{text:n,suggestion:{source:o}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===n)||t.metrics.offeredTextSuggestions.push({text:n,source:o})},registerKeyDown(t,e){let{key:n}=e.payload;["Control","Meta","Shift","Alt"].includes(n)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:n}=t,o=e.payload;t.metrics=x(y({},t.metrics),{numCharsCut:n.numCharsCut+o.length,cuts:[...n.cuts,o]})},registerPaste(t,e){let{metrics:n}=t,{text:o,selectionText:s}=e.payload,r=n.numCharsDeleted+(s!=null&&s.length?s.length:0),i=s!=null&&s.length?[...n.deletions,s]:n.deletions;t.metrics=x(y({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:n.numCharsPasted+o.length,numPaste:n.numPaste+1,pastes:[...n.pastes,o]})},selectNextTextSuggestion(t){let e=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},selectPreviousTextSuggestion(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},selectTextSuggestionByIndex(t,e){t.selectedSuggestionIndex=e.payload},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.mixedSuggestion=null;return}let n=dt({input:t}),o=ea(e.payload,n);t.mixedSuggestion=o!=null&&o.text.includes(n)?o:null},setPinnedSuggestions(t,e){t.pinnedSuggestions=e.payload},removePinnedSuggestions(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(o=>o.source!==e.payload.source||e.payload.assistantCode&&o.assistantCode!==e.payload.assistantCode?!0:e.payload.text?o.text!==e.payload.text:!1);let n=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex>n-1&&(t.selectedSuggestionIndex=-1)},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=lt.metrics}},extraReducers:t=>{t.addCase(j,e=>{e.mixedSuggestion=lt.mixedSuggestion,e.textSuggestions=lt.textSuggestions,e.selectedSuggestionIndex=lt.selectedSuggestionIndex,e.metrics=lt.metrics})}}),dt=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},Yp=t=>t.input.mixedSuggestion,eg=t=>t.input.pinnedSuggestions,tg=t=>t.input.textSuggestions,pn=t=>t.input.selectedSuggestionIndex,ct=oa([tg,eg],(t,e)=>[...t,...e]),_t=oa([ct,Yp,pn],(t,e,n)=>n>-1?t[n]:e),ra=t=>t.input.selection,{commitSuggestion:ie,offeredTextSuggestion:ia,registerCut:aa,registerKeyDown:la,registerKeyUp:da,registerPaste:ca,selectNextTextSuggestion:ua,selectPreviousTextSuggestion:pa,selectTextSuggestionByIndex:lo,setInput:co,setMetrics:ga,setPinnedSuggestions:Ft,removePinnedSuggestions:ut,setSelection:uo,setTextSuggestions:Je,resetMetrics:ma,sendMessage:pt}=sa.actions,fa=sa.reducer;import{createAsyncThunk as rg,createSelector as ig,createSlice as ag}from"@reduxjs/toolkit";import{createAsyncThunk as po,createSlice as ng}from"@reduxjs/toolkit";function ha(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var og={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Ht=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},ya=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},va=t=>{var e;return(e=t.info.customData)!=null?e:null},mn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&ha(t.visitorTimeZone)?t.visitorTimeZone:Vi,agentName:(n=e==null?void 0:e.agentNickname)!=null?n:"",visitorName:(o=t==null?void 0:t.visitorName)!=null?o:""}},sg=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],Sa=po("info/setAgentNickname",(n,o)=>v(null,[n,o],function*({agentNickname:t},e){var i;let{deepdeskAPI:s}=e.extra,r=yield s.patchMe({nickname:t});return{agentNickname:(i=r==null?void 0:r.nickname)!=null?i:t}})),gn=po("info/setAgentInfo",(t,e)=>v(null,null,function*(){var r,i,a;let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=[];if(t.agentId&&t.skipSync!==!0&&s.push(n.postIdentity({externalId:t.agentId})),t.skipSync!==!0){let d=sg.reduce((l,[c,p])=>!o[p]&&c in t?x(y({},l),{[p]:t[c]}):l,{});Object.keys(d).length>0&&s.push(n.patchMe(d).then(l=>o=l))}return s.length>0&&(yield Promise.all(s)),{agentId:t.agentId,agentName:t.agentName,agentNickname:(r=o.nickname)!=null?r:t.agentNickname,agentEmail:(i=o.email)!=null?i:t.agentEmail,agentDefaultLocale:(a=o.defaultLocale)!=null?a:t.agentDefaultLocale,agentTimeZone:t.agentTimeZone}})),Gs=po("info/setAgentSettings",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=y(y({},typeof o.uiConfig=="object"?o.uiConfig:{}),t);return yield n.patchMe({uiConfig:s}),s})),Xs=po("info/getAgentSettings",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),xa=ng({name:"info",initialState:og,reducers:{setVisitorInfo(t,e){t.visitorInfo=y(y({},t.visitorInfo),e.payload)},setCustomData(t,e){t.customData=e.payload},setPlatformVariables(t,e){t.platformVariables=e.payload},setShowNicknameDialog(t,e){t.showNicknameDialog=e.payload}},extraReducers:t=>{t.addCase(gn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=y(y({},e.agentInfo),n.meta.arg)}).addCase(gn.rejected,e=>{e.fetchState="error"}).addCase(gn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(Gs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Xs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(j,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:ba,setCustomData:Ca,setPlatformVariables:Ta,setShowNicknameDialog:wa}=xa.actions,Ea=xa.reducer;function ge(t,e){return e?t==null?(k.warn("replaceVars called with non-string text; upstream contract violation",{keys:Object.keys(e)}),t):Object.entries(e).reduce((n,[o,s])=>n.replaceAll(o,s),t):t}var go={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},ka=t=>t.search.isOpen,Ra=t=>t.search.page,Js=t=>t.search.list,Pa=t=>t.search.aggregates,lg=ig([Js,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),Ia=t=>e=>lg(e,t),gt=rg("search/getAll",(t,e)=>v(null,null,function*(){var d;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(d=o.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=o.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield n.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:mn(o)});return{results:i.map(l=>x(y(y({},l),l.title&&r?{title:ge(l.title,r)}:{}),{text:ge(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),Aa=ag({name:"search",initialState:go,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=go.fetchState,t.list=go.list}},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,(e,n)=>{e.fetchState="error",k.error(n.error)}).addCase(gt.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase(j,()=>go)}}),{resetSearch:mo,setIsOpen:me,setPage:Bt}=Aa.actions,La=Aa.reducer;var Qs="SetOutputs",Ut="ShowLoginOverlay",fn="UserLoggedIn",dg="UserLoggedOut",De="ApplySuggestion",Zs="ApplyImageSuggestion",cg="ShowCommandPalette",fo="ShowNicknameDialog",ho="ReduxAction",ug="RemovePinnedSuggestion",pg=t=>({[Qs]:e=>{var s,r;let n=(s=t.getState().conversation.current)==null?void 0:s.externalId,o=(r=e==null?void 0:e.payload)==null?void 0:r.externalConversationId;o&&o!==n||t.dispatch(x(y({},e),{isBroadcasted:!0}))},[ho]:e=>{e.isBroadcasted||t.dispatch(x(y({},e),{isBroadcasted:!0}))},[ug]:e=>{t.dispatch(ut(e))},[cg]:e=>{t.dispatch(me(e.isOpen)),e.page&&t.dispatch(Bt(e.page))},[fo]:e=>{t.dispatch(wa(e.showNicknameDialog))},[Ut]:e=>{t.dispatch(Ji(e))},[fn]:()=>{t.dispatch(Oe())},[dg]:()=>{t.dispatch(Oe())},[Zs]:e=>{t.dispatch(ao({suggestion:e.suggestion}))},[De]:e=>{t.dispatch(ie(x(y({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),Ma=pg;import{useDispatch as mg}from"react-redux";import{createAsyncThunk as gg}from"@reduxjs/toolkit";function Ys(t){return gg("analytics/logEvent",(e,n)=>{var r,i,a;let o=(i=(r=n.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=n.getState())==null?void 0:a.info.agentInfo;return n.extra.deepdeskAPI.sendEvent(e.name,x(y({conversationId:o},s),{data:e.data}))})(t)}function z(){let t=mg();return(e,n)=>v(null,null,function*(){yield t(Ys({name:e,data:n}))})}import{useRef as fg,useState as er}from"react";import{useDispatch as hg}from"react-redux";function yo(t,e){let n=fg(t);n.current=t;let[o,s]=er(void 0),[r,i]=er(void 0),[a,d]=er("idle"),l=hg();return{error:r,state:a,data:o,call:u=>v(null,null,function*(){d("loading"),yield l(n.current(u)).unwrap().then(f=>{s(f),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(f))}).catch(f=>{i(f),d("error"),e!=null&&e.onError&&(e==null||e.onError(f))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import Na,{useContext as yg}from"react";import{jsx as vg}from"react/jsx-runtime";var Oa=Na.createContext(null),_e=({broadcastEvents:t,children:e})=>{let n=Na.useMemo(()=>t,[]);return vg(Oa.Provider,{value:n,children:e})},oe=()=>{let t=yg(Oa);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as Lg,useContext as Mg}from"react";var tr=function(t,e){return tr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},tr(t,e)};function hn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");tr(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var ae=function(){return ae=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ae.apply(this,arguments)};function Da(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function vo(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}function So(t,e){var n=e&&e.cache?e.cache:Eg,o=e&&e.serializer?e.serializer:Tg,s=e&&e.strategy?e.strategy:xg;return s(t,{cache:n,serializer:o})}function Sg(t){return t==null||typeof t=="number"||typeof t=="boolean"}function _a(t,e,n,o){var s=Sg(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function Fa(t,e,n){var o=Array.prototype.slice.call(arguments,3),s=n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.apply(this,o),e.set(s,r)),r}function nr(t,e,n,o,s){return n.bind(e,t,o,s)}function xg(t,e){var n=t.length===1?_a:Fa;return nr(t,this,n,e.cache.create(),e.serializer)}function bg(t,e){return nr(t,this,Fa,e.cache.create(),e.serializer)}function Cg(t,e){return nr(t,this,_a,e.cache.create(),e.serializer)}var Tg=function(){return JSON.stringify(arguments)},wg=(function(){function t(){this.cache=Object.create(null)}return t.prototype.get=function(e){return this.cache[e]},t.prototype.set=function(e,n){this.cache[e]=n},t})(),Eg={create:function(){return new wg}},xo={variadic:bg,monadic:Cg};var bo;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(bo||(bo={}));var Co=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var de;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(de||(de={}));var To;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(To||(To={}));function or(t){return t.type===de.literal}function sr(t){return t.type===de.argument}function yn(t){return t.type===de.number}function vn(t){return t.type===de.date}function Sn(t){return t.type===de.time}function xn(t){return t.type===de.select}function bn(t){return t.type===de.plural}function Ha(t){return t.type===de.pound}function Cn(t){return t.type===de.tag}function wo(t){return!!(t&&typeof t=="object"&&t.type===To.number)}function Tn(t){return!!(t&&typeof t=="object"&&t.type===To.dateTime)}function rr(t){t.forEach(function(e){if(delete e.location,xn(e)||bn(e))for(var n in e.options)delete e.options[n].location,rr(e.options[n].value);else yn(e)&&wo(e.style)||(vn(e)||Sn(e))&&Tn(e.style)?delete e.style.location:Cn(e)&&rr(e.children)})}function Ba(t,e){e===void 0&&(e={}),e=ae({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new Co(t,e).parse();if(n.err){var o=SyntaxError(bo[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||rr(n.val),n.val}var mt;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(mt||(mt={}));var wn=(function(t){hn(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e})(Error);var ir=(function(t){hn(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),mt.INVALID_VALUE,r)||this}return e})(wn);var Ua=(function(t){hn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),mt.INVALID_VALUE,s)||this}return e})(wn);var Ka=(function(t){hn(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),mt.MISSING_VALUE,o)||this}return e})(wn);var ee;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(ee||(ee={}));function kg(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==ee.literal||n.type!==ee.literal?e.push(n):o.value+=n.value,e},[])}function Rg(t){return typeof t=="function"}function En(t,e,n,o,s,r,i){if(t.length===1&&or(t[0]))return[{type:ee.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(or(c)){a.push({type:ee.literal,value:c.value});continue}if(Ha(c)){typeof r=="number"&&a.push({type:ee.literal,value:n.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new Ka(p,i);var u=s[p];if(sr(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?ee.literal:ee.object,value:u});continue}if(vn(c)){var f=typeof c.style=="string"?o.date[c.style]:Tn(c.style)?c.style.parsedOptions:void 0;a.push({type:ee.literal,value:n.getDateTimeFormat(e,f).format(u)});continue}if(Sn(c)){var f=typeof c.style=="string"?o.time[c.style]:Tn(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:ee.literal,value:n.getDateTimeFormat(e,f).format(u)});continue}if(yn(c)){var f=typeof c.style=="string"?o.number[c.style]:wo(c.style)?c.style.parsedOptions:void 0;f&&f.scale&&(u=u*(f.scale||1)),a.push({type:ee.literal,value:n.getNumberFormat(e,f).format(u)});continue}if(Cn(c)){var h=c.children,g=c.value,m=s[g];if(!Rg(m))throw new Ua(g,"function",i);var S=En(h,e,n,o,s,r),C=m(S.map(function(A){return A.value}));Array.isArray(C)||(C=[C]),a.push.apply(a,C.map(function(A){return{type:typeof A=="string"?ee.literal:ee.object,value:A}}))}if(xn(c)){var T=c.options[u]||c.options.other;if(!T)throw new ir(c.value,u,Object.keys(c.options),i);a.push.apply(a,En(T.value,e,n,o,s));continue}if(bn(c)){var T=c.options["=".concat(u)];if(!T){if(!Intl.PluralRules)throw new wn(`Intl.PluralRules is not available in this environment.
1
+ var Ii=Object.defineProperty,Zu=Object.defineProperties;var Yu=Object.getOwnPropertyDescriptors;var qn=Object.getOwnPropertySymbols;var Ai=Object.prototype.hasOwnProperty,Li=Object.prototype.propertyIsEnumerable;var Pi=(t,e,n)=>e in t?Ii(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))Ai.call(e,n)&&Pi(t,n,e[n]);if(qn)for(var n of qn(e))Li.call(e,n)&&Pi(t,n,e[n]);return t},b=(t,e)=>Zu(t,Yu(e));var O=(t,e)=>{var n={};for(var o in t)Ai.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&qn)for(var o of qn(t))e.indexOf(o)<0&&Li.call(t,o)&&(n[o]=t[o]);return n};var q=(t,e)=>{for(var n in e)Ii(t,n,{get:e[n],enumerable:!0})};var S=(t,e,n)=>new Promise((o,s)=>{var r=d=>{try{a(n.next(d))}catch(l){s(l)}},i=d=>{try{a(n.throw(d))}catch(l){s(l)}},a=d=>d.done?o(d.value):Promise.resolve(d.value).then(r,i);a((n=n.apply(t,e)).next())});import Ni from"classnames";import sp,{createContext as rp,useContext as Hs,useEffect as ip,useState as ap}from"react";import ep,{useContext as tp}from"react";import np from"classnames";var ln=ep.createContext({});function C(t,e){let r=tp(ln),{debug:n}=r,s=O(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return b(h({},i),{[a]:np(d,l,n?`${t}__${a}`:!1)})},{})}var Mi={root:"dd-4s9wq"};import{jsx as Gn,jsxs as op}from"react/jsx-runtime";var Xn=()=>op("svg",{className:Mi.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Gn("defs",{children:Gn("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Gn("title",{children:"Failed loading image"}),Gn("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Fs={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as At}from"react/jsx-runtime";var Jn=rp(Fs),lp=({title:t,src:e})=>{let n=Hs(Jn),[o,s]=ap(!1);return ip(()=>{s(!1)},[e]),At("div",{className:n.imageWrapper,children:e&&!o?At("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):At(Xn,{})})},dp=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=Hs(Jn);return At("div",{className:Ni(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},cp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=O(i,["as","cropText","className","children"]);let a=Hs(Jn);return sp.createElement(t,h({className:Ni(a.title,n,{[a.contentIsCropped]:e})},s),o)},Qn=({children:t})=>{let e=C("Card",Fs);return At("div",{className:e.root,children:At(Jn.Provider,{value:e,children:t})})};Qn.Image=lp;Qn.Content=dp;Qn.Title=cp;var _=Qn;import up from"classnames";var Oi={root:"dd-llBx9"};import{jsx as mp}from"react/jsx-runtime";var pp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},gp=o=>{var s=o,{className:t,keyCode:e}=s,n=O(s,["className","keyCode"]);let r=C("KeyboardHint",Oi);return mp("span",h({"data-key":pp[e],className:up(t,r.root)},n))},Bs=gp;import fp from"classnames";var Di={root:"dd-e6HXZ"};import{jsx as vp}from"react/jsx-runtime";var hp=o=>{var s=o,{className:t,children:e}=s,n=O(s,["className","children"]);let r=C("Label",Di);return vp("span",b(h({},n),{className:fp(t,r.root),children:e}))},yp=hp;var _i={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as Us,jsxs as xp}from"react/jsx-runtime";var Sp=s=>{var r=s,{title:t,children:e,type:n}=r,o=O(r,["title","children","type"]);let i=C("Section",_i);return xp("section",b(h({},o),{className:i.root,"data-section-type":n,children:[t&&Us("div",{className:i.subTitleContainer,children:Us("span",{className:i.subtitle,children:t})}),Us("div",{className:i.suggestions,children:e})]}))},Me=Sp;import kp from"classnames";import{useRef as Rp}from"react";import{createContext as bp,useCallback as Cp,useContext as Tp,useEffect as wp}from"react";import{jsx as Ep}from"react/jsx-runtime";var Fi=bp(null),Hi=({scrollContainerRef:t,children:e})=>{let n=Cp(o=>{let s=t.current;if(!s||s.scrollHeight<=s.clientHeight)return;let{top:r}=s.getBoundingClientRect(),{top:i}=o.getBoundingClientRect(),a=s.scrollTop+(i-r);typeof s.scrollTo=="function"?s.scrollTo({top:a}):s.scrollTop=a},[]);return Ep(Fi.Provider,{value:n,children:e})},Zn=t=>{let e=Tp(Fi);wp(()=>{let n=t.current;n&&e(n)},[])};var Bi={root:"dd-uoTXh"};import{jsx as Ui}from"react/jsx-runtime";var Pp=({className:t,children:e})=>{let n=C("SectionList",Bi),o=Rp(null);return Ui(Hi,{scrollContainerRef:o,children:Ui("div",{ref:o,className:kp(n.root,t),children:e})})},dn=Pp;import cn from"classnames";import Ip,{createContext as Ap,useCallback as Lp,useContext as at}from"react";var Ks={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",buttonsContainer:"dd-uRYN4",button:"dd-9UE-x",buttonPrimary:"dd-aYDCB",buttonSecondary:"dd--cpPL",buttonWithIcon:"dd-MQVt5",icon:"dd-Jr-ww",buttonDisabled:"dd-agTuH"};import{jsx as ue,jsxs as Ki}from"react/jsx-runtime";var qe=Ap(Ks),Mp=o=>{var s=o,{fixed:t,children:e}=s,n=O(s,["fixed","children"]);let r=at(qe);return ue("div",b(h({},n),{className:cn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function Np(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=O(l,["as","className","icon","title","children","disabled","variant"]);let c=at(qe);return Ki(t||"button",b(h({type:"button",className:cn(c.button,{[c.buttonWithIcon]:n,[c.buttonDisabled]:r,[c.buttonPrimary]:i==="primary",[c.buttonSecondary]:i==="secondary"},e),title:o,"aria-label":o},a),{children:[n&&ue("span",{className:c.icon,children:n}),s]}))}var Op=({children:t})=>{let e=at(qe);return ue("div",{className:e.buttonsContainer,children:t})},Dp=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=at(qe);return Ki("div",{className:cn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,ue("ul",{className:r.dropdownList,children:s})]})},_p=({index:t,label:e,onClick:n})=>{let o=at(qe);return ue("li",{className:o.dropdownItem,children:ue("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Fp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=at(qe);return ue("button",{type:"button",className:cn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},Hp=({labels:t})=>{let e=at(qe);return ue("div",{className:e.labels,children:t.map(n=>ue("span",{className:e.label,children:n},n))})},Ge=Ip.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=O(d,["className","selected","onClick","children","as"]);let l=C("Suggestion",Ks),c=Lp(u=>{u.preventDefault(),n&&n(u)},[n]);return ue(s,b(h({},r),{ref:i,className:cn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:ue(qe.Provider,{value:l,children:o})}))});Ge.Labels=Hp;Ge.Actions=Mp;Ge.ActionButton=Fp;Ge.DropdownButton=Dp;Ge.DropdownItem=_p;Ge.ButtonsContainer=Op;Ge.Button=Np;var M=Ge;import Bp from"classnames";var Wi={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as Kp}from"react/jsx-runtime";var Up=({withDivider:t,children:e})=>{let n=C("SuggestionList",Wi);return Kp("div",{"data-testid":"suggestions-overlay-list",className:Bp(n.root,{[n.isWithDivider]:t}),children:e})},Y=Up;import Wp from"classnames";var zi={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as Ws}from"react/jsx-runtime";var zp=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=C("ToggleButton",zi);return Ws("button",{type:"button",className:Wp(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:Ws("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Ws("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Lt=zp;var Vi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Yn=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ji=/x-deepdesk-(([a-z0-9\-_])+-version)/,eo=["cues","custom-data","custom-data-banner","knowledge-assist"],$i=Intl.DateTimeFormat().resolvedOptions().timeZone,Ne=(y=>(y.SEARCH="search",y.TEMPLATE="template",y.ELASTIC_SEARCH="search-autocomplete",y.GPT="gpt",y.TRIE="trie",y.TRIE_WITH_TYPOS="trie-with-typos",y.SEMANTIC="semantic",y.TEXT_RECOMMENDATION="text_recommendation",y.URL_RECOMMENDATION="url_recommendation",y.LINK_RECOMMENDATION="link_recommendation",y.PERSONAL_COLLECTION="personal-collection",y.PERSONAL_COLLECTION_SEARCH="personal-collection-search",y.SEARCH_OVERLAY="search-overlay",y.SEARCH_PREVIEW="search-preview",y.SEARCH_URL="search-url",y.STYLE="style",y))(Ne||{}),Mt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Mt||{});import{createContext as Qm,Fragment as Zm,useContext as Tr,useEffect as Ym,useRef as kl,useState as xt}from"react";import{useDispatch as ef,useSelector as tf}from"react-redux";import{createAsyncThunk as pn,createSlice as Vp}from"@reduxjs/toolkit";var to=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(to||{});var jp={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},Q=t=>t.auth.isLoggedIn;var qi=t=>t.auth.verifyFetchState,Gi=t=>t.auth.showLoginOverlay,Xi=t=>t.auth.loginError,Oe=pn("auth/validate",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Ji=pn("auth/requestLogin",(n,o)=>S(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),zs=pn("auth/loginWithPassword",(o,s)=>S(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),no=pn("auth/logout",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),un=pn("auth/verifyLoginToken",(n,o)=>S(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Qi=Vp({name:"auth",initialState:jp,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload},setLoginError(t,e){t.loginError=e.payload},clearLoginError(t){t.loginError=null}},extraReducers:t=>{t.addCase(Oe.pending,e=>{e.loginFetchState="loading"}),t.addCase(Oe.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(Oe.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(zs.pending,e=>{e.loginFetchState="loading",e.loginError=null}),t.addCase(zs.fulfilled,e=>{e.isLoggedIn=!0,e.loginFetchState="done",e.loginError=null,e.showLoginOverlay=!1}),t.addCase(zs.rejected,(e,n)=>{e.loginFetchState="error",e.isLoggedIn=!1,e.loginError=n.error.message==="Bad Request"?"Invalid credentials":"Login failed"}),t.addCase(no.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(no.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(un.pending,e=>{e.verifyFetchState="loading"}),t.addCase(un.rejected,e=>{e.verifyFetchState="error"}),t.addCase(un.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Nt,setShowLoginOverlay:Zi,setLoginError:Vs,clearLoginError:oo}=Qi.actions,Yi=Qi.reducer;import{createAction as tg,createSelector as ra,createSlice as ng}from"@reduxjs/toolkit";import{diffChars as og}from"diff";function ea(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Xe(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Xe(r,e[i],n-1)):ea(t)&&ea(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Xe(t[i],e[i],n-1)):!1}function $p(t){return Math.max(...t.map(e=>e.length))}function qp(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return b(h({},o),{[s]:r})}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function ta(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<$p(o);s++){let r=qp(o.map(a=>a[s]),e),i=o.filter(a=>!r.includes(a[s]));if(i.length>=e)o=i;else return{text:o[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var Gp=2;function na(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=ta(t,Gp);return n&&n.text!==e?n:t[0]}import{createAction as Jp,createAsyncThunk as Ot,createSlice as Qp}from"@reduxjs/toolkit";var Xp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},k=Xp;var oa={current:null,isSupported:null},$=Jp("resetConversation"),so=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},Ce=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Dt=t=>t.conversation.isSupported,js=Ot("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),ro=Ot("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),io=Ot("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),ao=Ot("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),$s=Ot("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),qs=Ot("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>h({},s)))}),Zp=[ro.rejected,io.rejected,ao.rejected,qs.rejected].map(t=>t==null?void 0:t.toString());function Yp(t){return Zp.includes(t.type)}var eg=Qp({name:"conversation",initialState:oa,reducers:{},extraReducers:t=>{t.addCase(js.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(ro.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(io.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase($s.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(ao.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase($,()=>oa).addMatcher(Yp,(e,n)=>{var o;throw k.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),sa=eg.reducer;var lt={text:"",html:null,suggestionTextStart:0,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion:null,textSuggestions:[],pinnedSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Gs(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var lo=tg("input/applyImageSuggestion"),ia=ng({name:"input",initialState:lt,reducers:{setInput(t,e){var i,a;let{beforeInputChange:n}=t,{text:o,html:s,suggestionTextStart:r}=e.payload;if(t.text=o,t.html=s!=null?s:null,t.suggestionTextStart=o===""?0:Math.max(0,r!=null?r:0),o==="")t.metrics=lt.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(n!==null&&t.text!==n.text){let{key:d,shiftKey:l,ctrlKey:c,metaKey:u,altKey:p}=n.keyDown;switch(d){case"Enter":l&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,m=og(n.text,g);n.text.length-g.length>1&&t.metrics.deletions.push(...m.filter(f=>f.removed).map(f=>f.value)),t.metrics.numCharsDeleted+=n.text.length-g.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(c||u)break;default:if(!c&&!u&&!p){t.metrics.numCharsTyped+=1;let g=((i=n.selection)==null?void 0:i.start)!==void 0&&((a=n.selection)==null?void 0:a.end)!==void 0?n.text.substring(n.selection.start,n.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},sendMessage(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(n=>!t.metrics.textSuggestions.some(o=>o.text===n.text&&o.source===n.source))},setSelection(t,e){e.payload!==null&&(Xe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let n=e.payload,{text:o,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,assistantCode:c,text:u},eventMetrics:{inputType:p},replace:g}=n,m=s==="search"||s==="personal-collection-search",f=o.slice(t.text.substring(0,t.selection.start).length);(m||g==="selection")&&(f=o),n.suggestion.source==="search-overlay"&&(f=u),t.metrics.textSuggestions.push({text:f,source:s,assistantCode:c,abVariant:r,abTestName:i,inputType:p,sourceText:d,trainingJobs:a||[],searchTerm:m?t.text:l}),t.textSuggestions=[],t.selectedSuggestionIndex=-1},offeredTextSuggestion(t,e){let{text:n,suggestion:{source:o}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===n)||t.metrics.offeredTextSuggestions.push({text:n,source:o})},registerKeyDown(t,e){let{key:n}=e.payload;["Control","Meta","Shift","Alt"].includes(n)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:n}=t,o=e.payload;t.metrics=b(h({},t.metrics),{numCharsCut:n.numCharsCut+o.length,cuts:[...n.cuts,o]})},registerPaste(t,e){let{metrics:n}=t,{text:o,selectionText:s}=e.payload,r=n.numCharsDeleted+(s!=null&&s.length?s.length:0),i=s!=null&&s.length?[...n.deletions,s]:n.deletions;t.metrics=b(h({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:n.numCharsPasted+o.length,numPaste:n.numPaste+1,pastes:[...n.pastes,o]})},selectNextTextSuggestion(t){let e=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},selectPreviousTextSuggestion(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},selectTextSuggestionByIndex(t,e){t.selectedSuggestionIndex=e.payload},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.mixedSuggestion=null;return}let n=dt({input:t}),o=na(e.payload,n);t.mixedSuggestion=o!=null&&o.text.includes(n)?o:null},setPinnedSuggestions(t,e){t.pinnedSuggestions=e.payload},removePinnedSuggestions(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(o=>o.source!==e.payload.source||e.payload.assistantCode&&o.assistantCode!==e.payload.assistantCode?!0:e.payload.text?o.text!==e.payload.text:!1);let n=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex>n-1&&(t.selectedSuggestionIndex=-1)},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=lt.metrics}},extraReducers:t=>{t.addCase($,e=>{e.mixedSuggestion=lt.mixedSuggestion,e.textSuggestions=lt.textSuggestions,e.selectedSuggestionIndex=lt.selectedSuggestionIndex,e.metrics=lt.metrics})}}),dt=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},sg=t=>t.input.mixedSuggestion,rg=t=>t.input.pinnedSuggestions,ig=t=>t.input.textSuggestions,gn=t=>t.input.selectedSuggestionIndex,ct=ra([ig,rg],(t,e)=>[...t,...e]),_t=ra([ct,sg,gn],(t,e,n)=>n>-1?t[n]:e),aa=t=>t.input.selection,{commitSuggestion:ie,offeredTextSuggestion:la,registerCut:da,registerKeyDown:ca,registerKeyUp:ua,registerPaste:pa,selectNextTextSuggestion:ga,selectPreviousTextSuggestion:ma,selectTextSuggestionByIndex:co,setInput:uo,setMetrics:fa,setPinnedSuggestions:Ft,removePinnedSuggestions:ut,setSelection:po,setTextSuggestions:Je,resetMetrics:ha,sendMessage:pt}=ia.actions,ya=ia.reducer;import{createAsyncThunk as cg,createSelector as ug,createSlice as pg}from"@reduxjs/toolkit";import{createAsyncThunk as go,createSlice as ag}from"@reduxjs/toolkit";function va(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var lg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Ht=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},Sa=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},xa=t=>{var e;return(e=t.info.customData)!=null?e:null},fn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&va(t.visitorTimeZone)?t.visitorTimeZone:$i,agentName:(n=e==null?void 0:e.agentNickname)!=null?n:"",visitorName:(o=t==null?void 0:t.visitorName)!=null?o:""}},dg=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],ba=go("info/setAgentNickname",(n,o)=>S(null,[n,o],function*({agentNickname:t},e){var i;let{deepdeskAPI:s}=e.extra,r=yield s.patchMe({nickname:t});return{agentNickname:(i=r==null?void 0:r.nickname)!=null?i:t}})),mn=go("info/setAgentInfo",(t,e)=>S(null,null,function*(){var r,i,a;let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=[];if(t.agentId&&t.skipSync!==!0&&s.push(n.postIdentity({externalId:t.agentId})),t.skipSync!==!0){let d=dg.reduce((l,[c,u])=>!o[u]&&c in t?b(h({},l),{[u]:t[c]}):l,{});Object.keys(d).length>0&&s.push(n.patchMe(d).then(l=>o=l))}return s.length>0&&(yield Promise.all(s)),{agentId:t.agentId,agentName:t.agentName,agentNickname:(r=o.nickname)!=null?r:t.agentNickname,agentEmail:(i=o.email)!=null?i:t.agentEmail,agentDefaultLocale:(a=o.defaultLocale)!=null?a:t.agentDefaultLocale,agentTimeZone:t.agentTimeZone}})),Xs=go("info/setAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=h(h({},typeof o.uiConfig=="object"?o.uiConfig:{}),t);return yield n.patchMe({uiConfig:s}),s})),Js=go("info/getAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),Ca=ag({name:"info",initialState:lg,reducers:{setVisitorInfo(t,e){t.visitorInfo=h(h({},t.visitorInfo),e.payload)},setCustomData(t,e){t.customData=e.payload},setPlatformVariables(t,e){t.platformVariables=e.payload},setShowNicknameDialog(t,e){t.showNicknameDialog=e.payload}},extraReducers:t=>{t.addCase(mn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),n.meta.arg)}).addCase(mn.rejected,e=>{e.fetchState="error"}).addCase(mn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(Xs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Js.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase($,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ta,setCustomData:wa,setPlatformVariables:Ea,setShowNicknameDialog:ka}=Ca.actions,Ra=Ca.reducer;function ge(t,e){return e?t==null?(k.warn("replaceVars called with non-string text; upstream contract violation",{keys:Object.keys(e)}),t):Object.entries(e).reduce((n,[o,s])=>n.replaceAll(o,s),t):t}var mo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Pa=t=>t.search.isOpen,Ia=t=>t.search.page,Qs=t=>t.search.list,Aa=t=>t.search.aggregates,gg=ug([Qs,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),La=t=>e=>gg(e,t),gt=cg("search/getAll",(t,e)=>S(null,null,function*(){var d;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(d=o.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=o.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield n.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:fn(o)});return{results:i.map(l=>b(h(h({},l),l.title&&r?{title:ge(l.title,r)}:{}),{text:ge(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),Ma=pg({name:"search",initialState:mo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=mo.fetchState,t.list=mo.list}},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,(e,n)=>{e.fetchState="error",k.error(n.error)}).addCase(gt.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase($,()=>mo)}}),{resetSearch:fo,setIsOpen:me,setPage:Bt}=Ma.actions,Na=Ma.reducer;var Zs="SetOutputs",Ut="ShowLoginOverlay",hn="UserLoggedIn",mg="UserLoggedOut",De="ApplySuggestion",Ys="ApplyImageSuggestion",fg="ShowCommandPalette",ho="ShowNicknameDialog",yo="ReduxAction",hg="RemovePinnedSuggestion",yg=t=>({[Zs]:e=>{var s,r;let n=(s=t.getState().conversation.current)==null?void 0:s.externalId,o=(r=e==null?void 0:e.payload)==null?void 0:r.externalConversationId;o&&o!==n||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[yo]:e=>{e.isBroadcasted||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[hg]:e=>{t.dispatch(ut(e))},[fg]:e=>{t.dispatch(me(e.isOpen)),e.page&&t.dispatch(Bt(e.page))},[ho]:e=>{t.dispatch(ka(e.showNicknameDialog))},[Ut]:e=>{t.dispatch(Zi(e))},[hn]:()=>{t.dispatch(Oe())},[mg]:()=>{t.dispatch(Oe())},[Ys]:e=>{t.dispatch(lo({suggestion:e.suggestion}))},[De]:e=>{t.dispatch(ie(b(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),Oa=yg;import{useDispatch as Sg}from"react-redux";import{createAsyncThunk as vg}from"@reduxjs/toolkit";function er(t){return vg("analytics/logEvent",(e,n)=>{var r,i,a;let o=(i=(r=n.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=n.getState())==null?void 0:a.info.agentInfo;return n.extra.deepdeskAPI.sendEvent(e.name,b(h({conversationId:o},s),{data:e.data}))})(t)}function V(){let t=Sg();return(e,n)=>S(null,null,function*(){yield t(er({name:e,data:n}))})}import{useRef as xg,useState as tr}from"react";import{useDispatch as bg}from"react-redux";function vo(t,e){let n=xg(t);n.current=t;let[o,s]=tr(void 0),[r,i]=tr(void 0),[a,d]=tr("idle"),l=bg();return{error:r,state:a,data:o,call:p=>S(null,null,function*(){d("loading"),yield l(n.current(p)).unwrap().then(g=>{s(g),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(g))}).catch(g=>{i(g),d("error"),e!=null&&e.onError&&(e==null||e.onError(g))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import Da,{useContext as Cg}from"react";import{jsx as Tg}from"react/jsx-runtime";var _a=Da.createContext(null),_e=({broadcastEvents:t,children:e})=>{let n=Da.useMemo(()=>t,[]);return Tg(_a.Provider,{value:n,children:e})},oe=()=>{let t=Cg(_a);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as _g,useContext as Fg}from"react";var nr=function(t,e){return nr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},nr(t,e)};function yn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");nr(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var ae=function(){return ae=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ae.apply(this,arguments)};function Fa(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function So(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}function xo(t,e){var n=e&&e.cache?e.cache:Ag,o=e&&e.serializer?e.serializer:Pg,s=e&&e.strategy?e.strategy:Eg;return s(t,{cache:n,serializer:o})}function wg(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Ha(t,e,n,o){var s=wg(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function Ba(t,e,n){var o=Array.prototype.slice.call(arguments,3),s=n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.apply(this,o),e.set(s,r)),r}function or(t,e,n,o,s){return n.bind(e,t,o,s)}function Eg(t,e){var n=t.length===1?Ha:Ba;return or(t,this,n,e.cache.create(),e.serializer)}function kg(t,e){return or(t,this,Ba,e.cache.create(),e.serializer)}function Rg(t,e){return or(t,this,Ha,e.cache.create(),e.serializer)}var Pg=function(){return JSON.stringify(arguments)},Ig=(function(){function t(){this.cache=Object.create(null)}return t.prototype.get=function(e){return this.cache[e]},t.prototype.set=function(e,n){this.cache[e]=n},t})(),Ag={create:function(){return new Ig}},bo={variadic:kg,monadic:Rg};var Co;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Co||(Co={}));var To=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var de;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(de||(de={}));var wo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(wo||(wo={}));function sr(t){return t.type===de.literal}function rr(t){return t.type===de.argument}function vn(t){return t.type===de.number}function Sn(t){return t.type===de.date}function xn(t){return t.type===de.time}function bn(t){return t.type===de.select}function Cn(t){return t.type===de.plural}function Ua(t){return t.type===de.pound}function Tn(t){return t.type===de.tag}function Eo(t){return!!(t&&typeof t=="object"&&t.type===wo.number)}function wn(t){return!!(t&&typeof t=="object"&&t.type===wo.dateTime)}function ir(t){t.forEach(function(e){if(delete e.location,bn(e)||Cn(e))for(var n in e.options)delete e.options[n].location,ir(e.options[n].value);else vn(e)&&Eo(e.style)||(Sn(e)||xn(e))&&wn(e.style)?delete e.style.location:Tn(e)&&ir(e.children)})}function Ka(t,e){e===void 0&&(e={}),e=ae({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new To(t,e).parse();if(n.err){var o=SyntaxError(Co[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||ir(n.val),n.val}var mt;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(mt||(mt={}));var En=(function(t){yn(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e})(Error);var ar=(function(t){yn(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),mt.INVALID_VALUE,r)||this}return e})(En);var Wa=(function(t){yn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),mt.INVALID_VALUE,s)||this}return e})(En);var za=(function(t){yn(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),mt.MISSING_VALUE,o)||this}return e})(En);var ee;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(ee||(ee={}));function Lg(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==ee.literal||n.type!==ee.literal?e.push(n):o.value+=n.value,e},[])}function Mg(t){return typeof t=="function"}function kn(t,e,n,o,s,r,i){if(t.length===1&&sr(t[0]))return[{type:ee.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(sr(c)){a.push({type:ee.literal,value:c.value});continue}if(Ua(c)){typeof r=="number"&&a.push({type:ee.literal,value:n.getNumberFormat(e).format(r)});continue}var u=c.value;if(!(s&&u in s))throw new za(u,i);var p=s[u];if(rr(c)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?ee.literal:ee.object,value:p});continue}if(Sn(c)){var g=typeof c.style=="string"?o.date[c.style]:wn(c.style)?c.style.parsedOptions:void 0;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(xn(c)){var g=typeof c.style=="string"?o.time[c.style]:wn(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(vn(c)){var g=typeof c.style=="string"?o.number[c.style]:Eo(c.style)?c.style.parsedOptions:void 0;g&&g.scale&&(p=p*(g.scale||1)),a.push({type:ee.literal,value:n.getNumberFormat(e,g).format(p)});continue}if(Tn(c)){var m=c.children,f=c.value,y=s[f];if(!Mg(y))throw new Wa(f,"function",i);var v=kn(m,e,n,o,s,r),x=y(v.map(function(A){return A.value}));Array.isArray(x)||(x=[x]),a.push.apply(a,x.map(function(A){return{type:typeof A=="string"?ee.literal:ee.object,value:A}}))}if(bn(c)){var T=c.options[p]||c.options.other;if(!T)throw new ar(c.value,p,Object.keys(c.options),i);a.push.apply(a,kn(T.value,e,n,o,s));continue}if(Cn(c)){var T=c.options["=".concat(p)];if(!T){if(!Intl.PluralRules)throw new En(`Intl.PluralRules is not available in this environment.
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
- `,mt.MISSING_INTL_API,i);var w=n.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));T=c.options[w]||c.options.other}if(!T)throw new ir(c.value,u,Object.keys(c.options),i);a.push.apply(a,En(T.value,e,n,o,s,u-(c.offset||0)));continue}}return kg(a)}function Pg(t,e){return e?ae(ae(ae({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=ae(ae({},t[o]),e[o]||{}),n},{})):t}function Ig(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=Pg(t[o],e[o]),n},ae({},t)):t}function ar(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function Ag(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:So(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,vo([void 0],n,!1)))},{cache:ar(t.number),strategy:xo.variadic}),getDateTimeFormat:So(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,vo([void 0],n,!1)))},{cache:ar(t.dateTime),strategy:xo.variadic}),getPluralRules:So(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,vo([void 0],n,!1)))},{cache:ar(t.pluralRules),strategy:xo.variadic})}}var lr=(function(){function t(e,n,o,s){n===void 0&&(n=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var p=c.reduce(function(u,f){return!u.length||f.type!==ee.literal||typeof u[u.length-1]!="string"?u.push(f.value):u[u.length-1]+=f.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return En(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=n,this.resolvedLocale=t.resolveLocale(n),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=Da(i,["formatters"]);this.ast=t.__parse(e,ae(ae({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Ig(t.formats,o),this.formatters=s&&s.formatters||Ag(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(typeof Intl.Locale!="undefined"){var n=Intl.NumberFormat.supportedLocalesOf(e);return n.length>0?new Intl.Locale(n[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=Ba,t.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},t})();function Ng(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var Og="dummy",dr=Lg(null);function P(t){var o;let e=Mg(dr);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let n=(o=t[e])!=null?o:{};return(s,r)=>{let i=Ng(n,s);return i?new lr(i).format(r):(e!==Og&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{createAction as za,createAsyncThunk as Va,createSlice as _g}from"@reduxjs/toolkit";import{Marked as Dg}from"marked";var Eo=(t,e)=>{let n=[],o=new Dg,s=r=>{r.type==="code"&&r.lang===e&&n.push(r.text)};return o.use({walkTokens:s}),o.parse(t),n};function cr(t){return Array.isArray(t.attachments)&&t.attachments.length>0?t.attachments:Array.isArray(t.transcript)?t.transcript.flatMap(e=>{var n;return(n=e==null?void 0:e.attachments)!=null?n:[]}):[]}var Wa={cues:[],threads:{},pending:[]},ja=t=>{var e;return(e=t.assistants)==null?void 0:e.cues};var $a=t=>e=>{var n,o;return(o=(n=e.assistants)==null?void 0:n.threads[t])!=null?o:null},ko=za("assistants/callToAction"),kn=Va("assistants/evaluateKnowledgeAssistant",(t,e)=>v(null,null,function*(){var l,c,p;let{threadId:n}=t,{onNewThreadId:o}=t,{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info;n||(n=(yield s.createAssistantThread({assistantCode:t.assistantCode})).id,o&&o(n)),yield s.postMessageToAssistantThread({assistantCode:t.assistantCode,threadId:n,message:t.input});let a=yield e.dispatch(se(x(y({skipState:!0},t),{input:{},threadId:n,attachments:t.attachments})));if(a.error)throw new Error(a.error.message);let d=(l=a.payload.output[0])!=null?l:{response:"",sources:[]};return{threadId:n,question:t.input,evaluationId:a.payload.evaluationId,answer:{answer:(c=ge(d.response,i!=null?i:{}))!=null?c:"",sources:(p=d.sources)!=null?p:[]}}})),ST=za("assistants/extractedTextSuggestions");function Fg(t,e){var n,o;return Array.isArray(t.output)?t.output:typeof t.output=="string"?[{code:e,name:e,response:t.output}]:[x(y({code:e,name:e},t.output&&typeof t.output=="object"?t.output:{}),{response:(o=(n=t.output)==null?void 0:n.response)!=null?o:""})]}var se=Va("assistants/evaluate",(t,e)=>v(null,null,function*(){var C,T,w,A,R;let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra,{transcript:s,input:r={},threadId:i,attachments:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(T=(C=d.conversation.current)==null?void 0:C.externalId)!=null?T:null,p=(A=(w=t.externalConversationId)!=null?w:c)!=null?A:void 0,u;if(s==="in-memory-transcript"){if(!o.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");let I=yield o.conversationQuery();u=Array.isArray(I)?I:void 0}else Array.isArray(s)&&(u=s);if(t.includeMetadata&&d.conversation.current&&((R=t.externalConversationId)!=null?R:c)===c){let{metadata:U}=d.conversation.current;Object.assign(r,{metadata:U})}let f=cr({attachments:a,transcript:u}),h=yield n.evaluateAssistant(t.assistantCode,y({input:r,transcript:u,externalConversationId:p,threadId:i},f.length>0?{attachments:f}:{}));if(h.evaluationStatus!=="success")return e.rejectWithValue(`Assistant ${t.assistantCode} evaluation failed: ${h.evaluationStatus}`);let m=Fg(h,t.assistantCode).map(I=>x(y({},I),{name:ge(I.name,l),response:ge(I.response,l)||""})),S=[];return m.forEach(I=>{if(!I.response)return;let U=Eo(I.response,"reply");U.length!==0&&S.push(...U.map(ce=>({text:ce,type:"text",source:"assistant",assistantCode:I.code,sourceLabel:I.name})))}),S.length>0&&e.dispatch(Ft(S)),x(y({},h),{output:m,externalConversationId:p,currentExternalIdAtRequest:c})}));function qa(t){return t!=null&&t.length?t.map(e=>e.response).filter(Boolean).join(`
4
- `):""}var Ga=_g({name:"assistants",initialState:Wa,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(n=>n.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]},receiveChunk(t,e){let{code:n,name:o,payload:s,evaluationId:r}=e.payload,i=t.cues.findIndex(a=>a.code===n);i!==-1?t.cues[i].response+=s.text:t.cues.push({code:n,name:o,evaluationId:r,response:s.text})},userNotification(t,e){let n=t.cues.filter(d=>d.code!==e.payload.code),{code:o,name:s,evaluationId:r,payload:i}=e.payload,{callToAction:a}=i;t.cues=[...n,{code:o,name:s,evaluationId:r,response:i.message,editable:i.editableMessage,callToAction:a&&{label:a.displayName,event:a.onClickEvent,value:a.eventPayload}}]}},extraReducers:t=>{t.addCase(se.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&k.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(se.rejected,(e,n)=>{var s;k.warn((s=n.error)==null?void 0:s.message);let o=e.pending.indexOf(n.meta.arg.assistantCode);o!==-1&&e.pending.splice(o,1)}).addCase(se.fulfilled,(e,n)=>{let o=e.pending.indexOf(n.meta.arg.assistantCode);if(o!==-1&&e.pending.splice(o,1),n.meta.arg.skipState)return;let{evaluationId:s,output:r,externalConversationId:i,currentExternalIdAtRequest:a}=n.payload;if(i&&a&&i!==a)return;let d=r.map(p=>p.code),l=e.cues.filter(p=>!d.includes(p.code)),c=r.map(p=>y(x(y({},p),{evaluationId:s}),i?{externalConversationId:i}:{}));e.cues=[...l,...c]}).addCase(kn.fulfilled,(e,n)=>{let r=n.payload,{threadId:o}=r,s=O(r,["threadId"]);e.threads[o]=[...e.threads[o]||[],s]}).addCase(j,()=>Wa)}}),{removeCueByCode:Ro,resetCues:xT,removeThreadById:Xa,receiveChunk:Ja,userNotification:Qa}=Ga.actions,Za=Ga.reducer;import{createSlice as Hg}from"@reduxjs/toolkit";import{useSelector as Bg}from"react-redux";var Ug={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,signInViaPopup:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showStyleSuggestionList:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,addToPersonalCollection:!1,inlineSuggestions:!1,autoSelectSuggestion:!1,suggestionsPlacement:"above",floatingMenu:!1,detectSubmit:!1,automaticHandlingTime:!1,enableSuggestionFeedback:!1,enableFeedbackForm:!0,adminUrl:void 0,productName:"Deepdesk",hasKeyboardInput:!0},Ya=Hg({name:"settings",initialState:Ug,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}}}),{set:Po}=Ya.actions,ft=t=>e=>e.settings[t],E=t=>Bg(ft(t)),el=Ya.reducer;function Te(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import gr from"classnames";import{useState as zg}from"react";import{jsx as tl}from"react/jsx-runtime";var ur=t=>tl("svg",x(y({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:tl("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})}));import{jsx as nl}from"react/jsx-runtime";var ol=t=>nl("svg",x(y({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nl("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Qe(t,e){var s;let n=t.cloneNode(!0);n.style.top=`${t.offsetTop}px`,n.style.left=`${t.offsetLeft}px`,n.style.position="absolute",e.split(" ").forEach(r=>{n.classList.add(r)}),n.addEventListener("animationend",()=>n.remove()),(s=t.parentElement)==null||s.appendChild(n)}var pr={};J(pr,{enUS:()=>Kg,nlNL:()=>Wg});var Kg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Wg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var sl={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as rl}from"react-redux";var Ze=t=>e=>{let{passwordlessToken:{token:n},settings:{isEmbedded:o,adminUrl:s}}=e,r=s||window.location.origin;return o&&!n?null:o&&n?`${r}/apis/admin/session/passwordless/login/?token=${n}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as Kt,jsxs as jg}from"react/jsx-runtime";var Vg=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o,feedbackText:s})=>{let r=b("FeedbackThumbs",sl),i=E("enableFeedbackForm"),a=rl(Ce),d=rl(Ze(`/admin/feedback?conversationId=${a}&evaluationId=${n}&type=${o}&text=${s}&assistantCode=${t}&assistantOutput=${e}`)),l=P(pr),c=z(),[p,u]=zg(null),f=m=>{c("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:m})},h=m=>{m.stopPropagation(),Qe(m.target,r.fadeup),u("up"),f("up")},g=m=>{m.stopPropagation(),Qe(m.target,r.fadedown),u("down"),f("down")};return jg("div",{className:r.thumbs,children:[Kt(M.Button,{title:l("thumbsUp"),onClick:h,icon:Kt(ol,{}),className:gr(r.thumbsUp,p==="up"&&r.selected),disabled:!!p}),i&&d?Kt(M.Button,{as:"a",title:l("thumbsDown"),href:d,target:"_blank",rel:"noreferrer",onClick:g,icon:Kt(ur,{}),className:gr(r.thumbsDown,p==="down"&&r.selected),disabled:!!p}):Kt(M.Button,{title:l("thumbsDown"),onClick:g,icon:Kt(ur,{}),className:gr(r.thumbsDown,p==="down"&&r.selected),disabled:!!p})]})},Io=Vg;import im from"dompurify";import{Fragment as pl,useMemo as am,useRef as lm,useState as dm}from"react";import cl from"classnames";import{createRef as nm,useCallback as fr,useMemo as om,useRef as sm,useState as rm}from"react";import{useState as $g,useLayoutEffect as qg}from"react";var Gg=["bottom","height","left","right","top","width"],Xg=(t={},e={})=>Gg.some(n=>t[n]!==e[n]),Fe=new Map,il,al=()=>{let t=[],e=[];Fe.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();Xg(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Fe.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),il=window.requestAnimationFrame(al)};function Jg(t,e){return{observe(){let n=Fe.size===0;if(Fe.has(t)){let o=Fe.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Fe.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&al()},unobserve(){let n=Fe.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Fe.delete(t),Fe.size||cancelAnimationFrame(il)}}}}function mr(t){let[e,n]=$g(null);return qg(()=>{if(!t.current)return;let o=Jg(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Zg,useLayoutEffect as Yg,useState as em}from"react";import{createPortal as tm}from"react-dom";import{useEffect as Qg}from"react";function ht(t){Qg(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function yt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var ll={root:"dd-r-dgo"};var dl=({children:t,parentNode:e})=>{let[n,o]=em(null),s=Zg(an);return Yg(()=>{let r=document.createElement("div");return yt(r),r.classList.add(ll.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),o(r),()=>{r.isConnected&&r.remove()}},[]),n?tm(t,n):null};var we={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as hr}from"react/jsx-runtime";var Ao=(t=!1)=>{let[e,n]=rm(t),o=fr(()=>n(!0),[]),s=fr(()=>n(!1),[]),r=fr(()=>n(a=>!a),[]),i=sm(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function yr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Wt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=nm(),position:o="above",align:s="center",children:r,toStyle:i=yr,parentNode:a}=c,d=O(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=mr(e),u=mr(n),f=om(()=>i(p,u,0),[p,u]);return hr(dl,{parentNode:a,children:hr("div",x(y({className:cl(we.ref,{[we.positionAbove]:o==="above",[we.positionBelow]:o==="below",[we.positionLeft]:o==="left",[we.positionRight]:o==="right",[we.alignStart]:s==="start",[we.alignCenter]:s==="center",[we.alignEnd]:s==="end"}),style:f},d),{role:"dialog",children:hr("div",{className:cl(t,we.root),children:r})}))})};var ul={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{marked as cm}from"marked";import{jsx as Rn,jsxs as Lo}from"react/jsx-runtime";function um(t){return`<button type="button" data-copy-icon class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function vr(t){var n,o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(s=>s.remove()),(o=(n=e.textContent)==null?void 0:n.trim())!=null?o:""}function pm(t){return t.replace(/\r\n/g,`
5
- `)}var gm=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s})=>{let r=b("Markdown",ul),i=lm(null),[a,d]=dm(null),l=am(()=>{let g=cm.parse(pm(t));return im.sanitize(g.toString()).replaceAll("</code>",`${um(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=g=>{var C;let m=g.target,S=!!((C=i.current)!=null&&C.querySelector("code"));if(["A","BUTTON"].includes(m.tagName)){d(null);return}a||S&&m.tagName!=="CODE"||!S&&m!==i.current||(m.addEventListener("mouseleave",()=>d(null),{once:!0}),d(m))},p=()=>{if(!a)return;d(null);let g=a.querySelector("button");g&&(Qe(g,r.fadeup),o==null||o(vr(a)))},u=g=>{let m=g.target,S=m instanceof HTMLElement?m:null;if(m instanceof Element?m.closest("a"):null){g.stopPropagation();return}S&&"copyIcon"in S.dataset&&(Qe(S,r.fadeup),o==null||o(vr(S.parentElement)))},f=()=>{!a||!s||(d(null),s(vr(a)))},h=g=>{if(g===null)return;let m=g.getBoundingClientRect();m.left<0?g.style.transform=`translateX(${-m.left+2}px)`:m.right>window.innerWidth&&(g.style.transform=`translateX(${window.innerWidth-m.right-2}px)`)};return Lo(pl,{children:[a&&(o||s)&&Lo(Wt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[Lo("div",{className:r.options,ref:h,children:[o&&(a==null?void 0:a.tagName)==="CODE"&&Rn("button",{type:"button",className:r.option,onClick:p,children:n}),s&&Lo(pl,{children:[Rn("div",{className:r.divider}),Rn("button",{type:"button",className:r.option,onClick:f,children:e})]})]}),Rn("div",{className:r.arrow})]}),Rn("div",{ref:i,"data-testid":"widget-markdown-content",className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},vt=gm;import{useRef as hm}from"react";var gl={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as fm}from"react/jsx-runtime";var mm=({width:t})=>{let e=b("LoadingProgressBar",gl);return fm("div",{className:e.loadingBar,style:{width:t}})},Mo=mm;import{jsx as zt,jsxs as ym}from"react/jsx-runtime";var No=({title:t})=>{let e=hm(null);return Qn(e),zt(M,{ref:e,children:zt(_,{children:ym(_.Content,{children:[zt(_.Title,{children:t}),zt(Mo,{width:"60%"}),zt(Mo,{width:"90%"}),zt(Mo,{width:"50%"})]})})})};var Vt={};J(Vt,{enUS:()=>vm,nlNL:()=>Sm});var vm={inputPlaceholder:[{type:0,value:"What is your question?"}],useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Submit"}],resetLabel:[{type:0,value:"Reset"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Sm={inputPlaceholder:[{type:0,value:"Wat is je vraag?"}],useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Verzend"}],resetLabel:[{type:0,value:"Gesprek wissen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var Oo={form:"dd-pleCH",formInput:"dd-pGJMY",formSubmit:"dd--gkRg",actionButton:"dd-I2NEH",resetContainer:"dd-qKIDX",sources:"dd-xf9c6",source:"dd-a-vyX",tooltip:"dd-EsgcZ",linkContent:"dd-gARDA",showMoreSources:"dd-uDGi-"};import*as Ee from"react";import{useFloating as xm,autoUpdate as bm,useClick as Cm,useDismiss as Tm,useRole as wm,useInteractions as Em,useMergeRefs as fl,FloatingPortal as km,FloatingFocusManager as Rm,useHover as Pm,offset as Im,flip as Am,shift as Lm,safePolygon as Mm}from"@floating-ui/react";var Do={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as Ye,jsxs as ml}from"react/jsx-runtime";function Nm({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=Ee.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=xm({placement:e,open:d,onOpenChange:l,whileElementsMounted:bm,middleware:[Im(5),Am({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),Lm({padding:10})]}),p=c.context,u=Cm(p,{enabled:s==null}),f=Tm(p),h=wm(p),g=Pm(p,{enabled:o!=null?o:!1,handleClose:Mm()}),m=Em([u,f,h,g]);return Ee.useMemo(()=>x(y(y({open:d,setOpen:l},m),c),{modal:n}),[d,l,m,c,n])}var hl=Ee.createContext(null),Sr=()=>{let t=Ee.useContext(hl);if(t==null)throw new Error("Popover components must be wrapped in <Popover />");return t},St=o=>{var s=o,{children:t,modal:e=!1}=s,n=O(s,["children","modal"]);let r=Nm(y({modal:e},n));return Ye(hl.Provider,{value:r,children:t})};function Om(o){var s=o,{as:t,children:e}=s,n=O(s,["as","children"]);let r=Sr(),i=t||"button",a=e.ref,d=fl([r.refs.setReference,a]);return Ye(i,x(y({ref:d,type:"button"},r.getReferenceProps(n)),{children:e}))}var Dm=Ee.forwardRef(function(s,o){var r=s,{style:e}=r,n=O(r,["style"]);let l=Sr(),{context:i}=l,a=O(l,["context"]),d=fl([a.refs.setFloating,o]);return i.open?Ye(km,{children:Ye(Rm,{context:i,modal:a.modal,disabled:n.disableFocusManager,children:Ye("div",x(y({ref:d,style:y(x(y({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function _m(s){var r=s,{as:t,children:e,onClick:n}=r,o=O(r,["as","children","onClick"]);let{setOpen:i}=Sr();return Ye(t||"button",x(y({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function yl({trigger:t,children:e,placement:n="top"}){return ml(St,{tooltip:!0,placement:n,children:[ml(St.Content,{className:Do.tooltip,children:[e,Ye("div",{className:Do.arrow})]}),Ye(St.Trigger,{className:Do.tooltipTrigger,children:t})]})}St.Trigger=Om;St.Content=Dm;St.Button=_m;var $=St;import{useRef as Bm}from"react";var vl={error:"dd-CoAuB"};var xr={};J(xr,{enUS:()=>Fm,nlNL:()=>Hm});var Fm={errorPrefix:[{type:0,value:"Error:"}]},Hm={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as Sl,jsxs as Um}from"react/jsx-runtime";var xl=({message:t})=>{let e=Bm(null),n=b("WidgetCardError",vl),o=P(xr);return Qn(e),Sl(M,{ref:e,children:Sl(_,{children:Um(_.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as H,jsxs as He}from"react/jsx-runtime";var $m=3,qm=({sources:t,onClick:e})=>{let n=P(Vt),o=b("WidgetKnowledgeAssistant",Oo),[s,r]=xt(!1),i=s?t:t.slice(0,$m);return i.length===0?null:He("ul",{className:o.sources,children:[i.map(a=>H("li",{className:o.source,"data-testid":"knowledge-assist-source",children:He($,{tooltip:!0,placement:"top-start",children:[H($.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:H("span",{className:o.linkContent,children:a.name})}),a.url&&H($.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&H("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},Gm=({title:t,description:e})=>H(M,{"data-testid":"knowledge-assist-empty-state",children:H(_,{children:He(_.Content,{children:[H(_.Title,{children:t}),H(vt,{content:e})]})})}),Xm=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=P(Vt),a=br(_o);return He(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[H(_,{children:He(_.Content,{children:[H(_.Title,{children:e.question}),H(vt,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),H(qm,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&He(M.ButtonsContainer,{children:[H("div",{}),H(Io,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer,feedbackText:e.answer.answer})]})]})},_o=Km(null),Fo=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,children:o})=>{let[s,r]=xt(null),[i,a]=xt(!1),[d,l]=xt(null),[c,p]=xt(!!n),[u,f]=xt(null),h=Vm(),g=z(),m=yo(T=>{if(!t)throw new Error("No knowledge assistant was defined");return l(null),e({assistantCode:t,input:T,threadId:s,onNewThreadId(w){r(w)}})},{onSuccess(T){var w;g("Assistant response displayed",{evaluationId:T.evaluationId,assistantCode:t,assistantOutput:T.answer.answer,input:T.question,sources:(w=T.answer.sources)!=null?w:[]}),p(!1)},onError(T){var w;l((w=T.message)!=null?w:"Unknown error")}}),S=T=>v(null,null,function*(){a(!0),f(T),yield m.call(T),a(!1),f(null)}),C={isEnabled:!!t,assistantCode:t,isSubmitting:i,threadId:s,pendingInput:u,errorMessage:d,onSubmit:S,onReset(){s&&h(Xa(s)),l(null),r(null),t&&g("Assistant thread reset",{threadId:s!=null?s:void 0,assistantCode:t})}};return zm(()=>{n&&C.isEnabled&&S(n)},[n]),H(_o.Provider,{value:C,children:o})},Ho=()=>{let t=P(Vt),e=b("WidgetKnowledgeAssistant",Oo),n=br(_o),o=bl(null),[s,r]=xt(""),i=d=>{r(d.target.value)},a=d=>{d.preventDefault(),n.onSubmit(s).then(()=>{var l;o.current&&((l=o.current)==null||l.focus(),r(""))})};return n.isEnabled?He("form",{className:e.form,onSubmit:a,children:[H("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting,value:s,onChange:i}),H("button",{type:"submit",disabled:n.isSubmitting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},Bo=({title:t,emptyState:e})=>{var h,g;let n=P(Vt),o=z(),s=b("WidgetKnowledgeAssistant",Oo),r=bl(null),i=br(_o),a=(g=jm($a((h=i.threadId)!=null?h:-1)))!=null?g:[],d=E("hasKeyboardInput"),l=oe(),c=(m,S)=>{Te(m),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:m,copiedText:m,evaluationId:S.evaluationId})},p=(m,S)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:S.evaluationId,assistantCode:i.assistantCode,source:m})},u=m=>{m.preventDefault(),i.onReset()},f=(m,S)=>{l.send(De,{text:m,suggestion:{source:"assistant",sourceText:m}}),i.assistantCode&&o("Assistant response used",{assistantCode:i.assistantCode,evaluationId:S.evaluationId,assistantOutput:S.answer.answer,usedText:m})};return!i.isEnabled||(a==null?void 0:a.length)===0&&!i.isSubmitting&&!e&&!i.errorMessage?null:He(Wm,{children:[H(Me,{type:"knowledge",title:t,"data-testid":"knowledge",children:He(Y,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&H(Gm,y({},e)),a.map((m,S)=>H(Xm,{innerRef:S===a.length-1?r:void 0,item:m,hasKeyboardInput:d,onCopy:C=>c(C,m),onUse:C=>f(C,m),onSourceClick:C=>p(C,m)},`${m.question}_${m.answer}_${S}`)),i.pendingInput&&H(No,{title:i.pendingInput}),i.errorMessage&&H(xl,{message:i.errorMessage})]})}),a.length>0&&H("div",{className:s.resetContainer,children:H(M.Button,{disabled:i.threadId===null||i.isSubmitting,onClick:u,children:n("resetLabel")})})]})};import{createRoot as rt}from"react-dom/client";import{Fragment as Bh}from"react";import{useSelector as Il}from"react-redux";import Tr from"classnames";import{useCallback as Rl,useEffect as sf,useMemo as rf,useState as wr}from"react";import{useDispatch as af,useSelector as lf}from"react-redux";import{useEffect as Jm,useRef as Qm}from"react";var Tl={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as wl}from"react/jsx-runtime";var Zm=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=Qm(null),l=b("Dialog",Tl),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&o()};return Jm(()=>{var u,f;!d.current||!t||!e||(f=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||f.focus()},[t,e,d]),t?wl("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:wl("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},jt=Zm;import Ym from"classnames";var El={root:"dd-ranhW"};import{jsx as tf}from"react/jsx-runtime";var ef=o=>{var s=o,{className:t,value:e}=s,n=O(s,["className","value"]);let r=b("TextInput",El);return tf("input",y({className:Ym(t,r.root),type:"text",value:e},n))},Pn=ef;var Cr={};J(Cr,{enUS:()=>nf,nlNL:()=>of});var nf={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},of={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var kl={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as re,jsxs as Uo}from"react/jsx-runtime";var df=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},cf=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=P(Cr),i=b("LoginTokenDialog",kl),a=lf(ji),d=af(),l=E("productName"),[c,p]=wr(t||""),[u,f]=wr(0),[h,g]=wr(""),m=Rl(w=>v(null,null,function*(){w.preventDefault(),d(Gi({email:c})),f(1)}),[n,c]),S=()=>{g(""),f(0)},C=Rl(w=>v(null,null,function*(){w.preventDefault();let A=df(w.target.elements.token.value);if(!A){g(r("verifyCodeError",{login:T}));return}d(cn({token:A}))}),[n]),T=rf(()=>w=>re("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:S,children:w},"back-button"),[]);return sf(()=>{a==="error"&&g(r("verifyCodeError",{login:T})),a==="done"&&o()},[a]),re(jt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Uo("div",{className:i.root,children:[re("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&Uo("form",{onSubmit:m,children:[re("h2",{className:i.subtitle,children:r("requestCodeTitle")}),re("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),re(Pn,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:w=>p(w.target.value)}),re("div",{className:i.actions,children:re("button",{type:"submit",className:Tr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&Uo("form",{onSubmit:C,children:[re("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),re("p",{className:i.text,children:r("verifyCodeBody")}),re(Pn,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),h&&re("div",{className:i.errorMessage,children:h}),Uo("div",{className:i.actions,children:[re("button",{type:"button",className:Tr(i.button),onClick:S,children:r("back")}),re("button",{type:"submit",className:Tr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Pl=cf;import{jsx as pf}from"react/jsx-runtime";var uf=()=>{let t=Il($i),e=Il(Ht),n=E("adminUrl"),o=oe(),s=()=>o.send(Ut,!1),r=()=>{o.send(Ut,!1),o.send(fn)};return pf(Pl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},Al=uf;import Ah from"lodash.debounce";import{Fragment as Lh,useCallback as bd,useEffect as Cd,useMemo as Mh,useState as Fr}from"react";import{useDispatch as Nh,useSelector as Ct}from"react-redux";import{createAsyncThunk as gf,createSlice as mf}from"@reduxjs/toolkit";var ff={data:null,fetchState:"idle"},Ll=t=>t.contentTypes.data,In=gf("contentTypes/getContentTypes",(t,e)=>v(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),hf=mf({name:"contentTypes",initialState:ff,reducers:{},extraReducers:t=>{t.addCase(In.pending,e=>{e.fetchState="loading"}).addCase(In.rejected,e=>{e.fetchState="error"}).addCase(In.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Ml=hf.reducer;import{createAsyncThunk as yf,createSelector as vf,createSlice as Sf}from"@reduxjs/toolkit";var xf={data:null,fetchState:"idle"},bf=[],et=t=>t.profile.data,Cf=t=>t.profile.data?t.profile.data.uiConfig.widget.types:bf,Ln=vf([Cf],t=>t.filter(e=>e.isActive)),Nl=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||[]},Ol=t=>e=>Ln(e).find(n=>n.type===t),Dl=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,_l=t=>{var e,n;return(n=(e=t.profile.data)==null?void 0:e.knowledgeAssistantNew)!=null?n:null},An=yf("profile/getProfile",(t,e)=>v(null,null,function*(){var r;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=o.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=o.profile.data)==null?void 0:r.code)===s.profileCode?o.profile.data:n.getProfile(s.profileCode)})),Tf=Sf({name:"profile",initialState:xf,reducers:{},extraReducers:t=>{t.addCase(An.pending,e=>{e.fetchState="loading"}).addCase(An.rejected,e=>{e.fetchState="error"}).addCase(An.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Fl=Tf.reducer;import{useEffect as td,useState as Xf,useRef as Jf,useCallback as Qf}from"react";import{useState as kf}from"react";import Er from"classnames";var le={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",listItemTooltip:"dd-SWFsE",listItemTooltipContent:"dd-I7J9N",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Be={};J(Be,{enUS:()=>wf,nlNL:()=>Ef});var wf={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}],showAll:[{type:0,value:"Show more"}],sources:[{type:0,value:"Sources"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Ef={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Mn,jsxs as Pf}from"react/jsx-runtime";var Rf=({src:t,title:e})=>{let n=b("CommandPalette",le),[o,s]=kf("loading"),r=P(Be);return Pf("div",{className:n.image,children:[Mn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Er(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&Mn("span",{className:Er(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&Mn("span",{className:Er(n.imageSrc,n.imageSrcStatus),children:Mn(Gn,{})}),e&&Mn("span",{className:n.imageTitle,children:e})]})},Hl=Rf;import If from"react";import Af from"classnames";import{jsx as kr,jsxs as Bl}from"react/jsx-runtime";function Rr({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=P(Be),i=b("CommandPalette",le);return If.Children.count(t)===0?null:Bl("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&Bl("div",{className:i.listHeader,children:[e&&kr("h4",{className:i.listHeading,children:e}),o&&s&&kr("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),kr("div",{className:Af(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import Wo from"classnames";import{Interweave as Vl}from"interweave";import{useEffect as Bf,useMemo as jl,useState as $l}from"react";var Lf=/[.*+?^${}()|[\]\\]/g,Mf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Nf(t){return t.replace(Lf,"\\$&")}function Of(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function Df(t){return t.search(Mf)}function Ul(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${Nf(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function Kl(t){return t.replace(Zn,'<mark data-type="placeholder">$1</mark>')}function Nn(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function _f(t,e){return t.split("").map((i,a)=>({char:i,index:a})).filter(({char:i,index:a})=>/\s/.test(i)&&a<=e).map(({index:i})=>i).reverse()[0]}function Pr(t,e,n={}){if(e){let o=Of(e.toLowerCase(),t.toLowerCase()),s=Nn(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=Df(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(Wi).length>3||e.length>30?_f(e.trim(),o):0;return`${`${i>0?"\u2026":""}${Nn(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Ff=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ko(t){return Ff.test(t)}function Ir(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import Ar from"react";import{jsx as Hf}from"react/jsx-runtime";var Wl=Ar.createContext(void 0);function $t(){let t=Ar.useContext(Wl);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var zl=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=Ar.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return Hf(Wl.Provider,{value:i,children:t})};import{jsx as Ue,jsxs as zo}from"react/jsx-runtime";var Uf=3,Kf=90,ql=({children:t})=>{let e=b("CommandPalette",le);return Ue("div",{className:e.listItemActions,children:t})};function Lr(f){var h=f,{closeOnSelect:t=!0,lineClamp:e,tooltip:n,children:o,onClick:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,defaultSourcesAmount:p=Uf}=h,u=O(h,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var Ae;let g=P(Be),[m,S]=$l(!1),{selected:C,onChangeOpen:T}=$t(),[w,A]=$l(!1),R=b("CommandPalette",le);function I(D){s(D),t&&T(!1)}let U=jl(()=>typeof a!="string"?a:Ko(a)?Ir(a).trim():a,[a]),ce=jl(()=>typeof n!="string"?n:Ko(n)?Ir(n).trim():n,[n]);return Bf(()=>{A(C===l)},[C]),zo("div",{className:Wo(R.listItem,l===C&&R.listItemSelected),children:[zo($,{placement:"right-start",tooltip:!0,onOpenChange:A,open:w,children:[Ue($.Trigger,x(y({className:R.listItemAction,"aria-disabled":(Ae=u.disabled)!=null?Ae:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},u),{children:zo("div",{className:R.listItemContent,children:[typeof o=="string"?Ue("p",{className:Wo(R.listItemText,R.truncate,c==null?void 0:c.title),children:o}):o,U&&typeof U=="string"?Ue(Vl,{tagName:"p",allowList:[],content:U,className:Wo(R.listItemDescription,c==null?void 0:c.description,e?R.lineClamp:R.truncate)}):a]})})),ce&&ce.length>Kf&&Ue($.Content,{className:R.listItemTooltip,disableFocusManager:!0,children:Ue(Vl,{className:R.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:ce.replace(/\n/g,"<br />")})})]}),l===C&&r,d&&d.length>0&&zo("div",{className:R.sources,children:[Ue("span",{className:R.sourcesTitle,children:g("sources")}),d.slice(0,m?d.length:p).map(D=>Ue("a",{className:R.source,href:D.url,target:"_blank",title:D.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(D),children:D.name},D.url)),!m&&d.length>p&&Ue("button",{className:Wo(R.source,R.sourceShowMore),type:"button",onClick:()=>S(!0),children:g("showMore",{amount:d.length-p})})]})]})}import{jsx as Gl,jsxs as Wf}from"react/jsx-runtime";var Xl=()=>Wf("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Gl("title",{id:"angleLeftTitle",children:"AngleLeft"}),Gl("path",{d:"M192 448c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l137.4 137.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448z"})]});import{jsx as Jl,jsxs as Mr}from"react/jsx-runtime";function Nr({children:t,title:e,id:n,onDismiss:o}){let s=P(Be),r=b("CommandPalette",le),{page:i}=$t();return i!==n?null:Mr("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&Mr("div",{className:r.pageNav,children:[Mr("button",{className:r.pageBackButton,type:"button",onClick:o,children:[Jl(Xl,{}),s("back")]}),e&&Jl("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Vf}from"react";import{jsx as Ql,jsxs as zf}from"react/jsx-runtime";var qt=()=>zf("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ql("path",{d:"M0 0h24v24H0z",fill:"none"}),Ql("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as Gt,jsxs as Or}from"react/jsx-runtime";function jf({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=b("CommandPalette",le);return Or("div",{className:d.search,children:[Gt("div",{className:d.searchIcon,children:Gt(qt,{})}),Or("div",{className:d.searchInputWrapper,children:[Gt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Gt("div",{className:d.selectWrapper,children:Or("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===o?void 0:l.target.value),value:i||o,children:[o&&Gt("option",{children:o}),s.map(l=>Gt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Zl=Vf(jf);import Yl from"classnames";import{jsx as qf,jsxs as Gf}from"react/jsx-runtime";var $f=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=O(r,["onClick","shortKeys","children"]);let i=b("CommandPalette",le);return Gf("button",x(y({type:"button"},o),{onClick:t,className:Yl(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>qf("span",{className:Yl(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},ed=$f;import{jsx as nd,jsxs as Yf}from"react/jsx-runtime";var Zf="[data-command-palette-item]";function bt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u,updateDeps:f=[]}){let[h,g]=Xf(),m=Jf(null),S=()=>{s&&s(n),i(void 0),r(""),a(!1)},C=()=>{var D;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(D=m.current)==null||D.focus();return}if(u.length>0){r("");return}a(!1)},T=()=>{let D=w();D.length!==0&&g(D[0].dataset.itemId)},w=()=>Array.from(document.querySelectorAll(Zf)||[]),A=D=>document.querySelector(`[data-item-id=${D}]`),R=D=>{let K=A(D);K&&g(K.dataset.itemId)},I=D=>{let K=A(D);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!h)return;let D=w(),K=A(h);if(!K)return;let be=D.indexOf(K),X=D[be+1];X!=null&&X.dataset.itemId?R(X.dataset.itemId):T()},ce=()=>{if(!h)return;let D=w(),K=A(h);if(!K)return;let be=D.indexOf(K),X=D[be-1];X!=null&&X.dataset.itemId?R(X.dataset.itemId):R(D[D.length-1].dataset.itemId)},Ae=Qf(D=>{switch(D.key){case"ArrowDown":{D.preventDefault(),U();break}case"ArrowUp":{D.preventDefault(),ce();break}case"Enter":{if(h){let K=A(h);K==null||K.click()}break}}},[h]);return td(()=>{T()},[u,o,d,p,...f]),td(()=>{h&&I(h)},[h]),nd(jt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:C,onClose:S,onKeyDown:Ae,children:Yf(zl,{selected:h,setSelected:g,isOpen:p,onChangeOpen:a,page:o,children:[o===n&&nd(Zl,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}bt.Page=Nr;bt.List=Rr;bt.Image=Hl;bt.ListItem=Lr;bt.ListItemActions=ql;bt.Button=ed;var q=bt;import{useEffect as eh}from"react";function od(t,e){eh(()=>{let n=o=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?o.metaKey:o.ctrlKey)&&o.key===t&&(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[])}import{useEffect as ad,useRef as dh}from"react";import{useSelector as ch,useDispatch as uh}from"react-redux";import{createAsyncThunk as th,createSelector as nh,createSlice as oh}from"@reduxjs/toolkit";var sd={data:null,fetchState:"idle"},sh=t=>{var e;return(e=t.entities.data)!=null?e:null},Vo=nh([sh,Ht,ya],(t,e,n)=>{var a;let o=[],{visitorName:s}=n!=null?n:{},{agentName:r,agentNickname:i}=e!=null?e:{};return r&&r!==s&&o.push(r),i&&i!==s&&o.push(i),(a=t==null?void 0:t.filter(d=>!o.includes(d.text)))!=null?a:null}),fe=th("entities/getEntities",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.resolve([]);let s=o.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):n.getEntities(r)})),rh=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),ih=oh({name:"entities",initialState:sd,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,n)=>{e.fetchState="done",e.data=rh(e.data?[...e.data,...n.payload]:n.payload)}).addCase(j,()=>sd)}}),rd=ih.reducer;var Dr={};J(Dr,{enUS:()=>ah,nlNL:()=>lh});var ah={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},lh={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var id={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as _r,jsxs as gh}from"react/jsx-runtime";var ph=({onCopy:t})=>{let e=dh(null),n=b("EntitiesList",id),o=ch(Vo),{setSelected:s}=$t(),r=P(Dr),i=uh();return ad(()=>{i(fe())},[]),ad(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),gh("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&_r(q.List,{children:o.map((a,d)=>_r(q.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&_r("p",{className:n.empty,children:r("noResults")})]})},ld=ph;import{jsx as dd}from"react/jsx-runtime";var jo=t=>dd("svg",x(y({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:dd("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})}));var On={};J(On,{enUS:()=>mh,nlNL:()=>fh});var mh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],giveFeedback:[{type:0,value:"Give feedback"}],answer:[{type:0,value:"Answer"}]},fh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{useSelector as cd}from"react-redux";var $o={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as qo,jsxs as yh}from"react/jsx-runtime";var hh=({suggestion:t,source:e,context:n})=>{let o=P(On),s=cd(Ce),r=z(),i=E("enableSuggestionFeedback"),a=`${t.text}`,d=cd(Ze(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:n})}`)),l=()=>{r("suggestion feedback",{text:t.text,source:e,context:n})};return!i||!d?null:yh($,{placement:"top-end",children:[qo($.Trigger,{className:$o.trigger,children:qo(jo,{"data-testid":"feedback-dropdown-trigger"})}),qo($.Content,{className:$o.content,children:qo($.Button,{className:$o.item,as:"a",onClick:l,target:"_blank",href:d,children:o("giveFeedback")})})]})},Go=hh;var Dn={};J(Dn,{enUS:()=>vh,nlNL:()=>Sh});var vh={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"URL suggestions"}],personalSuggestions:[{type:0,value:"Personal suggestions"}],pinnedMessages:[{type:0,value:"Pinned messages"}],imageSuggestions:[{type:0,value:"Images"}],typePlaceholder:[{type:0,value:"All types"}],navigation:[{type:0,value:"Navigation"}],entitiesClipboard:[{type:0,value:"Conversation clipper"}],entitiesTitle:[{type:0,value:"Copy to your clipboard"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Commands"}],use:[{type:0,value:"Use"}],preview:[{type:0,value:"Preview"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},Sh={personalCollectionLink:[{type:0,value:"Ga naar persoonlijke collectie"}],searchPlaceholder:[{type:0,value:"Begin met typen om te zoeken..."}],personalSuggestions:[{type:0,value:"Persoonlijke suggesties"}],urlSuggestions:[{type:0,value:"URL suggesties"}],imageSuggestions:[{type:0,value:"Afbeeldingen"}],navigation:[{type:0,value:"Navigatie"}],typePlaceholder:[{type:0,value:"Alle types"}],pinnedMessages:[{type:0,value:"Actueel"}],entitiesClipboard:[{type:0,value:"Klembord"}],entitiesTitle:[{type:0,value:"Kopieer naar klembord"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Acties"}],use:[{type:0,value:"Gebruik"}],preview:[{type:0,value:"Bewerk"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};import{useEffect as wh}from"react";import{useDispatch as Eh,useSelector as kh}from"react-redux";import{createAction as Ch,createAsyncThunk as md,createSlice as Th}from"@reduxjs/toolkit";var xh=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],bh=new RegExp(xh.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function ud(t,e){let n=t.split(bh),o=0,s=[];for(let r=0;r<n.length;r++){let i=n[r];if(s.push(i),r===n.length-1)break;if(e.indexOf(i)===-1)return t;let a=n[r+1],d=r===n.length-2;o+=i.length;let l=o;if(d){let p=a.charAt(0),u=0;do l=p?e.indexOf(p,l+1):-1,u+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&u>2)return t}else l=a&&a!==""?e.indexOf(a,o):-1;let c=l===-1?e.slice(o):e.slice(o,l);s.push(c),o=l}return s.join("")}function pd(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var fd={suggestions:[],fetchState:"idle"},gd={default:fd},hd=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},Xo=t=>t.textSuggestions,yd=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},Jo=Ch("textSuggestions/refresh"),he=md("textSuggestions/recommendations",(t,e)=>v(null,null,function*(){var c,p,u;let{deepdeskAPI:n}=e.extra,o=e.getState(),{platformVariables:s}=o.info,{textSuggestionsCount:r,inlineSuggestions:i}=o.settings,a=dt(o),d=(c=o.conversation.current)==null?void 0:c.id;if(!d)throw new Error("No current conversation to fetch text suggestions");if(!((p=o.profile.data)!=null&&p.recommendationEngine))return[];let l=[];if(t==="sticky-messages"){let f=(u=o.profile.data)==null?void 0:u.code;if(!f)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(f)}else l=yield n.getTextSuggestions(d,mn(o),t);if(s&&(l=l.map(f=>y(x(y({},f),{text:ge(f.text,s)}),f.title?{title:ge(f.title,s)}:{}))),t==="default"){let f=i?l.filter(yd(a)):l;e.dispatch(Je(f.slice(0,r)))}return l})),_n=md("textSuggestions/autocompletions",(t,e)=>v(null,null,function*(){var c,p;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{platformVariables:r}=o.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=o.settings;if(!((p=o.profile.data)!=null&&p.recommendationEngine))return[];if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield n.getAutocompleteSuggestions(s,x(y({},mn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(yd(t))),r&&(l=l.map(u=>x(y({},u),{text:ge(u.text,r)}))),a&&(l=l.map(u=>x(y({},u),{text:u.source!=="trie-with-typos"?ud(u.text,t):u.text}))),l=pd(l,i),e.dispatch(Je(l)),l})),vd=Th({name:"textSuggestions",initialState:gd,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(he.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||fd;return x(y({},e),{[o]:x(y({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(he.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(_n.pending,e=>{e.default.fetchState="loading"}).addCase(_n.rejected,e=>{e.default.fetchState="error"}).addCase(_n.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase(j,()=>gd)}}),{setTextSuggestions:XP}=vd.actions,Sd=vd.reducer;import{jsx as Qo,jsxs as Ph}from"react/jsx-runtime";var Rh=({types:t,commands:e,onClick:n})=>{let o=Eh(),s=P(Dn),r=kh(Xo);return wh(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(he(i))})},[]),Ph("div",{children:[e.length>0&&Qo(q.List,{heading:s("commands"),children:e.map((i,a)=>Qo(q.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return Qo(q.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>Qo(q.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>n(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},xd=Rh;import{jsx as ke,jsxs as Br}from"react/jsx-runtime";var Oh=200,Dh=5,_h=4,Hr=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?_h:Dh),Fh=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Hh=()=>{var be,X,it;let t=Nh(),e=oe(),n=P(Dn),[o,s]=Fr(!1),[r,i]=Fr(""),a=Ct(Ra),d=Ct(et),[l,c]=Fr(),p=Ct(Q),u=E("showSearch"),f=E("enableSuggestionFeedback"),h=E("showEntitiesCommand"),g=E("showImageSearch"),m=E("searchTriggerKey"),S=Ct(Ll),C=Ct(Js),T=Ct(Pa),w=Ct(ka),A=((it=(X=(be=d==null?void 0:d.uiConfig)==null?void 0:be.search)==null?void 0:X.initialTypes)==null?void 0:it.filter(({isActive:N})=>N))||[],R=z(),I=Mh(()=>{let N=ne=>Hr(C.filter(V=>V.type===ne.toUpperCase()),ne,l),W=(S==null?void 0:S.map(ne=>({value:ne.code.toUpperCase(),label:`${ne.name}s`,list:N(ne.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(W.push({value:"PERSONAL",label:n("personalSuggestions"),list:N("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:N("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:N("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),g&&W.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:N("IMAGE"),listOrientation:"horizontal"}),A.length===0)return W;let Le=A.map(ne=>W.find(V=>V.value.toLowerCase()===ne.type)).filter(ne=>!!ne),It=W.filter(ne=>!Le.find(V=>V.value===ne.value));return[...Le,...It]},[S,A,g,l]),U=[{label:n("entitiesClipboard"),onClick:()=>t(Bt("entities")),shouldShow:h&&Fh(n("entitiesClipboard"),r)}].filter(N=>N.shouldShow).filter(()=>!l),ce=bd(Ah((N,W)=>{t(gt({query:N,type:W,tags:["search-overlay"],size:l?50:20}))},Oh),[l]),Ae=bd((N,W)=>{W.type==="IMAGE"?e.send(Zs,{suggestion:W}):e.send(De,{text:N,suggestion:W}),t(me(!1))},[t]),D=N=>{Te(N.text),R("entity copied",{entity:N,type:"copy"}),t(me(!1))};function K(N){return W=>{o?window.confirm(n("warning"))&&(N(W),s(!1)):N(W)}}return Cd(()=>{r?ce(r,l):t(mo())},[r,l]),Cd(()=>{p&&t(In())},[p]),od(m,()=>{t(me(!0)),R("open search",{via:"ctrl+k"})}),!u||!d?null:Br(q,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:K(N=>t(me(N))),onChangeType:N=>c(N),onChangePage:K(N=>t(Bt(N))),selectedType:l,search:r,page:a,isOpen:w,types:I,updateDeps:[C],children:[Br(q.Page,{id:"search",children:[r.length===0&&ke(xd,{types:A,commands:U,onClick:Ae}),r.length>0&&Br(Lh,{children:[U.length>0&&ke(q.List,{heading:n("commands"),children:U.map((N,W)=>ke(q.ListItem,{closeOnSelect:!1,onClick:N.onClick,id:`commands-${W}`,children:N.label},N.label))}),I.map(({value:N,label:W,list:Le,lineClamp:It,listOrientation:ne})=>ke(q.List,{heading:W,orientation:ne==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(N),hasMore:!l&&T[N.toLowerCase()]>Hr(Le,N,l).length,children:Hr(Le,N,l).map(V=>ke(q.ListItem,{id:`${N}-${V.id}`,closeOnSelect:!1,lineClamp:It,onClick:()=>Ae(V.text,V),description:N!=="IMAGE"?V.title&&V.text:void 0,tooltip:V.text,extra:f&&ke(q.ListItemActions,{children:ke(Go,{context:r,source:"search",suggestion:V})}),children:N==="IMAGE"?ke(q.Image,{title:V.title||V.text,src:V.image}):V.title||V.text},`${V.id}-${V.text}`))},N))]})]}),ke(q.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:K(()=>{t(Bt("search"))}),children:ke(ld,{onCopy:D})})]})},Td=Hh;import{jsx as wd,jsxs as Kh}from"react/jsx-runtime";var Uh=()=>{let t=E("showSearch"),e=E("isEmbedded");return Kh(Bh,{children:[t&&wd(Td,{}),e&&wd(Al,{})]})},Ed=Uh;import jh from"classnames";import{useSelector as $h}from"react-redux";import{jsx as Ur}from"react/jsx-runtime";var kd=({className:t})=>Ur("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",xmlSpace:"preserve",className:t,children:Ur("g",{children:Ur("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
3
+ `,mt.MISSING_INTL_API,i);var w=n.getPluralRules(e,{type:c.pluralType}).select(p-(c.offset||0));T=c.options[w]||c.options.other}if(!T)throw new ar(c.value,p,Object.keys(c.options),i);a.push.apply(a,kn(T.value,e,n,o,s,p-(c.offset||0)));continue}}return Lg(a)}function Ng(t,e){return e?ae(ae(ae({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=ae(ae({},t[o]),e[o]||{}),n},{})):t}function Og(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=Ng(t[o],e[o]),n},ae({},t)):t}function lr(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function Dg(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,So([void 0],n,!1)))},{cache:lr(t.number),strategy:bo.variadic}),getDateTimeFormat:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,So([void 0],n,!1)))},{cache:lr(t.dateTime),strategy:bo.variadic}),getPluralRules:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,So([void 0],n,!1)))},{cache:lr(t.pluralRules),strategy:bo.variadic})}}var dr=(function(){function t(e,n,o,s){n===void 0&&(n=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var u=c.reduce(function(p,g){return!p.length||g.type!==ee.literal||typeof p[p.length-1]!="string"?p.push(g.value):p[p.length-1]+=g.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return kn(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=n,this.resolvedLocale=t.resolveLocale(n),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=Fa(i,["formatters"]);this.ast=t.__parse(e,ae(ae({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Og(t.formats,o),this.formatters=s&&s.formatters||Dg(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(typeof Intl.Locale!="undefined"){var n=Intl.NumberFormat.supportedLocalesOf(e);return n.length>0?new Intl.Locale(n[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=Ka,t.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},t})();function Hg(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var Bg="dummy",cr=_g(null);function P(t){var o;let e=Fg(cr);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let n=(o=t[e])!=null?o:{};return(s,r)=>{let i=Hg(n,s);return i?new dr(i).format(r):(e!==Bg&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{createAction as ja,createAsyncThunk as $a,createSlice as Kg}from"@reduxjs/toolkit";import{Marked as Ug}from"marked";var ko=(t,e)=>{let n=[],o=new Ug,s=r=>{r.type==="code"&&r.lang===e&&n.push(r.text)};return o.use({walkTokens:s}),o.parse(t),n};function ur(t){return Array.isArray(t.attachments)&&t.attachments.length>0?t.attachments:Array.isArray(t.transcript)?t.transcript.flatMap(e=>{var n;return(n=e==null?void 0:e.attachments)!=null?n:[]}):[]}var Va={cues:[],threads:{},pending:[]},qa=t=>{var e;return(e=t.assistants)==null?void 0:e.cues};var Ga=t=>e=>{var n,o;return(o=(n=e.assistants)==null?void 0:n.threads[t])!=null?o:null},Ro=ja("assistants/callToAction"),Rn=$a("assistants/evaluateKnowledgeAssistant",(t,e)=>S(null,null,function*(){var l,c,u;let{threadId:n}=t,{onNewThreadId:o}=t,{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info;n||(n=(yield s.createAssistantThread({assistantCode:t.assistantCode})).id,o&&o(n)),yield s.postMessageToAssistantThread({assistantCode:t.assistantCode,threadId:n,message:t.input});let a=yield e.dispatch(se(b(h({skipState:!0},t),{input:{},threadId:n,attachments:t.attachments})));if(a.error)throw new Error(a.error.message);let d=(l=a.payload.output[0])!=null?l:{response:"",sources:[]};return{threadId:n,question:t.input,evaluationId:a.payload.evaluationId,answer:{answer:(c=ge(d.response,i!=null?i:{}))!=null?c:"",sources:(u=d.sources)!=null?u:[]}}})),IT=ja("assistants/extractedTextSuggestions");function Wg(t,e){var n,o;return Array.isArray(t.output)?t.output:typeof t.output=="string"?[{code:e,name:e,response:t.output}]:[b(h({code:e,name:e},t.output&&typeof t.output=="object"?t.output:{}),{response:(o=(n=t.output)==null?void 0:n.response)!=null?o:""})]}var se=$a("assistants/evaluate",(t,e)=>S(null,null,function*(){var x,T,w,A,R;let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra,{transcript:s,input:r={},threadId:i,attachments:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(T=(x=d.conversation.current)==null?void 0:x.externalId)!=null?T:null,u=(A=(w=t.externalConversationId)!=null?w:c)!=null?A:void 0,p;if(s==="in-memory-transcript"){if(!o.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");let I=yield o.conversationQuery();p=Array.isArray(I)?I:void 0}else Array.isArray(s)&&(p=s);if(t.includeMetadata&&d.conversation.current&&((R=t.externalConversationId)!=null?R:c)===c){let{metadata:U}=d.conversation.current;Object.assign(r,{metadata:U})}let g=ur({attachments:a,transcript:p}),m=yield n.evaluateAssistant(t.assistantCode,h({input:r,transcript:p,externalConversationId:u,threadId:i},g.length>0?{attachments:g}:{}));if(m.evaluationStatus!=="success")return e.rejectWithValue(`Assistant ${t.assistantCode} evaluation failed: ${m.evaluationStatus}`);let y=Wg(m,t.assistantCode).map(I=>b(h({},I),{name:ge(I.name,l),response:ge(I.response,l)||""})),v=[];return y.forEach(I=>{if(!I.response)return;let U=ko(I.response,"reply");U.length!==0&&v.push(...U.map(ce=>({text:ce,type:"text",source:"assistant",assistantCode:I.code,sourceLabel:I.name})))}),v.length>0&&e.dispatch(Ft(v)),b(h({},m),{output:y,externalConversationId:u,currentExternalIdAtRequest:c})}));function Xa(t){return t!=null&&t.length?t.map(e=>e.response).filter(Boolean).join(`
4
+ `):""}var Ja=Kg({name:"assistants",initialState:Va,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(n=>n.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]},receiveChunk(t,e){let{code:n,name:o,payload:s,evaluationId:r}=e.payload,i=t.cues.findIndex(a=>a.code===n);i!==-1?t.cues[i].response+=s.text:t.cues.push({code:n,name:o,evaluationId:r,response:s.text})},userNotification(t,e){let n=t.cues.find(c=>c.code===e.payload.code),o=t.cues.filter(c=>c.code!==e.payload.code),{code:s,name:r,evaluationId:i,payload:a}=e.payload,{callToAction:d}=a,l=a.sources!==void 0?a.sources.filter(c=>!!c.url):n==null?void 0:n.sources;t.cues=[...o,b(h({code:s,name:r,evaluationId:i,response:a.message,editable:a.editableMessage},l!=null&&l.length?{sources:l}:{}),{callToAction:d&&{label:d.displayName,event:d.onClickEvent,value:d.eventPayload}})]}},extraReducers:t=>{t.addCase(se.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&k.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(se.rejected,(e,n)=>{var s;k.warn((s=n.error)==null?void 0:s.message);let o=e.pending.indexOf(n.meta.arg.assistantCode);o!==-1&&e.pending.splice(o,1)}).addCase(se.fulfilled,(e,n)=>{let o=e.pending.indexOf(n.meta.arg.assistantCode);if(o!==-1&&e.pending.splice(o,1),n.meta.arg.skipState)return;let{evaluationId:s,output:r,externalConversationId:i,currentExternalIdAtRequest:a}=n.payload;if(i&&a&&i!==a)return;let d=r.map(u=>u.code),l=e.cues.filter(u=>!d.includes(u.code)),c=r.map(u=>h(b(h({},u),{evaluationId:s}),i?{externalConversationId:i}:{}));e.cues=[...l,...c]}).addCase(Rn.fulfilled,(e,n)=>{let r=n.payload,{threadId:o}=r,s=O(r,["threadId"]);e.threads[o]=[...e.threads[o]||[],s]}).addCase($,()=>Va)}}),{removeCueByCode:Po,resetCues:AT,removeThreadById:Qa,receiveChunk:Za,userNotification:Ya}=Ja.actions,el=Ja.reducer;import{createSlice as zg}from"@reduxjs/toolkit";import{useSelector as Vg}from"react-redux";var jg={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,signInViaPopup:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showStyleSuggestionList:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,addToPersonalCollection:!1,inlineSuggestions:!1,autoSelectSuggestion:!1,suggestionsPlacement:"above",floatingMenu:!1,detectSubmit:!1,automaticHandlingTime:!1,enableSuggestionFeedback:!1,enableFeedbackForm:!0,adminUrl:void 0,productName:"Deepdesk",hasKeyboardInput:!0},tl=zg({name:"settings",initialState:jg,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}}}),{set:Io}=tl.actions,ft=t=>e=>e.settings[t],E=t=>Vg(ft(t)),nl=tl.reducer;function Te(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import mr from"classnames";import{useState as Gg}from"react";import{jsx as ol}from"react/jsx-runtime";var pr=t=>ol("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ol("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})}));import{jsx as sl}from"react/jsx-runtime";var rl=t=>sl("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:sl("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Qe(t,e){var s;let n=t.cloneNode(!0);n.style.top=`${t.offsetTop}px`,n.style.left=`${t.offsetLeft}px`,n.style.position="absolute",e.split(" ").forEach(r=>{n.classList.add(r)}),n.addEventListener("animationend",()=>n.remove()),(s=t.parentElement)==null||s.appendChild(n)}var gr={};q(gr,{enUS:()=>$g,nlNL:()=>qg});var $g={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},qg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var il={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as al}from"react-redux";var Ze=t=>e=>{let{passwordlessToken:{token:n},settings:{isEmbedded:o,adminUrl:s}}=e,r=s||window.location.origin;return o&&!n?null:o&&n?`${r}/apis/admin/session/passwordless/login/?token=${n}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as Kt,jsxs as Jg}from"react/jsx-runtime";var Xg=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o,feedbackText:s})=>{let r=C("FeedbackThumbs",il),i=E("enableFeedbackForm"),a=al(Ce),d=al(Ze(`/admin/feedback?conversationId=${a}&evaluationId=${n}&type=${o}&text=${s}&assistantCode=${t}&assistantOutput=${e}`)),l=P(gr),c=V(),[u,p]=Gg(null),g=y=>{c("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:y})},m=y=>{y.stopPropagation(),Qe(y.target,r.fadeup),p("up"),g("up")},f=y=>{y.stopPropagation(),Qe(y.target,r.fadedown),p("down"),g("down")};return Jg("div",{className:r.thumbs,children:[Kt(M.Button,{title:l("thumbsUp"),onClick:m,icon:Kt(rl,{}),className:mr(r.thumbsUp,u==="up"&&r.selected),disabled:!!u}),i&&d?Kt(M.Button,{as:"a",title:l("thumbsDown"),href:d,target:"_blank",rel:"noreferrer",onClick:f,icon:Kt(pr,{}),className:mr(r.thumbsDown,u==="down"&&r.selected),disabled:!!u}):Kt(M.Button,{title:l("thumbsDown"),onClick:f,icon:Kt(pr,{}),className:mr(r.thumbsDown,u==="down"&&r.selected),disabled:!!u})]})},Ao=Xg;import Nm from"dompurify";import{marked as Om}from"marked";import{Fragment as bl,useMemo as Dm,useRef as _m,useState as Fm}from"react";import{useState as hm}from"react";import{FloatingFocusManager as Qg,FloatingPortal as Zg,autoUpdate as Yg,flip as em,offset as tm,safePolygon as nm,shift as om,useClick as sm,useDismiss as rm,useFloating as im,useHover as am,useInteractions as lm,useMergeRefs as dl,useRole as dm}from"@floating-ui/react";import*as we from"react";var Lo={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as Ye,jsxs as ll}from"react/jsx-runtime";function cm({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=we.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=im({placement:e,open:d,onOpenChange:l,whileElementsMounted:Yg,middleware:[tm(5),em({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),om({padding:10})]}),u=c.context,p=sm(u,{enabled:s==null}),g=rm(u),m=dm(u),f=am(u,{enabled:o!=null?o:!1,handleClose:nm()}),y=lm([p,g,m,f]);return we.useMemo(()=>b(h(h({open:d,setOpen:l},y),c),{modal:n}),[d,l,y,c,n])}var cl=we.createContext(null),fr=()=>{let t=we.useContext(cl);if(t==null)throw new Error("Popover components must be wrapped in <Popover />");return t},ht=o=>{var s=o,{children:t,modal:e=!1}=s,n=O(s,["children","modal"]);let r=cm(h({modal:e},n));return Ye(cl.Provider,{value:r,children:t})};function um(o){var s=o,{as:t,children:e}=s,n=O(s,["as","children"]);let r=fr(),i=t||"button",a=e.ref,d=dl([r.refs.setReference,a]);return Ye(i,b(h(h({ref:d},i==="button"||t===void 0||t==="button"?{type:"button"}:{}),r.getReferenceProps(n)),{children:e}))}var pm=we.forwardRef(function(s,o){var r=s,{style:e}=r,n=O(r,["style"]);let l=fr(),{context:i}=l,a=O(l,["context"]),d=dl([a.refs.setFloating,o]);return i.open?Ye(Zg,{children:Ye(Qg,{context:i,modal:a.modal,disabled:n.disableFocusManager,children:Ye("div",b(h({ref:d,style:h(b(h({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function gm(s){var r=s,{as:t,children:e,onClick:n}=r,o=O(r,["as","children","onClick"]);let{setOpen:i}=fr();return Ye(t||"button",b(h({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function ul({trigger:t,children:e,placement:n="top"}){return ll(ht,{tooltip:!0,placement:n,children:[ll(ht.Content,{className:Lo.tooltip,children:[e,Ye("div",{className:Lo.arrow})]}),Ye(ht.Trigger,{className:Lo.tooltipTrigger,children:t})]})}ht.Trigger=um;ht.Content=pm;ht.Button=gm;var W=ht;var hr={};q(hr,{enUS:()=>mm,nlNL:()=>fm});var mm={showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},fm={showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var pl={sources:"dd-cNsGl",source:"dd-LoJ6U",tooltip:"dd-7ZGu9",linkContent:"dd-O2IoN",showMoreSources:"dd-ev8Yr"};import{jsx as Pn,jsxs as gl}from"react/jsx-runtime";var ym=3,vm=({sources:t,onClick:e,sourceTestId:n="assistant-source"})=>{let o=P(hr),s=C("AssistantSources",pl),[r,i]=hm(!1),a=t.filter(l=>!!l.url),d=r?a:a.slice(0,ym);return d.length===0?null:gl("ul",{className:s.sources,children:[d.map(l=>Pn("li",{className:s.source,"data-testid":n,children:gl(W,{tooltip:!0,placement:"top-start",children:[Pn(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:l.url,onClick:c=>{c.stopPropagation(),e==null||e(l)},children:Pn("span",{className:s.linkContent,children:l.name})}),l.url&&Pn(W.Content,{className:s.tooltip,children:decodeURIComponent(l.url)})]})},l.name)),d.length<t.length&&Pn("button",{type:"button",className:s.showMoreSources,onClick:()=>i(!0),children:o("showMore",{amount:t.length-d.length})})]})},ml=vm;import Sl from"classnames";import{createRef as Im,useCallback as vr,useMemo as Am,useRef as Lm,useState as Mm}from"react";import{useState as Sm,useLayoutEffect as xm}from"react";var bm=["bottom","height","left","right","top","width"],Cm=(t={},e={})=>bm.some(n=>t[n]!==e[n]),Fe=new Map,fl,hl=()=>{let t=[],e=[];Fe.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();Cm(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Fe.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),fl=window.requestAnimationFrame(hl)};function Tm(t,e){return{observe(){let n=Fe.size===0;if(Fe.has(t)){let o=Fe.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Fe.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&hl()},unobserve(){let n=Fe.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Fe.delete(t),Fe.size||cancelAnimationFrame(fl)}}}}function yr(t){let[e,n]=Sm(null);return xm(()=>{if(!t.current)return;let o=Tm(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Em,useLayoutEffect as km,useState as Rm}from"react";import{createPortal as Pm}from"react-dom";import{useEffect as wm}from"react";function yt(t){wm(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function vt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var yl={root:"dd-r-dgo"};var vl=({children:t,parentNode:e})=>{let[n,o]=Rm(null),s=Em(ln);return km(()=>{let r=document.createElement("div");return vt(r),r.classList.add(yl.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),o(r),()=>{r.isConnected&&r.remove()}},[]),n?Pm(t,n):null};var Ee={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as Sr}from"react/jsx-runtime";var Mo=(t=!1)=>{let[e,n]=Mm(t),o=vr(()=>n(!0),[]),s=vr(()=>n(!1),[]),r=vr(()=>n(a=>!a),[]),i=Lm(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function xr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Wt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=Im(),position:o="above",align:s="center",children:r,toStyle:i=xr,parentNode:a}=c,d=O(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let u=yr(e),p=yr(n),g=Am(()=>i(u,p,0),[u,p]);return Sr(vl,{parentNode:a,children:Sr("div",b(h({className:Sl(Ee.ref,{[Ee.positionAbove]:o==="above",[Ee.positionBelow]:o==="below",[Ee.positionLeft]:o==="left",[Ee.positionRight]:o==="right",[Ee.alignStart]:s==="start",[Ee.alignCenter]:s==="center",[Ee.alignEnd]:s==="end"}),style:g},d),{role:"dialog",children:Sr("div",{className:Sl(t,Ee.root),children:r})}))})};var xl={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as zt,jsxs as No}from"react/jsx-runtime";function Hm(t){return`<button type="button" data-copy-icon class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function br(t){var n,o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(s=>s.remove()),(o=(n=e.textContent)==null?void 0:n.trim())!=null?o:""}function Bm(t){return t.replace(/\r\n/g,`
5
+ `)}var Um=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s,sources:r,onSourceClick:i})=>{let a=C("Markdown",xl),d=_m(null),[l,c]=Fm(null),u=Dm(()=>{let v=Om.parse(Bm(t));return Nm.sanitize(v.toString()).replaceAll("</code>",`${Hm(a.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),p=v=>{var w;let x=v.target,T=!!((w=d.current)!=null&&w.querySelector("code"));if(["A","BUTTON"].includes(x.tagName)){c(null);return}l||T&&x.tagName!=="CODE"||!T&&x!==d.current||(x.addEventListener("mouseleave",()=>c(null),{once:!0}),c(x))},g=()=>{if(!l)return;c(null);let v=l.querySelector("button");v&&(Qe(v,a.fadeup),o==null||o(br(l)))},m=v=>{let x=v.target,T=x instanceof HTMLElement?x:null;if(x instanceof Element?x.closest("a"):null){v.stopPropagation();return}T&&"copyIcon"in T.dataset&&(Qe(T,a.fadeup),o==null||o(br(T.parentElement)))},f=()=>{!l||!s||(c(null),s(br(l)))},y=v=>{if(v===null)return;let x=v.getBoundingClientRect();x.left<0?v.style.transform=`translateX(${-x.left+2}px)`:x.right>window.innerWidth&&(v.style.transform=`translateX(${window.innerWidth-x.right-2}px)`)};return No(bl,{children:[l&&(o||s)&&No(Wt,{triggerRef:{current:l},className:a.popover,parentNode:l,children:[No("div",{className:a.options,ref:y,children:[o&&(l==null?void 0:l.tagName)==="CODE"&&zt("button",{type:"button",className:a.option,onClick:g,children:n}),s&&No(bl,{children:[zt("div",{className:a.divider}),zt("button",{type:"button",className:a.option,onClick:f,children:e})]})]}),zt("div",{className:a.arrow})]}),zt("div",{ref:d,"data-testid":"widget-markdown-content",className:a.root,dangerouslySetInnerHTML:{__html:u},onMouseOver:p,onClick:m}),r&&r.length>0&&zt(ml,{sources:r,onClick:i})]})},St=Um;import{useRef as zm}from"react";var Cl={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as Wm}from"react/jsx-runtime";var Km=({width:t})=>{let e=C("LoadingProgressBar",Cl);return Wm("div",{className:e.loadingBar,style:{width:t}})},Oo=Km;import{jsx as Vt,jsxs as Vm}from"react/jsx-runtime";var Do=({title:t})=>{let e=zm(null);return Zn(e),Vt(M,{ref:e,children:Vt(_,{children:Vm(_.Content,{children:[Vt(_.Title,{children:t}),Vt(Oo,{width:"60%"}),Vt(Oo,{width:"90%"}),Vt(Oo,{width:"50%"})]})})})};var jt={};q(jt,{enUS:()=>jm,nlNL:()=>$m});var jm={inputPlaceholder:[{type:0,value:"What is your question?"}],useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Submit"}],resetLabel:[{type:0,value:"Reset"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},$m={inputPlaceholder:[{type:0,value:"Wat is je vraag?"}],useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Verzend"}],resetLabel:[{type:0,value:"Gesprek wissen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var _o={form:"dd-pleCH",formInput:"dd-pGJMY",formSubmit:"dd--gkRg",actionButton:"dd-I2NEH",resetContainer:"dd-qKIDX",sources:"dd-xf9c6",source:"dd-a-vyX",tooltip:"dd-EsgcZ",linkContent:"dd-gARDA",showMoreSources:"dd-uDGi-"};import{useRef as Xm}from"react";var Tl={error:"dd-CoAuB"};var Cr={};q(Cr,{enUS:()=>qm,nlNL:()=>Gm});var qm={errorPrefix:[{type:0,value:"Error:"}]},Gm={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as wl,jsxs as Jm}from"react/jsx-runtime";var El=({message:t})=>{let e=Xm(null),n=C("WidgetCardError",Tl),o=P(Cr);return Zn(e),wl(M,{ref:e,children:wl(_,{children:Jm(_.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as H,jsxs as He}from"react/jsx-runtime";var nf=3,of=({sources:t,onClick:e})=>{let n=P(jt),o=C("WidgetKnowledgeAssistant",_o),[s,r]=xt(!1),i=s?t:t.slice(0,nf);return i.length===0?null:He("ul",{className:o.sources,children:[i.map(a=>H("li",{className:o.source,"data-testid":"knowledge-assist-source",children:He(W,{tooltip:!0,placement:"top-start",children:[H(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:H("span",{className:o.linkContent,children:a.name})}),a.url&&H(W.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&H("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},sf=({title:t,description:e})=>H(M,{"data-testid":"knowledge-assist-empty-state",children:H(_,{children:He(_.Content,{children:[H(_.Title,{children:t}),H(St,{content:e})]})})}),rf=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=P(jt),a=Tr(Fo);return He(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[H(_,{children:He(_.Content,{children:[H(_.Title,{children:e.question}),H(St,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),H(of,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&He(M.ButtonsContainer,{children:[H("div",{}),H(Ao,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer,feedbackText:e.answer.answer})]})]})},Fo=Qm(null),Ho=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,children:o})=>{let[s,r]=xt(null),[i,a]=xt(!1),[d,l]=xt(null),[c,u]=xt(!!n),[p,g]=xt(null),m=ef(),f=V(),y=vo(T=>{if(!t)throw new Error("No knowledge assistant was defined");return l(null),e({assistantCode:t,input:T,threadId:s,onNewThreadId(w){r(w)}})},{onSuccess(T){var w;f("Assistant response displayed",{evaluationId:T.evaluationId,assistantCode:t,assistantOutput:T.answer.answer,input:T.question,sources:(w=T.answer.sources)!=null?w:[]}),u(!1)},onError(T){var w;l((w=T.message)!=null?w:"Unknown error")}}),v=T=>S(null,null,function*(){a(!0),g(T),yield y.call(T),a(!1),g(null)}),x={isEnabled:!!t,assistantCode:t,isSubmitting:i,threadId:s,pendingInput:p,errorMessage:d,onSubmit:v,onReset(){s&&m(Qa(s)),l(null),r(null),t&&f("Assistant thread reset",{threadId:s!=null?s:void 0,assistantCode:t})}};return Ym(()=>{n&&x.isEnabled&&v(n)},[n]),H(Fo.Provider,{value:x,children:o})},Bo=()=>{let t=P(jt),e=C("WidgetKnowledgeAssistant",_o),n=Tr(Fo),o=kl(null),[s,r]=xt(""),i=d=>{r(d.target.value)},a=d=>{d.preventDefault(),n.onSubmit(s).then(()=>{var l;o.current&&((l=o.current)==null||l.focus(),r(""))})};return n.isEnabled?He("form",{className:e.form,onSubmit:a,children:[H("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting,value:s,onChange:i}),H("button",{type:"submit",disabled:n.isSubmitting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},Uo=({title:t,emptyState:e})=>{var m,f;let n=P(jt),o=V(),s=C("WidgetKnowledgeAssistant",_o),r=kl(null),i=Tr(Fo),a=(f=tf(Ga((m=i.threadId)!=null?m:-1)))!=null?f:[],d=E("hasKeyboardInput"),l=oe(),c=(y,v)=>{Te(y),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:y,copiedText:y,evaluationId:v.evaluationId})},u=(y,v)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:v.evaluationId,assistantCode:i.assistantCode,source:y})},p=y=>{y.preventDefault(),i.onReset()},g=(y,v)=>{l.send(De,{text:y,suggestion:{source:"assistant",sourceText:y}}),i.assistantCode&&o("Assistant response used",{assistantCode:i.assistantCode,evaluationId:v.evaluationId,assistantOutput:v.answer.answer,usedText:y})};return!i.isEnabled||(a==null?void 0:a.length)===0&&!i.isSubmitting&&!e&&!i.errorMessage?null:He(Zm,{children:[H(Me,{type:"knowledge",title:t,"data-testid":"knowledge",children:He(Y,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&H(sf,h({},e)),a.map((y,v)=>H(rf,{innerRef:v===a.length-1?r:void 0,item:y,hasKeyboardInput:d,onCopy:x=>c(x,y),onUse:x=>g(x,y),onSourceClick:x=>u(x,y)},`${y.question}_${y.answer}_${v}`)),i.pendingInput&&H(Do,{title:i.pendingInput}),i.errorMessage&&H(El,{message:i.errorMessage})]})}),a.length>0&&H("div",{className:s.resetContainer,children:H(M.Button,{disabled:i.threadId===null||i.isSubmitting,onClick:p,children:n("resetLabel")})})]})};import{createRoot as rt}from"react-dom/client";import{Fragment as Xh}from"react";import{useSelector as Ol}from"react-redux";import Er from"classnames";import{useCallback as Ml,useEffect as ff,useMemo as hf,useState as kr}from"react";import{useDispatch as yf,useSelector as vf}from"react-redux";import{useEffect as af,useRef as lf}from"react";var Pl={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as Il}from"react/jsx-runtime";var df=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=lf(null),l=C("Dialog",Pl),c=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===d.current&&t&&o()};return af(()=>{var p,g;!d.current||!t||!e||(g=(p=d.current)==null?void 0:p.querySelector("input, textarea"))==null||g.focus()},[t,e,d]),t?Il("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:u,children:Il("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},$t=df;import cf from"classnames";var Al={root:"dd-ranhW"};import{jsx as pf}from"react/jsx-runtime";var uf=o=>{var s=o,{className:t,value:e}=s,n=O(s,["className","value"]);let r=C("TextInput",Al);return pf("input",h({className:cf(t,r.root),type:"text",value:e},n))},In=uf;var wr={};q(wr,{enUS:()=>gf,nlNL:()=>mf});var gf={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},mf={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var Ll={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as re,jsxs as Ko}from"react/jsx-runtime";var Sf=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},xf=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=P(wr),i=C("LoginTokenDialog",Ll),a=vf(qi),d=yf(),l=E("productName"),[c,u]=kr(t||""),[p,g]=kr(0),[m,f]=kr(""),y=Ml(w=>S(null,null,function*(){w.preventDefault(),d(Ji({email:c})),g(1)}),[n,c]),v=()=>{f(""),g(0)},x=Ml(w=>S(null,null,function*(){w.preventDefault();let A=Sf(w.target.elements.token.value);if(!A){f(r("verifyCodeError",{login:T}));return}d(un({token:A}))}),[n]),T=hf(()=>w=>re("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:v,children:w},"back-button"),[]);return ff(()=>{a==="error"&&f(r("verifyCodeError",{login:T})),a==="done"&&o()},[a]),re($t,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Ko("div",{className:i.root,children:[re("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&Ko("form",{onSubmit:y,children:[re("h2",{className:i.subtitle,children:r("requestCodeTitle")}),re("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),re(In,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:w=>u(w.target.value)}),re("div",{className:i.actions,children:re("button",{type:"submit",className:Er(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&Ko("form",{onSubmit:x,children:[re("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),re("p",{className:i.text,children:r("verifyCodeBody")}),re(In,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),m&&re("div",{className:i.errorMessage,children:m}),Ko("div",{className:i.actions,children:[re("button",{type:"button",className:Er(i.button),onClick:v,children:r("back")}),re("button",{type:"submit",className:Er(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Nl=xf;import{jsx as Cf}from"react/jsx-runtime";var bf=()=>{let t=Ol(Gi),e=Ol(Ht),n=E("adminUrl"),o=oe(),s=()=>o.send(Ut,!1),r=()=>{o.send(Ut,!1),o.send(hn)};return Cf(Nl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},Dl=bf;import Uh from"lodash.debounce";import{Fragment as Kh,useCallback as kd,useEffect as Rd,useMemo as Wh,useState as Br}from"react";import{useDispatch as zh,useSelector as Ct}from"react-redux";import{createAsyncThunk as Tf,createSlice as wf}from"@reduxjs/toolkit";var Ef={data:null,fetchState:"idle"},_l=t=>t.contentTypes.data,An=Tf("contentTypes/getContentTypes",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),kf=wf({name:"contentTypes",initialState:Ef,reducers:{},extraReducers:t=>{t.addCase(An.pending,e=>{e.fetchState="loading"}).addCase(An.rejected,e=>{e.fetchState="error"}).addCase(An.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Fl=kf.reducer;import{createAsyncThunk as Rf,createSelector as Pf,createSlice as If}from"@reduxjs/toolkit";var Af={data:null,fetchState:"idle"},Lf=[],et=t=>t.profile.data,Mf=t=>t.profile.data?t.profile.data.uiConfig.widget.types:Lf,Mn=Pf([Mf],t=>t.filter(e=>e.isActive)),Hl=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||[]},Bl=t=>e=>Mn(e).find(n=>n.type===t),Ul=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,Kl=t=>{var e,n;return(n=(e=t.profile.data)==null?void 0:e.knowledgeAssistantNew)!=null?n:null},Ln=Rf("profile/getProfile",(t,e)=>S(null,null,function*(){var r;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=o.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=o.profile.data)==null?void 0:r.code)===s.profileCode?o.profile.data:n.getProfile(s.profileCode)})),Nf=If({name:"profile",initialState:Af,reducers:{},extraReducers:t=>{t.addCase(Ln.pending,e=>{e.fetchState="loading"}).addCase(Ln.rejected,e=>{e.fetchState="error"}).addCase(Ln.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Wl=Nf.reducer;import{useEffect as id,useState as rh,useRef as ih,useCallback as ah}from"react";import{useState as _f}from"react";import Rr from"classnames";var le={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",listItemTooltip:"dd-SWFsE",listItemTooltipContent:"dd-I7J9N",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Be={};q(Be,{enUS:()=>Of,nlNL:()=>Df});var Of={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}],showAll:[{type:0,value:"Show more"}],sources:[{type:0,value:"Sources"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Df={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Nn,jsxs as Hf}from"react/jsx-runtime";var Ff=({src:t,title:e})=>{let n=C("CommandPalette",le),[o,s]=_f("loading"),r=P(Be);return Hf("div",{className:n.image,children:[Nn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Rr(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&Nn("span",{className:Rr(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&Nn("span",{className:Rr(n.imageSrc,n.imageSrcStatus),children:Nn(Xn,{})}),e&&Nn("span",{className:n.imageTitle,children:e})]})},zl=Ff;import Bf from"react";import Uf from"classnames";import{jsx as Pr,jsxs as Vl}from"react/jsx-runtime";function Ir({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=P(Be),i=C("CommandPalette",le);return Bf.Children.count(t)===0?null:Vl("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&Vl("div",{className:i.listHeader,children:[e&&Pr("h4",{className:i.listHeading,children:e}),o&&s&&Pr("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Pr("div",{className:Uf(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import zo from"classnames";import{Interweave as Xl}from"interweave";import{useEffect as Xf,useMemo as Jl,useState as Ql}from"react";var Kf=/[.*+?^${}()|[\]\\]/g,Wf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function zf(t){return t.replace(Kf,"\\$&")}function Vf(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function jf(t){return t.search(Wf)}function jl(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${zf(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function $l(t){return t.replace(Yn,'<mark data-type="placeholder">$1</mark>')}function On(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function $f(t,e){return t.split("").map((i,a)=>({char:i,index:a})).filter(({char:i,index:a})=>/\s/.test(i)&&a<=e).map(({index:i})=>i).reverse()[0]}function Ar(t,e,n={}){if(e){let o=Vf(e.toLowerCase(),t.toLowerCase()),s=On(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=jf(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(Vi).length>3||e.length>30?$f(e.trim(),o):0;return`${`${i>0?"\u2026":""}${On(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var qf=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Wo(t){return qf.test(t)}function Lr(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import Mr from"react";import{jsx as Gf}from"react/jsx-runtime";var ql=Mr.createContext(void 0);function qt(){let t=Mr.useContext(ql);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Gl=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=Mr.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return Gf(ql.Provider,{value:i,children:t})};import{jsx as Ue,jsxs as Vo}from"react/jsx-runtime";var Jf=3,Qf=90,Zl=({children:t})=>{let e=C("CommandPalette",le);return Ue("div",{className:e.listItemActions,children:t})};function Nr(g){var m=g,{closeOnSelect:t=!0,lineClamp:e,tooltip:n,children:o,onClick:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,defaultSourcesAmount:u=Jf}=m,p=O(m,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var Ae;let f=P(Be),[y,v]=Ql(!1),{selected:x,onChangeOpen:T}=qt(),[w,A]=Ql(!1),R=C("CommandPalette",le);function I(D){s(D),t&&T(!1)}let U=Jl(()=>typeof a!="string"?a:Wo(a)?Lr(a).trim():a,[a]),ce=Jl(()=>typeof n!="string"?n:Wo(n)?Lr(n).trim():n,[n]);return Xf(()=>{A(x===l)},[x]),Vo("div",{className:zo(R.listItem,l===x&&R.listItemSelected),children:[Vo(W,{placement:"right-start",tooltip:!0,onOpenChange:A,open:w,children:[Ue(W.Trigger,b(h({className:R.listItemAction,"aria-disabled":(Ae=p.disabled)!=null?Ae:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},p),{children:Vo("div",{className:R.listItemContent,children:[typeof o=="string"?Ue("p",{className:zo(R.listItemText,R.truncate,c==null?void 0:c.title),children:o}):o,U&&typeof U=="string"?Ue(Xl,{tagName:"p",allowList:[],content:U,className:zo(R.listItemDescription,c==null?void 0:c.description,e?R.lineClamp:R.truncate)}):a]})})),ce&&ce.length>Qf&&Ue(W.Content,{className:R.listItemTooltip,disableFocusManager:!0,children:Ue(Xl,{className:R.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:ce.replace(/\n/g,"<br />")})})]}),l===x&&r,d&&d.length>0&&Vo("div",{className:R.sources,children:[Ue("span",{className:R.sourcesTitle,children:f("sources")}),d.slice(0,y?d.length:u).map(D=>Ue("a",{className:R.source,href:D.url,target:"_blank",title:D.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(D),children:D.name},D.url)),!y&&d.length>u&&Ue("button",{className:zo(R.source,R.sourceShowMore),type:"button",onClick:()=>v(!0),children:f("showMore",{amount:d.length-u})})]})]})}import{jsx as Yl,jsxs as Zf}from"react/jsx-runtime";var ed=()=>Zf("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Yl("title",{id:"angleLeftTitle",children:"AngleLeft"}),Yl("path",{d:"M192 448c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l137.4 137.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448z"})]});import{jsx as td,jsxs as Or}from"react/jsx-runtime";function Dr({children:t,title:e,id:n,onDismiss:o}){let s=P(Be),r=C("CommandPalette",le),{page:i}=qt();return i!==n?null:Or("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&Or("div",{className:r.pageNav,children:[Or("button",{className:r.pageBackButton,type:"button",onClick:o,children:[td(ed,{}),s("back")]}),e&&td("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as eh}from"react";import{jsx as nd,jsxs as Yf}from"react/jsx-runtime";var Gt=()=>Yf("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[nd("path",{d:"M0 0h24v24H0z",fill:"none"}),nd("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as Xt,jsxs as _r}from"react/jsx-runtime";function th({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=C("CommandPalette",le);return _r("div",{className:d.search,children:[Xt("div",{className:d.searchIcon,children:Xt(Gt,{})}),_r("div",{className:d.searchInputWrapper,children:[Xt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Xt("div",{className:d.selectWrapper,children:_r("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===o?void 0:l.target.value),value:i||o,children:[o&&Xt("option",{children:o}),s.map(l=>Xt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var od=eh(th);import sd from"classnames";import{jsx as oh,jsxs as sh}from"react/jsx-runtime";var nh=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=O(r,["onClick","shortKeys","children"]);let i=C("CommandPalette",le);return sh("button",b(h({type:"button"},o),{onClick:t,className:sd(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>oh("span",{className:sd(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},rd=nh;import{jsx as ad,jsxs as dh}from"react/jsx-runtime";var lh="[data-command-palette-item]";function bt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:u,search:p,updateDeps:g=[]}){let[m,f]=rh(),y=ih(null),v=()=>{s&&s(n),i(void 0),r(""),a(!1)},x=()=>{var D;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(D=y.current)==null||D.focus();return}if(p.length>0){r("");return}a(!1)},T=()=>{let D=w();D.length!==0&&f(D[0].dataset.itemId)},w=()=>Array.from(document.querySelectorAll(lh)||[]),A=D=>document.querySelector(`[data-item-id=${D}]`),R=D=>{let K=A(D);K&&f(K.dataset.itemId)},I=D=>{let K=A(D);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be+1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):T()},ce=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be-1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):R(D[D.length-1].dataset.itemId)},Ae=ah(D=>{switch(D.key){case"ArrowDown":{D.preventDefault(),U();break}case"ArrowUp":{D.preventDefault(),ce();break}case"Enter":{if(m){let K=A(m);K==null||K.click()}break}}},[m]);return id(()=>{T()},[p,o,d,u,...g]),id(()=>{m&&I(m)},[m]),ad($t,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:x,onClose:v,onKeyDown:Ae,children:dh(Gl,{selected:m,setSelected:f,isOpen:u,onChangeOpen:a,page:o,children:[o===n&&ad(od,{ref:y,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:d,types:l,typePlaceholder:e}),c]})})}bt.Page=Dr;bt.List=Ir;bt.Image=zl;bt.ListItem=Nr;bt.ListItemActions=Zl;bt.Button=rd;var G=bt;import{useEffect as ch}from"react";function ld(t,e){ch(()=>{let n=o=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?o.metaKey:o.ctrlKey)&&o.key===t&&(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[])}import{useEffect as pd,useRef as Sh}from"react";import{useSelector as xh,useDispatch as bh}from"react-redux";import{createAsyncThunk as uh,createSelector as ph,createSlice as gh}from"@reduxjs/toolkit";var dd={data:null,fetchState:"idle"},mh=t=>{var e;return(e=t.entities.data)!=null?e:null},jo=ph([mh,Ht,Sa],(t,e,n)=>{var a;let o=[],{visitorName:s}=n!=null?n:{},{agentName:r,agentNickname:i}=e!=null?e:{};return r&&r!==s&&o.push(r),i&&i!==s&&o.push(i),(a=t==null?void 0:t.filter(d=>!o.includes(d.text)))!=null?a:null}),fe=uh("entities/getEntities",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.resolve([]);let s=o.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):n.getEntities(r)})),fh=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),hh=gh({name:"entities",initialState:dd,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,n)=>{e.fetchState="done",e.data=fh(e.data?[...e.data,...n.payload]:n.payload)}).addCase($,()=>dd)}}),cd=hh.reducer;var Fr={};q(Fr,{enUS:()=>yh,nlNL:()=>vh});var yh={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},vh={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var ud={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Hr,jsxs as Th}from"react/jsx-runtime";var Ch=({onCopy:t})=>{let e=Sh(null),n=C("EntitiesList",ud),o=xh(jo),{setSelected:s}=qt(),r=P(Fr),i=bh();return pd(()=>{i(fe())},[]),pd(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Th("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&Hr(G.List,{children:o.map((a,d)=>Hr(G.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&Hr("p",{className:n.empty,children:r("noResults")})]})},gd=Ch;import{jsx as md}from"react/jsx-runtime";var $o=t=>md("svg",b(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:md("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})}));var Dn={};q(Dn,{enUS:()=>wh,nlNL:()=>Eh});var wh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],giveFeedback:[{type:0,value:"Give feedback"}],answer:[{type:0,value:"Answer"}]},Eh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{useSelector as fd}from"react-redux";var qo={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as Go,jsxs as Rh}from"react/jsx-runtime";var kh=({suggestion:t,source:e,context:n})=>{let o=P(Dn),s=fd(Ce),r=V(),i=E("enableSuggestionFeedback"),a=`${t.text}`,d=fd(Ze(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:n})}`)),l=()=>{r("suggestion feedback",{text:t.text,source:e,context:n})};return!i||!d?null:Rh(W,{placement:"top-end",children:[Go(W.Trigger,{className:qo.trigger,children:Go($o,{"data-testid":"feedback-dropdown-trigger"})}),Go(W.Content,{className:qo.content,children:Go(W.Button,{className:qo.item,as:"a",onClick:l,target:"_blank",href:d,children:o("giveFeedback")})})]})},Xo=kh;var _n={};q(_n,{enUS:()=>Ph,nlNL:()=>Ih});var Ph={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"URL suggestions"}],personalSuggestions:[{type:0,value:"Personal suggestions"}],pinnedMessages:[{type:0,value:"Pinned messages"}],imageSuggestions:[{type:0,value:"Images"}],typePlaceholder:[{type:0,value:"All types"}],navigation:[{type:0,value:"Navigation"}],entitiesClipboard:[{type:0,value:"Conversation clipper"}],entitiesTitle:[{type:0,value:"Copy to your clipboard"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Commands"}],use:[{type:0,value:"Use"}],preview:[{type:0,value:"Preview"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},Ih={personalCollectionLink:[{type:0,value:"Ga naar persoonlijke collectie"}],searchPlaceholder:[{type:0,value:"Begin met typen om te zoeken..."}],personalSuggestions:[{type:0,value:"Persoonlijke suggesties"}],urlSuggestions:[{type:0,value:"URL suggesties"}],imageSuggestions:[{type:0,value:"Afbeeldingen"}],navigation:[{type:0,value:"Navigatie"}],typePlaceholder:[{type:0,value:"Alle types"}],pinnedMessages:[{type:0,value:"Actueel"}],entitiesClipboard:[{type:0,value:"Klembord"}],entitiesTitle:[{type:0,value:"Kopieer naar klembord"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Acties"}],use:[{type:0,value:"Gebruik"}],preview:[{type:0,value:"Bewerk"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};import{useEffect as Oh}from"react";import{useDispatch as Dh,useSelector as _h}from"react-redux";import{createAction as Mh,createAsyncThunk as Sd,createSlice as Nh}from"@reduxjs/toolkit";var Ah=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],Lh=new RegExp(Ah.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function hd(t,e){let n=t.split(Lh),o=0,s=[];for(let r=0;r<n.length;r++){let i=n[r];if(s.push(i),r===n.length-1)break;if(e.indexOf(i)===-1)return t;let a=n[r+1],d=r===n.length-2;o+=i.length;let l=o;if(d){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,o):-1;let c=l===-1?e.slice(o):e.slice(o,l);s.push(c),o=l}return s.join("")}function yd(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var xd={suggestions:[],fetchState:"idle"},vd={default:xd},bd=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},Jo=t=>t.textSuggestions,Cd=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},Qo=Mh("textSuggestions/refresh"),he=Sd("textSuggestions/recommendations",(t,e)=>S(null,null,function*(){var c,u,p;let{deepdeskAPI:n}=e.extra,o=e.getState(),{platformVariables:s}=o.info,{textSuggestionsCount:r,inlineSuggestions:i}=o.settings,a=dt(o),d=(c=o.conversation.current)==null?void 0:c.id;if(!d)throw new Error("No current conversation to fetch text suggestions");if(!((u=o.profile.data)!=null&&u.recommendationEngine))return[];let l=[];if(t==="sticky-messages"){let g=(p=o.profile.data)==null?void 0:p.code;if(!g)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(g)}else l=yield n.getTextSuggestions(d,fn(o),t);if(s&&(l=l.map(g=>h(b(h({},g),{text:ge(g.text,s)}),g.title?{title:ge(g.title,s)}:{}))),t==="default"){let g=i?l.filter(Cd(a)):l;e.dispatch(Je(g.slice(0,r)))}return l})),Fn=Sd("textSuggestions/autocompletions",(t,e)=>S(null,null,function*(){var c,u;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{platformVariables:r}=o.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=o.settings;if(!((u=o.profile.data)!=null&&u.recommendationEngine))return[];if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield n.getAutocompleteSuggestions(s,b(h({},fn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Cd(t))),r&&(l=l.map(p=>b(h({},p),{text:ge(p.text,r)}))),a&&(l=l.map(p=>b(h({},p),{text:p.source!=="trie-with-typos"?hd(p.text,t):p.text}))),l=yd(l,i),e.dispatch(Je(l)),l})),Td=Nh({name:"textSuggestions",initialState:vd,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(he.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||xd;return b(h({},e),{[o]:b(h({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(he.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(Fn.pending,e=>{e.default.fetchState="loading"}).addCase(Fn.rejected,e=>{e.default.fetchState="error"}).addCase(Fn.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase($,()=>vd)}}),{setTextSuggestions:vI}=Td.actions,wd=Td.reducer;import{jsx as Zo,jsxs as Hh}from"react/jsx-runtime";var Fh=({types:t,commands:e,onClick:n})=>{let o=Dh(),s=P(_n),r=_h(Jo);return Oh(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(he(i))})},[]),Hh("div",{children:[e.length>0&&Zo(G.List,{heading:s("commands"),children:e.map((i,a)=>Zo(G.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return Zo(G.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>Zo(G.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>n(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},Ed=Fh;import{jsx as ke,jsxs as Kr}from"react/jsx-runtime";var Vh=200,jh=5,$h=4,Ur=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?$h:jh),qh=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Gh=()=>{var be,J,it;let t=zh(),e=oe(),n=P(_n),[o,s]=Br(!1),[r,i]=Br(""),a=Ct(Ia),d=Ct(et),[l,c]=Br(),u=Ct(Q),p=E("showSearch"),g=E("enableSuggestionFeedback"),m=E("showEntitiesCommand"),f=E("showImageSearch"),y=E("searchTriggerKey"),v=Ct(_l),x=Ct(Qs),T=Ct(Aa),w=Ct(Pa),A=((it=(J=(be=d==null?void 0:d.uiConfig)==null?void 0:be.search)==null?void 0:J.initialTypes)==null?void 0:it.filter(({isActive:N})=>N))||[],R=V(),I=Wh(()=>{let N=ne=>Ur(x.filter(j=>j.type===ne.toUpperCase()),ne,l),z=(v==null?void 0:v.map(ne=>({value:ne.code.toUpperCase(),label:`${ne.name}s`,list:N(ne.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(z.push({value:"PERSONAL",label:n("personalSuggestions"),list:N("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:N("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:N("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),f&&z.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:N("IMAGE"),listOrientation:"horizontal"}),A.length===0)return z;let Le=A.map(ne=>z.find(j=>j.value.toLowerCase()===ne.type)).filter(ne=>!!ne),It=z.filter(ne=>!Le.find(j=>j.value===ne.value));return[...Le,...It]},[v,A,f,l]),U=[{label:n("entitiesClipboard"),onClick:()=>t(Bt("entities")),shouldShow:m&&qh(n("entitiesClipboard"),r)}].filter(N=>N.shouldShow).filter(()=>!l),ce=kd(Uh((N,z)=>{t(gt({query:N,type:z,tags:["search-overlay"],size:l?50:20}))},Vh),[l]),Ae=kd((N,z)=>{z.type==="IMAGE"?e.send(Ys,{suggestion:z}):e.send(De,{text:N,suggestion:z}),t(me(!1))},[t]),D=N=>{Te(N.text),R("entity copied",{entity:N,type:"copy"}),t(me(!1))};function K(N){return z=>{o?window.confirm(n("warning"))&&(N(z),s(!1)):N(z)}}return Rd(()=>{r?ce(r,l):t(fo())},[r,l]),Rd(()=>{u&&t(An())},[u]),ld(y,()=>{t(me(!0)),R("open search",{via:"ctrl+k"})}),!p||!d?null:Kr(G,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:K(N=>t(me(N))),onChangeType:N=>c(N),onChangePage:K(N=>t(Bt(N))),selectedType:l,search:r,page:a,isOpen:w,types:I,updateDeps:[x],children:[Kr(G.Page,{id:"search",children:[r.length===0&&ke(Ed,{types:A,commands:U,onClick:Ae}),r.length>0&&Kr(Kh,{children:[U.length>0&&ke(G.List,{heading:n("commands"),children:U.map((N,z)=>ke(G.ListItem,{closeOnSelect:!1,onClick:N.onClick,id:`commands-${z}`,children:N.label},N.label))}),I.map(({value:N,label:z,list:Le,lineClamp:It,listOrientation:ne})=>ke(G.List,{heading:z,orientation:ne==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(N),hasMore:!l&&T[N.toLowerCase()]>Ur(Le,N,l).length,children:Ur(Le,N,l).map(j=>ke(G.ListItem,{id:`${N}-${j.id}`,closeOnSelect:!1,lineClamp:It,onClick:()=>Ae(j.text,j),description:N!=="IMAGE"?j.title&&j.text:void 0,tooltip:j.text,extra:g&&ke(G.ListItemActions,{children:ke(Xo,{context:r,source:"search",suggestion:j})}),children:N==="IMAGE"?ke(G.Image,{title:j.title||j.text,src:j.image}):j.title||j.text},`${j.id}-${j.text}`))},N))]})]}),ke(G.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:K(()=>{t(Bt("search"))}),children:ke(gd,{onCopy:D})})]})},Pd=Gh;import{jsx as Id,jsxs as Qh}from"react/jsx-runtime";var Jh=()=>{let t=E("showSearch"),e=E("isEmbedded");return Qh(Xh,{children:[t&&Id(Pd,{}),e&&Id(Dl,{})]})},Ad=Jh;import ty from"classnames";import{useSelector as ny}from"react-redux";import{jsx as Wr}from"react/jsx-runtime";var Ld=({className:t})=>Wr("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",xmlSpace:"preserve",className:t,children:Wr("g",{children:Wr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
6
6
  c-17.9,17.9-27.3,40.1-27.3,65.7C163.4,163,163.4,233,163.4,233z M465.5,267.9V477c0,9.4-3.4,17.9-10.2,24.7
7
7
  c-6.8,6.8-15.4,10.2-24.7,10.2h-349c-9.4,0-17.9-3.4-24.7-10.2c-6.8-6.8-10.2-15.4-10.2-24.7V267.9c0-9.4,3.4-17.9,10.2-24.7
8
8
  c6.8-6.8,15.4-10.2,24.7-10.2h11.9v-70c0-44.4,16.2-82.8,47.8-115.2S212.1,0,256.4,0s82.8,16.2,115.2,47.8
9
- c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});import{jsx as Rd}from"react/jsx-runtime";var Wh={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Pd=({className:t,color:e})=>Rd("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Rd("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:Wh[e||"pink"]})});var Id={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var Kr={};J(Kr,{enUS:()=>zh,nlNL:()=>Vh});var zh={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},Vh={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as qh}from"react-redux";import{jsx as Wr,jsxs as Ad}from"react/jsx-runtime";var Ld=({onLogIn:t})=>{let e=P(Kr),n=E("floatingMenu"),o=E("productName"),s=qh(),r=$h(Q),i=b("FloatingMenu",Id);if(r===null||n===!1)return null;let a=()=>{r===!0?s(me(!0)):t()};return Ad("button",{type:"button",className:jh(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Wr("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),Ad("div",{className:i.icon,children:[Wr(Pd,{className:i.logo,color:"pink"}),r===!1&&Wr(kd,{className:i.lock})]})]})};import{useEffect as yy,useRef as vy}from"react";import{useDispatch as Sy,useSelector as wt}from"react-redux";function Re(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input;return r.end<t.input.suggestionTextStart||r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import{createSlice as Gh}from"@reduxjs/toolkit";var Xh={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Zo=({ui:t})=>t.overlayCollapsed,Md=Gh({name:"ui",initialState:Xh,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:Fn,setInputFocus:Yo,setOverlayCollapsed:tt,setOpenOverlayWhenTyping:Nd,setOverlayCollapsedUserOverwrite:Od}=Md.actions,Dd=Md.reducer;var _d={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as es}from"react/jsx-runtime";var Jh=({match:t,selected:e,styles:n})=>es(M,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:es("span",{className:n.styleSuggestion,children:t.suggestion})}),Qh=({matches:t,selectedIndex:e})=>{let n=b("StyleSuggestionList",_d);return es(Y,{children:t.map((o,s)=>es(Jh,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},ts=Qh;import{useMemo as py}from"react";import{Interweave as Kd}from"interweave";import{useEffect as oy,useMemo as sy,useRef as ry,useState as iy}from"react";import{useDispatch as ay,useSelector as Wd}from"react-redux";import{useEffect as Zh}from"react";function Fd(t,e,n){Zh(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var Hd={root:"dd-1MBCO",actions:"dd--x4cy",closeIconContainer:"dd-1z5NR",closeIcon:"dd-8qMF-",badge:"dd-4Fpkz",formattedText:"dd-EzvTB",assistantContainer:"dd-j6o8F",formattedTextTruncated:"dd-fv169",assistantBadge:"dd-VD57E"};import{jsx as Bd,jsxs as Yh}from"react/jsx-runtime";var Ud=({title:t})=>Yh("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[Bd("title",{id:"closeTitle",children:t}),Bd("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]});var zr={};J(zr,{enUS:()=>ey,nlNL:()=>ty});var ey={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},ty={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as Ke,jsxs as zd}from"react/jsx-runtime";var ly=["search","personal-collection-search","search-autocomplete"];function dy(t,e,n,o={}){var r;let s="";return ly.includes(e)?s=Ul(Pr(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=Pr(t,n,o),o.placeholders===!0&&(s=Kl(s)),s}var cy=()=>{},uy=({selected:t,suggestion:e})=>{let n=P(zr),o=E("inlineSuggestions"),s=Wd(dt),[r,i]=iy(!1),a=E("enableSuggestionFeedback"),d=Wd(m=>m.input.text),l=ay(),c=b("TextSuggestion",Hd),p=ry(null),u=e.source==="assistant",f=a&&!u;oy(()=>{let m=setTimeout(()=>{l(ia({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(m)}},[e]),Fd(p,"click",()=>{l(ie({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let h=()=>{l(ut({source:e.source,text:e.text,assistantCode:e.assistantCode}))},g=sy(()=>dy(e.text,e.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,s,e.searchKeywords]);return e.source==="gpt"&&!o?null:zd("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[Ke(M,{ref:p,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:cy,children:e.source==="assistant"?zd("div",{className:c.assistantContainer,children:[Ke(Kd,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:g}),Ke("span",{className:c.assistantBadge,children:n("assistant")})]}):Ke(Kd,{containerTagName:"div",tagName:"span",className:c.formattedText,content:g})}),f&&r&&Ke("div",{className:c.actions,children:Ke(Go,{source:"overlay",context:d,suggestion:e})}),u&&r&&Ke("div",{className:c.closeIconContainer,children:Ke("button",{type:"button",className:c.closeIcon,onClick:h,title:n("close"),children:Ke(Ud,{title:n("close")})})})]})},Vd=uy;import{jsx as my}from"react/jsx-runtime";var gy=({suggestions:t,selectedIndex:e,reverse:n})=>py(()=>{let s=t.map((r,i)=>my(Vd,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),ns=gy;var jd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as fy,createSlice as hy}from"@reduxjs/toolkit";var os={list:{keywordMatches:[]},fetchState:"idle"},ss=t=>t.styleSuggestions.list,Tt=fy("styleSuggestions/getAll",(n,o)=>v(null,[n,o],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return os.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),$d=hy({name:"styleSuggestions",initialState:os,reducers:{commitStyleSuggestion(t,e){let{keyword:n,suggestion:o}=e.payload;t.list.keywordMatches=t.list.keywordMatches.filter(s=>s.keyword.toLowerCase()!==n.toLowerCase()||s.suggestion!==o)}},extraReducers:t=>{t.addCase(Tt.pending,e=>{e.fetchState="loading"}).addCase(Tt.rejected,e=>{e.fetchState="error"}).addCase(Tt.fulfilled,(e,n)=>{e.fetchState="done",Xe(e.list,n.payload)||(e.list=n.payload)}).addCase(pt,e=>{e.list=os.list}).addCase(j,()=>os)}}),{commitStyleSuggestion:qd}=$d.actions,Gd=$d.reducer;var rs=t=>{let e=new Set;return t.filter(({keyword:n,suggestion:o})=>{let s=JSON.stringify([n.toLowerCase(),o]);return e.has(s)?!1:(e.add(s),!0)})};import{jsx as is,jsxs as by}from"react/jsx-runtime";var xy=()=>{var m;let t=vy(null),e=b("InlineSuggestionsOverlay",jd),n=wt(Re),o=Sy(),s=wt(Q),r=wt(Dt),i=wt(Zo),a=E("showTextSuggestions"),d=wt(ct),l=wt(pn),c=E("showStyleSuggestions"),p=E("showStyleSuggestionList"),u=wt(ss),f=c&&p?rs((m=u.keywordMatches)!=null?m:[]):[],h=f.length>0,g=a&&d.length>0;return ht(()=>{setTimeout(()=>{o(tt({collapse:!0,skipWhenInputFocus:!0}))})}),yy(()=>{let S=t.current;if(!S||!S.parentElement)return;S.parentElement.style.left="0px";let C=S.getBoundingClientRect();S.parentElement.style.left=`${Math.min(window.innerWidth-4-C.right,0)}px`}),i||s!==!0||r===!1||!n&&!h||!g&&!h?null:is("div",{className:e.root,"data-variant":"inline",children:by("div",{ref:t,className:e.paper,children:[h&&is(ts,{matches:f,selectedIndex:-1}),g&&is(Y,{children:is(ns,{suggestions:d,selectedIndex:l})})]})})},Xd=xy;import wy,{useState as jr,useEffect as Ey}from"react";var Jd={root:"dd-7zvcP",dialogContent:"dd-4C0lK",continueButton:"dd-YUPQW",buttonContinueWrapper:"dd-IKpYs",nicknameInput:"dd-rxhGp",titleWrapper:"dd-nw3nD",title:"dd-5iof5",closeButtonWrapper:"dd-UUAzA",closeButton:"dd-7rjP5",buttonsWrapper:"dd-5e9Xb",errorMessage:"dd--5VgX",errorLink:"dd-u461n"};import{useSelector as ky}from"react-redux";var Vr={};J(Vr,{enUS:()=>Cy,nlNL:()=>Ty});var Cy={title:[{type:0,value:"Enter your nickname"}],close:[{type:0,value:"Close"}],nicknameDialogTitle:[{type:0,value:"Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment."}],nicknameDialogInputPlaceholder:[{type:0,value:"Enter your nickname"}],nicknameDialogContinueButton:[{type:0,value:"Continue"}],nicknameDialogError:[{type:0,value:"Nickname cannot be empty or spaces only"}],nicknameDialogEmojiError:[{type:0,value:"You cannot use emojis in this field."}],nicknameDialogSaveError:[{type:0,value:"We couldn't save your details just now. Please try again, or update it at "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We couldn\u2019t save your details just now. Please try again later, or update them in My Deepdesk \u2192 Settings."}]},Ty={title:[{type:0,value:"Voer je bijnaam in"}],close:[{type:0,value:"Sluiten"}],nicknameDialogTitle:[{type:0,value:"Voer de naam in die je wilt dat klanten zien tijdens chatgesprekken. Deze bijnaam wordt gebruikt in je Deepdesk-omgeving."}],nicknameDialogInputPlaceholder:[{type:0,value:"Voer je bijnaam in"}],nicknameDialogContinueButton:[{type:0,value:"Doorgaan"}],nicknameDialogError:[{type:0,value:"Bijnaam mag niet leeg of alleen spaties zijn"}],nicknameDialogEmojiError:[{type:0,value:"Je kunt geen emoji's gebruiken in dit veld."}],nicknameDialogSaveError:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw of werk het bij op "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw later, of werk ze bij in My Deepdesk \u2192 Instellingen."}]};import{Fragment as Ry,jsx as ye,jsxs as as}from"react/jsx-runtime";var Qd=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=jr(""),[i,a]=jr(!1),[d,l]=jr(!1),c=b("Nickname",Jd),p=wy.useRef(null),u=ky(S=>S.info.showNicknameDialog),f=P(Vr),h=E("adminUrl");Ey(()=>{o&&a(!0)},[o]);let g=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(f("nicknameDialogError")),p.current.reportValidity()},m=S=>{S.preventDefault();let C=s.trim(),T=S.currentTarget.querySelector("#nickname-input");if(!C){T.setCustomValidity(f("nicknameDialogError")),T.reportValidity();return}T.setCustomValidity(""),e(C)};return as(jt,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[ye("div",{className:c.titleWrapper,children:ye("h1",{className:c.title,children:f("title")})}),as("form",{className:c.dialogContent,onSubmit:m,children:[ye("p",{children:f("nicknameDialogTitle")}),i&&o&&ye("div",{className:c.errorMessage,children:h?(()=>{let S=f("nicknameDialogSaveError",{account:h}),C=`${h}.deepdesk.com/admin/user-settings`,T=S.indexOf(C);if(T!==-1){let w=S.substring(0,T),A=S.substring(T+C.length);return as(Ry,{children:[w,ye("a",{href:C,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:C}),A]})}return S})():f("nicknameDialogSaveErrorWithoutLink")}),ye("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:f("nicknameDialogInputPlaceholder"),value:s,onChange:S=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(S.target.value)),r(S.target.value)},onBlur:g,ref:p}),d&&ye("div",{className:c.errorMessage,role:"alert",children:f("nicknameDialogEmojiError")}),as("div",{className:c.buttonsWrapper,children:[o?ye("div",{className:c.closeButtonWrapper,children:ye("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:f("close")})}):null,ye("div",{className:c.buttonContinueWrapper,children:ye("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:f("nicknameDialogContinueButton")})})]})]})]})};import{Provider as Py}from"react-redux";import{jsx as ls}from"react/jsx-runtime";var Iy=({children:t})=>{let n=E("locale").replace("-","");return ls(dr.Provider,{value:n,children:t})},Ay=({store:t,customStyles:e={},children:n})=>ls(Py,{store:t,children:ls(Iy,{children:ls(an.Provider,{value:e,children:n})})}),We=Ay;import Jr from"classnames";import{useEffect as Wy,useRef as zy,useState as Vy}from"react";import{useDispatch as jy,useSelector as ze}from"react-redux";import{useState as Ly}from"react";function Zd(t,e){let[n,o]=Ly(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return k.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){k.error(i)}}]}var Yd=()=>/Mac/i.test(navigator.platform);import Oy from"classnames";import{Fragment as Dy,useCallback as qr,useMemo as tc}from"react";var $r={};J($r,{enUS:()=>My,nlNL:()=>Ny});var My={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Sign in"}]},{type:0,value:" to enable "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze for "},{type:8,value:"min",children:[{type:0,value:"10 minutes"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 hour"}]},{type:0,value:" or "},{type:8,value:"day",children:[{type:0,value:"1 day"}]}]},Ny={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Log in"}]},{type:0,value:" bij "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze voor "},{type:8,value:"min",children:[{type:0,value:"10 minuten"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 uur"}]},{type:0,value:" of "},{type:8,value:"day",children:[{type:0,value:"1 dag"}]}]};var ec={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as ds,jsxs as nc}from"react/jsx-runtime";var Gr=(t,e,n)=>o=>ds("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),_y=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=P($r),i=oe(),a=b("Login",ec),d=E("productName"),l=E("signInViaPopup"),c=n&&!l,p=qr(C=>{C.preventDefault(),o&&o(Number.parseInt(C.target.value,10))},[]),u=qr(C=>{C.preventDefault(),i.send(Ut,!0)},[e]),f=tc(()=>C=>ds("a",{onClick:w=>{w.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:C},"login"),[e]),h=qr(C=>ds("button",{type:"button",className:a.anchorButton,onClick:u,children:C},"prompt"),[u]),{min:g,hour:m,day:S}=tc(()=>({min:Gr(a,600,p),hour:Gr(a,3600,p),day:Gr(a,3600*12,p)}),[]);return nc("div",{className:Oy(t,a.root),children:[r("loginPlease",{login:c?h:f,productName:d}),o&&nc(Dy,{children:[ds("br",{}),r("snooze",{min:g,hour:m,day:S})]})]})},cs=_y;import{useDispatch as Fy}from"react-redux";var oc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as sc,jsxs as By}from"react/jsx-runtime";var Hy=({title:t})=>{let e=b("SearchTrigger",oc),n=Fy(),o=z();return By("button",{type:"button",className:e.root,onClick:()=>{n(me(!0)),o("open search",{via:"autocomplete-overlay"})},children:[sc(qt,{}),sc("span",{className:e.text,children:t})]})},rc=Hy;var Xr={};J(Xr,{enUS:()=>Uy,nlNL:()=>Ky});var Uy={arrowHint:[{type:0,value:"Tip: use arrow keys to navigate suggestions"}],searchHintWindows:[{type:0,value:"Press CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],searchHintMac:[{type:0,value:"Press CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Close"}],search:[{type:0,value:"Search"}],dismiss:[{type:0,value:"Dismiss"}],dismissError:[{type:0,value:"Dismiss error"}]},Ky={arrowHint:[{type:0,value:"Tip: Selecteer suggesties met pijltoetsen"}],searchHintWindows:[{type:0,value:"Druk CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],searchHintMac:[{type:0,value:"Druk CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Sluiten"}],search:[{type:0,value:"Zoeken"}],dismiss:[{type:0,value:"Sluiten"}],dismissError:[{type:0,value:"Foutmelding sluiten"}]};var ic={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2",loginError:"dd-KCXeb",loginErrorMessage:"dd-Bv-BG",loginErrorDismiss:"dd-iSCjU"};import{jsx as G,jsxs as nt}from"react/jsx-runtime";var $y=({onLogIn:t})=>{var W;let e=b("SuggestionsOverlay",ic),n=P(Xr),o=ze(Re),s=ze(ra),r=jy(),i=zy(null),a=E("searchTriggerKey"),d=E("productName"),l=ze(Zo),c=ze(Q),p=ze(qi),u=ze(Dt),[f,h]=Vy(null),g=E("showSearch"),m=E("showTextSuggestions"),S=E("adminUrl"),C=E("isEmbedded"),T=E("suggestionsPlacement"),[w,A]=Zd("dd-snooze-until-ms",0),R=l||w>Date.now(),I=ze(ct),U=ze(pn),ce=E("showStyleSuggestions"),Ae=E("showStyleSuggestionList"),D=ze(ss),K=ce&&Ae?rs((W=D.keywordMatches)!=null?W:[]):[],be=K.length>0,X=I.filter(Le=>Le.source!=="gpt").length,it=()=>{R&&A(0),r(Od(!R))},N=Le=>{let It=Date.now()+Le*1e3;A(It),k.info(`Snooze until: ${new Date(It)}`),r(tt({collapse:!0}))};return Wy(()=>{X===0&&h(null)},[I,X]),ht(()=>{r(tt({collapse:!0,skipWhenInputFocus:!0}))}),c===null||u===!1?null:c===!1?nt("div",{ref:i,className:Jr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[G("div",{style:{flex:1}}),G("div",{className:e.triggersRight,children:G(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})})]}),G("div",{className:e.toggleButtonWrapper,children:G(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),nt("div",{className:e.collapsible,children:[p&&nt("div",{className:e.loginError,children:[G("span",{className:e.loginErrorMessage,children:p}),G("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(no()),"aria-label":n("dismissError"),children:n("dismiss")})]}),G(cs,{loginUrl:S,isEmbedded:C,onLogIn:t,onSnooze:N})]})]}):!s||!o&&!be?null:nt("div",{ref:i,className:Jr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[G("div",{style:{flex:1},children:g&&G("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>h(n(Yd()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>h(null),children:G(rc,{title:n("search")})})}),nt("div",{className:e.triggersRight,onFocus:()=>{},children:[G("div",{className:Jr(!f&&e.hintsHidden,e.hints),children:f}),G(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})]})]}),G("div",{className:e.toggleButtonWrapper,children:G(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),(be||X>0&&m)&&nt("div",{className:e.collapsible,onFocus:()=>{},children:[be&&G(ts,{matches:K,selectedIndex:-1}),X>0&&m&&G(Y,{children:G(ns,{suggestions:I,selectedIndex:U,reverse:T==="above"})})]})]})},ac=$y;import ni from"classnames";import{Interweave as Mv}from"interweave";import{useCallback as Nv,useEffect as Ov,useMemo as kc,useRef as Dv}from"react";import{connect as _v}from"react-redux";import{useEffect as qy,useRef as Gy,useState as Xy}from"react";function us(t){return t.contentEditable==="true"}function Jy(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function lc(t){let{selectionStart:e,selectionEnd:n}=us(t)?Jy(t):t;return[e,n]}function dc(t){let[,e]=Xy(),n=Gy(null);return n.current=lc(t),qy(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=lc(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function cc(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Zn);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=o.indexOf(d,a);return s>l&&r<l+d.length?(n.selectionStart=l,n.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as Qy}from"react";var Zy=["div","span","mark","strong","b","i","u","em"];function Qr(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(Zy.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),Qy(o,{children:Qr(i,e,n+1)})]}return[...t,...e]}function Et(t){return t.tagName.toLowerCase()==="textarea"}var uc={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import rv from"classnames";import{Matcher as iv}from"interweave";import{useEffect as av,useMemo as lv}from"react";import{useEffect as Yy,useRef as ev,useState as tv}from"react";function pc(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function ps(t){let e=ev(null),[n,o]=tv(!1);return Yy(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=pc((p,u)=>{let f=e.current;if(!f)return;let h=p/r,g=u/r,m=f.getBoundingClientRect(),S=h>m.x&&h<m.x+m.width&&g>m.y&&g<m.y+m.height;S&&!s?(s=!0,o(!0)):!S&&s&&(s=!1,o(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=pc(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,n]}function gs(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function ms(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function gc(t){return t!=null}import nv from"classnames";import{forwardRef as ov,useRef as sv}from"react";var Ve={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as mc}from"react/jsx-runtime";var fs=ov((s,o)=>{var r=s,{className:t,children:e}=r,n=O(r,["className","children"]);let i=sv(null),a=b("TabCompletion",Ve);return mc("div",x(y({ref:ms([i,o]),className:nv(t,a.popoverContentContainer)},n),{children:mc("div",{className:a.popoverContent,children:e})}))});import{jsx as Hn,jsxs as uv}from"react/jsx-runtime";var dv=t=>e=>{let n=yr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},cv=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=b("TabCompletion",Ve),i=Ao(),a=lv(()=>dv(t.getBoundingClientRect()),[t]),[d,l]=ps(t);return av(()=>{l?i.open():i.close()},[l]),uv("span",{children:[Hn("mark",{ref:ms([d,i.triggerRef]),className:rv(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&Hn(Wt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:Hn(fs,{style:n,children:Hn("div",{className:r.hintText,children:s})})})]})},hs=class extends iv{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(n,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(s=>x(y({},s),{keywordRegex:new RegExp(`\\b${gs(s.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),n}match(n){let o=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=n.match(r.keywordRegex);if(!i)return null;let a=n.charAt(i.index-1),d=n.charAt(i.index+r.keyword.length);return a==="{"&&d==="}"?null:{index:i.index,length:i[0].length,match:i[0],matchString:i[0],suggestion:r.suggestion,preparedKeywordMatch:r,valid:!0}}).filter(gc);if(o.length===0)return null;let s=o.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(n,o){return Hn(cv,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:n},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as pv}from"interweave";import gv from"classnames";import{jsx as fc}from"react/jsx-runtime";var mv=({inputElement:t,children:e})=>{let n=b("TabCompletion",Ve),[o,s]=ps(t);return fc("mark",{ref:o,className:gv(n.matchPlaceholder,{[n.hover]:s}),children:e})},ys=class extends pv{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return fc(mv,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import ti from"classnames";import{Matcher as wv}from"interweave";import{createRef as Ev,forwardRef as kv,useCallback as Rv,useEffect as Tc,useRef as wc,useState as Ec}from"react";import{useDispatch as Pv,useSelector as Iv}from"react-redux";import{jsx as hc}from"react/jsx-runtime";var yc=()=>hc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:hc("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"})});import{useCallback as fv,useEffect as Sc,useMemo as hv,useState as xc}from"react";import{useDispatch as yv,useSelector as bc}from"react-redux";import vv from"lodash.debounce";var vc={root:"dd-ky-Bv",content:"dd-kV5e1"};function vs(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch(r){return null}}function Zr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as kt,jsxs as Yr}from"react/jsx-runtime";var Sv=3,xv=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),bv=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=Sv})=>{let r=b("LinkSearch",vc),[i,a]=xc(""),d=yv(),l=bc(hd("url")),c=bc(Ia("URL")),p=hv(()=>c.map(xv),[c]),[u,f]=xc(p.length-1),h=E("fallbackImage"),g=T=>{let w=T.target;a(w.value)},m=(T,w)=>{T.stopPropagation(),T.preventDefault(),window.open(w,"_blank")},S=T=>{var R;let w=u-1<0?p.length-1:u-1,A=u+1===p.length?0:u+1;T.code==="Escape"&&(a(""),e()),T.code==="ArrowUp"&&f(w),T.code==="ArrowDown"&&f(A),T.code==="Enter"&&t(((R=p[u])==null?void 0:R.text)||i)},C=fv(vv(T=>{d(gt({query:T,type:"URL",tags:["link-search"]}))},300),[]);return Sc(()=>{i&&C(i)},[i]),Sc(()=>()=>{d(mo())},[]),Yr("div",{className:r.root,children:[kt(Y,{withDivider:!0,children:(i?p:l).slice(0,s).map((T,w)=>kt(M,{selected:u===w,onClick:()=>t(T.text),"data-testid":"linksearch-suggestion",children:Yr(_,{children:[kt(_.Image,{src:vs(T,"small",h||void 0),title:T.title||T.text}),Yr(_.Content,{className:r.content,cropText:!0,children:[kt(_.Title,{children:T.title||Zr(T.text)}),T.title&&Zr(T.text)]}),kt(M.Actions,{children:kt(M.ActionButton,{label:o,onClick:A=>m(A,T.text)})})]})},T.text))}),kt(Pn,{value:i,onChange:g,autoFocus:!0,placeholder:n,onKeyUp:S})]})},Cc=bv;var ei={};J(ei,{enUS:()=>Cv,nlNL:()=>Tv});var Cv={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}],addToPersonalCollection:[{type:0,value:"Add to Personal Collection"}]},Tv={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}],addToPersonalCollection:[{type:0,value:"Toevoegen aan Personal Collection"}]};import{jsx as ve,jsxs as Ss}from"react/jsx-runtime";var Av=kv((t,e)=>{let n=b("TabCompletion",Ve);return ve("mark",{ref:e,className:ti(n.matchSelection)},"selection-start")}),Lv=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=P(ei),i=b("TabCompletion",Ve),a=E("addToPersonalCollection"),d=Iv(Ze("/admin/personal-collection/new")),l=wc(null),c=wc(null),[p,u]=Ec(null),f=Pv(),h=Ao(document.activeElement===o),[g]=Ec(()=>document.createRange());h.triggerRef.current=g,Tc(()=>()=>g.detach(),[]),Tc(()=>{let S=t.current,C=l.current;!S||!C||(g.setStart(S,0),g.setEnd(C,0))},[t.current,l.current]),ht(()=>{h.close()});let m=Rv(S=>{let C=g.toString(),T=/^http(s?):\/\//.test(S)?S:`https://${S}`,w=`[${C}](${T})`;f(ie({text:w,suggestion:{text:w,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return Ss("span",{children:[ve("mark",{ref:l,className:ti(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":h.opened?"true":"false",children:s}),h.opened&&ve(Wt,{className:i.popoverRoot,triggerRef:h.triggerRef,boundaryRef:e,position:"above",align:"start",children:Ss(fs,{style:n,ref:c,children:[Ss("div",{className:ti(i.selectionOptions,{[i.selectionOptionsIsHidden]:p!==null}),children:[Ss("button",{type:"button",tabIndex:p===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>u("insertLink"),children:[ve(yc,{}),ve("span",{children:"\xA0"}),ve("span",{children:r("insertLink")})]}),a&&d&&ve("button",{type:"button",tabIndex:p===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let S=g.toString(),C=`${d}?text=${encodeURIComponent(S)}`;window.open(C,"_blank")},children:ve("span",{children:r("addToPersonalCollection")})})]}),p==="insertLink"&&ve(Cc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:m,onDismiss:()=>{u(null),h.close()}})]})})]},"selection-end")},xs=class extends wv{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=Ev(),this.foundIndex=0,n}match(n){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,s]=this.props.selection;if(o===s)return null;let r=this.foundIndex===0?o:s,i=r>=this.charCount&&r<=this.charCount+n.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=n.length,i?y({isStart:a},i):null}replaceWith(n,o){return o.isStart?ve(Av,{ref:this.startRef}):ve(Lv,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Fv}from"react-redux";import{jsx as Xt,jsxs as Uv}from"react/jsx-runtime";var Hv=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=b("TabCompletion",uc),c=E("insertLink"),p=E("addToPersonalCollection"),u=E("showMidSentenceSuggestions"),f=E("inlineSuggestions"),h=dc(a),g=Dv(null),m=Fv(Q);Ov(()=>{Et(a)&&h&&cc(a,h)},[h]);let S=Nv(w=>{if(!s||!n)return w;let A=[Xt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Xt("span",{"data-testid":"tab-completion",className:ni(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&A.push(Xt("span",{className:ni(l.hint,l.resetIndent),children:Xt(Hs,{keyCode:"tab"},"tabHint")},"tabHint")),Qr(w,A)},[s,n,o]),C=kc(()=>{let w=[];return(c||p)&&w.push(new xs("selection")),w.push(new ys("placeholders")),r&&w.push(new hs("keywords")),w},[f,c,p,r]),T=kc(()=>{let w=window.getComputedStyle(a);return{"--dd-color":w.color,"--dd-font-size":w.fontSize,"--dd-font-family":w.fontFamily,"--dd-font-variant":w.fontVariant}},[]);return!t||!m?null:Uv("div",{ref:w=>{w!=null&&w.parentElement&&(g.current=w==null?void 0:w.parentElement)},className:l.root,style:T,children:[Xt(Mv,{tagName:"span",containerTagName:"div",className:ni(l.container,l.agentText),disableLineBreaks:Et(a),content:e||"\u200B",onAfterParse:S,matchers:C,selection:h,keywordMatches:i,inputElement:a,inputStyle:T,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!u}),Xt("br",{})]},"tab-completion")},Bv=t=>{var S,C,T;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=_t({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(S=e.html)!=null?S:Nn(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),p=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:u}=n,{isSupported:f}=r,{showTabCompletion:h,visible:g,showStyleSuggestions:m}=o;return{showTabHint:u,showStyleSuggestions:m,showTabCompletion:h&&Re(t),content:l,tabText:p,source:d,keywordMatches:(T=(C=s.list)==null?void 0:C.keywordMatches)!=null?T:[],enabled:g&&f!==!1}},Rc=_v(Bv)(Hv);import{Fragment as RS,useEffect as ci,useState as PS}from"react";import{useDispatch as ru,useSelector as te}from"react-redux";import{createAsyncThunk as Pc,createSlice as Kv}from"@reduxjs/toolkit";var Wv={token:null,interval:null},oi=Pc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),si=Pc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(oi()),setInterval(()=>o(oi()),n)}),Ic=Kv({name:"passwordlessToken",initialState:Wv,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(oi.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(si.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:Ac}=Ic.actions,Lc=Ic.reducer;import{createSelector as zv}from"@reduxjs/toolkit";function Vv(t){return"buttonText"in t&&"eventName"in t}function Mc(t){if(t)return Vv(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function jv(t){return t==null?void 0:t.map(e=>Mc(e))}function $v(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var Nc=zv([ja,oo],(t,e)=>(e?t.filter(s=>!s.externalConversationId||s.externalConversationId===e):t).map(s=>{let r=Mc(s.callToAction),i=jv(s.callToActions);return x(y(y(y({text:s.response,title:s.name},r?{callToAction:r}:{}),i!=null&&i.length?{callToActions:i}:{}),s.message!==void 0?{message:s.message}:{}),{editable:s.editable,isLoading:s.isLoading,evaluationId:s.evaluationId,rule:{id:$v(s.code),label:s.code,name:s.name,description:s.name}})}));import{useEffect as qv,useState as Gv}from"react";import _c from"classnames";import{jsx as Oc}from"react/jsx-runtime";var Jt=()=>Oc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Oc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var Dc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Qt,jsxs as Fc}from"react/jsx-runtime";var Xv=({entities:t})=>{let e=b("EntitiesWidgetList",Dc),[n,o]=Gv(void 0),s=z(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Te(a.text),s("entity copied",{entity:a,type:"copy"}))};return qv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:Qt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Fc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Qt("span",{className:e.entityText,children:a.text}),Fc("span",{className:e.iconWrapper,children:[Qt("span",{className:_c(e.icon),children:Qt(Jt,{})}),Qt("span",{className:_c(e.icon,n===d&&e.iconClicked),children:Qt(Jt,{})})]})]},a.text))})},Hc=Xv;import{jsx as Bc}from"react/jsx-runtime";var Uc=()=>Bc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Bc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useRef as tS}from"react";import{useDispatch as nS,useSelector as oS}from"react-redux";var Kc={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var Wc={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as Qv}from"react/jsx-runtime";var Jv=({size:t=12})=>{let e=b("LoadingSpinner",Wc);return Qv("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},zc=Jv;import{jsx as Vc}from"react/jsx-runtime";var jc=()=>Vc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Vc("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});import{jsx as $c,jsxs as Zv}from"react/jsx-runtime";var qc=t=>Zv("svg",x(y({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[$c("title",{id:"checkTitle",children:"Check"}),$c("path",{fill:"#666",d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})]}));var ri={};J(ri,{enUS:()=>Yv,nlNL:()=>eS});var Yv={error:[{type:0,value:"Something went wrong"}]},eS={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as je,jsxs as Gc}from"react/jsx-runtime";var sS=3e3,rS=({assistantOptions:t})=>{let e=b("OnDemandAssistants",Kc),n=P(ri),o=tS(),s=nS(),r=yo(se),i=oS(Nl),a=z(),d=i.filter(u=>u.isPinned),l=i.filter(u=>!u.isPinned),c=()=>v(null,null,function*(){return t.attachments&&t.attachments.length>0?t.attachments:s(((u,f,h)=>v(null,null,function*(){let g;if(t.transcript==="in-memory-transcript"){let m=h.dynamicThunkObject.conversationQuery;if(m){let S=yield m();g=Array.isArray(S)?S:void 0}}else Array.isArray(t.transcript)&&(g=t.transcript);return cr({transcript:g})})))}),p=u=>v(null,null,function*(){clearTimeout(o.current);let f=yield c();a("trigger on demand assistant",{assistantCode:u}),yield r.call(y(x(y({},t),{assistantCode:u}),f.length>0?{attachments:f}:{})),o.current=setTimeout(()=>r.reset(),sS)});return i.length===0?null:Gc("div",{className:e.root,children:[d.map(({assistant:u,assistantName:f,displayName:h})=>je("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>p(u),children:h||f},u)),l.length>0&&Gc($,{placement:"top-end",children:[je($.Trigger,{className:e.trigger,disabled:r.state==="loading",children:je(jo,{"data-testid":"trigger"})}),je($.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:u,assistantName:f,displayName:h})=>je($.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>p(u),children:h||f},u))})]}),r.state==="loading"&&je(zc,{}),r.state==="done"&&je(qc,{"data-testid":"trigger-done"}),r.state==="error"&&je(yl,{trigger:je(jc,{}),children:n("error")})]})},Xc=rS;import{useDispatch as mS}from"react-redux";var Bn={};J(Bn,{enUS:()=>iS,nlNL:()=>aS});var iS={useCue:[{type:0,value:"Add to message"}],__summarizerAssistant__:[{type:0,value:"Summary"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},aS={useCue:[{type:0,value:"Voeg toe aan bericht"}],__summarizerAssistant__:[{type:0,value:"Samenvatting"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useEffect as Jc,useRef as lS,useState as dS}from"react";var ii={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",ctaMessage:"dd-ge8nB",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l",form:"dd-sPNU2",formInput:"dd-F3E4I",formSubmit:"dd-vw5S0",actionButton:"dd-cCWyJ",editableCue:"dd-nWSD-",inputSpace:"dd-DGYB1"};import{jsx as Se,jsxs as bs}from"react/jsx-runtime";var cS=500,uS=100,pS=({content:t,onChange:e,onCopy:n})=>{let o=lS(null),s=b("WidgetCue",ii);return Jc(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,uS),cS);r.style.setProperty("height",`${i}px`)},[t]),Se("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},gS=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s})=>{var g;let r=b("WidgetCue",ii),i=P(Bn),a=z(),d=E("hasKeyboardInput"),[l,c]=dS(t.text),p=m=>{let S=m?x(y({},t),{callToAction:m}):t;e&&e(l,S),n(t)},u=(m,S)=>{o&&o(m,t),S&&Qe(S,r.fadeup)},f=m=>{s&&s(m,t)},h=m=>{m.preventDefault(),m.stopPropagation(),n(t)};return Jc(()=>{a("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),bs(M,{"data-testid":"cue",children:[Se(_,{children:bs(_.Content,{children:[t.title&&Se(_.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?i(t.rule.label):t.title}),t.message&&Se("p",{className:r.ctaMessage,children:t.message}),t.editable?Se(pS,{content:l,onCopy:()=>{let m=document.getSelection();m&&u(m.toString())},onChange:m=>{var S;return c((S=m.target.value)!=null?S:"")}}):Se(vt,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:u,onUse:d?f:void 0})]})}),bs(M.ButtonsContainer,{children:[bs("div",{className:r.actions,children:[Se(M.Button,{onClick:m=>{var S;return u((S=Eo(l,"reply")[0])!=null?S:l,m.target)},variant:"primary",children:i("copyCue")}),t.callToAction&&Se(M.Button,{onClick:()=>p(),variant:"primary",children:t.callToAction.label}),(g=t.callToActions)==null?void 0:g.map((m,S)=>Se(M.Button,{onClick:()=>p(m),variant:"primary",children:m.label},`${m.event}-${m.label}-${S}`)),Se(M.Button,{onClick:h,variant:"secondary",children:i("removeCue")})]}),Se(Io,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackText:t.text,feedbackType:"assistant"})]})]})},Qc=gS;import{Fragment as hS,jsx as ai}from"react/jsx-runtime";var fS=({cues:t})=>{let e=mS(),n=oe(),o=P(Bn),s=z(),r=l=>{e(Ro({code:l.rule.label})),s("Assistant response closed",{evaluationId:l.evaluationId,assistantCode:l.rule.label,assistantOutput:l.text})},i=(l,c)=>{Te(l),s("Assistant response copied",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,copiedText:l})},a=(l,c)=>{var p;c.callToAction&&(e(ko(c)),s("Assistant call to action",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,eventName:c.callToAction.event,value:(p=c.callToAction.value)!=null?p:l}))},d=(l,c)=>{var p;n.send(De,{text:l,suggestion:{source:"assistant",assistantCode:(p=c.rule)==null?void 0:p.label,sourceText:l}}),s("Assistant response used",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,usedText:l})};return ai(hS,{children:t.map(l=>l.isLoading?ai(No,{title:l.rule.label.startsWith("__")?o(l.rule.label):l.title},l.rule.id):ai(Qc,{cue:l,onCallToAction:a,onRemove:r,onCopy:i,onUse:d},l.evaluationId))})},Zc=fS;import{Fragment as yS,useEffect as vS}from"react";var Yc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as $e,jsxs as li}from"react/jsx-runtime";function SS(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var eu=({data:t,schema:e})=>{let n=b("WidgetCustomData",Yc),o=s=>{Te(s)};return vS(()=>{k.info("Custom data",t,e)},[t]),$e("dl",{className:n.root,children:e.map(s=>{let r=SS(t,s.path);return li(yS,{children:[$e("dt",{className:n.label,children:s.label}),$e("dd",{className:n.value,children:s.type==="boolean"&&r?$e("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?$e("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?li("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r.join(", ")}),$e(Jt,{})]}):typeof r=="string"||typeof r=="number"?li("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r}),$e(Jt,{})]}):"-"})]},s.label)})})};import{useCallback as bS}from"react";var xS=/(https?:\/\/[^\s]+)/,tu=t=>t.split(" ").find(e=>xS.test(e));import{jsx as Zt,jsxs as Cs}from"react/jsx-runtime";var CS=({suggestion:t,lines:e,onUse:n})=>{var p;let o=t.text||t.url||t.message,s=tu(o),r=P(On),i=E("showImages"),a=E("fallbackImage"),d=E("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&n(o)},c=bS(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Cs(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Cs(_,{children:[i&&t.image&&Zt(_.Image,{src:vs(t,"small",a||void 0),title:t.title}),Cs(_.Content,{children:[t.title&&Zt(_.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&Zt(M.Labels,{labels:t.searchKeywords}),Zt(_.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),Cs(M.Actions,{children:[s&&Zt(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Zt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},nu=CS;import{Fragment as wS,jsx as ou}from"react/jsx-runtime";var TS=({lines:t,suggestions:e})=>{let n=oe(),o=(s,r)=>{n.send(De,{text:s,suggestion:x(y({},r),{source:r.source,sourceText:r.text})})};return ou(wS,{children:e.map(s=>ou(nu,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},su=TS;var Un={};J(Un,{enUS:()=>ES,nlNL:()=>kS});var ES={waiting:[{type:0,value:"Loading\u2026"}],waitingForConversation:[{type:0,value:"Waiting for conversation\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}],close:[{type:0,value:"Close"}]},kS={waiting:[{type:0,value:"Laden\u2026"}],waitingForConversation:[{type:0,value:"Wachten op gesprek\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}],close:[{type:0,value:"Sluiten"}]};var Yt={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x"};import{jsx as L,jsxs as Kn}from"react/jsx-runtime";var iu=(t,e)=>{let n=te(Q);ci(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},IS=({onLogIn:t})=>{let e=b("Widget",Yt),n=E("isEmbedded"),o=E("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(cs,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},di=({text:t})=>{let e=b("Widget",Yt);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},AS=()=>{let t=P(Un),e=ru(),n=b("Widget",Yt),o=E("showSearch"),s=E("isEmbedded"),r=te(Ze("/admin/")),i=oe(),a=E("productName"),d=z();return iu(()=>{if(s)return e(si()),()=>{e(Ac())}},[e,s]),!o&&!r?null:Kn("div",{className:n.shortcutList,children:[o&&L(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(qt,{}),onClick:()=>{i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&L(M.Button,{as:"a",target:"_blank",icon:L(Uc,{}),href:r,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:a}),className:n.shortcut,rel:"noreferrer",onClick:()=>{d("open my deepdesk",{via:"widget-shortcut"})},children:t("linkStudioLogin",{productName:a})})]})},LS=({title:t,content:e})=>{let n=P(Un),[o,s]=PS(!0);return o?L(Me,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(Y,{withDivider:!0,children:Kn(M,{children:[L(_,{children:L(_.Content,{children:L(vt,{content:e})})}),L(M.ButtonsContainer,{children:L(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},MS=()=>{let t=ru(),e=te(Ln),n=te(Dl),o=te(Nc),s=te(va),r=te(Vo),i=te(Xo),a=te(et),d=te(Ce);return ci(()=>{s&&!n&&k.warn("Custom data provided, but no schema.")},[s,n]),iu(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):Yn.includes(l)||t(he(l))})},[t,d,a]),ci(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&k.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(RS,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:f,property:h})=>{var g,m;switch(l){case"entities":return r&&r.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Hc,{entities:r})},l);case"cues":return o&&o.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(Zc,{cues:o})})},l);case"custom-data-banner":return s&&h&&s[h]&&L(LS,{title:c,content:String(s[h])},l);case"custom-data":return s&&f&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(eu,{data:s,schema:f})})},l);default:return((m=(g=i[l])==null?void 0:g.suggestions)==null?void 0:m.length)>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(su,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},ui=({children:t})=>{let e=b("Widget",Yt);return L("div",{className:e.footer,children:t})},pi=({children:t})=>{let e=b("Widget",Yt);return L("div",{className:e.root,"data-testid":"widget",children:t})},NS=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"}})=>{let o=P(Un),s=te(Dt),r=te(Q),i=te(oo),a=te(et),d=te(Ol("knowledge-assist")),l=te(_l);return s===!1?L(di,{text:o("notSupported")}):r===!1?L(IS,{onLogIn:t}):r===null?L(di,{text:o("waiting")}):!i||!a?L(di,{text:o("waitingForConversation")}):L(pi,{children:Kn(Fo,{initialQuestion:e.initialQuestion,assistantCode:l!=null?l:void 0,evaluateKnowledgeAssistFn:kn,children:[Kn(ln,{children:[L(AS,{}),L(MS,{}),d&&L(Bo,{title:d.title,emptyState:e.emptyState})]}),Kn(ui,{children:[d&&L(Ho,{}),L(Xc,{assistantOptions:n})]})]})})},au=NS;function zn(t){let e=new Range;return e.selectNodeContents(t),e}function lu(t,e,n){try{return Rt(t,e,n),!0}catch(o){return!1}}function Ts(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function ws(t){return"tagName"in t&&t.tagName==="BR"}var Wn=/[\u200B-\u200D\uFEFF]/g;function Rt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(d,l){let c=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(d))return l;for(let u=0;u<=d.length;u++)if(p.test(d[u])||c++,c===l)return u;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(Wn,""),p=s+c.length,u=e>=s&&e<=p,f=n>=s&&n<=p;if(u){let h=i(l,e-s);h===0&&!f?o.setStartBefore(d):o.setStart(d,h)}f&&(o.setEnd(d,i(l,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(ws(d)&&(s===e&&o.setStartBefore(d),s++,s===n)){o.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Ts(d)&&l&&!Ts(l)&&!ws(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function Es(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===t,f=p===n,h=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;f&&(a=l+g.substring(0,o).replace(Wn,"").length),h&&(d=l+g.substring(0,r).replace(Wn,"").length),l+=g.replace(Wn,"").length;break}case Node.ELEMENT_NODE:{if(ws(p)&&p.nextSibling){l++;break}!u&&Ts(p)&&p.previousSibling&&l++;for(let g=0;g<p.childNodes.length;g++){let m=f&&g===o,S=h&&g===r;if(m&&(a=l),S&&(d=l),d!==void 0||((!m||!i)&&c(p.childNodes[g]),h&&g===r-1&&(d=l),d!==void 0))break}h&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function ks(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let p=c===t,u=c===n,f=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let h=u?o:0,g=f?r:void 0;d+=c.textContent.replace(Wn,"").substring(h,g);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&ws(c)&&c.nextSibling){d+=`
10
- `;break}!p&&!i&&a===1&&Ts(c)&&c.previousSibling&&(d+=`
11
- `);let h=u?o:0,g=f?Math.min(r,c.childNodes.length):c.childNodes.length;for(let m=h;m<g&&(l(c.childNodes[m]),a!==2);m++);break}default:break}f&&(a=2)}return l(t),d}var du=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(du||{}),ot=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedSuggestionTextStart=0;this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedSuggestionTextStart=this.getSuggestionTextStart(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.getSuggestionTextStart(),r=this.cachedCaretPosition===null;if(!this.isActive)return;e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit");let i=e!==this.cachedText,a=n!==null&&n!==this.cachedHTML,d=s!==this.cachedSuggestionTextStart;if((i||a||d)&&(i?(this.cachedText=e,this.cachedHTML=n):a&&(this.cachedHTML=n),this.cachedSuggestionTextStart=s,r=!0,this.emit("change",{plainText:e,rawHTML:n,suggestionTextStart:s})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,r=!0,this.emit("selection",o)),!r)return;let l=this.getCaretPosition();Xe(l,this.cachedCaretPosition)||(this.cachedCaretPosition=l,this.emit("caretposition",l))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(du).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var o,s;let n=((o=e.clipboardData)==null?void 0:o.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}getSuggestionTextStart(){return 0}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}off(e,n){if(!this.eventListeners[e])return;let o=this.eventListeners[e].indexOf(n);o!==-1&&this.eventListeners[e].splice(o,1)}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function cu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var en=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),ks(this.element,n)}getHTML(){return this.element.innerHTML||""}getRange(){let n=this.getRootNode();if(n.activeElement!==this.element)return null;let o="getSelection"in n?n.getSelection():window.getSelection();if(!o)return null;let s=o.rangeCount>0?o.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let n=this.getRange();if(!n||!n.collapsed||!("getBoundingClientRect"in n))return null;let o=n.getBoundingClientRect();return!cu(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!cu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return Es(this.element,n);let o=this.lastKnownSelection;if(o&&lu(this.element,o.start,o.end))return o;let s=zn(this.element);return s.collapse(!1),Es(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return ks(this.element,Rt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var OS=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize"];function uu(t,e){let n="mozInnerScreenX"in window,o=document.createElement("div");o.id="input-textarea-caret-position-mirror-div";let s=o.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",OS.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var tn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return uu(this.element,this.element.selectionEnd)}listen(){super.listen();let n=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=n==null?void 0:n.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=n==null?void 0:n.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let o=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function pu(t,e,n){let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=o,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function DS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var gi=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},mi=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=pu(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},fi=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),k.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new mi(e,this.deepdeskUrl,{debug:!0}):new gi(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=DS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(k.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;k.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(y({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},gu=fi;function _S(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[_S(n)]:B(t[n])}),{}):t}function FS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Z(t){return Array.isArray(t)?t.map(Z):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[FS(n)]:Z(t[n])}),{}):t}var nn=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var Vn=t=>new Promise(e=>{setTimeout(e,t)});var xe=class extends nn{constructor(){super(...arguments);this.name="ClientError"}},Rs=class extends nn{constructor(){super(...arguments);this.name="ServerError"}},hi=new Map;function mu(t){return v(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(k.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var on=class{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};this.refreshingToken=null;this.lastFailedRefreshAt=null;this.failedRefreshCooldown=1e4;var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",R=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:f=!0,retryOnError:h=I=>I instanceof TypeError,retryOnResponse:g=I=>I.status>=500,version:m=null}=R,S=O(R,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(hi.has(i)){o(hi.get(i));return}}let C=x(y({credentials:"include"},S),{headers:y({Accept:"application/json","Content-Type":"application/json"},S.headers)});!d&&this.csrfToken&&(C.headers=x(y({},C.headers),{"X-CSRFToken":this.csrfToken})),typeof m=="string"&&(C.headers=x(y({},C.headers),{"X-Deepdesk-API-Version":m}));let T=p,w=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let A=()=>v(this,null,function*(){return T--,a(i,C).then(I=>v(this,null,function*(){return g(I)&&!r.isAborted&&T>0?(yield Vn(u),A()):I.status===401&&f===!0&&w===!1?(w=!0,yield this.refreshToken(),A()):I})).catch(I=>v(this,null,function*(){if(h(I)&&!r.isAborted&&T>0)return yield Vn(u),A();throw I}))});A().then(I=>v(this,null,function*(){let U=yield mu(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new Rs("Server Error",U));return}if(I.status===401){s(new xe("Unauthorized",U));return}if(I.status===403){s(new xe("Forbidden",U));return}if(I.status===404){s(new xe("Not Found",U));return}if(I.status>=400){s(new xe("Bad Request",U));return}l&&hi.set(i,U),o(U)})).catch(I=>{s(I)})})}validateToken(){return v(this,null,function*(){let e,n,o;try{({has_valid_access_token:e,is_logged_in:n,has_valid_refresh_token:o}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1}))}catch(s){return!1}if(!e){if(!o)return!1;try{yield this.refreshToken();let{is_logged_in:s}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1});return s}catch(s){return!1}}return n})}refreshToken(){let e=Date.now();return this.lastFailedRefreshAt&&e-this.lastFailedRefreshAt<this.failedRefreshCooldown?Promise.reject(new xe("Unauthorized","Failed to refresh token")):this.refreshingToken?this.refreshingToken:(this.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).catch(n=>{throw(n==null?void 0:n.message)==="Unauthorized"&&(this.lastFailedRefreshAt=Date.now()),n}).finally(()=>{this.refreshingToken=null}),this.refreshingToken)}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,y({method:"POST",body:JSON.stringify(n)},o))}postWithStatus(e,n,o){return this.requestWithStatus(e,y({method:"POST",body:JSON.stringify(n)},o))}requestWithStatus(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,A=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:u=!0,retryOnError:f=R=>R instanceof TypeError,retryOnResponse:h=R=>R.status>=500,version:g=null}=A,m=O(A,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]),S=x(y({credentials:"include"},m),{headers:y({Accept:"application/json","Content-Type":"application/json"},m.headers)});this.csrfToken&&(S.headers=x(y({},S.headers),{"X-CSRFToken":this.csrfToken})),typeof g=="string"&&(S.headers=x(y({},S.headers),{"X-Deepdesk-API-Version":g}));let C=c,T=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=()=>v(this,null,function*(){return C--,a(i,S).then(R=>v(this,null,function*(){return h(R)&&!r.isAborted&&C>0?(yield Vn(p),w()):R.status===401&&u===!0&&T===!1?(T=!0,yield this.refreshToken(),w()):R})).catch(R=>v(this,null,function*(){if(f(R)&&!r.isAborted&&C>0)return yield Vn(p),w();throw R}))});w().then(R=>v(this,null,function*(){let I=yield mu(R);if(delete this.latestRequestByUrl[i],R.status>=500){s(new Rs("Server Error",I));return}if(R.status===401){s(new xe("Unauthorized",I));return}if(R.status===403){s(new xe("Forbidden",I));return}if(R.status===404){s(new xe("Not Found",I));return}if(R.status>=400){s(new xe("Bad Request",I));return}o({status:R.status,data:I})})).catch(R=>{delete this.latestRequestByUrl[i],s(R)})})}patch(e,n,o){return this.request(e,y({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,y({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,y({method:"DELETE"},n))}};var fu;(e=>{let t;(a=>(a.SUCCESS="success",a.FAILURE="failure",a.CONDITIONS_NOT_MET="conditions_not_met",a.MAX_RECURSION_LEVEL="max_recursion_level",a.NO_ACCESS_TO_ASSISTANT="no_access_to_assistant"))(t=e.EvaluationStatus||(e.EvaluationStatus={}))})(fu||(fu={}));function Ps(t){return x(y({},B(t)),{metadata:t.metadata})}var Pt=class Pt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new on(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>v(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return v(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(Pt.exchangeTokenPromise||(Pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),Pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return v(this,null,function*(){var o;yield this.preflight(),k.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",x(y({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(o=e.metadata)!=null?o:{}}));return Ps(n)})}upsertConversation(e){return v(this,null,function*(){var c;yield this.preflight(),k.info(`Upserting conversation for session ${e.externalId} and agent ${e.agentId}`);let{status:n,data:o}=yield this.client.postWithStatus("/api/v2/conversations",x(y({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=Ps(o);if(n===201)return s;let{agentId:r,agentName:i,agentEmail:a,agentNickname:d,metadata:l}=e;return this.updateConversation(s.id,{agentId:r,agentEmail:a,agentName:i,agentNickname:d,metadata:l})})}getMe(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Z(e))})}patchMe(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Z(e));return B(n)})}getProfile(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return v(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return v(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return v(this,arguments,function*(e,n={}){yield this.preflight(),k.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return k.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Ps(i)})}isConversationSupported(o){return v(this,arguments,function*(e,n={}){k.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return v(this,null,function*(){var r;yield this.preflight();let o=Z(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return Ps(s)})}postMessages(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>x(y({},Z(o)),{metadata:o.metadata})))})}sendEvent(e,n){return v(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=O(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>x(y({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Z(x(y(y({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return v(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return v(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return v(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw k.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Z(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return v(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Z(n),{abortLatest:!0})).map(i=>x(y({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return v(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return v(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Z(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return v(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>x(y({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return v(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Z(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return v(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Z(e));return B(n)})}loginWithPassword(e,n){return v(this,null,function*(){yield this.preflight();let o=yield this.client.post("/apis/admin/session/login/",{username:e,password:n},{refreshTokenOn401:!1});return B(o)})}logout(){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/logout/",{},{refreshTokenOn401:!1})})}requestLoginByEmail(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return v(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return v(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return v(this,null,function*(){var d,l,c;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=p=>Z(p),i=(d=n==null?void 0:n.transcript)==null?void 0:d.map(p=>{var u;return y({source:p.source,text:p.text},(u=p.attachments)!=null&&u.length?{attachments:p.attachments.map(r)}:{})}),a=yield this.client.post(s,y({input:(l=n==null?void 0:n.input)!=null?l:{},conversation:i},(c=n==null?void 0:n.attachments)!=null&&c.length?{attachments:n.attachments.map(r)}:{}));return B(a)})}createAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Z(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(zi);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&k.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};Pt.exchangeTokenPromise=null;var st=Pt;var Is=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import{combineReducers as KS,configureStore as WS}from"@reduxjs/toolkit";import{createSlice as HS}from"@reduxjs/toolkit";var hu={startTime:null,stopTime:null},yu=t=>t.handlingTime,vu=HS({name:"handlingTime",initialState:hu,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(j,()=>hu)}}),{handlingTimeStart:Su,handlingTimeStop:As,handlingTimeReset:xu}=vu.actions,bu=vu.reducer;var Cu=(t={})=>{let e=y({onAuthError:Nt(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var Tu=(t={})=>{let e,n=!0,o=y({getStyleSuggestions:Tt,debounce:500},t);return s=>r=>i=>{var f;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((f=l.conversation.current)==null?void 0:f.id)||!c)return d;let{text:u}=l.input;return u===a&&!n||(clearTimeout(e),u==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:u}))},t.debounce)),d}};function BS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var wu=(t={})=>{let e=y({getTextSuggestions:he,getAutocompleteSuggestions:_n,debounce:200,check:Re},t),n;return o=>s=>r=>{var g;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(g=d.conversation.current)==null?void 0:g.id,u=r.type===Jo.toString();if(!p||!l&&!c)return a;let{input:f}=d;return BS(f,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let m=dt(d);m===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(m))},u?0:e.debounce)),a}};var Eu=Tt.fulfilled.toString();function US(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||o.push(...i.slice(0,a))}),o}var ku=t=>e=>n=>o=>{var l;if(o.type!==Eu){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=US(s,i);o.type===Eu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var zS=KS({assistants:Za,auth:Qi,conversation:na,contentTypes:Ml,passwordlessToken:Lc,entities:rd,handlingTime:bu,info:Ea,input:fa,settings:el,profile:Fl,search:La,styleSuggestions:Gd,ui:Dd,textSuggestions:Sd});function Ru(t){return WS({reducer:zS,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(Cu()).concat(wu({debounce:200})).concat(Tu({debounce:500})).concat(ku(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function Pu(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${gs(e)}\\b`,"gi"),s,r=null;for(;(s=o.exec(t))!==null&&!(s.index>n);)r={start:s.index,end:s.index+s[0].length};return r}var VS=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},jS=t=>e=>n=>o=>{var d,l,c,p,u,f;let s=e.getState(),r=ft("inlineSuggestions")(s),i=ft("autoSelectSuggestion")(s)||r;switch(o.type){case Nt.toString():{!o.payload&&t.emit("logout",void 0);break}case to.fulfilled.toString():{t.emit("logout",void 0);break}case fe.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{entities:o.payload}});break;case pt.toString():t.logSendMessage(o.payload);break;case ko.toString():t.emit("call-to-action",{cue:o.payload});break;case se.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:h,currentExternalIdAtRequest:g}=(l=o.payload)!=null?l:{};(!h||!g||h===g)&&t.broadcast(Qs,o,!1)}break;case se.rejected.toString():break;default:break}let a=n(o);switch(o.type){case pt.toString():t.handleAfterSendMessage(o.payload);break;case Fn.toString():t.onUpdateShowTabHint(o.payload);break;case As.toString():t.logHandlingTime();break;case Ft.toString():t.broadcast(ho,o);break;case ut.toString():t.broadcast(ho,o);break;case Ro.toString():e.dispatch(ut({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let h=s.assistants.cues.find(g=>g.code===o.meta.arg.data.assistantCode);t.emit("event",x(y({},o.meta.arg),{cue:h}));break}case ie.toString():{let{start:h,end:g}=s.input.selection;t.emit("select-suggestion",x(y({type:VS(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:h,end:g}:{start:0,end:g}})),r&&e.dispatch(Je([]));break}case qd.toString():{let{keyword:h,suggestion:g,eventMetrics:m}=o.payload,{text:S,selection:C}=s.input,T=Pu(S,h,(c=C==null?void 0:C.end)!=null?c:S.length);if(!T)break;t.emit("select-suggestion",{text:g,type:"style",replace:T,suggestion:{text:g,source:"style"},eventMetrics:m});break}case ao.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case Je.toString():{i&&o.payload.length>0&&e.dispatch(lo(0));break}case se.fulfilled.toString():{let{evaluationId:h,output:g,externalConversationId:m}=o.payload,S=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:h,assistantCode:S,assistantOutput:qa(g),externalConversationId:m,evaluationStatus:"success"}}),!o.meta.arg.skipState){let C=e.getState().assistants.cues;t.emit("cues",C)}break}case se.rejected.toString():{let h=o.meta.arg.assistantCode,g=(f=o.meta.arg.externalConversationId)!=null?f:(u=e.getState().conversation.current)==null?void 0:u.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:h,assistantOutput:"",externalConversationId:g,evaluationStatus:"failed"}});break}default:break}return a},Iu=jS;import{createSelector as $S}from"@reduxjs/toolkit";function yi(t){return t.toISOString().replace("T"," ").replace("Z","")}var qS=(t,e)=>e.version,Au=$S([Ht,Ce,yu,qS],(t,e,n,o)=>{if(!e)return k.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(k.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:yi(s),timeStop:yi(r)}});function Lu(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}var jn=class extends Error{};function GS(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Ls=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new jn("Queued async function is outdated"));let s=GS();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function vi(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return vi(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?vi(s,e):null}function Si(t,e){return vi(t,e)}var XS={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},Mu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return k.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[XS[e]];return o&&o.length>0?o.map(a=>a.code):(k.warn(`No assistant set in profile for conversation event "${e}"`),[])};function Nu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function JS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function xi(t){return JS(t)&&(Et(t)||us(t))}var Du,Pe=new Map,QS=["bottom","height","left","right","top","width"],Ou=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:QS.some(n=>t[n]!==e[n]);function _u(t){var n,o,s;if(t.ownerDocument===document)return[];let e=(s=(o=(n=t.ownerDocument)==null?void 0:n.defaultView)==null?void 0:o.frameElement)!=null?s:null;return e?[e,..._u(e)]:[]}function Fu(t,e){return!t||!e?null:x(y({},t),{top:t.top+e.top,left:t.left+e.left})}var Ms=!1,Hu=()=>{Ms=!0;let t=[];if(Pe.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Pe.delete(n);return}let o=n.getBoundingClientRect();Ou(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(Fu,e.rect):e.rect;Ou(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Pe.size===0){Ms=!1;return}Du=window.requestAnimationFrame(Hu)};function bi(t,e){let n=_u(t),o=[],s=n.map((r,i)=>bi(r,a=>{o[i]=a;let d=Pe.get(t);if(!d)return;let l=o.reduce(Fu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Pe.has(t)){let i=Pe.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Pe.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Ms&&Hu()},unobserve(){s.forEach(i=>i.unobserve());let r=Pe.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Pe.delete(t),Pe.size||(cancelAnimationFrame(Du),Ms=!1)}}}}var Bu,Ie=new Map,Uu=()=>{Ie.forEach((t,e)=>{if(!e.isConnected){Ie.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),Ie.size!==0&&(Bu=window.requestAnimationFrame(Uu))};function Ku(t,e){return{observe(){let n=Ie.size===0;Ie.has(t)?Ie.get(t).callbacks.push(e):Ie.set(t,{visible:void 0,callbacks:[e]}),n&&Uu()},unobserve(){let n=Ie.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Ie.delete(t),Ie.size||cancelAnimationFrame(Bu)}}}}var Ci=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function Ti(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function sn(t){return Number.parseFloat(t)}function Ns(t){return Math.round(t*1e6)}function Wu(t){return t/1e6}function wi(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=sn(t.width),r=sn(t.borderLeftWidth),i=sn(t.borderRightWidth),a=sn(t.paddingRight),d=Wu(Ns(s)-Ns(r)-Ns(i)),l=Wu(Ns(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function Os(t,e={}){var c,p;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(c=e.position)!=null?c:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",yt(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};Ti(o,n,Ci),wi(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ku(t,()=>{Ti(o,n,Ci),wi(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=bi(t,u=>{if(u===null){e.onRemove&&e.onRemove(),n.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(Ti(o,n,Ci),wi(o,t,n),r(),e.placement==="below"&&n.classList.add("below"),n.style.top=`${u.top}px`,n.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let f=e.closestScrollElement.getBoundingClientRect(),h=window.getComputedStyle(e.closestScrollElement),g=sn(h.borderTopWidth),m=sn(h.borderBottomWidth),S=f.top+g-u.top,C=u.top+u.height+-(f.top+f.height-m);n.style.clipPath=`inset(${S}px 0px ${C}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(p=t.parentElement)==null||p.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}function ZS(t){return t.offsetParent!==null}function zu(t){if(!ZS(t))return!1;let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function Ei(t,e,n=100){let o=zu(t);e({isVisible:o});let s=setInterval(()=>{let r=zu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Vu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){k.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as F,jsxs as YS}from"react/jsx-runtime";var ju=Vu("showTabHint",!0),rn=class rn{constructor({deepdeskUrl:e,version:n=rn.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=Is}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new Ls;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new st(l,{token:s,fetch:r}),this.version=n,this.instanceId=rn.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Iu({broadcast:(h,g,m)=>{this.broadcastEvents.send(h,g,m)},emit:(h,g)=>this.emit(h,g),handleAfterSendMessage:h=>this.handleAfterSendMessage(h),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:h=>this.logSendMessage(h),onUpdateShowTabHint:h=>ju.update(h),sendEvent:(h,g)=>this.deepdeskApi.sendEvent(h,g)})]};this.store=Ru(c),this.broadcastEvents=new gu({debug:!0,deepdeskUrl:l,eventMap:Ma(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>v(this,null,function*(){var h;return(h=Q(this.state))!=null?h:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Fn(ju.value())),this.store.dispatch(Po({locale:o,adminUrl:l,productName:i}));let p=[],u=h=>{if(!h.conversationId)return;let g=()=>{this.conversationId()===h.conversationId&&this.store.dispatch(Qa(h))};this.hasConversation()?g():p.push(g)};this.ws.on("assistants::direct_response",u),this.ws.on("assistants::user_notification",u),this.ws.on("assistants::response_chunk",h=>{if(!h.conversationId)return;let g=()=>{this.conversationId()===h.conversationId&&this.store.dispatch(Ja(h))};this.hasConversation()?g():p.push(g)}),this.ws.on("assistants::suggest_as_reply",h=>{if(!h.conversationId)return;let g=()=>{this.conversationId()===h.conversationId&&this.store.dispatch(Ft([{text:h.payload.message,type:"text",source:"assistant",assistantCode:h.code,sourceLabel:h.name}]))};this.hasConversation()?g():p.push(g)});let f=this.whenConversationLoaded(()=>{var h;this.broadcastEvents.setExternalId((h=this.state.conversation.current)==null?void 0:h.externalId),p.forEach(g=>g()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,f()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=ct(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(k.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(k.warn("Profile has not been loaded (yet)"),!0):(k.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(Q(this.state))e();else{let n=this.subscribe(Q,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Nt(null)),this.store.dispatch(Oe()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return v(this,null,function*(){return(yield this.store.dispatch(Oe())).payload})}isConversationSupported(e,n){return v(this,null,function*(){return(yield this.store.dispatch(Vs({externalId:e,options:n}))).payload})}createConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(so(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return v(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(ro({externalId:e,options:n}))).payload})}upsertConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(js(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return v(this,null,function*(){yield this.store.dispatch($s(e))})}updateConversation(e){return v(this,null,function*(){return(yield this.store.dispatch(io(e))).payload})}resetConversation(){this.store.dispatch(j()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Po(e))}setVisitorInfo(e){this.store.dispatch(ba(e))}setCustomData(e){this.store.dispatch(Ca(e))}setAgentInfo(e,n){return v(this,null,function*(){var s;yield this.store.dispatch(gn(y(y({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(fo,{showNicknameDialog:!0})})}setAgentSettings(e){return v(this,null,function*(){yield this.store.dispatch(Gs(e))})}getAgentSettings(){return v(this,null,function*(){return(yield this.store.dispatch(Xs())).payload})}refresh(){return v(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(co({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(ie(e))}evaluateAssistant(e,n){return v(this,null,function*(){var c;let{input:o={},attachments:s=[],transcript:r,showCuesInWidget:i=!0,includeMetadata:a,externalConversationId:d}=n||{},l=yield this.store.dispatch(se({assistantCode:e,attachments:s,transcript:r,includeMetadata:a,input:o,externalConversationId:d,skipState:!i}));if(l.error)throw new Error(`Assistant evaluation failed: ${(c=l.payload)!=null?c:l.error.message}`);return l.payload.output})}evaluateConversationAssistant(e,n){return v(this,null,function*(){var c,p,f;yield this.loadProfileConfig();let o=this.state.profile.data;if(!o&&((c=this.state.conversation.current)!=null&&c.profileCode)&&(yield this.loadProfileConfig(),o=this.state.profile.data),!o){k.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=Mu(o,e),r=(p=n==null?void 0:n.showCuesInWidget)!=null?p:!0,u=n!=null?n:{},{showCuesInWidget:i}=u,a=O(u,["showCuesInWidget"]),d=(f=n==null?void 0:n.externalConversationId)!=null?f:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(h=>this.queues.push(h,()=>v(this,null,function*(){var m,S;let g=yield this.store.dispatch(se(y(x(y({assistantCode:h,includeMetadata:!0},a),{skipState:!r}),n!=null&&n.attachments&&(n==null?void 0:n.attachments.length)>0?{attachments:n==null?void 0:n.attachments}:{})));if(g.error)throw new Error(`Assistant evaluation failed: ${(m=g.payload)!=null?m:g.error.message}`);return{assistantCode:h,evaluationId:g.payload.evaluationId,output:g.payload.output,externalConversationId:(S=g.payload.externalConversationId)!=null?S:d}})).catch(g=>{if(g instanceof jn)return k.warn(`Queued assistant "${h}" was outdated and dropped`),null;throw g})));if(!r)return l.filter(h=>h!==null)})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,autoSelectSuggestion:d,showTextSuggestions:l,suggestionsPlacement:c}=this.settings,p=a||d,u=c==="inline"||c==="below"?"below":"above",f=s.length>0;if(this.store.dispatch(la(qs(e))),!Re(this.state)||e.key!=="Tab"&&!l)return;let h=()=>{n||!f||i&&(e.shiftKey||(this.store.dispatch(ua()),e.preventDefault()))},g=()=>{n||!f||p&&r<=0||i&&(e.shiftKey||(this.store.dispatch(pa()),e.preventDefault()))};switch(e.key){case"ArrowUp":u==="below"?g():h();break;case"ArrowDown":{u==="below"?h():g();break}case"Escape":{n||(this.store.dispatch(lo(-1)),this.store.dispatch(tt({collapse:!0})),this.store.dispatch(Nd(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let m=_t(this.state);if(!m)return;this.store.dispatch(Fn(!1)),this.store.dispatch(ie({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(p||this.state.input.selectedSuggestionIndex===-1)return;let m=_t(this.state);if(!m)return;this.store.dispatch(ie({text:m.text,suggestion:m,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(p||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let m=_t(this.state);if(!m)return;this.store.dispatch(ie({text:m.text,suggestion:m,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(tt({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(k.info("Start handling time"),this.store.dispatch(Su()))}handlingTimeStop(){this.state.handlingTime.startTime&&(k.info("Stop handling time"),this.store.dispatch(As()))}logSendMessage(e){let n=Lu(this.state,{version:this.version});n&&(e&&(Object.assign(n,{text:e}),Object.assign(n,{lenTextTotal:e.length})),this.deepdeskApi.sendEvent("Send Message",{conversationId:this.conversationId(),data:n}),this.emit("send-message-event",n))}logHandlingTime(){let e=Au(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(xu()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(pt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(ma()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){k.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),k.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Ta(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=Os(n,o);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),[r,i]}createInlineContainer(e,n){var a;let o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.height="0px",o.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",o.appendChild(s);let r=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=Os(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return yt(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),k.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(k.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(ga(o.metrics))):k.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!xi(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let u=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=u,d=O(u,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),yt(e),this.inputMediator=a||(Et(e)?new tn(e):new en(e)),this.inputMediator.on("change",({plainText:f,rawHTML:h,suggestionTextStart:g})=>{this.store.dispatch(co({text:f,html:h,suggestionTextStart:g}))}),this.inputMediator.on("keyup",f=>{this.store.dispatch(da(qs(f)))}),this.inputMediator.on("keydown",f=>{this.handleKeyDown(f)}),this.inputMediator.on("paste",({pastedText:f,selectionText:h})=>{this.store.dispatch(ca({text:f,selectionText:h}))}),this.inputMediator.on("cut",({selectionText:f})=>{this.store.dispatch(aa(f))});let c;this.inputMediator.on("selection",f=>{clearTimeout(c),f===null?c=setTimeout(()=>{f!==null&&this.store.dispatch(uo(f))},500):this.store.dispatch(uo(f))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var f;(f=this.inputMediator)==null||f.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(Yo(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(Yo(!0))}),this.renderSuggestions(e,l),this.subscribe(ft("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(ft("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let p=this.renderOverlays(n);this.unmountHandlers.push(()=>{p.unmount()}),this.store.dispatch(co({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(uo(this.inputMediator.getSelection())),this.store.dispatch(Yo(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=rt(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(We,{store:this.store,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Qd,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>v(this,null,function*(){try{yield this.store.dispatch(Sa({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(fo,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){k.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=rt(s);r.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Xd,{})})}));let i=a=>{a?(s.style.display="block",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`):s.style.display="none"};return this.inputMediator.on("caretposition",i),{unmount:()=>{var a;(a=this.inputMediator)==null||a.off("caretposition",i),r.unmount(),s.remove()}}}renderAboveOrBelowSuggestions(e,n,o){let{customStyles:s,closestScrollSelector:r,appendOverlayTo:i}=n,a=r&&Si(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,p]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),u=rt(d);u.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Rc,{inputElement:e})})}));let f=rt(c);return f.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(ac,{onLogIn:()=>this.loginViaPopup().catch(h=>k.warn(h.message))})})})),{unmount(){u.unmount(),f.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&Si(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=rt(d);return c.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Ld,{onLogIn:()=>this.loginViaPopup().catch(p=>k.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=rt(o);return s.render(F(We,{store:this.store,customStyles:n,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Ed,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&k.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r,signInViaPopup:i,ssoUrl:a}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let d;if(a)try{d={url:new URL(a,this.settings.adminUrl).toString()}}catch(l){k.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.widgetRoot=rt(e),this.widgetRoot.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(au,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup(d).catch(l=>k.warn(l.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=rt(n);return i.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(pi,{children:YS(Fo,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:kn,children:[F(ln,{children:F(Bo,{title:o.title,emptyState:o.emptyState})}),F(ui,{children:F(Ho,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=Ei(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Nu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){var e;return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(e=this.state.conversation.current)!=null&&e.profileCode?(this.loadProfileConfigPromise=Promise.resolve().then(()=>v(this,null,function*(){yield this.store.dispatch(An()).unwrap();let n=et(this.state);n&&this.store.dispatch(Po({showSearch:n.search,showImageSearch:n.imageSearch,showEntitiesCommand:n.entitiesCommand,showSummaryCommand:!!n.summarizerAssistantNew,showKnowledgeSearch:!!n.knowledgeAssistantNew||!!n.knowledgeAssistant,recommendTextSuggestions:n.recommendTextSuggestions}))})).finally(()=>{et(this.state)||(this.loadProfileConfigPromise=null)}),this.loadProfileConfigPromise):Promise.resolve()}loginViaPopup(e){return v(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(no());let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=f=>v(this,null,function*(){var h,g;if((h=f.data)!=null&&h.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((g=f.data)==null?void 0:g.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(fn),d=!0,s.port1.close(),n()}catch(m){console.error(m),o(m)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let p=f=>v(this,null,function*(){var h;if(f.origin===a.origin)switch((h=f.data)==null?void 0:h.type){case"deepdesk-popup-request-origin":{try{let g=JSON.stringify({type:"deepdesk-popup-parent-origin"});c==null||c.postMessage(g,a.origin)}catch(g){k.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-loaded":{try{let g=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(g,a.origin,[s.port2])}catch(g){k.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-error":{if(l(),f.data.message==="Platform account url mismatch"){let g=`Please contact your administrator: The platform account url (${f.data.targetOrigin}) is misconfigured as it differs from the origin of the page that opened the popup (${f.data.openerOrigin}).`;k.warn(g),this.store.dispatch(zs(g)),o(new Error(g))}if(f.data.message==="Timeout"){let g="Please contact your administrator: Popup timed out. Check if the account's platform url is configured correctly.";k.warn(g),this.store.dispatch(zs(g)),o(new Error(g))}o(new Error(f.data.message));break}}});window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||o(new Error("Popup closed by user")))},200);this.disposeHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}refreshTextSuggestions(){return v(this,null,function*(){this.isMounted&&(yield this.store.dispatch(Jo()))})}refreshWidgetSuggestions(){return v(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Ln(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(fe());break;case"pinned-messages":case"sticky-messages":break;default:Yn.includes(o)||this.store.dispatch(he(o))}})}catch(o){this.handleError(o)}})}};rn.version="19.5.0",rn.count=0;var Ds=rn;function ex(t){return v(this,null,function*(){var s,r,i;let n=yield((s=t.fetch)!=null?s:window.fetch)(t.url),o=yield n.blob();return new File([o],t.name,{type:(i=(r=t.mimeType)!=null?r:n.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function tx(t,e){return v(this,null,function*(){let n=yield ex(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function nx(t,e,n){return v(this,null,function*(){yield new st(t).authenticateWithKey(e,n)})}function ox(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function sx(o,s){return v(this,arguments,function*(t,e,n={}){var p,u;let{value:r}=t,{start:i,end:a}=(p=n.replace)!=null?p:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(u=n.selectionAfter)!=null?u:{start:i+e.length,end:i+e.length},c=()=>{if(n.setValue)return n.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function rx(o,s){return v(this,arguments,function*(t,e,n={}){let r=n.replace?Rt(t,n.replace.start,n.replace.end):zn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
12
- `).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let d=n.selectionAfter?Rt(t,n.selectionAfter.start,n.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function ix(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function ax(t){let e=document.createDocumentFragment();return t.split(`
13
- `).forEach((n,o)=>{o>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=n.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(n.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(n.slice(r)))}),e}function $u(t,e){let n=t.parentElement;if(!n){console.warn("No insert point found");return}let{display:o}=window.getComputedStyle(n);o.includes("block")||o==="table-cell"?n==null||n.insertBefore(e,t.nextSibling):$u(n,e)}function lx(s,r){return v(this,arguments,function*(t,e,{isBlock:n,isHTML:o}={}){let i;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let a=()=>{var u;let d=(u=t.ownerDocument.defaultView)!=null?u:window,l=d.getSelection();if((!l||l.rangeCount===0)&&(t.focus(),l=d.getSelection()),!l||l.rangeCount===0)return;let c=l.getRangeAt(0);if(!c)return;i=document.createElement("span"),c.insertNode(i);let p=o?ix(e):ax(e);n?$u(c.startContainer,p):(c.insertNode(p),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{_ as Card,en as ContentEditableInput,st as DeepdeskAPI,Ds as DeepdeskSDK,on as HTTPClient,ot as InputMediator,Mt as InputType,Hs as KeyboardHint,pp as Label,eo as Locale,Me as Section,ln as SectionList,Ne as Sources,M as Suggestion,Y as SuggestionList,tn as TextAreaInput,Lt as ToggleButton,tx as attachFile,nx as authenticateWithKey,zn as createFullRange,Os as createOverlayContainer,Rt as createRangeFromOffsets,Nn as escapeHTML,ox as formatTextMarkup,Es as getRangeOffsets,ks as getRangeText,lx as insertCKEditor,Ko as isHTML,xi as isSupportedInputElement,Ys as logEvent,rx as updateContentEditable,sx as updateTextArea,ht as useClickOutsideRoot,b as useStyles,Ei as waitForElementVisibilityChange};
9
+ c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});import{jsx as Md}from"react/jsx-runtime";var Zh={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Nd=({className:t,color:e})=>Md("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Md("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:Zh[e||"pink"]})});var Od={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var zr={};q(zr,{enUS:()=>Yh,nlNL:()=>ey});var Yh={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},ey={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as oy}from"react-redux";import{jsx as Vr,jsxs as Dd}from"react/jsx-runtime";var _d=({onLogIn:t})=>{let e=P(zr),n=E("floatingMenu"),o=E("productName"),s=oy(),r=ny(Q),i=C("FloatingMenu",Od);if(r===null||n===!1)return null;let a=()=>{r===!0?s(me(!0)):t()};return Dd("button",{type:"button",className:ty(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Vr("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),Dd("div",{className:i.icon,children:[Vr(Nd,{className:i.logo,color:"pink"}),r===!1&&Vr(Ld,{className:i.lock})]})]})};import{useEffect as Ry,useRef as Py}from"react";import{useDispatch as Iy,useSelector as wt}from"react-redux";function Re(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input;return r.end<t.input.suggestionTextStart||r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import{createSlice as sy}from"@reduxjs/toolkit";var ry={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Yo=({ui:t})=>t.overlayCollapsed,Fd=sy({name:"ui",initialState:ry,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:Hn,setInputFocus:es,setOverlayCollapsed:tt,setOpenOverlayWhenTyping:Hd,setOverlayCollapsedUserOverwrite:Bd}=Fd.actions,Ud=Fd.reducer;var Kd={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as ts}from"react/jsx-runtime";var iy=({match:t,selected:e,styles:n})=>ts(M,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:ts("span",{className:n.styleSuggestion,children:t.suggestion})}),ay=({matches:t,selectedIndex:e})=>{let n=C("StyleSuggestionList",Kd);return ts(Y,{children:t.map((o,s)=>ts(iy,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},ns=ay;import{useMemo as Cy}from"react";import{Interweave as $d}from"interweave";import{useEffect as gy,useMemo as my,useRef as fy,useState as hy}from"react";import{useDispatch as yy,useSelector as qd}from"react-redux";import{useEffect as ly}from"react";function Wd(t,e,n){ly(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var zd={root:"dd-1MBCO",actions:"dd--x4cy",closeIconContainer:"dd-1z5NR",closeIcon:"dd-8qMF-",badge:"dd-4Fpkz",formattedText:"dd-EzvTB",assistantContainer:"dd-j6o8F",formattedTextTruncated:"dd-fv169",assistantBadge:"dd-VD57E"};import{jsx as Vd,jsxs as dy}from"react/jsx-runtime";var jd=({title:t})=>dy("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[Vd("title",{id:"closeTitle",children:t}),Vd("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]});var jr={};q(jr,{enUS:()=>cy,nlNL:()=>uy});var cy={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},uy={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as Ke,jsxs as Gd}from"react/jsx-runtime";var vy=["search","personal-collection-search","search-autocomplete"];function Sy(t,e,n,o={}){var r;let s="";return vy.includes(e)?s=jl(Ar(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=Ar(t,n,o),o.placeholders===!0&&(s=$l(s)),s}var xy=()=>{},by=({selected:t,suggestion:e})=>{let n=P(jr),o=E("inlineSuggestions"),s=qd(dt),[r,i]=hy(!1),a=E("enableSuggestionFeedback"),d=qd(y=>y.input.text),l=yy(),c=C("TextSuggestion",zd),u=fy(null),p=e.source==="assistant",g=a&&!p;gy(()=>{let y=setTimeout(()=>{l(la({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(y)}},[e]),Wd(u,"click",()=>{l(ie({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let m=()=>{l(ut({source:e.source,text:e.text,assistantCode:e.assistantCode}))},f=my(()=>Sy(e.text,e.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,s,e.searchKeywords]);return e.source==="gpt"&&!o?null:Gd("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[Ke(M,{ref:u,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:xy,children:e.source==="assistant"?Gd("div",{className:c.assistantContainer,children:[Ke($d,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:f}),Ke("span",{className:c.assistantBadge,children:n("assistant")})]}):Ke($d,{containerTagName:"div",tagName:"span",className:c.formattedText,content:f})}),g&&r&&Ke("div",{className:c.actions,children:Ke(Xo,{source:"overlay",context:d,suggestion:e})}),p&&r&&Ke("div",{className:c.closeIconContainer,children:Ke("button",{type:"button",className:c.closeIcon,onClick:m,title:n("close"),children:Ke(jd,{title:n("close")})})})]})},Xd=by;import{jsx as wy}from"react/jsx-runtime";var Ty=({suggestions:t,selectedIndex:e,reverse:n})=>Cy(()=>{let s=t.map((r,i)=>wy(Xd,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),os=Ty;var Jd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as Ey,createSlice as ky}from"@reduxjs/toolkit";var ss={list:{keywordMatches:[]},fetchState:"idle"},rs=t=>t.styleSuggestions.list,Tt=Ey("styleSuggestions/getAll",(n,o)=>S(null,[n,o],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ss.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),Qd=ky({name:"styleSuggestions",initialState:ss,reducers:{commitStyleSuggestion(t,e){let{keyword:n,suggestion:o}=e.payload;t.list.keywordMatches=t.list.keywordMatches.filter(s=>s.keyword.toLowerCase()!==n.toLowerCase()||s.suggestion!==o)}},extraReducers:t=>{t.addCase(Tt.pending,e=>{e.fetchState="loading"}).addCase(Tt.rejected,e=>{e.fetchState="error"}).addCase(Tt.fulfilled,(e,n)=>{e.fetchState="done",Xe(e.list,n.payload)||(e.list=n.payload)}).addCase(pt,e=>{e.list=ss.list}).addCase($,()=>ss)}}),{commitStyleSuggestion:Zd}=Qd.actions,Yd=Qd.reducer;var is=t=>{let e=new Set;return t.filter(({keyword:n,suggestion:o})=>{let s=JSON.stringify([n.toLowerCase(),o]);return e.has(s)?!1:(e.add(s),!0)})};import{jsx as as,jsxs as Ly}from"react/jsx-runtime";var Ay=()=>{var y;let t=Py(null),e=C("InlineSuggestionsOverlay",Jd),n=wt(Re),o=Iy(),s=wt(Q),r=wt(Dt),i=wt(Yo),a=E("showTextSuggestions"),d=wt(ct),l=wt(gn),c=E("showStyleSuggestions"),u=E("showStyleSuggestionList"),p=wt(rs),g=c&&u?is((y=p.keywordMatches)!=null?y:[]):[],m=g.length>0,f=a&&d.length>0;return yt(()=>{setTimeout(()=>{o(tt({collapse:!0,skipWhenInputFocus:!0}))})}),Ry(()=>{let v=t.current;if(!v||!v.parentElement)return;v.parentElement.style.left="0px";let x=v.getBoundingClientRect();v.parentElement.style.left=`${Math.min(window.innerWidth-4-x.right,0)}px`}),i||s!==!0||r===!1||!n&&!m||!f&&!m?null:as("div",{className:e.root,"data-variant":"inline",children:Ly("div",{ref:t,className:e.paper,children:[m&&as(ns,{matches:g,selectedIndex:-1}),f&&as(Y,{children:as(os,{suggestions:d,selectedIndex:l})})]})})},ec=Ay;import Oy,{useState as qr,useEffect as Dy}from"react";var tc={root:"dd-7zvcP",dialogContent:"dd-4C0lK",continueButton:"dd-YUPQW",buttonContinueWrapper:"dd-IKpYs",nicknameInput:"dd-rxhGp",titleWrapper:"dd-nw3nD",title:"dd-5iof5",closeButtonWrapper:"dd-UUAzA",closeButton:"dd-7rjP5",buttonsWrapper:"dd-5e9Xb",errorMessage:"dd--5VgX",errorLink:"dd-u461n"};import{useSelector as _y}from"react-redux";var $r={};q($r,{enUS:()=>My,nlNL:()=>Ny});var My={title:[{type:0,value:"Enter your nickname"}],close:[{type:0,value:"Close"}],nicknameDialogTitle:[{type:0,value:"Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment."}],nicknameDialogInputPlaceholder:[{type:0,value:"Enter your nickname"}],nicknameDialogContinueButton:[{type:0,value:"Continue"}],nicknameDialogError:[{type:0,value:"Nickname cannot be empty or spaces only"}],nicknameDialogEmojiError:[{type:0,value:"You cannot use emojis in this field."}],nicknameDialogSaveError:[{type:0,value:"We couldn't save your details just now. Please try again, or update it at "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We couldn\u2019t save your details just now. Please try again later, or update them in My Deepdesk \u2192 Settings."}]},Ny={title:[{type:0,value:"Voer je bijnaam in"}],close:[{type:0,value:"Sluiten"}],nicknameDialogTitle:[{type:0,value:"Voer de naam in die je wilt dat klanten zien tijdens chatgesprekken. Deze bijnaam wordt gebruikt in je Deepdesk-omgeving."}],nicknameDialogInputPlaceholder:[{type:0,value:"Voer je bijnaam in"}],nicknameDialogContinueButton:[{type:0,value:"Doorgaan"}],nicknameDialogError:[{type:0,value:"Bijnaam mag niet leeg of alleen spaties zijn"}],nicknameDialogEmojiError:[{type:0,value:"Je kunt geen emoji's gebruiken in dit veld."}],nicknameDialogSaveError:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw of werk het bij op "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw later, of werk ze bij in My Deepdesk \u2192 Instellingen."}]};import{Fragment as Fy,jsx as ye,jsxs as ls}from"react/jsx-runtime";var nc=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=qr(""),[i,a]=qr(!1),[d,l]=qr(!1),c=C("Nickname",tc),u=Oy.useRef(null),p=_y(v=>v.info.showNicknameDialog),g=P($r),m=E("adminUrl");Dy(()=>{o&&a(!0)},[o]);let f=()=>{if(!u.current)return;s.trim()?u.current.setCustomValidity(""):u.current.setCustomValidity(g("nicknameDialogError")),u.current.reportValidity()},y=v=>{v.preventDefault();let x=s.trim(),T=v.currentTarget.querySelector("#nickname-input");if(!x){T.setCustomValidity(g("nicknameDialogError")),T.reportValidity();return}T.setCustomValidity(""),e(x)};return ls($t,{isOpen:p,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[ye("div",{className:c.titleWrapper,children:ye("h1",{className:c.title,children:g("title")})}),ls("form",{className:c.dialogContent,onSubmit:y,children:[ye("p",{children:g("nicknameDialogTitle")}),i&&o&&ye("div",{className:c.errorMessage,children:m?(()=>{let v=g("nicknameDialogSaveError",{account:m}),x=`${m}.deepdesk.com/admin/user-settings`,T=v.indexOf(x);if(T!==-1){let w=v.substring(0,T),A=v.substring(T+x.length);return ls(Fy,{children:[w,ye("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:x}),A]})}return v})():g("nicknameDialogSaveErrorWithoutLink")}),ye("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:g("nicknameDialogInputPlaceholder"),value:s,onChange:v=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(v.target.value)),r(v.target.value)},onBlur:f,ref:u}),d&&ye("div",{className:c.errorMessage,role:"alert",children:g("nicknameDialogEmojiError")}),ls("div",{className:c.buttonsWrapper,children:[o?ye("div",{className:c.closeButtonWrapper,children:ye("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:g("close")})}):null,ye("div",{className:c.buttonContinueWrapper,children:ye("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:g("nicknameDialogContinueButton")})})]})]})]})};import{Provider as Hy}from"react-redux";import{jsx as ds}from"react/jsx-runtime";var By=({children:t})=>{let n=E("locale").replace("-","");return ds(cr.Provider,{value:n,children:t})},Uy=({store:t,customStyles:e={},children:n})=>ds(Hy,{store:t,children:ds(By,{children:ds(ln.Provider,{value:e,children:n})})}),We=Uy;import Zr from"classnames";import{useEffect as Zy,useRef as Yy,useState as ev}from"react";import{useDispatch as tv,useSelector as ze}from"react-redux";import{useState as Ky}from"react";function oc(t,e){let[n,o]=Ky(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return k.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){k.error(i)}}]}var sc=()=>/Mac/i.test(navigator.platform);import Vy from"classnames";import{Fragment as jy,useCallback as Xr,useMemo as ic}from"react";var Gr={};q(Gr,{enUS:()=>Wy,nlNL:()=>zy});var Wy={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Sign in"}]},{type:0,value:" to enable "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze for "},{type:8,value:"min",children:[{type:0,value:"10 minutes"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 hour"}]},{type:0,value:" or "},{type:8,value:"day",children:[{type:0,value:"1 day"}]}]},zy={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Log in"}]},{type:0,value:" bij "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze voor "},{type:8,value:"min",children:[{type:0,value:"10 minuten"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 uur"}]},{type:0,value:" of "},{type:8,value:"day",children:[{type:0,value:"1 dag"}]}]};var rc={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as cs,jsxs as ac}from"react/jsx-runtime";var Jr=(t,e,n)=>o=>cs("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),$y=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=P(Gr),i=oe(),a=C("Login",rc),d=E("productName"),l=E("signInViaPopup"),c=n&&!l,u=Xr(x=>{x.preventDefault(),o&&o(Number.parseInt(x.target.value,10))},[]),p=Xr(x=>{x.preventDefault(),i.send(Ut,!0)},[e]),g=ic(()=>x=>cs("a",{onClick:w=>{w.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),m=Xr(x=>cs("button",{type:"button",className:a.anchorButton,onClick:p,children:x},"prompt"),[p]),{min:f,hour:y,day:v}=ic(()=>({min:Jr(a,600,u),hour:Jr(a,3600,u),day:Jr(a,3600*12,u)}),[]);return ac("div",{className:Vy(t,a.root),children:[r("loginPlease",{login:c?m:g,productName:d}),o&&ac(jy,{children:[cs("br",{}),r("snooze",{min:f,hour:y,day:v})]})]})},us=$y;import{useDispatch as qy}from"react-redux";var lc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as dc,jsxs as Xy}from"react/jsx-runtime";var Gy=({title:t})=>{let e=C("SearchTrigger",lc),n=qy(),o=V();return Xy("button",{type:"button",className:e.root,onClick:()=>{n(me(!0)),o("open search",{via:"autocomplete-overlay"})},children:[dc(Gt,{}),dc("span",{className:e.text,children:t})]})},cc=Gy;var Qr={};q(Qr,{enUS:()=>Jy,nlNL:()=>Qy});var Jy={arrowHint:[{type:0,value:"Tip: use arrow keys to navigate suggestions"}],searchHintWindows:[{type:0,value:"Press CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],searchHintMac:[{type:0,value:"Press CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Close"}],search:[{type:0,value:"Search"}],dismiss:[{type:0,value:"Dismiss"}],dismissError:[{type:0,value:"Dismiss error"}]},Qy={arrowHint:[{type:0,value:"Tip: Selecteer suggesties met pijltoetsen"}],searchHintWindows:[{type:0,value:"Druk CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],searchHintMac:[{type:0,value:"Druk CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Sluiten"}],search:[{type:0,value:"Zoeken"}],dismiss:[{type:0,value:"Sluiten"}],dismissError:[{type:0,value:"Foutmelding sluiten"}]};var uc={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2",loginError:"dd-KCXeb",loginErrorMessage:"dd-Bv-BG",loginErrorDismiss:"dd-iSCjU"};import{jsx as X,jsxs as nt}from"react/jsx-runtime";var nv=({onLogIn:t})=>{var z;let e=C("SuggestionsOverlay",uc),n=P(Qr),o=ze(Re),s=ze(aa),r=tv(),i=Yy(null),a=E("searchTriggerKey"),d=E("productName"),l=ze(Yo),c=ze(Q),u=ze(Xi),p=ze(Dt),[g,m]=ev(null),f=E("showSearch"),y=E("showTextSuggestions"),v=E("adminUrl"),x=E("isEmbedded"),T=E("suggestionsPlacement"),[w,A]=oc("dd-snooze-until-ms",0),R=l||w>Date.now(),I=ze(ct),U=ze(gn),ce=E("showStyleSuggestions"),Ae=E("showStyleSuggestionList"),D=ze(rs),K=ce&&Ae?is((z=D.keywordMatches)!=null?z:[]):[],be=K.length>0,J=I.filter(Le=>Le.source!=="gpt").length,it=()=>{R&&A(0),r(Bd(!R))},N=Le=>{let It=Date.now()+Le*1e3;A(It),k.info(`Snooze until: ${new Date(It)}`),r(tt({collapse:!0}))};return Zy(()=>{J===0&&m(null)},[I,J]),yt(()=>{r(tt({collapse:!0,skipWhenInputFocus:!0}))}),c===null||p===!1?null:c===!1?nt("div",{ref:i,className:Zr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:e.triggersRight,children:X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),nt("div",{className:e.collapsible,children:[u&&nt("div",{className:e.loginError,children:[X("span",{className:e.loginErrorMessage,children:u}),X("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(oo()),"aria-label":n("dismissError"),children:n("dismiss")})]}),X(us,{loginUrl:v,isEmbedded:x,onLogIn:t,onSnooze:N})]})]}):!s||!o&&!be?null:nt("div",{ref:i,className:Zr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1},children:f&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(n(sc()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>m(null),children:X(cc,{title:n("search")})})}),nt("div",{className:e.triggersRight,onFocus:()=>{},children:[X("div",{className:Zr(!g&&e.hintsHidden,e.hints),children:g}),X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})]})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),(be||J>0&&y)&&nt("div",{className:e.collapsible,onFocus:()=>{},children:[be&&X(ns,{matches:K,selectedIndex:-1}),J>0&&y&&X(Y,{children:X(os,{suggestions:I,selectedIndex:U,reverse:T==="above"})})]})]})},pc=nv;import si from"classnames";import{Interweave as Wv}from"interweave";import{useCallback as zv,useEffect as Vv,useMemo as Lc,useRef as jv}from"react";import{connect as $v}from"react-redux";import{useEffect as ov,useRef as sv,useState as rv}from"react";function ps(t){return t.contentEditable==="true"}function iv(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function gc(t){let{selectionStart:e,selectionEnd:n}=ps(t)?iv(t):t;return[e,n]}function mc(t){let[,e]=rv(),n=sv(null);return n.current=gc(t),ov(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=gc(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function fc(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Yn);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=o.indexOf(d,a);return s>l&&r<l+d.length?(n.selectionStart=l,n.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as av}from"react";var lv=["div","span","mark","strong","b","i","u","em"];function Yr(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(lv.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),av(o,{children:Yr(i,e,n+1)})]}return[...t,...e]}function Et(t){return t.tagName.toLowerCase()==="textarea"}var hc={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import fv from"classnames";import{Matcher as hv}from"interweave";import{useEffect as yv,useMemo as vv}from"react";import{useEffect as dv,useRef as cv,useState as uv}from"react";function yc(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function gs(t){let e=cv(null),[n,o]=uv(!1);return dv(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=yc((u,p)=>{let g=e.current;if(!g)return;let m=u/r,f=p/r,y=g.getBoundingClientRect(),v=m>y.x&&m<y.x+y.width&&f>y.y&&f<y.y+y.height;v&&!s?(s=!0,o(!0)):!v&&s&&(s=!1,o(!1))},({clientX:u,clientY:p})=>[u,p]),[d,l]=yc(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,n]}function ms(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function fs(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function vc(t){return t!=null}import pv from"classnames";import{forwardRef as gv,useRef as mv}from"react";var Ve={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as Sc}from"react/jsx-runtime";var hs=gv((s,o)=>{var r=s,{className:t,children:e}=r,n=O(r,["className","children"]);let i=mv(null),a=C("TabCompletion",Ve);return Sc("div",b(h({ref:fs([i,o]),className:pv(t,a.popoverContentContainer)},n),{children:Sc("div",{className:a.popoverContent,children:e})}))});import{jsx as Bn,jsxs as bv}from"react/jsx-runtime";var Sv=t=>e=>{let n=xr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},xv=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=C("TabCompletion",Ve),i=Mo(),a=vv(()=>Sv(t.getBoundingClientRect()),[t]),[d,l]=gs(t);return yv(()=>{l?i.open():i.close()},[l]),bv("span",{children:[Bn("mark",{ref:fs([d,i.triggerRef]),className:fv(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&Bn(Wt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:Bn(hs,{style:n,children:Bn("div",{className:r.hintText,children:s})})})]})},ys=class extends hv{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(n,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(s=>b(h({},s),{keywordRegex:new RegExp(`\\b${ms(s.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),n}match(n){let o=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=n.match(r.keywordRegex);if(!i)return null;let a=n.charAt(i.index-1),d=n.charAt(i.index+r.keyword.length);return a==="{"&&d==="}"?null:{index:i.index,length:i[0].length,match:i[0],matchString:i[0],suggestion:r.suggestion,preparedKeywordMatch:r,valid:!0}}).filter(vc);if(o.length===0)return null;let s=o.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(n,o){return Bn(xv,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:n},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as Cv}from"interweave";import Tv from"classnames";import{jsx as xc}from"react/jsx-runtime";var wv=({inputElement:t,children:e})=>{let n=C("TabCompletion",Ve),[o,s]=gs(t);return xc("mark",{ref:o,className:Tv(n.matchPlaceholder,{[n.hover]:s}),children:e})},vs=class extends Cv{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return xc(wv,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import oi from"classnames";import{Matcher as Ov}from"interweave";import{createRef as Dv,forwardRef as _v,useCallback as Fv,useEffect as Pc,useRef as Ic,useState as Ac}from"react";import{useDispatch as Hv,useSelector as Bv}from"react-redux";import{jsx as bc}from"react/jsx-runtime";var Cc=()=>bc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:bc("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"})});import{useCallback as Ev,useEffect as wc,useMemo as kv,useState as Ec}from"react";import{useDispatch as Rv,useSelector as kc}from"react-redux";import Pv from"lodash.debounce";var Tc={root:"dd-ky-Bv",content:"dd-kV5e1"};function Ss(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch(r){return null}}function ei(t){return t.replace("https://www.","").replace("https://","")}import{jsx as kt,jsxs as ti}from"react/jsx-runtime";var Iv=3,Av=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),Lv=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=Iv})=>{let r=C("LinkSearch",Tc),[i,a]=Ec(""),d=Rv(),l=kc(bd("url")),c=kc(La("URL")),u=kv(()=>c.map(Av),[c]),[p,g]=Ec(u.length-1),m=E("fallbackImage"),f=T=>{let w=T.target;a(w.value)},y=(T,w)=>{T.stopPropagation(),T.preventDefault(),window.open(w,"_blank")},v=T=>{var R;let w=p-1<0?u.length-1:p-1,A=p+1===u.length?0:p+1;T.code==="Escape"&&(a(""),e()),T.code==="ArrowUp"&&g(w),T.code==="ArrowDown"&&g(A),T.code==="Enter"&&t(((R=u[p])==null?void 0:R.text)||i)},x=Ev(Pv(T=>{d(gt({query:T,type:"URL",tags:["link-search"]}))},300),[]);return wc(()=>{i&&x(i)},[i]),wc(()=>()=>{d(fo())},[]),ti("div",{className:r.root,children:[kt(Y,{withDivider:!0,children:(i?u:l).slice(0,s).map((T,w)=>kt(M,{selected:p===w,onClick:()=>t(T.text),"data-testid":"linksearch-suggestion",children:ti(_,{children:[kt(_.Image,{src:Ss(T,"small",m||void 0),title:T.title||T.text}),ti(_.Content,{className:r.content,cropText:!0,children:[kt(_.Title,{children:T.title||ei(T.text)}),T.title&&ei(T.text)]}),kt(M.Actions,{children:kt(M.ActionButton,{label:o,onClick:A=>y(A,T.text)})})]})},T.text))}),kt(In,{value:i,onChange:f,autoFocus:!0,placeholder:n,onKeyUp:v})]})},Rc=Lv;var ni={};q(ni,{enUS:()=>Mv,nlNL:()=>Nv});var Mv={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}],addToPersonalCollection:[{type:0,value:"Add to Personal Collection"}]},Nv={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}],addToPersonalCollection:[{type:0,value:"Toevoegen aan Personal Collection"}]};import{jsx as ve,jsxs as xs}from"react/jsx-runtime";var Uv=_v((t,e)=>{let n=C("TabCompletion",Ve);return ve("mark",{ref:e,className:oi(n.matchSelection)},"selection-start")}),Kv=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=P(ni),i=C("TabCompletion",Ve),a=E("addToPersonalCollection"),d=Bv(Ze("/admin/personal-collection/new")),l=Ic(null),c=Ic(null),[u,p]=Ac(null),g=Hv(),m=Mo(document.activeElement===o),[f]=Ac(()=>document.createRange());m.triggerRef.current=f,Pc(()=>()=>f.detach(),[]),Pc(()=>{let v=t.current,x=l.current;!v||!x||(f.setStart(v,0),f.setEnd(x,0))},[t.current,l.current]),yt(()=>{m.close()});let y=Fv(v=>{let x=f.toString(),T=/^http(s?):\/\//.test(v)?v:`https://${v}`,w=`[${x}](${T})`;g(ie({text:w,suggestion:{text:w,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return xs("span",{children:[ve("mark",{ref:l,className:oi(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":m.opened?"true":"false",children:s}),m.opened&&ve(Wt,{className:i.popoverRoot,triggerRef:m.triggerRef,boundaryRef:e,position:"above",align:"start",children:xs(hs,{style:n,ref:c,children:[xs("div",{className:oi(i.selectionOptions,{[i.selectionOptionsIsHidden]:u!==null}),children:[xs("button",{type:"button",tabIndex:u===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[ve(Cc,{}),ve("span",{children:"\xA0"}),ve("span",{children:r("insertLink")})]}),a&&d&&ve("button",{type:"button",tabIndex:u===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let v=f.toString(),x=`${d}?text=${encodeURIComponent(v)}`;window.open(x,"_blank")},children:ve("span",{children:r("addToPersonalCollection")})})]}),u==="insertLink"&&ve(Rc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:y,onDismiss:()=>{p(null),m.close()}})]})})]},"selection-end")},bs=class extends Ov{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=Dv(),this.foundIndex=0,n}match(n){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,s]=this.props.selection;if(o===s)return null;let r=this.foundIndex===0?o:s,i=r>=this.charCount&&r<=this.charCount+n.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=n.length,i?h({isStart:a},i):null}replaceWith(n,o){return o.isStart?ve(Uv,{ref:this.startRef}):ve(Kv,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as qv}from"react-redux";import{jsx as Jt,jsxs as Jv}from"react/jsx-runtime";var Gv=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=C("TabCompletion",hc),c=E("insertLink"),u=E("addToPersonalCollection"),p=E("showMidSentenceSuggestions"),g=E("inlineSuggestions"),m=mc(a),f=jv(null),y=qv(Q);Vv(()=>{Et(a)&&m&&fc(a,m)},[m]);let v=zv(w=>{if(!s||!n)return w;let A=[Jt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Jt("span",{"data-testid":"tab-completion",className:si(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&A.push(Jt("span",{className:si(l.hint,l.resetIndent),children:Jt(Bs,{keyCode:"tab"},"tabHint")},"tabHint")),Yr(w,A)},[s,n,o]),x=Lc(()=>{let w=[];return(c||u)&&w.push(new bs("selection")),w.push(new vs("placeholders")),r&&w.push(new ys("keywords")),w},[g,c,u,r]),T=Lc(()=>{let w=window.getComputedStyle(a);return{"--dd-color":w.color,"--dd-font-size":w.fontSize,"--dd-font-family":w.fontFamily,"--dd-font-variant":w.fontVariant}},[]);return!t||!y?null:Jv("div",{ref:w=>{w!=null&&w.parentElement&&(f.current=w==null?void 0:w.parentElement)},className:l.root,style:T,children:[Jt(Wv,{tagName:"span",containerTagName:"div",className:si(l.container,l.agentText),disableLineBreaks:Et(a),content:e||"\u200B",onAfterParse:v,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:T,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Jt("br",{})]},"tab-completion")},Xv=t=>{var v,x,T;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=_t({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:On(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),u=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:p}=n,{isSupported:g}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:y}=o;return{showTabHint:p,showStyleSuggestions:y,showTabCompletion:m&&Re(t),content:l,tabText:u,source:d,keywordMatches:(T=(x=s.list)==null?void 0:x.keywordMatches)!=null?T:[],enabled:f&&g!==!1}},Mc=$v(Xv)(Gv);import{Fragment as FS,useEffect as pi,useState as HS}from"react";import{useDispatch as cu,useSelector as te}from"react-redux";import{createAsyncThunk as Nc,createSlice as Qv}from"@reduxjs/toolkit";var Zv={token:null,interval:null},ri=Nc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),ii=Nc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(ri()),setInterval(()=>o(ri()),n)}),Oc=Qv({name:"passwordlessToken",initialState:Zv,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(ri.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(ii.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:Dc}=Oc.actions,_c=Oc.reducer;import{createSelector as Yv}from"@reduxjs/toolkit";function eS(t){return"buttonText"in t&&"eventName"in t}function Fc(t){if(t)return eS(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function tS(t){return t==null?void 0:t.map(e=>Fc(e))}function nS(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var Hc=Yv([qa,so],(t,e)=>(e?t.filter(s=>!s.externalConversationId||s.externalConversationId===e):t).map(s=>{var a;let r=Fc(s.callToAction),i=tS(s.callToActions);return b(h(h(h(h({text:s.response,title:s.name},r?{callToAction:r}:{}),i!=null&&i.length?{callToActions:i}:{}),s.message!==void 0?{message:s.message}:{}),(a=s.sources)!=null&&a.length?{sources:s.sources}:{}),{editable:s.editable,isLoading:s.isLoading,evaluationId:s.evaluationId,rule:{id:nS(s.code),label:s.code,name:s.name,description:s.name}})}));import{useEffect as oS,useState as sS}from"react";import Kc from"classnames";import{jsx as Bc}from"react/jsx-runtime";var Qt=()=>Bc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Bc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var Uc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Zt,jsxs as Wc}from"react/jsx-runtime";var rS=({entities:t})=>{let e=C("EntitiesWidgetList",Uc),[n,o]=sS(void 0),s=V(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Te(a.text),s("entity copied",{entity:a,type:"copy"}))};return oS(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:Zt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Wc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Zt("span",{className:e.entityText,children:a.text}),Wc("span",{className:e.iconWrapper,children:[Zt("span",{className:Kc(e.icon),children:Zt(Qt,{})}),Zt("span",{className:Kc(e.icon,n===d&&e.iconClicked),children:Zt(Qt,{})})]})]},a.text))})},zc=rS;import{jsx as Vc}from"react/jsx-runtime";var jc=()=>Vc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Vc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useRef as uS}from"react";import{useDispatch as pS,useSelector as gS}from"react-redux";var $c={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var qc={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as aS}from"react/jsx-runtime";var iS=({size:t=12})=>{let e=C("LoadingSpinner",qc);return aS("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},Gc=iS;import{jsx as Xc}from"react/jsx-runtime";var Jc=()=>Xc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Xc("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});import{jsx as Qc,jsxs as lS}from"react/jsx-runtime";var Zc=t=>lS("svg",b(h({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[Qc("title",{id:"checkTitle",children:"Check"}),Qc("path",{fill:"#666",d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})]}));var ai={};q(ai,{enUS:()=>dS,nlNL:()=>cS});var dS={error:[{type:0,value:"Something went wrong"}]},cS={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as je,jsxs as Yc}from"react/jsx-runtime";var mS=3e3,fS=({assistantOptions:t})=>{let e=C("OnDemandAssistants",$c),n=P(ai),o=uS(),s=pS(),r=vo(se),i=gS(Hl),a=V(),d=i.filter(p=>p.isPinned),l=i.filter(p=>!p.isPinned),c=()=>S(null,null,function*(){return t.attachments&&t.attachments.length>0?t.attachments:s(((p,g,m)=>S(null,null,function*(){let f;if(t.transcript==="in-memory-transcript"){let y=m.dynamicThunkObject.conversationQuery;if(y){let v=yield y();f=Array.isArray(v)?v:void 0}}else Array.isArray(t.transcript)&&(f=t.transcript);return ur({transcript:f})})))}),u=p=>S(null,null,function*(){clearTimeout(o.current);let g=yield c();a("trigger on demand assistant",{assistantCode:p}),yield r.call(h(b(h({},t),{assistantCode:p}),g.length>0?{attachments:g}:{})),o.current=setTimeout(()=>r.reset(),mS)});return i.length===0?null:Yc("div",{className:e.root,children:[d.map(({assistant:p,assistantName:g,displayName:m})=>je("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>u(p),children:m||g},p)),l.length>0&&Yc(W,{placement:"top-end",children:[je(W.Trigger,{className:e.trigger,disabled:r.state==="loading",children:je($o,{"data-testid":"trigger"})}),je(W.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:p,assistantName:g,displayName:m})=>je(W.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>u(p),children:m||g},p))})]}),r.state==="loading"&&je(Gc,{}),r.state==="done"&&je(Zc,{"data-testid":"trigger-done"}),r.state==="error"&&je(ul,{trigger:je(Jc,{}),children:n("error")})]})},eu=fS;import{useDispatch as wS}from"react-redux";import{useEffect as tu,useRef as vS,useState as SS}from"react";var Un={};q(Un,{enUS:()=>hS,nlNL:()=>yS});var hS={useCue:[{type:0,value:"Add to message"}],__summarizerAssistant__:[{type:0,value:"Summary"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},yS={useCue:[{type:0,value:"Voeg toe aan bericht"}],__summarizerAssistant__:[{type:0,value:"Samenvatting"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var li={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",ctaMessage:"dd-ge8nB",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l",form:"dd-sPNU2",formInput:"dd-F3E4I",formSubmit:"dd-vw5S0",actionButton:"dd-cCWyJ",editableCue:"dd-nWSD-",inputSpace:"dd-DGYB1"};import{jsx as Se,jsxs as Cs}from"react/jsx-runtime";var xS=500,bS=100,CS=({content:t,onChange:e,onCopy:n})=>{let o=vS(null),s=C("WidgetCue",li);return tu(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,bS),xS);r.style.setProperty("height",`${i}px`)},[t]),Se("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},TS=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s,onSourceClick:r})=>{var y;let i=C("WidgetCue",li),a=P(Un),d=V(),l=E("hasKeyboardInput"),[c,u]=SS(t.text),p=v=>{let x=v?b(h({},t),{callToAction:v}):t;e&&e(c,x),n(t)},g=(v,x)=>{o&&o(v,t),x&&Qe(x,i.fadeup)},m=v=>{s&&s(v,t)},f=v=>{v.preventDefault(),v.stopPropagation(),n(t)};return tu(()=>{d("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),Cs(M,{"data-testid":"cue",children:[Se(_,{children:Cs(_.Content,{children:[t.title&&Se(_.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?a(t.rule.label):t.title}),t.message&&Se("p",{className:i.ctaMessage,children:t.message}),t.editable?Se(CS,{content:c,onCopy:()=>{let v=document.getSelection();v&&g(v.toString())},onChange:v=>{var x;return u((x=v.target.value)!=null?x:"")}}):Se(St,{content:t.text,sources:t.sources,onSourceClick:v=>r==null?void 0:r(v,t),useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:g,onUse:l?m:void 0})]})}),Cs(M.ButtonsContainer,{children:[Cs("div",{className:i.actions,children:[Se(M.Button,{onClick:v=>{var x;return g((x=ko(c,"reply")[0])!=null?x:c,v.target)},variant:"primary",children:a("copyCue")}),t.callToAction&&Se(M.Button,{onClick:()=>p(),variant:"primary",children:t.callToAction.label}),(y=t.callToActions)==null?void 0:y.map((v,x)=>Se(M.Button,{onClick:()=>p(v),variant:"primary",children:v.label},`${v.event}-${v.label}-${x}`)),Se(M.Button,{onClick:f,variant:"secondary",children:a("removeCue")})]}),Se(Ao,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackText:t.text,feedbackType:"assistant"})]})]})},nu=TS;import{Fragment as kS,jsx as di}from"react/jsx-runtime";var ES=({cues:t})=>{let e=wS(),n=oe(),o=P(Un),s=V(),r=c=>{e(Po({code:c.rule.label})),s("Assistant response closed",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text})},i=(c,u)=>{Te(c),s("Assistant response copied",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,copiedText:c})},a=(c,u)=>{var p;u.callToAction&&(e(Ro(u)),s("Assistant call to action",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,eventName:u.callToAction.event,value:(p=u.callToAction.value)!=null?p:c}))},d=(c,u)=>{var p;n.send(De,{text:c,suggestion:{source:"assistant",assistantCode:(p=u.rule)==null?void 0:p.label,sourceText:c}}),s("Assistant response used",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,usedText:c})},l=(c,u)=>{s("Assistant source clicked",{evaluationId:u.evaluationId,assistantCode:u.rule.label,source:c})};return di(kS,{children:t.map(c=>c.isLoading?di(Do,{title:c.rule.label.startsWith("__")?o(c.rule.label):c.title},c.rule.id):di(nu,{cue:c,onCallToAction:a,onRemove:r,onCopy:i,onUse:d,onSourceClick:l},c.evaluationId))})},ou=ES;import{Fragment as RS,useEffect as PS}from"react";var su={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as $e,jsxs as ci}from"react/jsx-runtime";function IS(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var ru=({data:t,schema:e})=>{let n=C("WidgetCustomData",su),o=s=>{Te(s)};return PS(()=>{k.info("Custom data",t,e)},[t]),$e("dl",{className:n.root,children:e.map(s=>{let r=IS(t,s.path);return ci(RS,{children:[$e("dt",{className:n.label,children:s.label}),$e("dd",{className:n.value,children:s.type==="boolean"&&r?$e("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?$e("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?ci("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r.join(", ")}),$e(Qt,{})]}):typeof r=="string"||typeof r=="number"?ci("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r}),$e(Qt,{})]}):"-"})]},s.label)})})};import{useCallback as LS}from"react";var AS=/(https?:\/\/[^\s]+)/,iu=t=>t.split(" ").find(e=>AS.test(e));import{jsx as Yt,jsxs as Ts}from"react/jsx-runtime";var MS=({suggestion:t,lines:e,onUse:n})=>{var u;let o=t.text||t.url||t.message,s=iu(o),r=P(Dn),i=E("showImages"),a=E("fallbackImage"),d=E("hasKeyboardInput"),l=p=>{p.preventDefault(),p.stopPropagation(),d&&n(o)},c=LS(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Ts(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Ts(_,{children:[i&&t.image&&Yt(_.Image,{src:Ss(t,"small",a||void 0),title:t.title}),Ts(_.Content,{children:[t.title&&Yt(_.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&Yt(M.Labels,{labels:t.searchKeywords}),Yt(_.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),Ts(M.Actions,{children:[s&&Yt(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Yt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},au=MS;import{Fragment as OS,jsx as lu}from"react/jsx-runtime";var NS=({lines:t,suggestions:e})=>{let n=oe(),o=(s,r)=>{n.send(De,{text:s,suggestion:b(h({},r),{source:r.source,sourceText:r.text})})};return lu(OS,{children:e.map(s=>lu(au,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},du=NS;var Kn={};q(Kn,{enUS:()=>DS,nlNL:()=>_S});var DS={waiting:[{type:0,value:"Loading\u2026"}],waitingForConversation:[{type:0,value:"Waiting for conversation\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}],close:[{type:0,value:"Close"}]},_S={waiting:[{type:0,value:"Laden\u2026"}],waitingForConversation:[{type:0,value:"Wachten op gesprek\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}],close:[{type:0,value:"Sluiten"}]};var en={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x"};import{jsx as L,jsxs as Wn}from"react/jsx-runtime";var uu=(t,e)=>{let n=te(Q);pi(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},BS=({onLogIn:t})=>{let e=C("Widget",en),n=E("isEmbedded"),o=E("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(us,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},ui=({text:t})=>{let e=C("Widget",en);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},US=()=>{let t=P(Kn),e=cu(),n=C("Widget",en),o=E("showSearch"),s=E("isEmbedded"),r=te(Ze("/admin/")),i=oe(),a=E("productName"),d=V();return uu(()=>{if(s)return e(ii()),()=>{e(Dc())}},[e,s]),!o&&!r?null:Wn("div",{className:n.shortcutList,children:[o&&L(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(Gt,{}),onClick:()=>{i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&L(M.Button,{as:"a",target:"_blank",icon:L(jc,{}),href:r,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:a}),className:n.shortcut,rel:"noreferrer",onClick:()=>{d("open my deepdesk",{via:"widget-shortcut"})},children:t("linkStudioLogin",{productName:a})})]})},KS=({title:t,content:e})=>{let n=P(Kn),[o,s]=HS(!0);return o?L(Me,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(Y,{withDivider:!0,children:Wn(M,{children:[L(_,{children:L(_.Content,{children:L(St,{content:e})})}),L(M.ButtonsContainer,{children:L(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},WS=()=>{let t=cu(),e=te(Mn),n=te(Ul),o=te(Hc),s=te(xa),r=te(jo),i=te(Jo),a=te(et),d=te(Ce);return pi(()=>{s&&!n&&k.warn("Custom data provided, but no schema.")},[s,n]),uu(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):eo.includes(l)||t(he(l))})},[t,d,a]),pi(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&k.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(FS,{children:e.map(({type:l,title:c,amount:u,lines:p,schema:g,property:m})=>{var f,y;switch(l){case"entities":return r&&r.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(zc,{entities:r})},l);case"cues":return o&&o.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(ou,{cues:o})})},l);case"custom-data-banner":return s&&m&&s[m]&&L(KS,{title:c,content:String(s[m])},l);case"custom-data":return s&&g&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(ru,{data:s,schema:g})})},l);default:return((y=(f=i[l])==null?void 0:f.suggestions)==null?void 0:y.length)>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(du,{lines:p,contentType:l,suggestions:i[l].suggestions.slice(0,u)||[]})})},l)}})})},gi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.footer,children:t})},mi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.root,"data-testid":"widget",children:t})},zS=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"}})=>{let o=P(Kn),s=te(Dt),r=te(Q),i=te(so),a=te(et),d=te(Bl("knowledge-assist")),l=te(Kl);return s===!1?L(ui,{text:o("notSupported")}):r===!1?L(BS,{onLogIn:t}):r===null?L(ui,{text:o("waiting")}):!i||!a?L(ui,{text:o("waitingForConversation")}):L(mi,{children:Wn(Ho,{initialQuestion:e.initialQuestion,assistantCode:l!=null?l:void 0,evaluateKnowledgeAssistFn:Rn,children:[Wn(dn,{children:[L(US,{}),L(WS,{}),d&&L(Uo,{title:d.title,emptyState:e.emptyState})]}),Wn(gi,{children:[d&&L(Bo,{}),L(eu,{assistantOptions:n})]})]})})},pu=zS;function Vn(t){let e=new Range;return e.selectNodeContents(t),e}function gu(t,e,n){try{return Rt(t,e,n),!0}catch(o){return!1}}function ws(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Es(t){return"tagName"in t&&t.tagName==="BR"}var zn=/[\u200B-\u200D\uFEFF]/g;function Rt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(d,l){let c=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(d))return l;for(let p=0;p<=d.length;p++)if(u.test(d[p])||c++,c===l)return p;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(zn,""),u=s+c.length,p=e>=s&&e<=u,g=n>=s&&n<=u;if(p){let m=i(l,e-s);m===0&&!g?o.setStartBefore(d):o.setStart(d,m)}g&&(o.setEnd(d,i(l,n-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Es(d)&&(s===e&&o.setStartBefore(d),s++,s===n)){o.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;ws(d)&&l&&!ws(l)&&!Es(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function ks(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(u){let p=u===t,g=u===n,m=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;g&&(a=l+f.substring(0,o).replace(zn,"").length),m&&(d=l+f.substring(0,r).replace(zn,"").length),l+=f.replace(zn,"").length;break}case Node.ELEMENT_NODE:{if(Es(u)&&u.nextSibling){l++;break}!p&&ws(u)&&u.previousSibling&&l++;for(let f=0;f<u.childNodes.length;f++){let y=g&&f===o,v=m&&f===r;if(y&&(a=l),v&&(d=l),d!==void 0||((!y||!i)&&c(u.childNodes[f]),m&&f===r-1&&(d=l),d!==void 0))break}m&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function Rs(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let u=c===t,p=c===n,g=c===s;switch(p&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let m=p?o:0,f=g?r:void 0;d+=c.textContent.replace(zn,"").substring(m,f);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Es(c)&&c.nextSibling){d+=`
10
+ `;break}!u&&!i&&a===1&&ws(c)&&c.previousSibling&&(d+=`
11
+ `);let m=p?o:0,f=g?Math.min(r,c.childNodes.length):c.childNodes.length;for(let y=m;y<f&&(l(c.childNodes[y]),a!==2);y++);break}default:break}g&&(a=2)}return l(t),d}var mu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(mu||{}),ot=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedSuggestionTextStart=0;this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedSuggestionTextStart=this.getSuggestionTextStart(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.getSuggestionTextStart(),r=this.cachedCaretPosition===null;if(!this.isActive)return;e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit");let i=e!==this.cachedText,a=n!==null&&n!==this.cachedHTML,d=s!==this.cachedSuggestionTextStart;if((i||a||d)&&(i?(this.cachedText=e,this.cachedHTML=n):a&&(this.cachedHTML=n),this.cachedSuggestionTextStart=s,r=!0,this.emit("change",{plainText:e,rawHTML:n,suggestionTextStart:s})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,r=!0,this.emit("selection",o)),!r)return;let l=this.getCaretPosition();Xe(l,this.cachedCaretPosition)||(this.cachedCaretPosition=l,this.emit("caretposition",l))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(mu).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var o,s;let n=((o=e.clipboardData)==null?void 0:o.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}getSuggestionTextStart(){return 0}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}off(e,n){if(!this.eventListeners[e])return;let o=this.eventListeners[e].indexOf(n);o!==-1&&this.eventListeners[e].splice(o,1)}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function fu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var tn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),Rs(this.element,n)}getHTML(){return this.element.innerHTML||""}getRange(){let n=this.getRootNode();if(n.activeElement!==this.element)return null;let o="getSelection"in n?n.getSelection():window.getSelection();if(!o)return null;let s=o.rangeCount>0?o.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let n=this.getRange();if(!n||!n.collapsed||!("getBoundingClientRect"in n))return null;let o=n.getBoundingClientRect();return!fu(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!fu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return ks(this.element,n);let o=this.lastKnownSelection;if(o&&gu(this.element,o.start,o.end))return o;let s=Vn(this.element);return s.collapse(!1),ks(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return Rs(this.element,Rt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var VS=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize"];function hu(t,e){let n="mozInnerScreenX"in window,o=document.createElement("div");o.id="input-textarea-caret-position-mirror-div";let s=o.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",VS.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var nn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return hu(this.element,this.element.selectionEnd)}listen(){super.listen();let n=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=n==null?void 0:n.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=n==null?void 0:n.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let o=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function yu(t,e,n){let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=o,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function jS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var fi=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},hi=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=yu(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},yi=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),k.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new hi(e,this.deepdeskUrl,{debug:!0}):new fi(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=jS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(k.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;k.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(b(h({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},vu=yi;function $S(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[$S(n)]:B(t[n])}),{}):t}function qS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Z(t){return Array.isArray(t)?t.map(Z):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[qS(n)]:Z(t[n])}),{}):t}var on=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var jn=t=>new Promise(e=>{setTimeout(e,t)});var xe=class extends on{constructor(){super(...arguments);this.name="ClientError"}},Ps=class extends on{constructor(){super(...arguments);this.name="ServerError"}},vi=new Map;function Su(t){return S(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(k.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var sn=class{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};this.refreshingToken=null;this.lastFailedRefreshAt=null;this.failedRefreshCooldown=1e4;var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",R=n,{useCache:l=!1,abortLatest:c=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:g=!0,retryOnError:m=I=>I instanceof TypeError,retryOnResponse:f=I=>I.status>=500,version:y=null}=R,v=O(R,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(vi.has(i)){o(vi.get(i));return}}let x=b(h({credentials:"include"},v),{headers:h({Accept:"application/json","Content-Type":"application/json"},v.headers)});!d&&this.csrfToken&&(x.headers=b(h({},x.headers),{"X-CSRFToken":this.csrfToken})),typeof y=="string"&&(x.headers=b(h({},x.headers),{"X-Deepdesk-API-Version":y}));let T=u,w=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let A=()=>S(this,null,function*(){return T--,a(i,x).then(I=>S(this,null,function*(){return f(I)&&!r.isAborted&&T>0?(yield jn(p),A()):I.status===401&&g===!0&&w===!1?(w=!0,yield this.refreshToken(),A()):I})).catch(I=>S(this,null,function*(){if(m(I)&&!r.isAborted&&T>0)return yield jn(p),A();throw I}))});A().then(I=>S(this,null,function*(){let U=yield Su(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new Ps("Server Error",U));return}if(I.status===401){s(new xe("Unauthorized",U));return}if(I.status===403){s(new xe("Forbidden",U));return}if(I.status===404){s(new xe("Not Found",U));return}if(I.status>=400){s(new xe("Bad Request",U));return}l&&vi.set(i,U),o(U)})).catch(I=>{s(I)})})}validateToken(){return S(this,null,function*(){let e,n,o;try{({has_valid_access_token:e,is_logged_in:n,has_valid_refresh_token:o}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1}))}catch(s){return!1}if(!e){if(!o)return!1;try{yield this.refreshToken();let{is_logged_in:s}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1});return s}catch(s){return!1}}return n})}refreshToken(){let e=Date.now();return this.lastFailedRefreshAt&&e-this.lastFailedRefreshAt<this.failedRefreshCooldown?Promise.reject(new xe("Unauthorized","Failed to refresh token")):this.refreshingToken?this.refreshingToken:(this.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).catch(n=>{throw(n==null?void 0:n.message)==="Unauthorized"&&(this.lastFailedRefreshAt=Date.now()),n}).finally(()=>{this.refreshingToken=null}),this.refreshingToken)}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,h({method:"POST",body:JSON.stringify(n)},o))}postWithStatus(e,n,o){return this.requestWithStatus(e,h({method:"POST",body:JSON.stringify(n)},o))}requestWithStatus(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,A=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:u=500,refreshTokenOn401:p=!0,retryOnError:g=R=>R instanceof TypeError,retryOnResponse:m=R=>R.status>=500,version:f=null}=A,y=O(A,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]),v=b(h({credentials:"include"},y),{headers:h({Accept:"application/json","Content-Type":"application/json"},y.headers)});this.csrfToken&&(v.headers=b(h({},v.headers),{"X-CSRFToken":this.csrfToken})),typeof f=="string"&&(v.headers=b(h({},v.headers),{"X-Deepdesk-API-Version":f}));let x=c,T=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=()=>S(this,null,function*(){return x--,a(i,v).then(R=>S(this,null,function*(){return m(R)&&!r.isAborted&&x>0?(yield jn(u),w()):R.status===401&&p===!0&&T===!1?(T=!0,yield this.refreshToken(),w()):R})).catch(R=>S(this,null,function*(){if(g(R)&&!r.isAborted&&x>0)return yield jn(u),w();throw R}))});w().then(R=>S(this,null,function*(){let I=yield Su(R);if(delete this.latestRequestByUrl[i],R.status>=500){s(new Ps("Server Error",I));return}if(R.status===401){s(new xe("Unauthorized",I));return}if(R.status===403){s(new xe("Forbidden",I));return}if(R.status===404){s(new xe("Not Found",I));return}if(R.status>=400){s(new xe("Bad Request",I));return}o({status:R.status,data:I})})).catch(R=>{delete this.latestRequestByUrl[i],s(R)})})}patch(e,n,o){return this.request(e,h({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,h({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,h({method:"DELETE"},n))}};var xu;(e=>{let t;(a=>(a.SUCCESS="success",a.FAILURE="failure",a.CONDITIONS_NOT_MET="conditions_not_met",a.MAX_RECURSION_LEVEL="max_recursion_level",a.NO_ACCESS_TO_ASSISTANT="no_access_to_assistant"))(t=e.EvaluationStatus||(e.EvaluationStatus={}))})(xu||(xu={}));function Is(t){return b(h({},B(t)),{metadata:t.metadata})}var Pt=class Pt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new sn(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>S(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return S(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(Pt.exchangeTokenPromise||(Pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),Pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return S(this,null,function*(){var o;yield this.preflight(),k.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(o=e.metadata)!=null?o:{}}));return Is(n)})}upsertConversation(e){return S(this,null,function*(){var c;yield this.preflight(),k.info(`Upserting conversation for session ${e.externalId} and agent ${e.agentId}`);let{status:n,data:o}=yield this.client.postWithStatus("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=Is(o);if(n===201)return s;let{agentId:r,agentName:i,agentEmail:a,agentNickname:d,metadata:l}=e;return this.updateConversation(s.id,{agentId:r,agentEmail:a,agentName:i,agentNickname:d,metadata:l})})}getMe(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Z(e))})}patchMe(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Z(e));return B(n)})}getProfile(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return S(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return S(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return S(this,arguments,function*(e,n={}){yield this.preflight(),k.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return k.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Is(i)})}isConversationSupported(o){return S(this,arguments,function*(e,n={}){k.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return S(this,null,function*(){var r;yield this.preflight();let o=Z(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return Is(s)})}postMessages(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>b(h({},Z(o)),{metadata:o.metadata})))})}sendEvent(e,n){return S(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=O(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>b(h({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Z(b(h(h({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return S(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return S(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return S(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw k.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Z(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return S(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Z(n),{abortLatest:!0})).map(i=>b(h({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return S(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return S(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Z(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return S(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>b(h({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return S(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Z(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return S(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Z(e));return B(n)})}loginWithPassword(e,n){return S(this,null,function*(){yield this.preflight();let o=yield this.client.post("/apis/admin/session/login/",{username:e,password:n},{refreshTokenOn401:!1});return B(o)})}logout(){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/logout/",{},{refreshTokenOn401:!1})})}requestLoginByEmail(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return S(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return S(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return S(this,null,function*(){var d,l,c;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=u=>Z(u),i=(d=n==null?void 0:n.transcript)==null?void 0:d.map(u=>{var p;return h({source:u.source,text:u.text},(p=u.attachments)!=null&&p.length?{attachments:u.attachments.map(r)}:{})}),a=yield this.client.post(s,h({input:(l=n==null?void 0:n.input)!=null?l:{},conversation:i},(c=n==null?void 0:n.attachments)!=null&&c.length?{attachments:n.attachments.map(r)}:{}));return B(a)})}createAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Z(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(ji);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&k.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};Pt.exchangeTokenPromise=null;var st=Pt;var As=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import{combineReducers as QS,configureStore as ZS}from"@reduxjs/toolkit";import{createSlice as GS}from"@reduxjs/toolkit";var bu={startTime:null,stopTime:null},Cu=t=>t.handlingTime,Tu=GS({name:"handlingTime",initialState:bu,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase($,()=>bu)}}),{handlingTimeStart:wu,handlingTimeStop:Ls,handlingTimeReset:Eu}=Tu.actions,ku=Tu.reducer;var Ru=(t={})=>{let e=h({onAuthError:Nt(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var Pu=(t={})=>{let e,n=!0,o=h({getStyleSuggestions:Tt,debounce:500},t);return s=>r=>i=>{var g;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((g=l.conversation.current)==null?void 0:g.id)||!c)return d;let{text:p}=l.input;return p===a&&!n||(clearTimeout(e),p==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:p}))},t.debounce)),d}};function XS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var Iu=(t={})=>{let e=h({getTextSuggestions:he,getAutocompleteSuggestions:Fn,debounce:200,check:Re},t),n;return o=>s=>r=>{var f;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,u=(f=d.conversation.current)==null?void 0:f.id,p=r.type===Qo.toString();if(!u||!l&&!c)return a;let{input:g}=d;return XS(g,i)&&!p||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let y=dt(d);y===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Au=Tt.fulfilled.toString();function JS(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||o.push(...i.slice(0,a))}),o}var Lu=t=>e=>n=>o=>{var l;if(o.type!==Au){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=JS(s,i);o.type===Au&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var YS=QS({assistants:el,auth:Yi,conversation:sa,contentTypes:Fl,passwordlessToken:_c,entities:cd,handlingTime:ku,info:Ra,input:ya,settings:nl,profile:Wl,search:Na,styleSuggestions:Yd,ui:Ud,textSuggestions:wd});function Mu(t){return ZS({reducer:YS,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(Ru()).concat(Iu({debounce:200})).concat(Pu({debounce:500})).concat(Lu(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function Nu(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${ms(e)}\\b`,"gi"),s,r=null;for(;(s=o.exec(t))!==null&&!(s.index>n);)r={start:s.index,end:s.index+s[0].length};return r}var ex=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},tx=t=>e=>n=>o=>{var d,l,c,u,p,g;let s=e.getState(),r=ft("inlineSuggestions")(s),i=ft("autoSelectSuggestion")(s)||r;switch(o.type){case Nt.toString():{!o.payload&&t.emit("logout",void 0);break}case no.fulfilled.toString():{t.emit("logout",void 0);break}case fe.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{entities:o.payload}});break;case pt.toString():t.logSendMessage(o.payload);break;case Ro.toString():t.emit("call-to-action",{cue:o.payload});break;case se.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:m,currentExternalIdAtRequest:f}=(l=o.payload)!=null?l:{};(!m||!f||m===f)&&t.broadcast(Zs,o,!1)}break;case se.rejected.toString():break;default:break}let a=n(o);switch(o.type){case pt.toString():t.handleAfterSendMessage(o.payload);break;case Hn.toString():t.onUpdateShowTabHint(o.payload);break;case Ls.toString():t.logHandlingTime();break;case Ft.toString():t.broadcast(yo,o);break;case ut.toString():t.broadcast(yo,o);break;case Po.toString():e.dispatch(ut({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let m=s.assistants.cues.find(f=>f.code===o.meta.arg.data.assistantCode);t.emit("event",b(h({},o.meta.arg),{cue:m}));break}case ie.toString():{let{start:m,end:f}=s.input.selection;t.emit("select-suggestion",b(h({type:ex(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}})),r&&e.dispatch(Je([]));break}case Zd.toString():{let{keyword:m,suggestion:f,eventMetrics:y}=o.payload,{text:v,selection:x}=s.input,T=Nu(v,m,(c=x==null?void 0:x.end)!=null?c:v.length);if(!T)break;t.emit("select-suggestion",{text:f,type:"style",replace:T,suggestion:{text:f,source:"style"},eventMetrics:y});break}case lo.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case Je.toString():{i&&o.payload.length>0&&e.dispatch(co(0));break}case se.fulfilled.toString():{let{evaluationId:m,output:f,externalConversationId:y}=o.payload,v=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:m,assistantCode:v,assistantOutput:Xa(f),externalConversationId:y,evaluationStatus:"success"}}),!o.meta.arg.skipState){let x=e.getState().assistants.cues;t.emit("cues",x)}break}case se.rejected.toString():{let m=o.meta.arg.assistantCode,f=(g=o.meta.arg.externalConversationId)!=null?g:(p=e.getState().conversation.current)==null?void 0:p.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:m,assistantOutput:"",externalConversationId:f,evaluationStatus:"failed"}});break}default:break}return a},Ou=tx;import{createSelector as nx}from"@reduxjs/toolkit";function Si(t){return t.toISOString().replace("T"," ").replace("Z","")}var ox=(t,e)=>e.version,Du=nx([Ht,Ce,Cu,ox],(t,e,n,o)=>{if(!e)return k.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(k.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:Si(s),timeStop:Si(r)}});function _u(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}var $n=class extends Error{};function sx(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Ms=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new $n("Queued async function is outdated"));let s=sx();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function xi(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return xi(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?xi(s,e):null}function bi(t,e){return xi(t,e)}var rx={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},Fu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return k.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[rx[e]];return o&&o.length>0?o.map(a=>a.code):(k.warn(`No assistant set in profile for conversation event "${e}"`),[])};function Hu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function ix(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Ci(t){return ix(t)&&(Et(t)||ps(t))}var Uu,Pe=new Map,ax=["bottom","height","left","right","top","width"],Bu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:ax.some(n=>t[n]!==e[n]);function Ku(t){var n,o,s;if(t.ownerDocument===document)return[];let e=(s=(o=(n=t.ownerDocument)==null?void 0:n.defaultView)==null?void 0:o.frameElement)!=null?s:null;return e?[e,...Ku(e)]:[]}function Wu(t,e){return!t||!e?null:b(h({},t),{top:t.top+e.top,left:t.left+e.left})}var Ns=!1,zu=()=>{Ns=!0;let t=[];if(Pe.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Pe.delete(n);return}let o=n.getBoundingClientRect();Bu(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(Wu,e.rect):e.rect;Bu(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Pe.size===0){Ns=!1;return}Uu=window.requestAnimationFrame(zu)};function Ti(t,e){let n=Ku(t),o=[],s=n.map((r,i)=>Ti(r,a=>{o[i]=a;let d=Pe.get(t);if(!d)return;let l=o.reduce(Wu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Pe.has(t)){let i=Pe.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Pe.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Ns&&zu()},unobserve(){s.forEach(i=>i.unobserve());let r=Pe.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Pe.delete(t),Pe.size||(cancelAnimationFrame(Uu),Ns=!1)}}}}var Vu,Ie=new Map,ju=()=>{Ie.forEach((t,e)=>{if(!e.isConnected){Ie.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),Ie.size!==0&&(Vu=window.requestAnimationFrame(ju))};function $u(t,e){return{observe(){let n=Ie.size===0;Ie.has(t)?Ie.get(t).callbacks.push(e):Ie.set(t,{visible:void 0,callbacks:[e]}),n&&ju()},unobserve(){let n=Ie.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Ie.delete(t),Ie.size||cancelAnimationFrame(Vu)}}}}var wi=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function Ei(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function rn(t){return Number.parseFloat(t)}function Os(t){return Math.round(t*1e6)}function qu(t){return t/1e6}function ki(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=rn(t.width),r=rn(t.borderLeftWidth),i=rn(t.borderRightWidth),a=rn(t.paddingRight),d=qu(Os(s)-Os(r)-Os(i)),l=qu(Os(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function Ds(t,e={}){var c,u;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(c=e.position)!=null?c:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",vt(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};Ei(o,n,wi),ki(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=$u(t,()=>{Ei(o,n,wi),ki(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=Ti(t,p=>{if(p===null){e.onRemove&&e.onRemove(),n.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(Ei(o,n,wi),ki(o,t,n),r(),e.placement==="below"&&n.classList.add("below"),n.style.top=`${p.top}px`,n.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),f=rn(m.borderTopWidth),y=rn(m.borderBottomWidth),v=g.top+f-p.top,x=p.top+p.height+-(g.top+g.height-y);n.style.clipPath=`inset(${v}px 0px ${x}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(u=t.parentElement)==null||u.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}function lx(t){return t.offsetParent!==null}function Gu(t){if(!lx(t))return!1;let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function Ri(t,e,n=100){let o=Gu(t);e({isVisible:o});let s=setInterval(()=>{let r=Gu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Xu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){k.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as F,jsxs as dx}from"react/jsx-runtime";var Ju=Xu("showTabHint",!0),an=class an{constructor({deepdeskUrl:e,version:n=an.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=As}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new Ms;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new st(l,{token:s,fetch:r}),this.version=n,this.instanceId=an.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Ou({broadcast:(m,f,y)=>{this.broadcastEvents.send(m,f,y)},emit:(m,f)=>this.emit(m,f),handleAfterSendMessage:m=>this.handleAfterSendMessage(m),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:m=>this.logSendMessage(m),onUpdateShowTabHint:m=>Ju.update(m),sendEvent:(m,f)=>this.deepdeskApi.sendEvent(m,f)})]};this.store=Mu(c),this.broadcastEvents=new vu({debug:!0,deepdeskUrl:l,eventMap:Oa(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>S(this,null,function*(){var m;return(m=Q(this.state))!=null?m:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Hn(Ju.value())),this.store.dispatch(Io({locale:o,adminUrl:l,productName:i}));let u=[],p=m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Ya(m))};this.hasConversation()?f():u.push(f)};this.ws.on("assistants::direct_response",p),this.ws.on("assistants::user_notification",p),this.ws.on("assistants::response_chunk",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Za(m))};this.hasConversation()?f():u.push(f)}),this.ws.on("assistants::suggest_as_reply",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Ft([{text:m.payload.message,type:"text",source:"assistant",assistantCode:m.code,sourceLabel:m.name}]))};this.hasConversation()?f():u.push(f)});let g=this.whenConversationLoaded(()=>{var m;this.broadcastEvents.setExternalId((m=this.state.conversation.current)==null?void 0:m.externalId),u.forEach(f=>f()),u.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),u.length=0,g()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=ct(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(k.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(k.warn("Profile has not been loaded (yet)"),!0):(k.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(Q(this.state))e();else{let n=this.subscribe(Q,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Nt(null)),this.store.dispatch(Oe()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return S(this,null,function*(){return(yield this.store.dispatch(Oe())).payload})}isConversationSupported(e,n){return S(this,null,function*(){return(yield this.store.dispatch(js({externalId:e,options:n}))).payload})}createConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(ro(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return S(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(io({externalId:e,options:n}))).payload})}upsertConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch($s(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return S(this,null,function*(){yield this.store.dispatch(qs(e))})}updateConversation(e){return S(this,null,function*(){return(yield this.store.dispatch(ao(e))).payload})}resetConversation(){this.store.dispatch($()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Io(e))}setVisitorInfo(e){this.store.dispatch(Ta(e))}setCustomData(e){this.store.dispatch(wa(e))}setAgentInfo(e,n){return S(this,null,function*(){var s;yield this.store.dispatch(mn(h(h({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(ho,{showNicknameDialog:!0})})}setAgentSettings(e){return S(this,null,function*(){yield this.store.dispatch(Xs(e))})}getAgentSettings(){return S(this,null,function*(){return(yield this.store.dispatch(Js())).payload})}refresh(){return S(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(ie(e))}evaluateAssistant(e,n){return S(this,null,function*(){var c;let{input:o={},attachments:s=[],transcript:r,showCuesInWidget:i=!0,includeMetadata:a,externalConversationId:d}=n||{},l=yield this.store.dispatch(se({assistantCode:e,attachments:s,transcript:r,includeMetadata:a,input:o,externalConversationId:d,skipState:!i}));if(l.error)throw new Error(`Assistant evaluation failed: ${(c=l.payload)!=null?c:l.error.message}`);return l.payload.output})}evaluateConversationAssistant(e,n){return S(this,null,function*(){var c,u,g;yield this.loadProfileConfig();let o=this.state.profile.data;if(!o&&((c=this.state.conversation.current)!=null&&c.profileCode)&&(yield this.loadProfileConfig(),o=this.state.profile.data),!o){k.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=Fu(o,e),r=(u=n==null?void 0:n.showCuesInWidget)!=null?u:!0,p=n!=null?n:{},{showCuesInWidget:i}=p,a=O(p,["showCuesInWidget"]),d=(g=n==null?void 0:n.externalConversationId)!=null?g:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(m=>this.queues.push(m,()=>S(this,null,function*(){var y,v;let f=yield this.store.dispatch(se(h(b(h({assistantCode:m,includeMetadata:!0},a),{skipState:!r}),n!=null&&n.attachments&&(n==null?void 0:n.attachments.length)>0?{attachments:n==null?void 0:n.attachments}:{})));if(f.error)throw new Error(`Assistant evaluation failed: ${(y=f.payload)!=null?y:f.error.message}`);return{assistantCode:m,evaluationId:f.payload.evaluationId,output:f.payload.output,externalConversationId:(v=f.payload.externalConversationId)!=null?v:d}})).catch(f=>{if(f instanceof $n)return k.warn(`Queued assistant "${m}" was outdated and dropped`),null;throw f})));if(!r)return l.filter(m=>m!==null)})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,autoSelectSuggestion:d,showTextSuggestions:l,suggestionsPlacement:c}=this.settings,u=a||d,p=c==="inline"||c==="below"?"below":"above",g=s.length>0;if(this.store.dispatch(ca(Gs(e))),!Re(this.state)||e.key!=="Tab"&&!l)return;let m=()=>{n||!g||i&&(e.shiftKey||(this.store.dispatch(ga()),e.preventDefault()))},f=()=>{n||!g||u&&r<=0||i&&(e.shiftKey||(this.store.dispatch(ma()),e.preventDefault()))};switch(e.key){case"ArrowUp":p==="below"?f():m();break;case"ArrowDown":{p==="below"?m():f();break}case"Escape":{n||(this.store.dispatch(co(-1)),this.store.dispatch(tt({collapse:!0})),this.store.dispatch(Hd(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let y=_t(this.state);if(!y)return;this.store.dispatch(Hn(!1)),this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(u||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(u||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(tt({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(k.info("Start handling time"),this.store.dispatch(wu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(k.info("Stop handling time"),this.store.dispatch(Ls()))}logSendMessage(e){let n=_u(this.state,{version:this.version});n&&(e&&(Object.assign(n,{text:e}),Object.assign(n,{lenTextTotal:e.length})),this.deepdeskApi.sendEvent("Send Message",{conversationId:this.conversationId(),data:n}),this.emit("send-message-event",n))}logHandlingTime(){let e=Du(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(Eu()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(pt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(ha()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){k.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),k.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Ea(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=Ds(n,o);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),[r,i]}createInlineContainer(e,n){var a;let o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.height="0px",o.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",o.appendChild(s);let r=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=Ds(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return vt(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),k.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(k.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(fa(o.metrics))):k.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Ci(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let p=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=p,d=O(p,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),vt(e),this.inputMediator=a||(Et(e)?new nn(e):new tn(e)),this.inputMediator.on("change",({plainText:g,rawHTML:m,suggestionTextStart:f})=>{this.store.dispatch(uo({text:g,html:m,suggestionTextStart:f}))}),this.inputMediator.on("keyup",g=>{this.store.dispatch(ua(Gs(g)))}),this.inputMediator.on("keydown",g=>{this.handleKeyDown(g)}),this.inputMediator.on("paste",({pastedText:g,selectionText:m})=>{this.store.dispatch(pa({text:g,selectionText:m}))}),this.inputMediator.on("cut",({selectionText:g})=>{this.store.dispatch(da(g))});let c;this.inputMediator.on("selection",g=>{clearTimeout(c),g===null?c=setTimeout(()=>{g!==null&&this.store.dispatch(po(g))},500):this.store.dispatch(po(g))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var g;(g=this.inputMediator)==null||g.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(es(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(es(!0))}),this.renderSuggestions(e,l),this.subscribe(ft("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(ft("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let u=this.renderOverlays(n);this.unmountHandlers.push(()=>{u.unmount()}),this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(po(this.inputMediator.getSelection())),this.store.dispatch(es(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=rt(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(We,{store:this.store,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(nc,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>S(this,null,function*(){try{yield this.store.dispatch(ba({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(ho,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){k.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=rt(s);r.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(ec,{})})}));let i=a=>{a?(s.style.display="block",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`):s.style.display="none"};return this.inputMediator.on("caretposition",i),{unmount:()=>{var a;(a=this.inputMediator)==null||a.off("caretposition",i),r.unmount(),s.remove()}}}renderAboveOrBelowSuggestions(e,n,o){let{customStyles:s,closestScrollSelector:r,appendOverlayTo:i}=n,a=r&&bi(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,u]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),p=rt(d);p.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Mc,{inputElement:e})})}));let g=rt(c);return g.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(pc,{onLogIn:()=>this.loginViaPopup().catch(m=>k.warn(m.message))})})})),{unmount(){p.unmount(),g.unmount(),l(),u()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&bi(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=rt(d);return c.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(_d,{onLogIn:()=>this.loginViaPopup().catch(u=>k.warn(u.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=rt(o);return s.render(F(We,{store:this.store,customStyles:n,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Ad,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&k.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r,signInViaPopup:i,ssoUrl:a}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let d;if(a)try{d={url:new URL(a,this.settings.adminUrl).toString()}}catch(l){k.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.widgetRoot=rt(e),this.widgetRoot.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(pu,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup(d).catch(l=>k.warn(l.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=rt(n);return i.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(mi,{children:dx(Ho,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Rn,children:[F(dn,{children:F(Uo,{title:o.title,emptyState:o.emptyState})}),F(gi,{children:F(Bo,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=Ri(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Hu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){var e;return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(e=this.state.conversation.current)!=null&&e.profileCode?(this.loadProfileConfigPromise=Promise.resolve().then(()=>S(this,null,function*(){yield this.store.dispatch(Ln()).unwrap();let n=et(this.state);n&&this.store.dispatch(Io({showSearch:n.search,showImageSearch:n.imageSearch,showEntitiesCommand:n.entitiesCommand,showSummaryCommand:!!n.summarizerAssistantNew,showKnowledgeSearch:!!n.knowledgeAssistantNew||!!n.knowledgeAssistant,recommendTextSuggestions:n.recommendTextSuggestions}))})).finally(()=>{et(this.state)||(this.loadProfileConfigPromise=null)}),this.loadProfileConfigPromise):Promise.resolve()}loginViaPopup(e){return S(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(oo());let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=g=>S(this,null,function*(){var m,f;if((m=g.data)!=null&&m.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((f=g.data)==null?void 0:f.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(hn),d=!0,s.port1.close(),n()}catch(y){console.error(y),o(y)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let u=g=>S(this,null,function*(){var m;if(g.origin===a.origin)switch((m=g.data)==null?void 0:m.type){case"deepdesk-popup-request-origin":{try{let f=JSON.stringify({type:"deepdesk-popup-parent-origin"});c==null||c.postMessage(f,a.origin)}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(f,a.origin,[s.port2])}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-error":{if(l(),g.data.message==="Platform account url mismatch"){let f=`Please contact your administrator: The platform account url (${g.data.targetOrigin}) is misconfigured as it differs from the origin of the page that opened the popup (${g.data.openerOrigin}).`;k.warn(f),this.store.dispatch(Vs(f)),o(new Error(f))}if(g.data.message==="Timeout"){let f="Please contact your administrator: Popup timed out. Check if the account's platform url is configured correctly.";k.warn(f),this.store.dispatch(Vs(f)),o(new Error(f))}o(new Error(g.data.message));break}}});window.addEventListener("message",u);let p=setInterval(()=>{c&&!c.closed||(l(),d||o(new Error("Popup closed by user")))},200);this.disposeHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}refreshTextSuggestions(){return S(this,null,function*(){this.isMounted&&(yield this.store.dispatch(Qo()))})}refreshWidgetSuggestions(){return S(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Mn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(fe());break;case"pinned-messages":case"sticky-messages":break;default:eo.includes(o)||this.store.dispatch(he(o))}})}catch(o){this.handleError(o)}})}};an.version="19.5.1-beta.0",an.count=0;var _s=an;function cx(t){return S(this,null,function*(){var s,r,i;let n=yield((s=t.fetch)!=null?s:window.fetch)(t.url),o=yield n.blob();return new File([o],t.name,{type:(i=(r=t.mimeType)!=null?r:n.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function ux(t,e){return S(this,null,function*(){let n=yield cx(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function px(t,e,n){return S(this,null,function*(){yield new st(t).authenticateWithKey(e,n)})}function gx(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function mx(o,s){return S(this,arguments,function*(t,e,n={}){var u,p;let{value:r}=t,{start:i,end:a}=(u=n.replace)!=null?u:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(p=n.selectionAfter)!=null?p:{start:i+e.length,end:i+e.length},c=()=>{if(n.setValue)return n.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function fx(o,s){return S(this,arguments,function*(t,e,n={}){let r=n.replace?Rt(t,n.replace.start,n.replace.end):Vn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
12
+ `).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let d=n.selectionAfter?Rt(t,n.selectionAfter.start,n.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function hx(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function yx(t){let e=document.createDocumentFragment();return t.split(`
13
+ `).forEach((n,o)=>{o>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=n.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(n.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(n.slice(r)))}),e}function Qu(t,e){let n=t.parentElement;if(!n){console.warn("No insert point found");return}let{display:o}=window.getComputedStyle(n);o.includes("block")||o==="table-cell"?n==null||n.insertBefore(e,t.nextSibling):Qu(n,e)}function vx(s,r){return S(this,arguments,function*(t,e,{isBlock:n,isHTML:o}={}){let i;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let a=()=>{var p;let d=(p=t.ownerDocument.defaultView)!=null?p:window,l=d.getSelection();if((!l||l.rangeCount===0)&&(t.focus(),l=d.getSelection()),!l||l.rangeCount===0)return;let c=l.getRangeAt(0);if(!c)return;i=document.createElement("span"),c.insertNode(i);let u=o?hx(e):yx(e);n?Qu(c.startContainer,u):(c.insertNode(u),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{_ as Card,tn as ContentEditableInput,st as DeepdeskAPI,_s as DeepdeskSDK,sn as HTTPClient,ot as InputMediator,Mt as InputType,Bs as KeyboardHint,yp as Label,to as Locale,Me as Section,dn as SectionList,Ne as Sources,M as Suggestion,Y as SuggestionList,nn as TextAreaInput,Lt as ToggleButton,ux as attachFile,px as authenticateWithKey,Vn as createFullRange,Ds as createOverlayContainer,Rt as createRangeFromOffsets,On as escapeHTML,gx as formatTextMarkup,ks as getRangeOffsets,Rs as getRangeText,vx as insertCKEditor,Wo as isHTML,Ci as isSupportedInputElement,er as logEvent,fx as updateContentEditable,mx as updateTextArea,yt as useClickOutsideRoot,C as useStyles,Ri as waitForElementVisibilityChange};