@deepdesk/deepdesk-sdk 19.6.2-beta.9 → 19.7.2-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.cjs.js +11 -9
- package/dist/index.d.mts +195 -29
- package/dist/index.d.ts +195 -29
- package/dist/index.esm.js +11 -9
- package/dist/index.iife.js +40 -37
- package/input.css +1 -1
- package/package.json +1 -1
- package/styles/index.js +1 -1
- package/styles.css +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
var ji=Object.defineProperty,Ap=Object.defineProperties;var Lp=Object.getOwnPropertyDescriptors;var eo=Object.getOwnPropertySymbols;var qi=Object.prototype.hasOwnProperty,$i=Object.prototype.propertyIsEnumerable;var Vi=(t,e,n)=>e in t?ji(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))qi.call(e,n)&&Vi(t,n,e[n]);if(eo)for(var n of eo(e))$i.call(e,n)&&Vi(t,n,e[n]);return t},b=(t,e)=>Ap(t,Lp(e));var D=(t,e)=>{var n={};for(var o in t)qi.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&eo)for(var o of eo(t))e.indexOf(o)<0&&$i.call(t,o)&&(n[o]=t[o]);return n};var G=(t,e)=>{for(var n in e)ji(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 Qi from"classnames";import _p,{createContext as Fp,useContext as $s,useEffect as Hp,useState as Bp}from"react";import Mp,{useContext as Np}from"react";import Op from"classnames";var un=Mp.createContext({});function C(t,e){let r=Np(un),{debug:n}=r,s=D(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return b(h({},i),{[a]:Op(d,l,n?`${t}__${a}`:!1)})},{})}var Gi={root:"dd-4s9wq"};import{jsx as to,jsxs as Dp}from"react/jsx-runtime";var no=()=>Dp("svg",{className:Gi.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[to("defs",{children:to("style",{children:".cls-1 { fill: #b3b3b3; }"})}),to("title",{children:"Failed loading image"}),to("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 qs={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as Mt}from"react/jsx-runtime";var oo=Fp(qs),Kp=({title:t,src:e})=>{let n=$s(oo),[o,s]=Bp(!1);return Hp(()=>{s(!1)},[e]),Mt("div",{className:n.imageWrapper,children:e&&!o?Mt("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):Mt(no,{})})},Up=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=$s(oo);return Mt("div",{className:Qi(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},Wp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=D(i,["as","cropText","className","children"]);let a=$s(oo);return _p.createElement(t,h({className:Qi(a.title,n,{[a.contentIsCropped]:e})},s),o)},so=({children:t})=>{let e=C("Card",qs);return Mt("div",{className:e.root,children:Mt(oo.Provider,{value:e,children:t})})};so.Image=Kp;so.Content=Up;so.Title=Wp;var F=so;import zp from"classnames";var Xi={root:"dd-llBx9"};import{jsx as qp}from"react/jsx-runtime";var Vp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},jp=o=>{var s=o,{className:t,keyCode:e}=s,n=D(s,["className","keyCode"]);let r=C("KeyboardHint",Xi);return qp("span",h({"data-key":Vp[e],className:zp(t,r.root)},n))},Gs=jp;import $p from"classnames";var Ji={root:"dd-e6HXZ"};import{jsx as Xp}from"react/jsx-runtime";var Gp=o=>{var s=o,{className:t,children:e}=s,n=D(s,["className","children"]);let r=C("Label",Ji);return Xp("span",b(h({},n),{className:$p(t,r.root),children:e}))},Qp=Gp;var Zi={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as Qs,jsxs as Zp}from"react/jsx-runtime";var Jp=s=>{var r=s,{title:t,children:e,type:n}=r,o=D(r,["title","children","type"]);let i=C("Section",Zi);return Zp("section",b(h({},o),{className:i.root,"data-section-type":n,children:[t&&Qs("div",{className:i.subTitleContainer,children:Qs("span",{className:i.subtitle,children:t})}),Qs("div",{className:i.suggestions,children:e})]}))},Oe=Jp;import sg from"classnames";import{useRef as rg}from"react";import{createContext as Yp,useCallback as eg,useContext as tg,useEffect as ng}from"react";import{jsx as og}from"react/jsx-runtime";var Yi=Yp(null),ea=({scrollContainerRef:t,children:e})=>{let n=eg(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 og(Yi.Provider,{value:n,children:e})},ro=t=>{let e=tg(Yi);ng(()=>{let n=t.current;n&&e(n)},[])};var ta={root:"dd-uoTXh"};import{jsx as na}from"react/jsx-runtime";var ig=({className:t,children:e})=>{let n=C("SectionList",ta),o=rg(null);return na(ea,{scrollContainerRef:o,children:na("div",{ref:o,className:sg(n.root,t),children:e})})},pn=ig;import gn from"classnames";import ag,{createContext as lg,useCallback as dg,useContext as lt}from"react";var Xs={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 fe,jsxs as oa}from"react/jsx-runtime";var Qe=lg(Xs),cg=o=>{var s=o,{fixed:t,children:e}=s,n=D(s,["fixed","children"]);let r=lt(Qe);return fe("div",b(h({},n),{className:gn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function ug(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=D(l,["as","className","icon","title","children","disabled","variant"]);let c=lt(Qe);return oa(t||"button",b(h({type:"button",className:gn(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&&fe("span",{className:c.icon,children:n}),s]}))}var pg=({children:t})=>{let e=lt(Qe);return fe("div",{className:e.buttonsContainer,children:t})},gg=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=lt(Qe);return oa("div",{className:gn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,fe("ul",{className:r.dropdownList,children:s})]})},mg=({index:t,label:e,onClick:n})=>{let o=lt(Qe);return fe("li",{className:o.dropdownItem,children:fe("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},fg=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=lt(Qe);return fe("button",{type:"button",className:gn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},hg=({labels:t})=>{let e=lt(Qe);return fe("div",{className:e.labels,children:t.map(n=>fe("span",{className:e.label,children:n},n))})},Xe=ag.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=D(d,["className","selected","onClick","children","as"]);let l=C("Suggestion",Xs),c=dg(p=>{p.preventDefault(),n&&n(p)},[n]);return fe(s,b(h({},r),{ref:i,className:gn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:fe(Qe.Provider,{value:l,children:o})}))});Xe.Labels=hg;Xe.Actions=cg;Xe.ActionButton=fg;Xe.DropdownButton=gg;Xe.DropdownItem=mg;Xe.ButtonsContainer=pg;Xe.Button=ug;var M=Xe;import yg from"classnames";var sa={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as Sg}from"react/jsx-runtime";var vg=({withDivider:t,children:e})=>{let n=C("SuggestionList",sa);return Sg("div",{"data-testid":"suggestions-overlay-list",className:yg(n.root,{[n.isWithDivider]:t}),children:e})},te=vg;import xg from"classnames";var ra={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as Js}from"react/jsx-runtime";var bg=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=C("ToggleButton",ra);return Js("button",{type:"button",className:xg(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:Js("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Js("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Nt=bg;var ia=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,io=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var aa=/x-deepdesk-(([a-z0-9\-_])+-version)/,ao=["cues","custom-data","custom-data-banner","knowledge-assist"],la=Intl.DateTimeFormat().resolvedOptions().timeZone,De=(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))(De||{}),Ot=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Ot||{});import{createContext as Nf,Fragment as Of,useContext as Fr,useEffect as Df,useRef as ed,useState as nt}from"react";import{useDispatch as _f,useSelector as Ff}from"react-redux";import{createAsyncThunk as fn,createSlice as Cg}from"@reduxjs/toolkit";var lo=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(lo||{});var wg={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},Y=t=>t.auth.isLoggedIn;var da=t=>t.auth.verifyFetchState,ca=t=>t.auth.showLoginOverlay,ua=t=>t.auth.loginError,_e=fn("auth/validate",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),pa=fn("auth/requestLogin",(n,o)=>S(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),Zs=fn("auth/loginWithPassword",(o,s)=>S(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),co=fn("auth/logout",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),mn=fn("auth/verifyLoginToken",(n,o)=>S(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),ga=Cg({name:"auth",initialState:wg,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(_e.pending,e=>{e.loginFetchState="loading"}),t.addCase(_e.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(_e.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(co.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(co.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(mn.pending,e=>{e.verifyFetchState="loading"}),t.addCase(mn.rejected,e=>{e.verifyFetchState="error"}),t.addCase(mn.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Dt,setShowLoginOverlay:ma,setLoginError:Ys,clearLoginError:uo}=ga.actions,fa=ga.reducer;import{createAction as Ng,createSelector as wa,createSlice as Og}from"@reduxjs/toolkit";import{diffChars as Dg}from"diff";function ha(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Je(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)=>Je(r,e[i],n-1)):ha(t)&&ha(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Je(t[i],e[i],n-1)):!1}function Tg(t){return Math.max(...t.map(e=>e.length))}function Eg(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 ya(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Tg(o);s++){let r=Eg(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 kg=2;function va(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=ya(t,kg);return n&&n.text!==e?n:t[0]}import{createAction as Rg,createAsyncThunk as _t,createSlice as Ig}from"@reduxjs/toolkit";var Pg={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},R=Pg;var er="deepdesk.widgetAssistantSession";function hn(t){if(!t||typeof sessionStorage=="undefined")return null;try{return sessionStorage.getItem(`${er}:${t}`)}catch(e){return null}}function Sa(t,e){if(!(!t||typeof sessionStorage=="undefined"))try{sessionStorage.setItem(`${er}:${t}`,e)}catch(n){}}function xa(t){if(!(!t||typeof sessionStorage=="undefined"))try{sessionStorage.removeItem(`${er}:${t}`)}catch(e){return}}var ba={current:null,isSupported:null},z=Rg("resetConversation"),po=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},pe=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Ft=t=>t.conversation.isSupported,tr=_t("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),go=_t("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),mo=_t("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),fo=_t("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=pe(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),nr=_t("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),or=_t("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=pe(e.getState());if(!o){R.warn("No current conversation to update messages");return}return n.postMessages(o,t.map(s=>h({},s)))}),Ag=[go.rejected,mo.rejected,fo.rejected,or.rejected].map(t=>t==null?void 0:t.toString());function Lg(t){return Ag.includes(t.type)}var Mg=Ig({name:"conversation",initialState:ba,reducers:{},extraReducers:t=>{t.addCase(tr.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(go.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(mo.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(nr.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(fo.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(z,e=>{var n,o;return xa((o=(n=e.current)==null?void 0:n.externalId)!=null?o:void 0),ba}).addMatcher(Lg,(e,n)=>{var o;throw R.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),Ca=Mg.reducer;var dt={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 sr(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 ho=Ng("input/applyImageSuggestion"),Ta=Og({name:"input",initialState:dt,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=dt.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:m}=t,f=Dg(n.text,m);n.text.length-m.length>1&&t.metrics.deletions.push(...f.filter(g=>g.removed).map(g=>g.value)),t.metrics.numCharsDeleted+=n.text.length-m.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 m=((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;m&&m.length>0&&(t.metrics.numCharsDeleted+=m.length,t.metrics.deletions.push(m))}}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&&(Je(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:m}=n,f=s==="search"||s==="personal-collection-search",g=o.slice(t.text.substring(0,t.selection.start).length);(f||m==="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:f?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=ct({input:t}),o=va(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=dt.metrics}},extraReducers:t=>{t.addCase(z,e=>{e.mixedSuggestion=dt.mixedSuggestion,e.textSuggestions=dt.textSuggestions,e.selectedSuggestionIndex=dt.selectedSuggestionIndex,e.metrics=dt.metrics})}}),ct=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},_g=t=>t.input.mixedSuggestion,Fg=t=>t.input.pinnedSuggestions,Hg=t=>t.input.textSuggestions,yn=t=>t.input.selectedSuggestionIndex,ut=wa([Hg,Fg],(t,e)=>[...t,...e]),Ht=wa([ut,_g,yn],(t,e,n)=>n>-1?t[n]:e),Ea=t=>t.input.selection,{commitSuggestion:le,offeredTextSuggestion:ka,registerCut:Pa,registerKeyDown:Ra,registerKeyUp:Ia,registerPaste:Aa,selectNextTextSuggestion:La,selectPreviousTextSuggestion:Ma,selectTextSuggestionByIndex:yo,setInput:vo,setMetrics:Na,setPinnedSuggestions:Bt,removePinnedSuggestions:pt,setSelection:So,setTextSuggestions:Ze,resetMetrics:Oa,sendMessage:gt}=Ta.actions,Da=Ta.reducer;import{createAsyncThunk as Wg,createSelector as zg,createSlice as Vg}from"@reduxjs/toolkit";import{createAsyncThunk as xo,createSlice as Bg}from"@reduxjs/toolkit";function _a(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var Kg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Kt=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},Fa=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},Ha=t=>{var e;return(e=t.info.customData)!=null?e:null},Sn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&_a(t.visitorTimeZone)?t.visitorTimeZone:la,agentName:(n=e==null?void 0:e.agentNickname)!=null?n:"",visitorName:(o=t==null?void 0:t.visitorName)!=null?o:""}},Ug=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],Ba=xo("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}})),vn=xo("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=Ug.reduce((l,[c,p])=>!o[p]&&c in t?b(h({},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}})),rr=xo("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})),ir=xo("info/getAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),Ka=Bg({name:"info",initialState:Kg,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(vn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),n.meta.arg)}).addCase(vn.rejected,e=>{e.fetchState="error"}).addCase(vn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(rr.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(ir.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(z,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ua,setCustomData:Wa,setPlatformVariables:za,setShowNicknameDialog:Va}=Ka.actions,ja=Ka.reducer;function ye(t,e){return e?t==null?(R.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 bo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},qa=t=>t.search.isOpen,$a=t=>t.search.page,ar=t=>t.search.list,Ga=t=>t.search.aggregates,jg=zg([ar,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),Qa=t=>e=>jg(e,t),mt=Wg("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:Sn(o)});return{results:i.map(l=>b(h(h({},l),l.title&&r?{title:ye(l.title,r)}:{}),{text:ye(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),Xa=Vg({name:"search",initialState:bo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=bo.fetchState,t.list=bo.list}},extraReducers:t=>{t.addCase(mt.pending,e=>{e.fetchState="loading"}).addCase(mt.rejected,(e,n)=>{e.fetchState="error",R.error(n.error)}).addCase(mt.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase(z,()=>bo)}}),{resetSearch:Co,setIsOpen:ve,setPage:Ut}=Xa.actions,Ja=Xa.reducer;var lr="SetOutputs",Wt="ShowLoginOverlay",xn="UserLoggedIn",qg="UserLoggedOut",Fe="ApplySuggestion",dr="ApplyImageSuggestion",$g="ShowCommandPalette",wo="ShowNicknameDialog",To="ReduxAction",Gg="RemovePinnedSuggestion",Qg=t=>({[lr]: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}))},[To]:e=>{e.isBroadcasted||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[Gg]:e=>{t.dispatch(pt(e))},[$g]:e=>{t.dispatch(ve(e.isOpen)),e.page&&t.dispatch(Ut(e.page))},[wo]:e=>{t.dispatch(Va(e.showNicknameDialog))},[Wt]:e=>{t.dispatch(ma(e))},[xn]:()=>{t.dispatch(_e())},[qg]:()=>{t.dispatch(_e())},[dr]:e=>{t.dispatch(ho({suggestion:e.suggestion}))},[Fe]:e=>{t.dispatch(le(b(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),Za=Qg;import{useDispatch as Jg}from"react-redux";import{createAsyncThunk as Xg}from"@reduxjs/toolkit";function cr(t){return Xg("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 q(){let t=Jg();return(e,n)=>S(null,null,function*(){yield t(cr({name:e,data:n}))})}import{useRef as Zg,useState as ur}from"react";import{useDispatch as Yg}from"react-redux";function bn(t,e){let n=Zg(t);n.current=t;let[o,s]=ur(void 0),[r,i]=ur(void 0),[a,d]=ur("idle"),l=Yg();return{error:r,state:a,data:o,call:u=>S(null,null,function*(){d("loading"),yield l(n.current(u)).unwrap().then(m=>{s(m),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(m))}).catch(m=>{i(m),d("error"),e!=null&&e.onError&&(e==null||e.onError(m))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import Ya,{useContext as em}from"react";import{jsx as tm}from"react/jsx-runtime";var el=Ya.createContext(null),He=({broadcastEvents:t,children:e})=>{let n=Ya.useMemo(()=>t,[]);return tm(el.Provider,{value:n,children:e})},ie=()=>{let t=em(el);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as mm,useContext as fm}from"react";var pr=function(t,e){return pr=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])},pr(t,e)};function Cn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");pr(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var de=function(){return de=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},de.apply(this,arguments)};function tl(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 Eo(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 ko(t,e){var n=e&&e.cache?e.cache:lm,o=e&&e.serializer?e.serializer:im,s=e&&e.strategy?e.strategy:om;return s(t,{cache:n,serializer:o})}function nm(t){return t==null||typeof t=="number"||typeof t=="boolean"}function nl(t,e,n,o){var s=nm(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function ol(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 gr(t,e,n,o,s){return n.bind(e,t,o,s)}function om(t,e){var n=t.length===1?nl:ol;return gr(t,this,n,e.cache.create(),e.serializer)}function sm(t,e){return gr(t,this,ol,e.cache.create(),e.serializer)}function rm(t,e){return gr(t,this,nl,e.cache.create(),e.serializer)}var im=function(){return JSON.stringify(arguments)},am=(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})(),lm={create:function(){return new am}},Po={variadic:sm,monadic:rm};var Ro;(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"})(Ro||(Ro={}));var Io=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ge;(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"})(ge||(ge={}));var Ao;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Ao||(Ao={}));function mr(t){return t.type===ge.literal}function fr(t){return t.type===ge.argument}function wn(t){return t.type===ge.number}function Tn(t){return t.type===ge.date}function En(t){return t.type===ge.time}function kn(t){return t.type===ge.select}function Pn(t){return t.type===ge.plural}function sl(t){return t.type===ge.pound}function Rn(t){return t.type===ge.tag}function Lo(t){return!!(t&&typeof t=="object"&&t.type===Ao.number)}function In(t){return!!(t&&typeof t=="object"&&t.type===Ao.dateTime)}function hr(t){t.forEach(function(e){if(delete e.location,kn(e)||Pn(e))for(var n in e.options)delete e.options[n].location,hr(e.options[n].value);else wn(e)&&Lo(e.style)||(Tn(e)||En(e))&&In(e.style)?delete e.style.location:Rn(e)&&hr(e.children)})}function rl(t,e){e===void 0&&(e={}),e=de({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new Io(t,e).parse();if(n.err){var o=SyntaxError(Ro[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||hr(n.val),n.val}var ft;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(ft||(ft={}));var An=(function(t){Cn(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 yr=(function(t){Cn(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('", "'),'"'),ft.INVALID_VALUE,r)||this}return e})(An);var il=(function(t){Cn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),ft.INVALID_VALUE,s)||this}return e})(An);var al=(function(t){Cn(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,'"'),ft.MISSING_VALUE,o)||this}return e})(An);var ne;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(ne||(ne={}));function dm(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==ne.literal||n.type!==ne.literal?e.push(n):o.value+=n.value,e},[])}function cm(t){return typeof t=="function"}function Ln(t,e,n,o,s,r,i){if(t.length===1&&mr(t[0]))return[{type:ne.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(mr(c)){a.push({type:ne.literal,value:c.value});continue}if(sl(c)){typeof r=="number"&&a.push({type:ne.literal,value:n.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new al(p,i);var u=s[p];if(fr(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?ne.literal:ne.object,value:u});continue}if(Tn(c)){var m=typeof c.style=="string"?o.date[c.style]:In(c.style)?c.style.parsedOptions:void 0;a.push({type:ne.literal,value:n.getDateTimeFormat(e,m).format(u)});continue}if(En(c)){var m=typeof c.style=="string"?o.time[c.style]:In(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:ne.literal,value:n.getDateTimeFormat(e,m).format(u)});continue}if(wn(c)){var m=typeof c.style=="string"?o.number[c.style]:Lo(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:ne.literal,value:n.getNumberFormat(e,m).format(u)});continue}if(Rn(c)){var f=c.children,g=c.value,y=s[g];if(!cm(y))throw new il(g,"function",i);var v=Ln(f,e,n,o,s,r),x=y(v.map(function(k){return k.value}));Array.isArray(x)||(x=[x]),a.push.apply(a,x.map(function(k){return{type:typeof k=="string"?ne.literal:ne.object,value:k}}))}if(kn(c)){var w=c.options[u]||c.options.other;if(!w)throw new yr(c.value,u,Object.keys(c.options),i);a.push.apply(a,Ln(w.value,e,n,o,s));continue}if(Pn(c)){var w=c.options["=".concat(u)];if(!w){if(!Intl.PluralRules)throw new An(`Intl.PluralRules is not available in this environment.
|
|
1
|
+
var ta=Object.defineProperty,qp=Object.defineProperties;var $p=Object.getOwnPropertyDescriptors;var lo=Object.getOwnPropertySymbols;var na=Object.prototype.hasOwnProperty,oa=Object.prototype.propertyIsEnumerable;var ea=(t,e,n)=>e in t?ta(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))na.call(e,n)&&ea(t,n,e[n]);if(lo)for(var n of lo(e))oa.call(e,n)&&ea(t,n,e[n]);return t},C=(t,e)=>qp(t,$p(e));var _=(t,e)=>{var n={};for(var o in t)na.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&lo)for(var o of lo(t))e.indexOf(o)<0&&oa.call(t,o)&&(n[o]=t[o]);return n};var X=(t,e)=>{for(var n in e)ta(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 ra from"classnames";import Jp,{createContext as Zp,useContext as tr,useEffect as Yp,useState as eg}from"react";import jp,{useContext as Gp}from"react";import Qp from"classnames";var mn=jp.createContext({});function w(t,e){let r=Gp(mn),{debug:n}=r,s=_(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return C(h({},i),{[a]:Qp(d,l,n?`${t}__${a}`:!1)})},{})}var sa={root:"dd-4s9wq"};import{jsx as co,jsxs as Xp}from"react/jsx-runtime";var uo=()=>Xp("svg",{className:sa.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[co("defs",{children:co("style",{children:".cls-1 { fill: #b3b3b3; }"})}),co("title",{children:"Failed loading image"}),co("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 er={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as Nt}from"react/jsx-runtime";var po=Zp(er),tg=({title:t,src:e})=>{let n=tr(po),[o,s]=eg(!1);return Yp(()=>{s(!1)},[e]),Nt("div",{className:n.imageWrapper,children:e&&!o?Nt("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):Nt(uo,{})})},ng=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=tr(po);return Nt("div",{className:ra(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},og=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=_(i,["as","cropText","className","children"]);let a=tr(po);return Jp.createElement(t,h({className:ra(a.title,n,{[a.contentIsCropped]:e})},s),o)},go=({children:t})=>{let e=w("Card",er);return Nt("div",{className:e.root,children:Nt(po.Provider,{value:e,children:t})})};go.Image=tg;go.Content=ng;go.Title=og;var H=go;import sg from"classnames";var ia={root:"dd-llBx9"};import{jsx as ag}from"react/jsx-runtime";var rg={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},ig=o=>{var s=o,{className:t,keyCode:e}=s,n=_(s,["className","keyCode"]);let r=w("KeyboardHint",ia);return ag("span",h({"data-key":rg[e],className:sg(t,r.root)},n))},nr=ig;import lg from"classnames";var aa={root:"dd-e6HXZ"};import{jsx as ug}from"react/jsx-runtime";var dg=o=>{var s=o,{className:t,children:e}=s,n=_(s,["className","children"]);let r=w("Label",aa);return ug("span",C(h({},n),{className:lg(t,r.root),children:e}))},cg=dg;var la={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as or,jsxs as gg}from"react/jsx-runtime";var pg=s=>{var r=s,{title:t,children:e,type:n}=r,o=_(r,["title","children","type"]);let i=w("Section",la);return gg("section",C(h({},o),{className:i.root,"data-section-type":n,children:[t&&or("div",{className:i.subTitleContainer,children:or("span",{className:i.subtitle,children:t})}),or("div",{className:i.suggestions,children:e})]}))},De=pg;import Sg from"classnames";import{useRef as xg}from"react";import{createContext as mg,useCallback as fg,useContext as hg,useEffect as yg}from"react";import{jsx as vg}from"react/jsx-runtime";var da=mg(null),ca=({scrollContainerRef:t,children:e})=>{let n=fg(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 vg(da.Provider,{value:n,children:e})},mo=t=>{let e=hg(da);yg(()=>{let n=t.current;n&&e(n)},[])};var ua={root:"dd-uoTXh"};import{jsx as pa}from"react/jsx-runtime";var bg=({className:t,children:e})=>{let n=w("SectionList",ua),o=xg(null);return pa(ca,{scrollContainerRef:o,children:pa("div",{ref:o,className:Sg(n.root,t),children:e})})},fn=bg;import hn from"classnames";import Cg,{createContext as wg,useCallback as Tg,useContext as ut}from"react";var sr={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 ye,jsxs as ga}from"react/jsx-runtime";var Xe=wg(sr),Eg=o=>{var s=o,{fixed:t,children:e}=s,n=_(s,["fixed","children"]);let r=ut(Xe);return ye("div",C(h({},n),{className:hn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function kg(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=_(l,["as","className","icon","title","children","disabled","variant"]);let c=ut(Xe);return ga(t||"button",C(h({type:"button",className:hn(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&&ye("span",{className:c.icon,children:n}),s]}))}var Rg=({children:t})=>{let e=ut(Xe);return ye("div",{className:e.buttonsContainer,children:t})},Pg=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=ut(Xe);return ga("div",{className:hn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,ye("ul",{className:r.dropdownList,children:s})]})},Ig=({index:t,label:e,onClick:n})=>{let o=ut(Xe);return ye("li",{className:o.dropdownItem,children:ye("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Ag=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=ut(Xe);return ye("button",{type:"button",className:hn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},Lg=({labels:t})=>{let e=ut(Xe);return ye("div",{className:e.labels,children:t.map(n=>ye("span",{className:e.label,children:n},n))})},Je=Cg.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=_(d,["className","selected","onClick","children","as"]);let l=w("Suggestion",sr),c=Tg(p=>{p.preventDefault(),n&&n(p)},[n]);return ye(s,C(h({},r),{ref:i,className:hn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:ye(Xe.Provider,{value:l,children:o})}))});Je.Labels=Lg;Je.Actions=Eg;Je.ActionButton=Ag;Je.DropdownButton=Pg;Je.DropdownItem=Ig;Je.ButtonsContainer=Rg;Je.Button=kg;var N=Je;import Mg from"classnames";var ma={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as Ng}from"react/jsx-runtime";var Og=({withDivider:t,children:e})=>{let n=w("SuggestionList",ma);return Ng("div",{"data-testid":"suggestions-overlay-list",className:Mg(n.root,{[n.isWithDivider]:t}),children:e})},ne=Og;import Dg from"classnames";var fa={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as rr}from"react/jsx-runtime";var _g=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=w("ToggleButton",fa);return rr("button",{type:"button",className:Dg(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:rr("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:rr("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Dt=_g;var ha=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,fo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ya=/x-deepdesk-(([a-z0-9\-_])+-version)/,ho=["cues","custom-data","custom-data-banner","knowledge-assist"],va=Intl.DateTimeFormat().resolvedOptions().timeZone,_e=(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))(_e||{}),_t=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(_t||{});import{createContext as Zf,Fragment as Yf,useContext as $r,useEffect as eh,useRef as pd,useState as st}from"react";import{useDispatch as th,useSelector as nh}from"react-redux";import{createAsyncThunk as vn,createSlice as Fg}from"@reduxjs/toolkit";var yo=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(yo||{});var Hg={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},ee=t=>t.auth.isLoggedIn;var Sa=t=>t.auth.verifyFetchState,xa=t=>t.auth.showLoginOverlay,ba=t=>t.auth.loginError,Fe=vn("auth/validate",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Ca=vn("auth/requestLogin",(n,o)=>S(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),ir=vn("auth/loginWithPassword",(o,s)=>S(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),vo=vn("auth/logout",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),yn=vn("auth/verifyLoginToken",(n,o)=>S(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),wa=Fg({name:"auth",initialState:Hg,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(Fe.pending,e=>{e.loginFetchState="loading"}),t.addCase(Fe.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(Fe.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(ir.pending,e=>{e.loginFetchState="loading",e.loginError=null}),t.addCase(ir.fulfilled,e=>{e.isLoggedIn=!0,e.loginFetchState="done",e.loginError=null,e.showLoginOverlay=!1}),t.addCase(ir.rejected,(e,n)=>{e.loginFetchState="error",e.isLoggedIn=!1,e.loginError=n.error.message==="Bad Request"?"Invalid credentials":"Login failed"}),t.addCase(vo.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(vo.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(yn.pending,e=>{e.verifyFetchState="loading"}),t.addCase(yn.rejected,e=>{e.verifyFetchState="error"}),t.addCase(yn.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Ft,setShowLoginOverlay:Ta,setLoginError:ar,clearLoginError:So}=wa.actions,Ea=wa.reducer;import{createAction as jg,createSelector as Oa,createSlice as Gg}from"@reduxjs/toolkit";import{diffChars as Qg}from"diff";function ka(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Ze(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)=>Ze(r,e[i],n-1)):ka(t)&&ka(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Ze(t[i],e[i],n-1)):!1}function Bg(t){return Math.max(...t.map(e=>e.length))}function Ug(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return C(h({},o),{[s]:r})}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function Ra(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Bg(o);s++){let r=Ug(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 Kg=2;function Pa(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=Ra(t,Kg);return n&&n.text!==e?n:t[0]}import{createAction as La,createAsyncThunk as Ht,createSlice as zg}from"@reduxjs/toolkit";var Wg={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},R=Wg;var lr="deepdesk.widgetAssistantSession";function Sn(t){if(!t||typeof sessionStorage=="undefined")return null;try{return sessionStorage.getItem(`${lr}:${t}`)}catch(e){return null}}function Ia(t,e){if(!(!t||typeof sessionStorage=="undefined"))try{sessionStorage.setItem(`${lr}:${t}`,e)}catch(n){}}function xn(t){if(!(!t||typeof sessionStorage=="undefined"))try{sessionStorage.removeItem(`${lr}:${t}`)}catch(e){return}}var Aa={current:null,isSupported:null},z=La("resetConversation"),ie=La("conversation/clearDisplayedAnswers"),xo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},me=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Bt=t=>t.conversation.isSupported,dr=Ht("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),bo=Ht("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),Co=Ht("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),wo=Ht("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=me(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),cr=Ht("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),ur=Ht("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=me(e.getState());if(!o){R.warn("No current conversation to update messages");return}return n.postMessages(o,t.map(s=>h({},s)))}),Vg=[bo.rejected,Co.rejected,wo.rejected,ur.rejected].map(t=>t==null?void 0:t.toString());function qg(t){return Vg.includes(t.type)}var $g=zg({name:"conversation",initialState:Aa,reducers:{},extraReducers:t=>{t.addCase(dr.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(bo.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(Co.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(cr.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(wo.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(z,e=>{var n,o;return xn((o=(n=e.current)==null?void 0:n.externalId)!=null?o:void 0),Aa}).addMatcher(qg,(e,n)=>{var o;throw R.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),Ma=$g.reducer;var Ye={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 pr(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 To=jg("input/applyImageSuggestion"),Na=Gg({name:"input",initialState:Ye,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=Ye.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:m}=t,f=Qg(n.text,m);n.text.length-m.length>1&&t.metrics.deletions.push(...f.filter(g=>g.removed).map(g=>g.value)),t.metrics.numCharsDeleted+=n.text.length-m.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 m=((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;m&&m.length>0&&(t.metrics.numCharsDeleted+=m.length,t.metrics.deletions.push(m))}}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&&(Ze(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:m}=n,f=s==="search"||s==="personal-collection-search",g=o.slice(t.text.substring(0,t.selection.start).length);(f||m==="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:f?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=C(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=C(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=pt({input:t}),o=Pa(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=Ye.metrics}},extraReducers:t=>{let e=o=>{o.mixedSuggestion=Ye.mixedSuggestion,o.textSuggestions=Ye.textSuggestions,o.selectedSuggestionIndex=Ye.selectedSuggestionIndex,o.metrics=Ye.metrics},n=o=>{e(o),o.pinnedSuggestions=Ye.pinnedSuggestions};t.addCase(z,e).addCase(ie,n)}}),pt=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},Xg=t=>t.input.mixedSuggestion,Jg=t=>t.input.pinnedSuggestions,Zg=t=>t.input.textSuggestions,bn=t=>t.input.selectedSuggestionIndex,gt=Oa([Zg,Jg],(t,e)=>[...t,...e]),Ut=Oa([gt,Xg,bn],(t,e,n)=>n>-1?t[n]:e),Da=t=>t.input.selection,{commitSuggestion:de,offeredTextSuggestion:_a,registerCut:Fa,registerKeyDown:Ha,registerKeyUp:Ba,registerPaste:Ua,selectNextTextSuggestion:Ka,selectPreviousTextSuggestion:Wa,selectTextSuggestionByIndex:Eo,setInput:ko,setMetrics:za,setPinnedSuggestions:Kt,removePinnedSuggestions:mt,setSelection:Ro,setTextSuggestions:et,resetMetrics:Va,sendMessage:ft}=Na.actions,qa=Na.reducer;import{createAsyncThunk as nm,createSelector as om,createSlice as sm}from"@reduxjs/toolkit";import{createAsyncThunk as Po,createSlice as Yg}from"@reduxjs/toolkit";function $a(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var em={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Wt=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},ja=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},Ga=t=>{var e;return(e=t.info.customData)!=null?e:null},wn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&$a(t.visitorTimeZone)?t.visitorTimeZone:va,agentName:(n=e==null?void 0:e.agentNickname)!=null?n:"",visitorName:(o=t==null?void 0:t.visitorName)!=null?o:""}},tm=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],Qa=Po("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}})),Cn=Po("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=tm.reduce((l,[c,p])=>!o[p]&&c in t?C(h({},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}})),gr=Po("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})),mr=Po("info/getAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),Xa=Yg({name:"info",initialState:em,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(Cn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),n.meta.arg)}).addCase(Cn.rejected,e=>{e.fetchState="error"}).addCase(Cn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(gr.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(mr.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(z,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ja,setCustomData:Za,setPlatformVariables:Ya,setShowNicknameDialog:el}=Xa.actions,tl=Xa.reducer;function Se(t,e){return e?t==null?(R.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 Tn={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},nl=t=>t.search.isOpen,ol=t=>t.search.page,fr=t=>t.search.list,sl=t=>t.search.aggregates,rm=om([fr,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),rl=t=>e=>rm(e,t),ht=nm("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:wn(o)});return{results:i.map(l=>C(h(h({},l),l.title&&r?{title:Se(l.title,r)}:{}),{text:Se(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),il=sm({name:"search",initialState:Tn,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Tn.fetchState,t.list=Tn.list}},extraReducers:t=>{t.addCase(ht.pending,e=>{e.fetchState="loading"}).addCase(ht.rejected,(e,n)=>{e.fetchState="error",R.error(n.error)}).addCase(ht.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase(z,()=>Tn).addCase(ie,()=>Tn)}}),{resetSearch:Io,setIsOpen:ce,setPage:zt}=il.actions,al=il.reducer;var hr="SetOutputs",Vt="ShowLoginOverlay",En="UserLoggedIn",im="UserLoggedOut",He="ApplySuggestion",yr="ApplyImageSuggestion",am="ShowCommandPalette",Ao="ShowNicknameDialog",Lo="ReduxAction",lm="RemovePinnedSuggestion",dm=t=>({[hr]: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(C(h({},e),{isBroadcasted:!0}))},[Lo]:e=>{e.isBroadcasted||t.dispatch(C(h({},e),{isBroadcasted:!0}))},[lm]:e=>{t.dispatch(mt(e))},[am]:e=>{t.dispatch(ce(e.isOpen)),e.page&&t.dispatch(zt(e.page))},[Ao]:e=>{t.dispatch(el(e.showNicknameDialog))},[Vt]:e=>{t.dispatch(Ta(e))},[En]:()=>{t.dispatch(Fe())},[im]:()=>{t.dispatch(Fe())},[yr]:e=>{t.dispatch(To({suggestion:e.suggestion}))},[He]:e=>{t.dispatch(de(C(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),ll=dm;import{useDispatch as um}from"react-redux";import{createAsyncThunk as cm}from"@reduxjs/toolkit";function vr(t){return cm("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,C(h({conversationId:o},s),{data:e.data}))})(t)}function j(){let t=um();return(e,n)=>S(null,null,function*(){yield t(vr({name:e,data:n}))})}import{useRef as pm,useState as Sr}from"react";import{useDispatch as gm}from"react-redux";function kn(t,e){let n=pm(t);n.current=t;let[o,s]=Sr(void 0),[r,i]=Sr(void 0),[a,d]=Sr("idle"),l=gm();return{error:r,state:a,data:o,call:u=>S(null,null,function*(){d("loading"),yield l(n.current(u)).unwrap().then(m=>{s(m),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(m))}).catch(m=>{i(m),d("error"),e!=null&&e.onError&&(e==null||e.onError(m))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import dl,{useContext as mm}from"react";import{jsx as fm}from"react/jsx-runtime";var cl=dl.createContext(null),Be=({broadcastEvents:t,children:e})=>{let n=dl.useMemo(()=>t,[]);return fm(cl.Provider,{value:n,children:e})},ae=()=>{let t=mm(cl);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as Pm,useContext as Im}from"react";var xr=function(t,e){return xr=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])},xr(t,e)};function Rn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");xr(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var ue=function(){return ue=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},ue.apply(this,arguments)};function ul(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 Mo(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 Oo(t,e){var n=e&&e.cache?e.cache:Cm,o=e&&e.serializer?e.serializer:xm,s=e&&e.strategy?e.strategy:ym;return s(t,{cache:n,serializer:o})}function hm(t){return t==null||typeof t=="number"||typeof t=="boolean"}function pl(t,e,n,o){var s=hm(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function gl(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 br(t,e,n,o,s){return n.bind(e,t,o,s)}function ym(t,e){var n=t.length===1?pl:gl;return br(t,this,n,e.cache.create(),e.serializer)}function vm(t,e){return br(t,this,gl,e.cache.create(),e.serializer)}function Sm(t,e){return br(t,this,pl,e.cache.create(),e.serializer)}var xm=function(){return JSON.stringify(arguments)},bm=(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})(),Cm={create:function(){return new bm}},No={variadic:vm,monadic:Sm};var Do;(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"})(Do||(Do={}));var _o=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var fe;(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"})(fe||(fe={}));var Fo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Fo||(Fo={}));function Cr(t){return t.type===fe.literal}function wr(t){return t.type===fe.argument}function Pn(t){return t.type===fe.number}function In(t){return t.type===fe.date}function An(t){return t.type===fe.time}function Ln(t){return t.type===fe.select}function Mn(t){return t.type===fe.plural}function ml(t){return t.type===fe.pound}function On(t){return t.type===fe.tag}function Ho(t){return!!(t&&typeof t=="object"&&t.type===Fo.number)}function Nn(t){return!!(t&&typeof t=="object"&&t.type===Fo.dateTime)}function Tr(t){t.forEach(function(e){if(delete e.location,Ln(e)||Mn(e))for(var n in e.options)delete e.options[n].location,Tr(e.options[n].value);else Pn(e)&&Ho(e.style)||(In(e)||An(e))&&Nn(e.style)?delete e.style.location:On(e)&&Tr(e.children)})}function fl(t,e){e===void 0&&(e={}),e=ue({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new _o(t,e).parse();if(n.err){var o=SyntaxError(Do[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||Tr(n.val),n.val}var yt;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(yt||(yt={}));var Dn=(function(t){Rn(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 Er=(function(t){Rn(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('", "'),'"'),yt.INVALID_VALUE,r)||this}return e})(Dn);var hl=(function(t){Rn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),yt.INVALID_VALUE,s)||this}return e})(Dn);var yl=(function(t){Rn(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,'"'),yt.MISSING_VALUE,o)||this}return e})(Dn);var oe;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(oe||(oe={}));function wm(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==oe.literal||n.type!==oe.literal?e.push(n):o.value+=n.value,e},[])}function Tm(t){return typeof t=="function"}function _n(t,e,n,o,s,r,i){if(t.length===1&&Cr(t[0]))return[{type:oe.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(Cr(c)){a.push({type:oe.literal,value:c.value});continue}if(ml(c)){typeof r=="number"&&a.push({type:oe.literal,value:n.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new yl(p,i);var u=s[p];if(wr(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?oe.literal:oe.object,value:u});continue}if(In(c)){var m=typeof c.style=="string"?o.date[c.style]:Nn(c.style)?c.style.parsedOptions:void 0;a.push({type:oe.literal,value:n.getDateTimeFormat(e,m).format(u)});continue}if(An(c)){var m=typeof c.style=="string"?o.time[c.style]:Nn(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:oe.literal,value:n.getDateTimeFormat(e,m).format(u)});continue}if(Pn(c)){var m=typeof c.style=="string"?o.number[c.style]:Ho(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:oe.literal,value:n.getNumberFormat(e,m).format(u)});continue}if(On(c)){var f=c.children,g=c.value,y=s[g];if(!Tm(y))throw new hl(g,"function",i);var v=_n(f,e,n,o,s,r),x=y(v.map(function(k){return k.value}));Array.isArray(x)||(x=[x]),a.push.apply(a,x.map(function(k){return{type:typeof k=="string"?oe.literal:oe.object,value:k}}))}if(Ln(c)){var b=c.options[u]||c.options.other;if(!b)throw new Er(c.value,u,Object.keys(c.options),i);a.push.apply(a,_n(b.value,e,n,o,s));continue}if(Mn(c)){var b=c.options["=".concat(u)];if(!b){if(!Intl.PluralRules)throw new Dn(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,
|
|
4
|
-
`):""}var Sl=Sm({name:"assistants",initialState:cl,reducers:{resetCues(t){t.cues=[]},setActiveAssistantCode(t,e){t.activeAssistantCode=e.payload},setWidgetAssistantSessionId(t,e){t.widgetAssistantSessionId=e.payload},registerAssistantThreadId(t,e){let{assistantCode:n,threadId:o}=e.payload;t.assistantThreads[n]={threadId:o},o>=t.nextLocalThreadId&&(t.nextLocalThreadId=o+1)},resetAssistantThread(t,e){let n=t.assistantThreads[e.payload.assistantCode];n&&(delete t.threads[n.threadId],delete t.assistantThreads[e.payload.assistantCode])},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(ce.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&R.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(ce.rejected,(e,n)=>{var s;R.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(ce.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=>h(b(h({},p),{evaluationId:s}),i?{externalConversationId:i}:{}));e.cues=[...l,...c]}).addCase(Mn.fulfilled,(e,n)=>{let a=n.payload,{threadId:o,externalConversationId:s,currentExternalIdAtRequest:r}=a,i=D(a,["threadId","externalConversationId","currentExternalIdAtRequest"]);s&&r&&s!==r||(e.threads[o]=[...e.threads[o]||[],i])}).addCase(z,()=>cl)}}),{removeCueByCode:Oo,resetCues:wT,removeThreadById:xl,receiveChunk:bl,userNotification:Cl,setActiveAssistantCode:Tr,setWidgetAssistantSessionId:Er,registerAssistantThreadId:kr,resetAssistantThread:wl}=Sl.actions,Tl=Sl.reducer;import{createSlice as xm}from"@reduxjs/toolkit";import{useSelector as bm}from"react-redux";var Cm={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},Pr={showSearch:!1,showImageSearch:!1,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,recommendTextSuggestions:!0},El=xm({name:"settings",initialState:Cm,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}},extraReducers:t=>{t.addCase(z,e=>{Object.assign(e,Pr)})}}),{set:Nn}=El.actions,ht=t=>e=>e.settings[t],P=t=>bm(ht(t)),kl=El.reducer;function ke(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 Ho from"classnames";import{useState as Im}from"react";import{jsx as Pl}from"react/jsx-runtime";var Do=t=>Pl("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Pl("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 Rl}from"react/jsx-runtime";var Il=t=>Rl("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Rl("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 Ye(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 Rr={};G(Rr,{enUS:()=>wm,nlNL:()=>Tm});var wm={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Tm={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var Al={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};var Ll=({conversationId:t,evaluationId:e,type:n,assistantCode:o,contentType:s},r,i)=>{let a=new URLSearchParams;return t!=null&&a.set("conversationId",String(t)),e&&a.set("evaluationId",e),a.set("type",n),o&&a.set("assistantCode",o),a.set(s,r),i!==void 0&&a.set("data",i),`/admin/feedback?${a.toString()}`},_o=t=>{let e=t.content,n=Ll(t,e,t.data),o=encodeURIComponent(n).length;for(;o>3e3&&e.length>0;){let s=Math.max(0,Math.floor(e.length*3e3/o)-1);e=t.content.slice(0,s),n=Ll(t,e?`${e}\u2026`:"",t.data),o=encodeURIComponent(n).length}return n};import{useSelector as Rm}from"react-redux";import{createContext as Em,useContext as km}from"react";import{jsx as Pm}from"react/jsx-runtime";var Ml=Em(null),Nl=({handler:t,children:e})=>Pm(Ml.Provider,{value:t!=null?t:null,children:e}),Ol=()=>km(Ml);var zt=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}`};function Fo(t){let e=P("enableFeedbackForm"),n=Ol(),o=Rm(zt(t));return e?n?{mode:"custom-handler",open:()=>n(t)}:o?{mode:"passwordless-link",href:o}:{mode:"disabled"}:{mode:"disabled"}}import{useSelector as Am}from"react-redux";import{jsx as et,jsxs as Mm}from"react/jsx-runtime";var Lm=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o})=>{let s=C("FeedbackThumbs",Al),r=Am(pe),i=_o({conversationId:r,evaluationId:n,type:o,assistantCode:t,contentType:"assistantOutput",content:e}),a=Fo(i),d=A(Rr),l=q(),[c,p]=Im(null),u=g=>{l("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:g})},m=g=>{g.stopPropagation(),Ye(g.target,s.fadeup),p("up"),u("up")},f=g=>S(null,null,function*(){g.stopPropagation(),Ye(g.target,s.fadedown),p("down"),u("down"),a.mode==="custom-handler"&&(yield a.open())});return Mm("div",{className:s.thumbs,children:[et(M.Button,{title:d("thumbsUp"),onClick:m,icon:et(Il,{}),className:Ho(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),a.mode==="custom-handler"?et(M.Button,{title:d("thumbsDown"),onClick:f,icon:et(Do,{}),className:Ho(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):a.mode==="passwordless-link"?et(M.Button,{as:"a",title:d("thumbsDown"),href:a.href,target:"_blank",rel:"noreferrer",onClick:f,icon:et(Do,{}),className:Ho(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):et(M.Button,{title:d("thumbsDown"),onClick:f,icon:et(Do,{}),className:Ho(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},Bo=Lm;import ff from"dompurify";import{marked as hf}from"marked";import{Fragment as Ql,useMemo as yf,useRef as vf,useState as Sf}from"react";import{useState as Zm}from"react";import{FloatingFocusManager as Nm,FloatingPortal as Om,autoUpdate as Dm,flip as _m,offset as Fm,safePolygon as Hm,shift as Bm,useClick as Km,useDismiss as Um,useFloating as Wm,useHover as zm,useInteractions as Vm,useMergeRefs as _l,useRole as jm}from"@floating-ui/react";import*as Pe from"react";var Ko={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as tt,jsxs as Dl}from"react/jsx-runtime";function qm({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=Pe.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=Wm({placement:e,open:d,onOpenChange:l,whileElementsMounted:Dm,middleware:[Fm(5),_m({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),Bm({padding:10})]}),p=c.context,u=Km(p,{enabled:s==null}),m=Um(p),f=jm(p),g=zm(p,{enabled:o!=null?o:!1,handleClose:Hm()}),y=Vm([u,m,f,g]);return Pe.useMemo(()=>b(h(h({open:d,setOpen:l},y),c),{modal:n,tooltip:o}),[d,l,y,c,n,o])}var Fl=Pe.createContext(null),Ir=()=>{let t=Pe.useContext(Fl);if(t==null)throw new Error("Popover components must be wrapped in <Popover />");return t},yt=o=>{var s=o,{children:t,modal:e=!1}=s,n=D(s,["children","modal"]);let r=qm(h({modal:e},n));return tt(Fl.Provider,{value:r,children:t})};function $m(o){var s=o,{as:t,children:e}=s,n=D(s,["as","children"]);let r=Ir(),i=t||"button",a=e.ref,d=_l([r.refs.setReference,a]);return tt(i,b(h(h({ref:d},i==="button"||t===void 0||t==="button"?{type:"button"}:{}),r.getReferenceProps(n)),{children:e}))}var Gm=Pe.forwardRef(function(s,o){var r=s,{style:e}=r,n=D(r,["style"]);var c;let l=Ir(),{context:i}=l,a=D(l,["context"]),d=_l([a.refs.setFloating,o]);return i.open?tt(Om,{children:tt(Nm,{context:i,modal:a.modal,disabled:(c=n.disableFocusManager)!=null?c:a.tooltip,children:tt("div",b(h({ref:d,style:h(b(h({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function Qm(s){var r=s,{as:t,children:e,onClick:n}=r,o=D(r,["as","children","onClick"]);let{setOpen:i}=Ir();return tt(t||"button",b(h({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function Hl({trigger:t,children:e,placement:n="top"}){return Dl(yt,{tooltip:!0,placement:n,children:[Dl(yt.Content,{className:Ko.tooltip,children:[e,tt("div",{className:Ko.arrow})]}),tt(yt.Trigger,{className:Ko.tooltipTrigger,children:t})]})}yt.Trigger=$m;yt.Content=Gm;yt.Button=Qm;var V=yt;var Ar={};G(Ar,{enUS:()=>Xm,nlNL:()=>Jm});var Xm={showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}],showLess:[{type:0,value:"Show less"}]},Jm={showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}],showLess:[{type:0,value:"Toon minder"}]};var Bl={sources:"dd-cNsGl",source:"dd-LoJ6U",tooltip:"dd-7ZGu9",linkContent:"dd-O2IoN",showMoreSources:"dd-ev8Yr"};import{jsx as Vt,jsxs as Ul}from"react/jsx-runtime";var Kl=3,Ym=({sources:t,onClick:e,sourceTestId:n="assistant-source"})=>{let o=A(Ar),s=C("AssistantSources",Bl),[r,i]=Zm(!1),a=t.filter(c=>!!c.url),d=r?a:a.slice(0,Kl),l=a.length>Kl;return d.length===0?null:Ul("ul",{className:s.sources,children:[d.map(c=>Vt("li",{className:s.source,"data-testid":n,children:Ul(V,{tooltip:!0,placement:"top-start",children:[Vt(V.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:c.url,onClick:p=>{p.stopPropagation(),e==null||e(c)},children:Vt("span",{className:s.linkContent,children:c.name})}),c.url&&Vt(V.Content,{className:s.tooltip,children:decodeURIComponent(c.url)})]})},c.name)),l&&Vt("li",{className:s.source,children:Vt("button",{type:"button",className:s.showMoreSources,onClick:()=>i(c=>!c),children:r?o("showLess"):o("showMore",{amount:a.length-d.length})})})]})},Wl=Ym;import $l from"classnames";import{createRef as uf,useCallback as Mr,useMemo as pf,useRef as gf,useState as mf}from"react";import{useState as ef,useLayoutEffect as tf}from"react";var nf=["bottom","height","left","right","top","width"],of=(t={},e={})=>nf.some(n=>t[n]!==e[n]),Be=new Map,zl,Vl=()=>{let t=[],e=[];Be.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();of(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Be.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),zl=window.requestAnimationFrame(Vl)};function sf(t,e){return{observe(){let n=Be.size===0;if(Be.has(t)){let o=Be.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Be.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&Vl()},unobserve(){let n=Be.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Be.delete(t),Be.size||cancelAnimationFrame(zl)}}}}function Lr(t){let[e,n]=ef(null);return tf(()=>{if(!t.current)return;let o=sf(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as af,useLayoutEffect as lf,useState as df}from"react";import{createPortal as cf}from"react-dom";import{useEffect as rf}from"react";function vt(t){rf(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function St(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var jl={root:"dd-r-dgo"};var ql=({children:t,parentNode:e})=>{let[n,o]=df(null),s=af(un);return lf(()=>{let r=document.createElement("div");return St(r),r.classList.add(jl.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?cf(t,n):null};var Re={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 Nr}from"react/jsx-runtime";var Uo=(t=!1)=>{let[e,n]=mf(t),o=Mr(()=>n(!0),[]),s=Mr(()=>n(!1),[]),r=Mr(()=>n(a=>!a),[]),i=gf(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function Or(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 jt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=uf(),position:o="above",align:s="center",children:r,toStyle:i=Or,parentNode:a}=c,d=D(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Lr(e),u=Lr(n),m=pf(()=>i(p,u,0),[p,u]);return Nr(ql,{parentNode:a,children:Nr("div",b(h({className:$l(Re.ref,{[Re.positionAbove]:o==="above",[Re.positionBelow]:o==="below",[Re.positionLeft]:o==="left",[Re.positionRight]:o==="right",[Re.alignStart]:s==="start",[Re.alignCenter]:s==="center",[Re.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:Nr("div",{className:$l(t,Re.root),children:r})}))})};var Gl={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 qt,jsxs as Wo}from"react/jsx-runtime";function xf(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 Dr(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 bf(t){return t.replace(/\r\n/g,`
|
|
5
|
-
`)}var Cf=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s,sources:r,onSourceClick:i})=>{let a=C("Markdown",Gl),d=vf(null),[l,c]=Sf(null),p=yf(()=>{let v=hf.parse(bf(t));return ff.sanitize(v.toString()).replaceAll("</code>",`${xf(a.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),u=v=>{var T;let x=v.target,w=!!((T=d.current)!=null&&T.querySelector("code"));if(["A","BUTTON"].includes(x.tagName)){c(null);return}l||w&&x.tagName!=="CODE"||!w&&x!==d.current||(x.addEventListener("mouseleave",()=>c(null),{once:!0}),c(x))},m=()=>{if(!l)return;c(null);let v=l.querySelector("button");v&&(Ye(v,a.fadeup),o==null||o(Dr(l)))},f=v=>{let x=v.target,w=x instanceof HTMLElement?x:null;if(x instanceof Element?x.closest("a"):null){v.stopPropagation();return}w&&"copyIcon"in w.dataset&&(Ye(w,a.fadeup),o==null||o(Dr(w.parentElement)))},g=()=>{!l||!s||(c(null),s(Dr(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 Wo(Ql,{children:[l&&(o||s)&&Wo(jt,{triggerRef:{current:l},className:a.popover,parentNode:l,children:[Wo("div",{className:a.options,ref:y,children:[o&&(l==null?void 0:l.tagName)==="CODE"&&qt("button",{type:"button",className:a.option,onClick:m,children:n}),s&&Wo(Ql,{children:[qt("div",{className:a.divider}),qt("button",{type:"button",className:a.option,onClick:g,children:e})]})]}),qt("div",{className:a.arrow})]}),qt("div",{ref:d,"data-testid":"widget-markdown-content",className:a.root,dangerouslySetInnerHTML:{__html:p},onMouseOver:u,onClick:f}),r&&r.length>0&&qt(Wl,{sources:r,onClick:i})]})},xt=Cf;import{useRef as Ef}from"react";var Xl={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as Tf}from"react/jsx-runtime";var wf=({width:t})=>{let e=C("LoadingProgressBar",Xl);return Tf("div",{className:e.loadingBar,style:{width:t}})},zo=wf;import{jsx as $t,jsxs as kf}from"react/jsx-runtime";var Vo=({title:t})=>{let e=Ef(null);return ro(e),$t(M,{ref:e,children:$t(F,{children:kf(F.Content,{children:[$t(F.Title,{children:t}),$t(zo,{width:"60%"}),$t(zo,{width:"90%"}),$t(zo,{width:"50%"})]})})})};var bt={};G(bt,{enUS:()=>Pf,nlNL:()=>Rf});var Pf={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"}],resetError:[{type:0,value:"The conversation could not be reset. Please try again."}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Rf={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"}],resetError:[{type:0,value:"Het gesprek kon niet worden gewist. Probeer het opnieuw."}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var jo={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 Lf}from"react";var Jl={error:"dd-CoAuB"};var _r={};G(_r,{enUS:()=>If,nlNL:()=>Af});var If={errorPrefix:[{type:0,value:"Error:"}]},Af={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as Zl,jsxs as Mf}from"react/jsx-runtime";var Yl=({message:t})=>{let e=Lf(null),n=C("WidgetCardError",Jl),o=A(_r);return ro(e),Zl(M,{ref:e,children:Zl(F,{children:Mf(F.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as W,jsxs as Ke}from"react/jsx-runtime";var Hf=3,Bf=({sources:t,onClick:e})=>{let n=A(bt),o=C("WidgetKnowledgeAssistant",jo),[s,r]=nt(!1),i=s?t:t.slice(0,Hf);return i.length===0?null:Ke("ul",{className:o.sources,children:[i.map(a=>W("li",{className:o.source,"data-testid":"knowledge-assist-source",children:Ke(V,{tooltip:!0,placement:"top-start",children:[W(V.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:W("span",{className:o.linkContent,children:a.name})}),a.url&&W(V.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&W("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},Kf=({title:t,description:e})=>W(M,{"data-testid":"knowledge-assist-empty-state",children:W(F,{children:Ke(F.Content,{children:[W(F.Title,{children:t}),W(xt,{content:e})]})})}),Uf=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=A(bt),a=Fr(qo);return Ke(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[W(F,{children:Ke(F.Content,{children:[W(F.Title,{children:e.question}),W(xt,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),W(Bf,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&Ke(M.ButtonsContainer,{children:[W("div",{}),W(Bo,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer})]})]})},qo=Nf(null),$o=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,onInitialQuestionConsumed:o,children:s,threadId:r,onThreadIdChange:i})=>{let[a,d]=nt(null),l=r!==void 0?r:a,c=H=>{i&&i(H),r===void 0&&d(H)},p=A(bt),[u,m]=nt(!1),[f,g]=nt(!1),[y,v]=nt(null),[x,w]=nt(!!n),[T,k]=nt(null),E=_f(),I=q(),B=bn(H=>{if(!t)throw new Error("No knowledge assistant was defined");return v(null),e({assistantCode:t,input:H,threadId:l,onNewThreadId(oe){c(oe)}})},{onSuccess(H){var oe;I("Assistant response displayed",{evaluationId:H.evaluationId,assistantCode:t,assistantOutput:H.answer.answer,input:H.question,sources:(oe=H.answer.sources)!=null?oe:[]}),w(!1)},onError(H){var oe;v((oe=H.message)!=null?oe:"Unknown error")}}),Z=()=>{l&&E(xl(l)),t&&E(wl({assistantCode:t})),c(null),t&&I("Assistant thread reset",{threadId:l!=null?l:void 0,assistantCode:t})},se=bn(yl,{onSuccess(){Z()},onError(){v(p("resetError"))}}),N=H=>S(null,null,function*(){m(!0),k(H),yield B.call(H),m(!1),k(null)}),_={isEnabled:!!t,assistantCode:t,isSubmitting:u,isResetting:f,threadId:l,pendingInput:T,errorMessage:y,onSubmit:N,onReset(){return S(this,null,function*(){if(!f){if(v(null),!t){Z();return}g(!0),yield se.call({assistantCode:t}),g(!1)}})}};return Df(()=>{!n||!_.isEnabled||N(n).finally(()=>{o==null||o()})},[n,t,_.isEnabled,o]),W(qo.Provider,{value:_,children:s})},Go=()=>{let t=A(bt),e=C("WidgetKnowledgeAssistant",jo),n=Fr(qo),o=ed(null),[s,r]=nt(""),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?Ke("form",{className:e.form,onSubmit:a,children:[W("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting||n.isResetting,value:s,onChange:i}),W("button",{type:"submit",disabled:n.isSubmitting||n.isResetting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},Qo=({title:t,emptyState:e})=>{var f,g;let n=A(bt),o=q(),s=C("WidgetKnowledgeAssistant",jo),r=ed(null),i=Fr(qo),a=(g=Ff(gl((f=i.threadId)!=null?f:-1)))!=null?g:[],d=P("hasKeyboardInput"),l=ie(),c=(y,v)=>{ke(y),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:y,copiedText:y,evaluationId:v.evaluationId})},p=(y,v)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:v.evaluationId,assistantCode:i.assistantCode,source:y})},u=y=>{y.preventDefault(),i.onReset()},m=(y,v)=>{l.send(Fe,{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:Ke(Of,{children:[W(Oe,{type:"knowledge",title:t,"data-testid":"knowledge",children:Ke(te,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&W(Kf,h({},e)),a.map((y,v)=>W(Uf,{innerRef:v===a.length-1?r:void 0,item:y,hasKeyboardInput:d,onCopy:x=>c(x,y),onUse:x=>m(x,y),onSourceClick:x=>p(x,y)},`${y.question}_${y.answer}_${v}`)),i.pendingInput&&W(Vo,{title:i.pendingInput}),i.errorMessage&&W(Yl,{message:i.errorMessage})]})}),a.length>0&&W("div",{className:s.resetContainer,children:W(M.Button,{disabled:i.threadId===null||i.isSubmitting||i.isResetting,onClick:u,children:n("resetLabel")})})]})};import{createRoot as at}from"react-dom/client";import Gf from"react";function Xo(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}var nd="queueMicrotask error",Wf=1e3,zf=8e3;function Vf(t){return Xo(t)&&t.name==="TypeError"&&typeof t.message=="string"&&/queueMicrotask/.test(t.message)}function jf(){try{return typeof window=="undefined"?"no-window":typeof window.queueMicrotask}catch(t){return"inaccessible"}}function qf(){try{return typeof globalThis.queueMicrotask}catch(t){return"inaccessible"}}function $f(t){return{message:String(t.message).slice(0,Wf),stack:typeof t.stack=="string"?t.stack.slice(0,zf):null,typeofQueueMicrotask:typeof queueMicrotask,typeofWindowQueueMicrotask:jf(),typeofGlobalThisQueueMicrotask:qf()}}function od(t,e){try{if(!Vf(t))return!1;let n=e($f(t));return Promise.resolve(n).catch(()=>{}),!0}catch(n){return!1}}var Jo=class extends Gf.Component{constructor(){super(...arguments);this.state={error:null,caught:!1,rethrow:!1}}static getDerivedStateFromError(n){return{error:n,caught:!0}}componentDidCatch(n){od(n,this.props.report),this.setState({rethrow:!0})}render(){if(this.state.rethrow)throw this.state.error;return this.state.caught?null:this.props.children}};import{Fragment as Hy}from"react";import{useSelector as cd}from"react-redux";import Br from"classnames";import{useCallback as ld,useEffect as oh,useMemo as sh,useState as Kr}from"react";import{useDispatch as rh,useSelector as ih}from"react-redux";import{useEffect as Qf,useRef as Xf}from"react";var sd={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as rd}from"react/jsx-runtime";var Jf=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=Xf(null),l=C("Dialog",sd),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&o()};return Qf(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?rd("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:rd("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},Gt=Jf;import Zf from"classnames";var id={root:"dd-ranhW"};import{jsx as eh}from"react/jsx-runtime";var Yf=o=>{var s=o,{className:t,value:e}=s,n=D(s,["className","value"]);let r=C("TextInput",id);return eh("input",h({className:Zf(t,r.root),type:"text",value:e},n))},On=Yf;var Hr={};G(Hr,{enUS:()=>th,nlNL:()=>nh});var th={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"}]},nh={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 ad={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 ae,jsxs as Zo}from"react/jsx-runtime";var ah=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},lh=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=A(Hr),i=C("LoginTokenDialog",ad),a=ih(da),d=rh(),l=P("productName"),[c,p]=Kr(t||""),[u,m]=Kr(0),[f,g]=Kr(""),y=ld(T=>S(null,null,function*(){T.preventDefault(),d(pa({email:c})),m(1)}),[n,c]),v=()=>{g(""),m(0)},x=ld(T=>S(null,null,function*(){T.preventDefault();let k=ah(T.target.elements.token.value);if(!k){g(r("verifyCodeError",{login:w}));return}d(mn({token:k}))}),[n]),w=sh(()=>T=>ae("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:v,children:T},"back-button"),[]);return oh(()=>{a==="error"&&g(r("verifyCodeError",{login:w})),a==="done"&&o()},[a]),ae(Gt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Zo("div",{className:i.root,children:[ae("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&Zo("form",{onSubmit:y,children:[ae("h2",{className:i.subtitle,children:r("requestCodeTitle")}),ae("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),ae(On,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:T=>p(T.target.value)}),ae("div",{className:i.actions,children:ae("button",{type:"submit",className:Br(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&Zo("form",{onSubmit:x,children:[ae("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),ae("p",{className:i.text,children:r("verifyCodeBody")}),ae(On,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&ae("div",{className:i.errorMessage,children:f}),Zo("div",{className:i.actions,children:[ae("button",{type:"button",className:Br(i.button),onClick:v,children:r("back")}),ae("button",{type:"submit",className:Br(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},dd=lh;import{jsx as ch}from"react/jsx-runtime";var dh=()=>{let t=cd(ca),e=cd(Kt),n=P("adminUrl"),o=ie(),s=()=>o.send(Wt,!1),r=()=>{o.send(Wt,!1),o.send(xn)};return ch(dd,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},ud=dh;import Iy from"lodash.debounce";import{Fragment as Ay,useCallback as oc,useEffect as sc,useMemo as Ly,useState as ei}from"react";import{useDispatch as My,useSelector as wt}from"react-redux";import{createAsyncThunk as uh,createSlice as ph}from"@reduxjs/toolkit";var gh={data:null,fetchState:"idle"},pd=t=>t.contentTypes.data,Dn=uh("contentTypes/getContentTypes",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),mh=ph({name:"contentTypes",initialState:gh,reducers:{},extraReducers:t=>{t.addCase(Dn.pending,e=>{e.fetchState="loading"}).addCase(Dn.rejected,e=>{e.fetchState="error"}).addCase(Dn.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),gd=mh.reducer;import{createAction as fh,createAsyncThunk as hh,createSelector as fd,createSlice as yh}from"@reduxjs/toolkit";var vh={data:null,fetchState:"idle",generation:0,inFlightRequestId:null},md=t=>{t.data=null,t.fetchState="idle",t.generation+=1,t.inFlightRequestId=null},Sh=[],me=t=>t.profile.data,xh=t=>t.profile.data?t.profile.data.uiConfig.widget.types:Sh,Fn=fd([xh],t=>t.filter(e=>e.isActive)),hd=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||[]},yd=t=>e=>Fn(e).find(n=>n.type===t),vd=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,Sd=fd([me],t=>{var o;let e=(o=t==null?void 0:t.widgetInteractiveAssistants)!=null?o:[];if(e.length>0)return[...e].sort((s,r)=>s.order-r.order||s.code.localeCompare(r.code));let n=t==null?void 0:t.knowledgeAssistantNew;return n?[{code:n,name:n,displayName:null,order:0}]:[]});var Qt="stale-profile-request",Ur=fh("profile/clear"),_n=hh("profile/getProfile",(t,e)=>S(null,null,function*(){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");let r=s.profileCode,i=s.id,a=o.profile.generation,d=()=>{let p=e.getState(),u=p.conversation.current;return!u||u.id!==i||u.profileCode!==r||p.profile.generation!==a},l=e.getState().profile.data;if((l==null?void 0:l.code)===r)return d()?e.rejectWithValue(Qt):l;let c;try{c=yield n.getProfile(r)}catch(p){if(d())return e.rejectWithValue(Qt);throw p}if(d())return e.rejectWithValue(Qt);if(c.code!==r)throw new Error(`Profile response code "${c.code}" does not match requested "${r}"`);return c})),bh=yh({name:"profile",initialState:vh,reducers:{},extraReducers:t=>{t.addCase(_n.pending,(e,n)=>{e.fetchState="loading",e.inFlightRequestId=n.meta.requestId}).addCase(_n.rejected,(e,n)=>{if(n.payload===Qt){if(n.meta.requestId!==e.inFlightRequestId)return;e.inFlightRequestId=null,e.fetchState="idle";return}n.meta.requestId===e.inFlightRequestId&&(e.fetchState="error",e.inFlightRequestId=null)}).addCase(_n.fulfilled,(e,n)=>{n.meta.requestId===e.inFlightRequestId&&(e.fetchState="done",e.data=n.payload,e.inFlightRequestId=null)}).addCase(z,md).addCase(Ur,md)}}),xd=bh.reducer;import{useEffect as Hd,useState as $h,useRef as Gh,useCallback as Qh}from"react";import{useState as Th}from"react";import Wr from"classnames";var ue={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 Ue={};G(Ue,{enUS:()=>Ch,nlNL:()=>wh});var Ch={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"}]},wh={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 Hn,jsxs as kh}from"react/jsx-runtime";var Eh=({src:t,title:e})=>{let n=C("CommandPalette",ue),[o,s]=Th("loading"),r=A(Ue);return kh("div",{className:n.image,children:[Hn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Wr(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&Hn("span",{className:Wr(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&Hn("span",{className:Wr(n.imageSrc,n.imageSrcStatus),children:Hn(no,{})}),e&&Hn("span",{className:n.imageTitle,children:e})]})},bd=Eh;import Ph from"react";import Rh from"classnames";import{jsx as zr,jsxs as Cd}from"react/jsx-runtime";function Vr({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=A(Ue),i=C("CommandPalette",ue);return Ph.Children.count(t)===0?null:Cd("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&Cd("div",{className:i.listHeader,children:[e&&zr("h4",{className:i.listHeading,children:e}),o&&s&&zr("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),zr("div",{className:Rh(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import es from"classnames";import{Interweave as Pd}from"interweave";import{useEffect as Fh,useMemo as Rd,useState as Id}from"react";var Ih=/[.*+?^${}()|[\]\\]/g,Ah=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Lh(t){return t.replace(Ih,"\\$&")}function Mh(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function Nh(t){return t.search(Ah)}function wd(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${Lh(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function Td(t){return t.replace(io,'<mark data-type="placeholder">$1</mark>')}function Bn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Oh(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 jr(t,e,n={}){if(e){let o=Mh(e.toLowerCase(),t.toLowerCase()),s=Bn(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=Nh(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(ia).length>3||e.length>30?Oh(e.trim(),o):0;return`${`${i>0?"\u2026":""}${Bn(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Dh=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Yo(t){return Dh.test(t)}function qr(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import $r from"react";import{jsx as _h}from"react/jsx-runtime";var Ed=$r.createContext(void 0);function Xt(){let t=$r.useContext(Ed);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var kd=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=$r.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return _h(Ed.Provider,{value:i,children:t})};import{jsx as We,jsxs as ts}from"react/jsx-runtime";var Hh=3,Bh=90,Ad=({children:t})=>{let e=C("CommandPalette",ue);return We("div",{className:e.listItemActions,children:t})};function Gr(m){var f=m,{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=Hh}=f,u=D(f,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var se;let g=A(Ue),[y,v]=Id(!1),{selected:x,onChangeOpen:w}=Xt(),[T,k]=Id(!1),E=C("CommandPalette",ue);function I(N){s(N),t&&w(!1)}let B=Rd(()=>typeof a!="string"?a:Yo(a)?qr(a).trim():a,[a]),Z=Rd(()=>typeof n!="string"?n:Yo(n)?qr(n).trim():n,[n]);return Fh(()=>{k(x===l)},[x]),ts("div",{className:es(E.listItem,l===x&&E.listItemSelected),children:[ts(V,{placement:"right-start",tooltip:!0,onOpenChange:k,open:T,children:[We(V.Trigger,b(h({className:E.listItemAction,"aria-disabled":(se=u.disabled)!=null?se:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},u),{children:ts("div",{className:E.listItemContent,children:[typeof o=="string"?We("p",{className:es(E.listItemText,E.truncate,c==null?void 0:c.title),children:o}):o,B&&typeof B=="string"?We(Pd,{tagName:"p",allowList:[],content:B,className:es(E.listItemDescription,c==null?void 0:c.description,e?E.lineClamp:E.truncate)}):a]})})),Z&&Z.length>Bh&&We(V.Content,{className:E.listItemTooltip,disableFocusManager:!0,children:We(Pd,{className:E.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:Z.replace(/\n/g,"<br />")})})]}),l===x&&r,d&&d.length>0&&ts("div",{className:E.sources,children:[We("span",{className:E.sourcesTitle,children:g("sources")}),d.slice(0,y?d.length:p).map(N=>We("a",{className:E.source,href:N.url,target:"_blank",title:N.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(N),children:N.name},N.url)),!y&&d.length>p&&We("button",{className:es(E.source,E.sourceShowMore),type:"button",onClick:()=>v(!0),children:g("showMore",{amount:d.length-p})})]})]})}import{jsx as Ld,jsxs as Kh}from"react/jsx-runtime";var Md=()=>Kh("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ld("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ld("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 Nd,jsxs as Qr}from"react/jsx-runtime";function Xr({children:t,title:e,id:n,onDismiss:o}){let s=A(Ue),r=C("CommandPalette",ue),{page:i}=Xt();return i!==n?null:Qr("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&Qr("div",{className:r.pageNav,children:[Qr("button",{className:r.pageBackButton,type:"button",onClick:o,children:[Nd(Md,{}),s("back")]}),e&&Nd("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Wh}from"react";import{jsx as Od,jsxs as Uh}from"react/jsx-runtime";var Jt=()=>Uh("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Od("path",{d:"M0 0h24v24H0z",fill:"none"}),Od("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 Zt,jsxs as Jr}from"react/jsx-runtime";function zh({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=C("CommandPalette",ue);return Jr("div",{className:d.search,children:[Zt("div",{className:d.searchIcon,children:Zt(Jt,{})}),Jr("div",{className:d.searchInputWrapper,children:[Zt("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&&Zt("div",{className:d.selectWrapper,children:Jr("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&&Zt("option",{children:o}),s.map(l=>Zt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Dd=Wh(zh);import _d from"classnames";import{jsx as jh,jsxs as qh}from"react/jsx-runtime";var Vh=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=D(r,["onClick","shortKeys","children"]);let i=C("CommandPalette",ue);return qh("button",b(h({type:"button"},o),{onClick:t,className:_d(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>jh("span",{className:_d(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Fd=Vh;import{jsx as Bd,jsxs as Jh}from"react/jsx-runtime";var Xh="[data-command-palette-item]";function Ct({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:m=[]}){let[f,g]=$h(),y=Gh(null),v=()=>{s&&s(n),i(void 0),r(""),a(!1)},x=()=>{var N;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(N=y.current)==null||N.focus();return}if(u.length>0){r("");return}a(!1)},w=()=>{let N=T();N.length!==0&&g(N[0].dataset.itemId)},T=()=>Array.from(document.querySelectorAll(Xh)||[]),k=N=>document.querySelector(`[data-item-id=${N}]`),E=N=>{let _=k(N);_&&g(_.dataset.itemId)},I=N=>{let _=k(N);_&&_.scrollIntoView({behavior:"smooth"})},B=()=>{if(!f)return;let N=T(),_=k(f);if(!_)return;let Ee=N.indexOf(_),H=N[Ee+1];H!=null&&H.dataset.itemId?E(H.dataset.itemId):w()},Z=()=>{if(!f)return;let N=T(),_=k(f);if(!_)return;let Ee=N.indexOf(_),H=N[Ee-1];H!=null&&H.dataset.itemId?E(H.dataset.itemId):E(N[N.length-1].dataset.itemId)},se=Qh(N=>{switch(N.key){case"ArrowDown":{N.preventDefault(),B();break}case"ArrowUp":{N.preventDefault(),Z();break}case"Enter":{if(f){let _=k(f);_==null||_.click()}break}}},[f]);return Hd(()=>{w()},[u,o,d,p,...m]),Hd(()=>{f&&I(f)},[f]),Bd(Gt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:x,onClose:v,onKeyDown:se,children:Jh(kd,{selected:f,setSelected:g,isOpen:p,onChangeOpen:a,page:o,children:[o===n&&Bd(Dd,{ref:y,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}Ct.Page=Xr;Ct.List=Vr;Ct.Image=bd;Ct.ListItem=Gr;Ct.ListItemActions=Ad;Ct.Button=Fd;var Q=Ct;import{useEffect as Zh}from"react";function Kd(t,e){Zh(()=>{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 Vd,useRef as ay}from"react";import{useSelector as ly,useDispatch as dy}from"react-redux";import{createAsyncThunk as Yh,createSelector as ey,createSlice as ty}from"@reduxjs/toolkit";var Ud={data:null,fetchState:"idle"},ny=t=>{var e;return(e=t.entities.data)!=null?e:null},ns=ey([ny,Kt,Fa],(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}),Se=Yh("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)})),oy=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),sy=ty({name:"entities",initialState:Ud,reducers:{},extraReducers:t=>{t.addCase(Se.pending,e=>{e.fetchState="loading"}).addCase(Se.rejected,e=>{e.fetchState="error"}).addCase(Se.fulfilled,(e,n)=>{e.fetchState="done",e.data=oy(e.data?[...e.data,...n.payload]:n.payload)}).addCase(z,()=>Ud)}}),Wd=sy.reducer;var Zr={};G(Zr,{enUS:()=>ry,nlNL:()=>iy});var ry={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},iy={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var zd={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Yr,jsxs as uy}from"react/jsx-runtime";var cy=({onCopy:t})=>{let e=ay(null),n=C("EntitiesList",zd),o=ly(ns),{setSelected:s}=Xt(),r=A(Zr),i=dy();return Vd(()=>{i(Se())},[]),Vd(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),uy("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&Yr(Q.List,{children:o.map((a,d)=>Yr(Q.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&Yr("p",{className:n.empty,children:r("noResults")})]})},jd=cy;import{jsx as qd}from"react/jsx-runtime";var os=t=>qd("svg",b(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:qd("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 Kn={};G(Kn,{enUS:()=>py,nlNL:()=>gy});var py={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"}]},gy={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 my}from"react-redux";var Un={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as Wn,jsxs as hy}from"react/jsx-runtime";var fy=({suggestion:t,source:e,context:n})=>{let o=A(Kn),s=my(pe),r=q(),i=P("enableSuggestionFeedback"),a=_o({conversationId:s,type:e,contentType:"text",content:t.text,data:n?JSON.stringify({context:n}):void 0}),d=Fo(a),l=()=>S(null,null,function*(){r("suggestion feedback",{text:t.text,source:e,context:n}),d.mode==="custom-handler"&&(yield d.open())});return!i||d.mode==="disabled"?null:hy(V,{placement:"top-end",children:[Wn(V.Trigger,{className:Un.trigger,children:Wn(os,{"data-testid":"feedback-dropdown-trigger"})}),Wn(V.Content,{className:Un.content,children:d.mode==="custom-handler"?Wn(V.Button,{className:Un.item,onClick:l,children:o("giveFeedback")}):Wn(V.Button,{className:Un.item,as:"a",onClick:l,target:"_blank",rel:"noreferrer noopener",href:d.href,children:o("giveFeedback")})})]})},ss=fy;var zn={};G(zn,{enUS:()=>yy,nlNL:()=>vy});var yy={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?"}]},vy={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 wy}from"react";import{useDispatch as Ty,useSelector as Ey}from"react-redux";import{createAction as by,createAsyncThunk as Xd,createSlice as Cy}from"@reduxjs/toolkit";var Sy=["{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}"],xy=new RegExp(Sy.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function $d(t,e){let n=t.split(xy),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 Gd(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Jd={suggestions:[],fetchState:"idle"},Qd={default:Jd},Zd=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},rs=t=>t.textSuggestions,Yd=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},is=by("textSuggestions/refresh"),xe=Xd("textSuggestions/recommendations",(t,e)=>S(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=ct(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 m=(u=o.profile.data)==null?void 0:u.code;if(!m)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(m)}else l=yield n.getTextSuggestions(d,Sn(o),t);if(s&&(l=l.map(m=>h(b(h({},m),{text:ye(m.text,s)}),m.title?{title:ye(m.title,s)}:{}))),t==="default"){let m=i?l.filter(Yd(a)):l;e.dispatch(Ze(m.slice(0,r)))}return l})),Vn=Xd("textSuggestions/autocompletions",(t,e)=>S(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,b(h({},Sn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Yd(t))),r&&(l=l.map(u=>b(h({},u),{text:ye(u.text,r)}))),a&&(l=l.map(u=>b(h({},u),{text:u.source!=="trie-with-typos"?$d(u.text,t):u.text}))),l=Gd(l,i),e.dispatch(Ze(l)),l})),ec=Cy({name:"textSuggestions",initialState:Qd,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(xe.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||Jd;return b(h({},e),{[o]:b(h({},s),{fetchState:"loading"})})}).addCase(xe.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(xe.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(Vn.pending,e=>{e.default.fetchState="loading"}).addCase(Vn.rejected,e=>{e.default.fetchState="error"}).addCase(Vn.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase(z,()=>Qd)}}),{setTextSuggestions:NA}=ec.actions,tc=ec.reducer;import{jsx as as,jsxs as Py}from"react/jsx-runtime";var ky=({types:t,commands:e,onClick:n})=>{let o=Ty(),s=A(zn),r=Ey(rs);return wy(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(xe(i))})},[]),Py("div",{children:[e.length>0&&as(Q.List,{heading:s("commands"),children:e.map((i,a)=>as(Q.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return as(Q.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>as(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)})]})},nc=ky;import{jsx as Ie,jsxs as ni}from"react/jsx-runtime";var Ny=200,Oy=5,Dy=4,ti=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?Dy:Oy),_y=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Fy=()=>{var Ee,H,oe;let t=My(),e=ie(),n=A(zn),[o,s]=ei(!1),[r,i]=ei(""),a=wt($a),d=wt(me),[l,c]=ei(),p=wt(Y),u=P("showSearch"),m=P("enableSuggestionFeedback"),f=P("showEntitiesCommand"),g=P("showImageSearch"),y=P("searchTriggerKey"),v=wt(pd),x=wt(ar),w=wt(Ga),T=wt(qa),k=((oe=(H=(Ee=d==null?void 0:d.uiConfig)==null?void 0:Ee.search)==null?void 0:H.initialTypes)==null?void 0:oe.filter(({isActive:O})=>O))||[],E=q(),I=Ly(()=>{let O=re=>ti(x.filter($=>$.type===re.toUpperCase()),re,l),j=(v==null?void 0:v.map(re=>({value:re.code.toUpperCase(),label:`${re.name}s`,list:O(re.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(j.push({value:"PERSONAL",label:n("personalSuggestions"),list:O("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:O("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:O("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),g&&j.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:O("IMAGE"),listOrientation:"horizontal"}),k.length===0)return j;let Ne=k.map(re=>j.find($=>$.value.toLowerCase()===re.type)).filter(re=>!!re),Lt=j.filter(re=>!Ne.find($=>$.value===re.value));return[...Ne,...Lt]},[v,k,g,l]),B=[{label:n("entitiesClipboard"),onClick:()=>t(Ut("entities")),shouldShow:f&&_y(n("entitiesClipboard"),r)}].filter(O=>O.shouldShow).filter(()=>!l),Z=oc(Iy((O,j)=>{t(mt({query:O,type:j,tags:["search-overlay"],size:l?50:20}))},Ny),[l]),se=oc((O,j)=>{j.type==="IMAGE"?e.send(dr,{suggestion:j}):e.send(Fe,{text:O,suggestion:j}),t(ve(!1))},[t]),N=O=>{ke(O.text),E("entity copied",{entity:O,type:"copy"}),t(ve(!1))};function _(O){return j=>{o?window.confirm(n("warning"))&&(O(j),s(!1)):O(j)}}return sc(()=>{r?Z(r,l):t(Co())},[r,l]),sc(()=>{p&&t(Dn())},[p]),Kd(y,()=>{t(ve(!0)),E("open search",{via:"ctrl+k"})}),!u||!d?null:ni(Q,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:_(O=>t(ve(O))),onChangeType:O=>c(O),onChangePage:_(O=>t(Ut(O))),selectedType:l,search:r,page:a,isOpen:T,types:I,updateDeps:[x],children:[ni(Q.Page,{id:"search",children:[r.length===0&&Ie(nc,{types:k,commands:B,onClick:se}),r.length>0&&ni(Ay,{children:[B.length>0&&Ie(Q.List,{heading:n("commands"),children:B.map((O,j)=>Ie(Q.ListItem,{closeOnSelect:!1,onClick:O.onClick,id:`commands-${j}`,children:O.label},O.label))}),I.map(({value:O,label:j,list:Ne,lineClamp:Lt,listOrientation:re})=>Ie(Q.List,{heading:j,orientation:re==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(O),hasMore:!l&&w[O.toLowerCase()]>ti(Ne,O,l).length,children:ti(Ne,O,l).map($=>Ie(Q.ListItem,{id:`${O}-${$.id}`,closeOnSelect:!1,lineClamp:Lt,onClick:()=>se($.text,$),description:O!=="IMAGE"?$.title&&$.text:void 0,tooltip:$.text,extra:m&&Ie(Q.ListItemActions,{children:Ie(ss,{context:r,source:"search",suggestion:$})}),children:O==="IMAGE"?Ie(Q.Image,{title:$.title||$.text,src:$.image}):$.title||$.text},`${$.id}-${$.text}`))},O))]})]}),Ie(Q.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:_(()=>{t(Ut("search"))}),children:Ie(jd,{onCopy:N})})]})},rc=Fy;import{jsx as ic,jsxs as Ky}from"react/jsx-runtime";var By=()=>{let t=P("showSearch"),e=P("isEmbedded");return Ky(Hy,{children:[t&&ic(rc,{}),e&&ic(ud,{})]})},ac=By;import Vy from"classnames";import{useSelector as jy}from"react-redux";import{jsx as oi}from"react/jsx-runtime";var lc=({className:t})=>oi("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:oi("g",{children:oi("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
|
+
`,yt.MISSING_INTL_API,i);var E=n.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));b=c.options[E]||c.options.other}if(!b)throw new Er(c.value,u,Object.keys(c.options),i);a.push.apply(a,_n(b.value,e,n,o,s,u-(c.offset||0)));continue}}return wm(a)}function Em(t,e){return e?ue(ue(ue({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=ue(ue({},t[o]),e[o]||{}),n},{})):t}function km(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=Em(t[o],e[o]),n},ue({},t)):t}function kr(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function Rm(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Oo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,Mo([void 0],n,!1)))},{cache:kr(t.number),strategy:No.variadic}),getDateTimeFormat:Oo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,Mo([void 0],n,!1)))},{cache:kr(t.dateTime),strategy:No.variadic}),getPluralRules:Oo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,Mo([void 0],n,!1)))},{cache:kr(t.pluralRules),strategy:No.variadic})}}var Rr=(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,m){return!u.length||m.type!==oe.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return _n(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=ul(i,["formatters"]);this.ast=t.__parse(e,ue(ue({},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=km(t.formats,o),this.formatters=s&&s.formatters||Rm(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=fl,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 Am(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var Lm="dummy",Pr=Pm(null);function A(t){var o;let e=Im(Pr);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=Am(n,s);return i?new Rr(i).format(r):(e!==Lm&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{createAction as bl,createAsyncThunk as Lr,createSlice as Om}from"@reduxjs/toolkit";import{Marked as Mm}from"marked";var Bo=(t,e)=>{let n=[],o=new Mm,s=r=>{r.type==="code"&&r.lang===e&&n.push(r.text)};return o.use({walkTokens:s}),o.parse(t),n};var Ir=new Map;function vl(t){var e;return t&&(e=Ir.get(t))!=null?e:null}function Sl(t){if(!t)return()=>{};let e,n=new Promise(o=>{e=o});return Ir.set(t,n),o=>{Ir.delete(t),e(o)}}function Mr(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 Ar={cues:[],threads:{},pending:[],widgetAssistantSessionId:null,assistantThreads:{},activeAssistantCode:null,nextLocalThreadId:1,suppressedEvaluationIds:[],suppressedSilentParentKeys:[],assistantDisplayGeneration:0,pendingEvaluationGenerations:{},pendingEvaluationAssistantCodes:{},evaluationIdDisplayGeneration:{}};function Nm(t,e){t.suppressedEvaluationIds.includes(e)||t.suppressedEvaluationIds.push(e)}function Cl(t,e){return`${t}
|
|
4
|
+
${e}`}function Dm(t,e,n){let o=Cl(e,n);t.suppressedSilentParentKeys.includes(o)||t.suppressedSilentParentKeys.push(o)}function _m(t,e,n){return e?t.suppressedSilentParentKeys.includes(Cl(e,n)):!1}function xl(t,e,n){if(!e)return!1;if(wl(t,e)||_m(t,e,n))return!0;let o=t.assistantDisplayGeneration,s=t.evaluationIdDisplayGeneration[e];if(s!==void 0)return s!==o;let r=Object.entries(t.pendingEvaluationAssistantCodes).filter(([,d])=>d===n).map(([d])=>t.pendingEvaluationGenerations[d]).filter(d=>d!==void 0),i=r.some(d=>d<o),a=r.some(d=>d===o);return i&&a?!0:i&&!a?(Nm(t,e),!0):(t.evaluationIdDisplayGeneration[e]=o,!1)}function Fm(t){let e=[...t.suppressedEvaluationIds];for(let n of t.cues)n.evaluationId&&!e.includes(n.evaluationId)&&e.push(n.evaluationId);return e}function wl(t,e){return!!(e&&t.suppressedEvaluationIds.includes(e))}var Tl=t=>{var e;return(e=t.assistants)==null?void 0:e.cues};var El=t=>e=>{var n,o;return(o=(n=e.assistants)==null?void 0:n.threads[t])!=null?o:null},kl=t=>{var n,o;let e=t.assistants.activeAssistantCode;return e&&(o=(n=t.assistants.assistantThreads[e])==null?void 0:n.threadId)!=null?o:null},Rl=t=>t.assistants.activeAssistantCode;var Uo=bl("assistants/callToAction"),Fn=Lr("assistants/evaluateKnowledgeAssistant",(t,e)=>S(null,null,function*(){var f,g,y,v,x,b,E,k,T,I,M,q,Q,O;let{threadId:n}=t,{deepdeskAPI:o}=e.extra,s=e.getState(),{platformVariables:r}=s.info,i=(g=(f=s.conversation.current)==null?void 0:f.externalId)!=null?g:null,a=(v=(y=t.externalConversationId)!=null?y:i)!=null?v:void 0;if((x=t.attachments)!=null&&x.length)throw new Error("Attachments are not supported for widget assistant interact; use evaluateAssistant instead.");let d=(E=(b=s.assistants.widgetAssistantSessionId)!=null?b:Sn(a))!=null?E:void 0;if(!d&&a){let F=vl(a);F&&(d=(k=yield F)!=null?k:void 0)}let l=!d&&a?Sl(a):null;if(!n){let F=(T=s.assistants.assistantThreads[t.assistantCode])==null?void 0:T.threadId;F?n=F:(n=s.assistants.nextLocalThreadId,e.dispatch(Dr({assistantCode:t.assistantCode,threadId:n})))}if(n==null)throw new Error("Failed to resolve thread id for widget assistant interact");let c;try{c=yield o.interactWithAssistant({assistantCode:t.assistantCode,message:t.input,sessionId:d,externalConversationId:a})}catch(F){throw l==null||l(void 0),F}let p=(M=(I=e.getState().conversation.current)==null?void 0:I.externalId)!=null?M:null;if(a&&i&&a!==p)throw l==null||l(void 0),new Error("Conversation changed before interact completed");if(c.sessionId?(e.dispatch(Nr(c.sessionId)),Ia(a,c.sessionId),l==null||l(c.sessionId)):l==null||l(d),c.evaluationStatus!=="success")throw new Error(`Assistant ${t.assistantCode} evaluation failed: ${c.evaluationStatus}`);let m=(q=Pl(c,t.assistantCode)[0])!=null?q:{response:"",sources:[]};return t.onNewThreadId&&t.onNewThreadId(n),{threadId:n,question:t.input,evaluationId:c.evaluationId,answer:{answer:(Q=Se(m.response,r!=null?r:{}))!=null?Q:"",sources:(O=m.sources)!=null?O:[]},externalConversationId:a,currentExternalIdAtRequest:i}})),ZT=bl("assistants/extractedTextSuggestions");function Pl(t,e){var n,o;return Array.isArray(t.output)?t.output:typeof t.output=="string"?[{code:e,name:e,response:t.output}]:[C(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:""})]}function Hm(t){var e,n,o;return!!((e=t.response)!=null&&e.trim()||t.message||t.callToAction||(n=t.callToActions)!=null&&n.length||(o=t.sources)!=null&&o.length)}var Il=Lr("assistants/resetKnowledgeAssistantThread",(t,e)=>S(null,null,function*(){var i,a,d;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(a=(i=o.conversation.current)==null?void 0:i.externalId)!=null?a:void 0,r=(d=o.assistants.widgetAssistantSessionId)!=null?d:Sn(s);r&&(yield n.resetAssistantThread({assistantCode:t.assistantCode,sessionId:r}))})),pe=Lr("assistants/evaluate",(t,e)=>S(null,null,function*(){var b,E,k,T,I;let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra,{transcript:s,input:r={},threadId:i,attachments:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(E=(b=d.conversation.current)==null?void 0:b.externalId)!=null?E:null,p=(T=(k=t.externalConversationId)!=null?k:c)!=null?T: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 M=yield o.conversationQuery();u=Array.isArray(M)?M:void 0}else Array.isArray(s)&&(u=s);if(t.includeMetadata&&d.conversation.current&&((I=t.externalConversationId)!=null?I:c)===c){let{metadata:q}=d.conversation.current;Object.assign(r,{metadata:q})}let m=Mr({attachments:a,transcript:u}),f=yield n.evaluateAssistant(t.assistantCode,h({input:r,transcript:u,externalConversationId:p,threadId:i},m.length>0?{attachments:m}:{}));if(f.evaluationStatus!=="success")return e.rejectWithValue(`Assistant ${t.assistantCode} evaluation failed: ${f.evaluationStatus}`);let g=!!(f.isSilent||t.silent),y=Pl(f,t.assistantCode);!g&&!y.some(Hm)&&R.warn(`Assistant ${t.assistantCode} returned empty output`);let v=y.map(M=>C(h({},M),{name:Se(M.name,l),response:Se(M.response,l)||""})),x=[];return v.forEach(M=>{if(!M.response)return;let q=Bo(M.response,"reply");q.length!==0&&x.push(...q.map(Q=>({text:Q,type:"text",source:"assistant",assistantCode:M.code,sourceLabel:M.name})))}),x.length>0&&e.dispatch(Kt(x)),C(h({},f),{output:v,isSilent:g,externalConversationId:p,currentExternalIdAtRequest:c})}));function Al(t){return t!=null&&t.length?t.map(e=>e.response).filter(Boolean).join(`
|
|
5
|
+
`):""}var Ll=Om({name:"assistants",initialState:Ar,reducers:{resetCues(t){t.cues=[]},setActiveAssistantCode(t,e){t.activeAssistantCode=e.payload},setWidgetAssistantSessionId(t,e){t.widgetAssistantSessionId=e.payload},registerAssistantThreadId(t,e){let{assistantCode:n,threadId:o}=e.payload;t.assistantThreads[n]={threadId:o},o>=t.nextLocalThreadId&&(t.nextLocalThreadId=o+1)},resetAssistantThread(t,e){let n=t.assistantThreads[e.payload.assistantCode];n&&(delete t.threads[n.threadId],delete t.assistantThreads[e.payload.assistantCode])},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;if(xl(t,r,n))return;let 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{code:n,name:o,evaluationId:s,payload:r}=e.payload;if(xl(t,s,n))return;let i=t.cues.find(c=>c.code===e.payload.code),a=t.cues.filter(c=>c.code!==e.payload.code),{callToAction:d}=r,l=r.sources!==void 0?r.sources.filter(c=>!!c.url):i==null?void 0:i.sources;t.cues=[...a,C(h({code:n,name:o,evaluationId:s,response:r.message,editable:r.editableMessage},l!=null&&l.length?{sources:l}:{}),{callToAction:d&&{label:d.displayName,event:d.onClickEvent,value:d.eventPayload}})]}},extraReducers:t=>{t.addCase(pe.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&R.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode),e.pendingEvaluationGenerations[n.meta.requestId]=e.assistantDisplayGeneration,e.pendingEvaluationAssistantCodes[n.meta.requestId]=n.meta.arg.assistantCode}).addCase(pe.rejected,(e,n)=>{var r;R.warn((r=n.error)==null?void 0:r.message);let o=e.pendingEvaluationGenerations[n.meta.requestId];if(delete e.pendingEvaluationGenerations[n.meta.requestId],delete e.pendingEvaluationAssistantCodes[n.meta.requestId],o!==void 0&&o!==e.assistantDisplayGeneration)return;let s=e.pending.indexOf(n.meta.arg.assistantCode);s!==-1&&e.pending.splice(s,1)}).addCase(pe.fulfilled,(e,n)=>{let o=n.meta.arg.assistantCode,s=e.pendingEvaluationGenerations[n.meta.requestId],r=n.payload,i=r==null?void 0:r.evaluationId;i&&s!==void 0&&(e.evaluationIdDisplayGeneration[i]=s);let a=s!==void 0&&s!==e.assistantDisplayGeneration;if(!a&&i){let x=e.suppressedEvaluationIds.indexOf(i);x!==-1&&e.suppressedEvaluationIds.splice(x,1)}delete e.pendingEvaluationGenerations[n.meta.requestId],delete e.pendingEvaluationAssistantCodes[n.meta.requestId];let d=!!(r!=null&&r.isSilent)||!!n.meta.arg.silent;if(!a&&i&&d&&Dm(e,i,o),!a){let x=e.pending.indexOf(o);x!==-1&&e.pending.splice(x,1)}if(n.meta.arg.skipState||a)return;let{evaluationId:l,output:c,isSilent:p,externalConversationId:u,currentExternalIdAtRequest:m}=r;if(wl(e,l)||u&&m&&u!==m)return;let f=p||n.meta.arg.silent?c.filter(x=>x.code!==n.meta.arg.assistantCode):c,g=f.map(x=>x.code),y=e.cues.filter(x=>!g.includes(x.code)&&!((p||n.meta.arg.silent)&&x.code===o&&x.evaluationId===l)),v=f.map(x=>h(C(h({},x),{evaluationId:l}),u?{externalConversationId:u}:{}));e.cues=[...y,...v]}).addCase(Fn.fulfilled,(e,n)=>{let a=n.payload,{threadId:o,externalConversationId:s,currentExternalIdAtRequest:r}=a,i=_(a,["threadId","externalConversationId","currentExternalIdAtRequest"]);s&&r&&s!==r||(e.threads[o]=[...e.threads[o]||[],i])}).addCase(z,()=>Ar).addCase(ie,e=>C(h({},Ar),{suppressedEvaluationIds:Fm(e),suppressedSilentParentKeys:[...e.suppressedSilentParentKeys],assistantDisplayGeneration:e.assistantDisplayGeneration+1,pendingEvaluationGenerations:h({},e.pendingEvaluationGenerations),pendingEvaluationAssistantCodes:h({},e.pendingEvaluationAssistantCodes),evaluationIdDisplayGeneration:h({},e.evaluationIdDisplayGeneration)}))}}),{removeCueByCode:Ko,resetCues:YT,removeThreadById:Ml,receiveChunk:Ol,userNotification:Nl,setActiveAssistantCode:Or,setWidgetAssistantSessionId:Nr,registerAssistantThreadId:Dr,resetAssistantThread:Dl}=Ll.actions,_l=Ll.reducer;import{createSlice as Bm}from"@reduxjs/toolkit";import{useSelector as Um}from"react-redux";var Km={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},_r={showSearch:!1,showImageSearch:!1,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,recommendTextSuggestions:!0},Fl=Bm({name:"settings",initialState:Km,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}},extraReducers:t=>{t.addCase(z,e=>{Object.assign(e,_r)})}}),{set:Hn}=Fl.actions,vt=t=>e=>e.settings[t],P=t=>Um(vt(t)),Hl=Fl.reducer;function Re(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 qo from"classnames";import{useState as Gm}from"react";import{jsx as Bl}from"react/jsx-runtime";var Wo=t=>Bl("svg",C(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Bl("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 Ul}from"react/jsx-runtime";var Kl=t=>Ul("svg",C(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Ul("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 tt(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 Fr={};X(Fr,{enUS:()=>Wm,nlNL:()=>zm});var Wm={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},zm={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var Wl={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};var zl=({conversationId:t,evaluationId:e,type:n,assistantCode:o,contentType:s},r,i)=>{let a=new URLSearchParams;return t!=null&&a.set("conversationId",String(t)),e&&a.set("evaluationId",e),a.set("type",n),o&&a.set("assistantCode",o),a.set(s,r),i!==void 0&&a.set("data",i),`/admin/feedback?${a.toString()}`},zo=t=>{let e=t.content,n=zl(t,e,t.data),o=encodeURIComponent(n).length;for(;o>3e3&&e.length>0;){let s=Math.max(0,Math.floor(e.length*3e3/o)-1);e=t.content.slice(0,s),n=zl(t,e?`${e}\u2026`:"",t.data),o=encodeURIComponent(n).length}return n};import{useSelector as jm}from"react-redux";import{createContext as Vm,useContext as qm}from"react";import{jsx as $m}from"react/jsx-runtime";var Vl=Vm(null),ql=({handler:t,children:e})=>$m(Vl.Provider,{value:t!=null?t:null,children:e}),$l=()=>qm(Vl);var qt=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}`};function Vo(t){let e=P("enableFeedbackForm"),n=$l(),o=jm(qt(t));return e?n?{mode:"custom-handler",open:()=>n(t)}:o?{mode:"passwordless-link",href:o}:{mode:"disabled"}:{mode:"disabled"}}import{useSelector as Qm}from"react-redux";import{jsx as nt,jsxs as Jm}from"react/jsx-runtime";var Xm=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o})=>{let s=w("FeedbackThumbs",Wl),r=Qm(me),i=zo({conversationId:r,evaluationId:n,type:o,assistantCode:t,contentType:"assistantOutput",content:e}),a=Vo(i),d=A(Fr),l=j(),[c,p]=Gm(null),u=g=>{l("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:g})},m=g=>{g.stopPropagation(),tt(g.target,s.fadeup),p("up"),u("up")},f=g=>S(null,null,function*(){g.stopPropagation(),tt(g.target,s.fadedown),p("down"),u("down"),a.mode==="custom-handler"&&(yield a.open())});return Jm("div",{className:s.thumbs,children:[nt(N.Button,{title:d("thumbsUp"),onClick:m,icon:nt(Kl,{}),className:qo(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),a.mode==="custom-handler"?nt(N.Button,{title:d("thumbsDown"),onClick:f,icon:nt(Wo,{}),className:qo(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):a.mode==="passwordless-link"?nt(N.Button,{as:"a",title:d("thumbsDown"),href:a.href,target:"_blank",rel:"noreferrer",onClick:f,icon:nt(Wo,{}),className:qo(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):nt(N.Button,{title:d("thumbsDown"),onClick:f,icon:nt(Wo,{}),className:qo(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},$o=Xm;import Nf from"dompurify";import{marked as Df}from"marked";import{Fragment as ad,useMemo as _f,useRef as Ff,useState as Hf}from"react";import{useState as vf}from"react";import{FloatingFocusManager as Zm,FloatingPortal as Ym,autoUpdate as ef,flip as tf,offset as nf,safePolygon as of,shift as sf,useClick as rf,useDismiss as af,useFloating as lf,useHover as df,useInteractions as cf,useMergeRefs as Gl,useRole as uf}from"@floating-ui/react";import*as Pe from"react";var jo={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as ot,jsxs as jl}from"react/jsx-runtime";function pf({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=Pe.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=lf({placement:e,open:d,onOpenChange:l,whileElementsMounted:ef,middleware:[nf(5),tf({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),sf({padding:10})]}),p=c.context,u=rf(p,{enabled:s==null}),m=af(p),f=uf(p),g=df(p,{enabled:o!=null?o:!1,handleClose:of()}),y=cf([u,m,f,g]);return Pe.useMemo(()=>C(h(h({open:d,setOpen:l},y),c),{modal:n,tooltip:o}),[d,l,y,c,n,o])}var Ql=Pe.createContext(null),Hr=()=>{let t=Pe.useContext(Ql);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=_(s,["children","modal"]);let r=pf(h({modal:e},n));return ot(Ql.Provider,{value:r,children:t})};function gf(o){var s=o,{as:t,children:e}=s,n=_(s,["as","children"]);let r=Hr(),i=t||"button",a=e.ref,d=Gl([r.refs.setReference,a]);return ot(i,C(h(h({ref:d},i==="button"||t===void 0||t==="button"?{type:"button"}:{}),r.getReferenceProps(n)),{children:e}))}var mf=Pe.forwardRef(function(s,o){var r=s,{style:e}=r,n=_(r,["style"]);var c;let l=Hr(),{context:i}=l,a=_(l,["context"]),d=Gl([a.refs.setFloating,o]);return i.open?ot(Ym,{children:ot(Zm,{context:i,modal:a.modal,disabled:(c=n.disableFocusManager)!=null?c:a.tooltip,children:ot("div",C(h({ref:d,style:h(C(h({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function ff(s){var r=s,{as:t,children:e,onClick:n}=r,o=_(r,["as","children","onClick"]);let{setOpen:i}=Hr();return ot(t||"button",C(h({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function Xl({trigger:t,children:e,placement:n="top"}){return jl(St,{tooltip:!0,placement:n,children:[jl(St.Content,{className:jo.tooltip,children:[e,ot("div",{className:jo.arrow})]}),ot(St.Trigger,{className:jo.tooltipTrigger,children:t})]})}St.Trigger=gf;St.Content=mf;St.Button=ff;var V=St;var Br={};X(Br,{enUS:()=>hf,nlNL:()=>yf});var hf={showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}],showLess:[{type:0,value:"Show less"}]},yf={showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}],showLess:[{type:0,value:"Toon minder"}]};var Jl={sources:"dd-cNsGl",source:"dd-LoJ6U",tooltip:"dd-7ZGu9",linkContent:"dd-O2IoN",showMoreSources:"dd-ev8Yr"};import{jsx as $t,jsxs as Yl}from"react/jsx-runtime";var Zl=3,Sf=({sources:t,onClick:e,sourceTestId:n="assistant-source"})=>{let o=A(Br),s=w("AssistantSources",Jl),[r,i]=vf(!1),a=t.filter(c=>!!c.url),d=r?a:a.slice(0,Zl),l=a.length>Zl;return d.length===0?null:Yl("ul",{className:s.sources,children:[d.map(c=>$t("li",{className:s.source,"data-testid":n,children:Yl(V,{tooltip:!0,placement:"top-start",children:[$t(V.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:c.url,onClick:p=>{p.stopPropagation(),e==null||e(c)},children:$t("span",{className:s.linkContent,children:c.name})}),c.url&&$t(V.Content,{className:s.tooltip,children:decodeURIComponent(c.url)})]})},c.name)),l&&$t("li",{className:s.source,children:$t("button",{type:"button",className:s.showMoreSources,onClick:()=>i(c=>!c),children:r?o("showLess"):o("showMore",{amount:a.length-d.length})})})]})},ed=Sf;import rd from"classnames";import{createRef as Af,useCallback as Kr,useMemo as Lf,useRef as Mf,useState as Of}from"react";import{useState as xf,useLayoutEffect as bf}from"react";var Cf=["bottom","height","left","right","top","width"],wf=(t={},e={})=>Cf.some(n=>t[n]!==e[n]),Ue=new Map,td,nd=()=>{let t=[],e=[];Ue.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();wf(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Ue.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),td=window.requestAnimationFrame(nd)};function Tf(t,e){return{observe(){let n=Ue.size===0;if(Ue.has(t)){let o=Ue.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Ue.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&nd()},unobserve(){let n=Ue.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Ue.delete(t),Ue.size||cancelAnimationFrame(td)}}}}function Ur(t){let[e,n]=xf(null);return bf(()=>{if(!t.current)return;let o=Tf(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as kf,useLayoutEffect as Rf,useState as Pf}from"react";import{createPortal as If}from"react-dom";import{useEffect as Ef}from"react";function xt(t){Ef(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function bt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var od={root:"dd-r-dgo"};var sd=({children:t,parentNode:e})=>{let[n,o]=Pf(null),s=kf(mn);return Rf(()=>{let r=document.createElement("div");return bt(r),r.classList.add(od.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?If(t,n):null};var Ie={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 Wr}from"react/jsx-runtime";var Go=(t=!1)=>{let[e,n]=Of(t),o=Kr(()=>n(!0),[]),s=Kr(()=>n(!1),[]),r=Kr(()=>n(a=>!a),[]),i=Mf(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function zr(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 jt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=Af(),position:o="above",align:s="center",children:r,toStyle:i=zr,parentNode:a}=c,d=_(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Ur(e),u=Ur(n),m=Lf(()=>i(p,u,0),[p,u]);return Wr(sd,{parentNode:a,children:Wr("div",C(h({className:rd(Ie.ref,{[Ie.positionAbove]:o==="above",[Ie.positionBelow]:o==="below",[Ie.positionLeft]:o==="left",[Ie.positionRight]:o==="right",[Ie.alignStart]:s==="start",[Ie.alignCenter]:s==="center",[Ie.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:Wr("div",{className:rd(t,Ie.root),children:r})}))})};var id={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 Gt,jsxs as Qo}from"react/jsx-runtime";function Bf(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 Uf(t){return t.replace(/\r\n/g,`
|
|
6
|
+
`)}var Kf=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s,sources:r,onSourceClick:i})=>{let a=w("Markdown",id),d=Ff(null),[l,c]=Hf(null),p=_f(()=>{let v=Df.parse(Uf(t));return Nf.sanitize(v.toString()).replaceAll("</code>",`${Bf(a.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),u=v=>{var E;let x=v.target,b=!!((E=d.current)!=null&&E.querySelector("code"));if(["A","BUTTON"].includes(x.tagName)){c(null);return}l||b&&x.tagName!=="CODE"||!b&&x!==d.current||(x.addEventListener("mouseleave",()=>c(null),{once:!0}),c(x))},m=()=>{if(!l)return;c(null);let v=l.querySelector("button");v&&(tt(v,a.fadeup),o==null||o(Vr(l)))},f=v=>{let x=v.target,b=x instanceof HTMLElement?x:null;if(x instanceof Element?x.closest("a"):null){v.stopPropagation();return}b&&"copyIcon"in b.dataset&&(tt(b,a.fadeup),o==null||o(Vr(b.parentElement)))},g=()=>{!l||!s||(c(null),s(Vr(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 Qo(ad,{children:[l&&(o||s)&&Qo(jt,{triggerRef:{current:l},className:a.popover,parentNode:l,children:[Qo("div",{className:a.options,ref:y,children:[o&&(l==null?void 0:l.tagName)==="CODE"&&Gt("button",{type:"button",className:a.option,onClick:m,children:n}),s&&Qo(ad,{children:[Gt("div",{className:a.divider}),Gt("button",{type:"button",className:a.option,onClick:g,children:e})]})]}),Gt("div",{className:a.arrow})]}),Gt("div",{ref:d,"data-testid":"widget-markdown-content",className:a.root,dangerouslySetInnerHTML:{__html:p},onMouseOver:u,onClick:f}),r&&r.length>0&&Gt(ed,{sources:r,onClick:i})]})},Ct=Kf;import{useRef as Vf}from"react";var ld={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as zf}from"react/jsx-runtime";var Wf=({width:t})=>{let e=w("LoadingProgressBar",ld);return zf("div",{className:e.loadingBar,style:{width:t}})},Xo=Wf;import{jsx as Qt,jsxs as qf}from"react/jsx-runtime";var Jo=({title:t})=>{let e=Vf(null);return mo(e),Qt(N,{ref:e,children:Qt(H,{children:qf(H.Content,{children:[Qt(H.Title,{children:t}),Qt(Xo,{width:"60%"}),Qt(Xo,{width:"90%"}),Qt(Xo,{width:"50%"})]})})})};var wt={};X(wt,{enUS:()=>$f,nlNL:()=>jf});var $f={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"}],resetError:[{type:0,value:"The conversation could not be reset. Please try again."}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},jf={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"}],resetError:[{type:0,value:"Het gesprek kon niet worden gewist. Probeer het opnieuw."}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var Zo={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 Xf}from"react";var dd={error:"dd-CoAuB"};var qr={};X(qr,{enUS:()=>Gf,nlNL:()=>Qf});var Gf={errorPrefix:[{type:0,value:"Error:"}]},Qf={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as cd,jsxs as Jf}from"react/jsx-runtime";var ud=({message:t})=>{let e=Xf(null),n=w("WidgetCardError",dd),o=A(qr);return mo(e),cd(N,{ref:e,children:cd(H,{children:Jf(H.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as W,jsxs as Ke}from"react/jsx-runtime";var oh=3,sh=({sources:t,onClick:e})=>{let n=A(wt),o=w("WidgetKnowledgeAssistant",Zo),[s,r]=st(!1),i=s?t:t.slice(0,oh);return i.length===0?null:Ke("ul",{className:o.sources,children:[i.map(a=>W("li",{className:o.source,"data-testid":"knowledge-assist-source",children:Ke(V,{tooltip:!0,placement:"top-start",children:[W(V.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:W("span",{className:o.linkContent,children:a.name})}),a.url&&W(V.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&W("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},rh=({title:t,description:e})=>W(N,{"data-testid":"knowledge-assist-empty-state",children:W(H,{children:Ke(H.Content,{children:[W(H.Title,{children:t}),W(Ct,{content:e})]})})}),ih=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=A(wt),a=$r(Yo);return Ke(N,{"data-testid":"knowledge-assist-answer",ref:t,children:[W(H,{children:Ke(H.Content,{children:[W(H.Title,{children:e.question}),W(Ct,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),W(sh,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&Ke(N.ButtonsContainer,{children:[W("div",{}),W($o,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer})]})]})},Yo=Zf(null),es=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,onInitialQuestionConsumed:o,children:s,threadId:r,onThreadIdChange:i})=>{let[a,d]=st(null),l=r!==void 0?r:a,c=B=>{i&&i(B),r===void 0&&d(B)},p=A(wt),[u,m]=st(!1),[f,g]=st(!1),[y,v]=st(null),[x,b]=st(!!n),[E,k]=st(null),T=th(),I=j(),M=kn(B=>{if(!t)throw new Error("No knowledge assistant was defined");return v(null),e({assistantCode:t,input:B,threadId:l,onNewThreadId(se){c(se)}})},{onSuccess(B){var se;I("Assistant response displayed",{evaluationId:B.evaluationId,assistantCode:t,assistantOutput:B.answer.answer,input:B.question,sources:(se=B.answer.sources)!=null?se:[]}),b(!1)},onError(B){var se;v((se=B.message)!=null?se:"Unknown error")}}),q=()=>{l&&T(Ml(l)),t&&T(Dl({assistantCode:t})),c(null),t&&I("Assistant thread reset",{threadId:l!=null?l:void 0,assistantCode:t})},Q=kn(Il,{onSuccess(){q()},onError(){v(p("resetError"))}}),O=B=>S(null,null,function*(){m(!0),k(B),yield M.call(B),m(!1),k(null)}),F={isEnabled:!!t,assistantCode:t,isSubmitting:u,isResetting:f,threadId:l,pendingInput:E,errorMessage:y,onSubmit:O,onReset(){return S(this,null,function*(){if(!f){if(v(null),!t){q();return}g(!0),yield Q.call({assistantCode:t}),g(!1)}})}};return eh(()=>{!n||!F.isEnabled||O(n).finally(()=>{o==null||o()})},[n,t,F.isEnabled,o]),W(Yo.Provider,{value:F,children:s})},ts=()=>{let t=A(wt),e=w("WidgetKnowledgeAssistant",Zo),n=$r(Yo),o=pd(null),[s,r]=st(""),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?Ke("form",{className:e.form,onSubmit:a,children:[W("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting||n.isResetting,value:s,onChange:i}),W("button",{type:"submit",disabled:n.isSubmitting||n.isResetting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},ns=({title:t,emptyState:e})=>{var f,g;let n=A(wt),o=j(),s=w("WidgetKnowledgeAssistant",Zo),r=pd(null),i=$r(Yo),a=(g=nh(El((f=i.threadId)!=null?f:-1)))!=null?g:[],d=P("hasKeyboardInput"),l=ae(),c=(y,v)=>{Re(y),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:y,copiedText:y,evaluationId:v.evaluationId})},p=(y,v)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:v.evaluationId,assistantCode:i.assistantCode,source:y})},u=y=>{y.preventDefault(),i.onReset()},m=(y,v)=>{l.send(He,{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:Ke(Yf,{children:[W(De,{type:"knowledge",title:t,"data-testid":"knowledge",children:Ke(ne,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&W(rh,h({},e)),a.map((y,v)=>W(ih,{innerRef:v===a.length-1?r:void 0,item:y,hasKeyboardInput:d,onCopy:x=>c(x,y),onUse:x=>m(x,y),onSourceClick:x=>p(x,y)},`${y.question}_${y.answer}_${v}`)),i.pendingInput&&W(Jo,{title:i.pendingInput}),i.errorMessage&&W(ud,{message:i.errorMessage})]})}),a.length>0&&W("div",{className:s.resetContainer,children:W(N.Button,{disabled:i.threadId===null||i.isSubmitting||i.isResetting,onClick:u,children:n("resetLabel")})})]})};import{createRoot as ct}from"react-dom/client";import gh from"react";function os(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}var md="queueMicrotask error",ah=1e3,lh=8e3;function dh(t){return os(t)&&t.name==="TypeError"&&typeof t.message=="string"&&/queueMicrotask/.test(t.message)}function ch(){try{return typeof window=="undefined"?"no-window":typeof window.queueMicrotask}catch(t){return"inaccessible"}}function uh(){try{return typeof globalThis.queueMicrotask}catch(t){return"inaccessible"}}function ph(t){return{message:String(t.message).slice(0,ah),stack:typeof t.stack=="string"?t.stack.slice(0,lh):null,typeofQueueMicrotask:typeof queueMicrotask,typeofWindowQueueMicrotask:ch(),typeofGlobalThisQueueMicrotask:uh()}}function fd(t,e){try{if(!dh(t))return!1;let n=e(ph(t));return Promise.resolve(n).catch(()=>{}),!0}catch(n){return!1}}var ss=class extends gh.Component{constructor(){super(...arguments);this.state={error:null,caught:!1,rethrow:!1}}static getDerivedStateFromError(n){return{error:n,caught:!0}}componentDidCatch(n){fd(n,this.props.report),this.setState({rethrow:!0})}render(){if(this.state.rethrow)throw this.state.error;return this.state.caught?null:this.props.children}};import{Fragment as nv}from"react";import{useSelector as Cd}from"react-redux";import Gr from"classnames";import{useCallback as xd,useEffect as Ch,useMemo as wh,useState as Qr}from"react";import{useDispatch as Th,useSelector as Eh}from"react-redux";import{useEffect as mh,useRef as fh}from"react";var hd={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as yd}from"react/jsx-runtime";var hh=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=fh(null),l=w("Dialog",hd),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&o()};return mh(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?yd("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:yd("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},Xt=hh;import yh from"classnames";var vd={root:"dd-ranhW"};import{jsx as Sh}from"react/jsx-runtime";var vh=o=>{var s=o,{className:t,value:e}=s,n=_(s,["className","value"]);let r=w("TextInput",vd);return Sh("input",h({className:yh(t,r.root),type:"text",value:e},n))},Bn=vh;var jr={};X(jr,{enUS:()=>xh,nlNL:()=>bh});var xh={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"}]},bh={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 Sd={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 le,jsxs as rs}from"react/jsx-runtime";var kh=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Rh=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=A(jr),i=w("LoginTokenDialog",Sd),a=Eh(Sa),d=Th(),l=P("productName"),[c,p]=Qr(t||""),[u,m]=Qr(0),[f,g]=Qr(""),y=xd(E=>S(null,null,function*(){E.preventDefault(),d(Ca({email:c})),m(1)}),[n,c]),v=()=>{g(""),m(0)},x=xd(E=>S(null,null,function*(){E.preventDefault();let k=kh(E.target.elements.token.value);if(!k){g(r("verifyCodeError",{login:b}));return}d(yn({token:k}))}),[n]),b=wh(()=>E=>le("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:v,children:E},"back-button"),[]);return Ch(()=>{a==="error"&&g(r("verifyCodeError",{login:b})),a==="done"&&o()},[a]),le(Xt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:rs("div",{className:i.root,children:[le("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&rs("form",{onSubmit:y,children:[le("h2",{className:i.subtitle,children:r("requestCodeTitle")}),le("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),le(Bn,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:E=>p(E.target.value)}),le("div",{className:i.actions,children:le("button",{type:"submit",className:Gr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&rs("form",{onSubmit:x,children:[le("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),le("p",{className:i.text,children:r("verifyCodeBody")}),le(Bn,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&le("div",{className:i.errorMessage,children:f}),rs("div",{className:i.actions,children:[le("button",{type:"button",className:Gr(i.button),onClick:v,children:r("back")}),le("button",{type:"submit",className:Gr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},bd=Rh;import{jsx as Ih}from"react/jsx-runtime";var Ph=()=>{let t=Cd(xa),e=Cd(Wt),n=P("adminUrl"),o=ae(),s=()=>o.send(Vt,!1),r=()=>{o.send(Vt,!1),o.send(En)};return Ih(bd,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},wd=Ph;import jy from"lodash.debounce";import{Fragment as Gy,useCallback as mc,useEffect as fc,useMemo as Qy,useState as ui}from"react";import{useDispatch as Xy,useSelector as Et}from"react-redux";import{createAsyncThunk as Ah,createSlice as Lh}from"@reduxjs/toolkit";var Mh={data:null,fetchState:"idle"},Td=t=>t.contentTypes.data,Un=Ah("contentTypes/getContentTypes",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Oh=Lh({name:"contentTypes",initialState:Mh,reducers:{},extraReducers:t=>{t.addCase(Un.pending,e=>{e.fetchState="loading"}).addCase(Un.rejected,e=>{e.fetchState="error"}).addCase(Un.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Ed=Oh.reducer;import{createAction as Rd,createAsyncThunk as Nh,createSelector as Pd,createSlice as Dh}from"@reduxjs/toolkit";var _h={data:null,fetchState:"idle",generation:0,inFlightRequestId:null,widgetTypesOverride:null},kd=t=>{t.data=null,t.fetchState="idle",t.generation+=1,t.inFlightRequestId=null,t.widgetTypesOverride=null},Id=[],he=t=>t.profile.data,Fh=t=>{var e;return(e=t.profile.widgetTypesOverride)!=null?e:t.profile.data?t.profile.data.uiConfig.widget.types:Id},Wn=Pd([Fh],t=>t.filter(e=>e.isActive)),Zt=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||Id},Ad=t=>e=>Wn(e).find(n=>n.type===t),Ld=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,Md=Pd([he],t=>{var o;let e=(o=t==null?void 0:t.widgetInteractiveAssistants)!=null?o:[];if(e.length>0)return[...e].sort((s,r)=>s.order-r.order||s.code.localeCompare(r.code));let n=t==null?void 0:t.knowledgeAssistantNew;return n?[{code:n,name:n,displayName:null,order:0}]:[]});var Jt="stale-profile-request",Xr=Rd("profile/clear"),Hh=Rd("profile/setWidgetTypesOverride"),Kn=Nh("profile/getProfile",(t,e)=>S(null,null,function*(){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");let r=s.profileCode,i=s.id,a=o.profile.generation,d=()=>{let p=e.getState(),u=p.conversation.current;return!u||u.id!==i||u.profileCode!==r||p.profile.generation!==a},l=e.getState().profile.data;if((l==null?void 0:l.code)===r)return d()?e.rejectWithValue(Jt):l;let c;try{c=yield n.getProfile(r)}catch(p){if(d())return e.rejectWithValue(Jt);throw p}if(d())return e.rejectWithValue(Jt);if(c.code!==r)throw new Error(`Profile response code "${c.code}" does not match requested "${r}"`);return c})),Bh=Dh({name:"profile",initialState:_h,reducers:{},extraReducers:t=>{t.addCase(Hh,(e,n)=>{e.widgetTypesOverride=n.payload}).addCase(Kn.pending,(e,n)=>{e.fetchState="loading",e.inFlightRequestId=n.meta.requestId}).addCase(Kn.rejected,(e,n)=>{if(n.payload===Jt){if(n.meta.requestId!==e.inFlightRequestId)return;e.inFlightRequestId=null,e.fetchState="idle";return}n.meta.requestId===e.inFlightRequestId&&(e.fetchState="error",e.inFlightRequestId=null)}).addCase(Kn.fulfilled,(e,n)=>{n.meta.requestId===e.inFlightRequestId&&(e.fetchState="done",e.data=n.payload,e.inFlightRequestId=null)}).addCase(z,kd).addCase(Xr,kd)}}),Od=Bh.reducer;import{useEffect as Jd,useState as uy,useRef as py,useCallback as gy}from"react";import{useState as Wh}from"react";import Jr from"classnames";var ge={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 We={};X(We,{enUS:()=>Uh,nlNL:()=>Kh});var Uh={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"}]},Kh={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 zn,jsxs as Vh}from"react/jsx-runtime";var zh=({src:t,title:e})=>{let n=w("CommandPalette",ge),[o,s]=Wh("loading"),r=A(We);return Vh("div",{className:n.image,children:[zn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Jr(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&zn("span",{className:Jr(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&zn("span",{className:Jr(n.imageSrc,n.imageSrcStatus),children:zn(uo,{})}),e&&zn("span",{className:n.imageTitle,children:e})]})},Nd=zh;import qh from"react";import $h from"classnames";import{jsx as Zr,jsxs as Dd}from"react/jsx-runtime";function Yr({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=A(We),i=w("CommandPalette",ge);return qh.Children.count(t)===0?null:Dd("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&Dd("div",{className:i.listHeader,children:[e&&Zr("h4",{className:i.listHeading,children:e}),o&&s&&Zr("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Zr("div",{className:$h(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import as from"classnames";import{Interweave as Ud}from"interweave";import{useEffect as ty,useMemo as Kd,useState as Wd}from"react";var jh=/[.*+?^${}()|[\]\\]/g,Gh=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Qh(t){return t.replace(jh,"\\$&")}function Xh(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function Jh(t){return t.search(Gh)}function _d(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${Qh(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function Fd(t){return t.replace(fo,'<mark data-type="placeholder">$1</mark>')}function Vn(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Zh(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 ei(t,e,n={}){if(e){let o=Xh(e.toLowerCase(),t.toLowerCase()),s=Vn(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=Jh(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(ha).length>3||e.length>30?Zh(e.trim(),o):0;return`${`${i>0?"\u2026":""}${Vn(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Yh=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function is(t){return Yh.test(t)}function ti(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import ni from"react";import{jsx as ey}from"react/jsx-runtime";var Hd=ni.createContext(void 0);function Yt(){let t=ni.useContext(Hd);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Bd=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=ni.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return ey(Hd.Provider,{value:i,children:t})};import{jsx as ze,jsxs as ls}from"react/jsx-runtime";var ny=3,oy=90,zd=({children:t})=>{let e=w("CommandPalette",ge);return ze("div",{className:e.listItemActions,children:t})};function oi(m){var f=m,{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=ny}=f,u=_(f,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var Q;let g=A(We),[y,v]=Wd(!1),{selected:x,onChangeOpen:b}=Yt(),[E,k]=Wd(!1),T=w("CommandPalette",ge);function I(O){s(O),t&&b(!1)}let M=Kd(()=>typeof a!="string"?a:is(a)?ti(a).trim():a,[a]),q=Kd(()=>typeof n!="string"?n:is(n)?ti(n).trim():n,[n]);return ty(()=>{k(x===l)},[x]),ls("div",{className:as(T.listItem,l===x&&T.listItemSelected),children:[ls(V,{placement:"right-start",tooltip:!0,onOpenChange:k,open:E,children:[ze(V.Trigger,C(h({className:T.listItemAction,"aria-disabled":(Q=u.disabled)!=null?Q:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},u),{children:ls("div",{className:T.listItemContent,children:[typeof o=="string"?ze("p",{className:as(T.listItemText,T.truncate,c==null?void 0:c.title),children:o}):o,M&&typeof M=="string"?ze(Ud,{tagName:"p",allowList:[],content:M,className:as(T.listItemDescription,c==null?void 0:c.description,e?T.lineClamp:T.truncate)}):a]})})),q&&q.length>oy&&ze(V.Content,{className:T.listItemTooltip,disableFocusManager:!0,children:ze(Ud,{className:T.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:q.replace(/\n/g,"<br />")})})]}),l===x&&r,d&&d.length>0&&ls("div",{className:T.sources,children:[ze("span",{className:T.sourcesTitle,children:g("sources")}),d.slice(0,y?d.length:p).map(O=>ze("a",{className:T.source,href:O.url,target:"_blank",title:O.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(O),children:O.name},O.url)),!y&&d.length>p&&ze("button",{className:as(T.source,T.sourceShowMore),type:"button",onClick:()=>v(!0),children:g("showMore",{amount:d.length-p})})]})]})}import{jsx as Vd,jsxs as sy}from"react/jsx-runtime";var qd=()=>sy("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Vd("title",{id:"angleLeftTitle",children:"AngleLeft"}),Vd("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 $d,jsxs as si}from"react/jsx-runtime";function ri({children:t,title:e,id:n,onDismiss:o}){let s=A(We),r=w("CommandPalette",ge),{page:i}=Yt();return i!==n?null:si("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&si("div",{className:r.pageNav,children:[si("button",{className:r.pageBackButton,type:"button",onClick:o,children:[$d(qd,{}),s("back")]}),e&&$d("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as iy}from"react";import{jsx as jd,jsxs as ry}from"react/jsx-runtime";var en=()=>ry("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[jd("path",{d:"M0 0h24v24H0z",fill:"none"}),jd("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 tn,jsxs as ii}from"react/jsx-runtime";function ay({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=w("CommandPalette",ge);return ii("div",{className:d.search,children:[tn("div",{className:d.searchIcon,children:tn(en,{})}),ii("div",{className:d.searchInputWrapper,children:[tn("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&&tn("div",{className:d.selectWrapper,children:ii("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&&tn("option",{children:o}),s.map(l=>tn("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Gd=iy(ay);import Qd from"classnames";import{jsx as dy,jsxs as cy}from"react/jsx-runtime";var ly=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=_(r,["onClick","shortKeys","children"]);let i=w("CommandPalette",ge);return cy("button",C(h({type:"button"},o),{onClick:t,className:Qd(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>dy("span",{className:Qd(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Xd=ly;import{jsx as Zd,jsxs as fy}from"react/jsx-runtime";var my="[data-command-palette-item]";function Tt({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:m=[]}){let[f,g]=uy(),y=py(null),v=()=>{s&&s(n),i(void 0),r(""),a(!1)},x=()=>{var O;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(O=y.current)==null||O.focus();return}if(u.length>0){r("");return}a(!1)},b=()=>{let O=E();O.length!==0&&g(O[0].dataset.itemId)},E=()=>Array.from(document.querySelectorAll(my)||[]),k=O=>document.querySelector(`[data-item-id=${O}]`),T=O=>{let F=k(O);F&&g(F.dataset.itemId)},I=O=>{let F=k(O);F&&F.scrollIntoView({behavior:"smooth"})},M=()=>{if(!f)return;let O=E(),F=k(f);if(!F)return;let ke=O.indexOf(F),B=O[ke+1];B!=null&&B.dataset.itemId?T(B.dataset.itemId):b()},q=()=>{if(!f)return;let O=E(),F=k(f);if(!F)return;let ke=O.indexOf(F),B=O[ke-1];B!=null&&B.dataset.itemId?T(B.dataset.itemId):T(O[O.length-1].dataset.itemId)},Q=gy(O=>{switch(O.key){case"ArrowDown":{O.preventDefault(),M();break}case"ArrowUp":{O.preventDefault(),q();break}case"Enter":{if(f){let F=k(f);F==null||F.click()}break}}},[f]);return Jd(()=>{b()},[u,o,d,p,...m]),Jd(()=>{f&&I(f)},[f]),Zd(Xt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:x,onClose:v,onKeyDown:Q,children:fy(Bd,{selected:f,setSelected:g,isOpen:p,onChangeOpen:a,page:o,children:[o===n&&Zd(Gd,{ref:y,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}Tt.Page=ri;Tt.List=Yr;Tt.Image=Nd;Tt.ListItem=oi;Tt.ListItemActions=zd;Tt.Button=Xd;var J=Tt;import{useEffect as hy}from"react";var ds=()=>/Mac/i.test(navigator.platform);function Yd(t,e){hy(()=>{let n=o=>{!(ds()?o.metaKey:o.ctrlKey)||o.key.toLowerCase()!==t.toLowerCase()||(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[t,e])}import{useEffect as nc,useRef as Ey}from"react";import{useSelector as ky,useDispatch as Ry}from"react-redux";import{createAsyncThunk as yy,createSelector as vy,createSlice as Sy}from"@reduxjs/toolkit";var ai={data:null,fetchState:"idle"},xy=t=>{var e;return(e=t.entities.data)!=null?e:null},cs=vy([xy,Wt,ja],(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}),xe=yy("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)})),by=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),Cy=Sy({name:"entities",initialState:ai,reducers:{},extraReducers:t=>{t.addCase(xe.pending,e=>{e.fetchState="loading"}).addCase(xe.rejected,e=>{e.fetchState="error"}).addCase(xe.fulfilled,(e,n)=>{e.fetchState="done",e.data=by(e.data?[...e.data,...n.payload]:n.payload)}).addCase(z,()=>ai).addCase(ie,()=>ai)}}),ec=Cy.reducer;var li={};X(li,{enUS:()=>wy,nlNL:()=>Ty});var wy={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Ty={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var tc={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as di,jsxs as Iy}from"react/jsx-runtime";var Py=({onCopy:t})=>{let e=Ey(null),n=w("EntitiesList",tc),o=ky(cs),{setSelected:s}=Yt(),r=A(li),i=Ry();return nc(()=>{i(xe())},[]),nc(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Iy("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&di(J.List,{children:o.map((a,d)=>di(J.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&di("p",{className:n.empty,children:r("noResults")})]})},oc=Py;import{jsx as sc}from"react/jsx-runtime";var us=t=>sc("svg",C(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:sc("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 qn={};X(qn,{enUS:()=>Ay,nlNL:()=>Ly});var Ay={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"}]},Ly={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 My}from"react-redux";var $n={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as jn,jsxs as Ny}from"react/jsx-runtime";var Oy=({suggestion:t,source:e,context:n})=>{let o=A(qn),s=My(me),r=j(),i=P("enableSuggestionFeedback"),a=zo({conversationId:s,type:e,contentType:"text",content:t.text,data:n?JSON.stringify({context:n}):void 0}),d=Vo(a),l=()=>S(null,null,function*(){r("suggestion feedback",{text:t.text,source:e,context:n}),d.mode==="custom-handler"&&(yield d.open())});return!i||d.mode==="disabled"?null:Ny(V,{placement:"top-end",children:[jn(V.Trigger,{className:$n.trigger,children:jn(us,{"data-testid":"feedback-dropdown-trigger"})}),jn(V.Content,{className:$n.content,children:d.mode==="custom-handler"?jn(V.Button,{className:$n.item,onClick:l,children:o("giveFeedback")}):jn(V.Button,{className:$n.item,as:"a",onClick:l,target:"_blank",rel:"noreferrer noopener",href:d.href,children:o("giveFeedback")})})]})},ps=Oy;var Gn={};X(Gn,{enUS:()=>Dy,nlNL:()=>_y});var Dy={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?"}]},_y={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 Ky}from"react";import{useDispatch as Wy,useSelector as zy}from"react-redux";import{createAction as By,createAsyncThunk as ac,createSlice as Uy}from"@reduxjs/toolkit";var Fy=["{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}"],Hy=new RegExp(Fy.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function rc(t,e){let n=t.split(Hy),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 ic(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var lc={suggestions:[],fetchState:"idle"},ci={default:lc},dc=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},gs=t=>t.textSuggestions,cc=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},ms=By("textSuggestions/refresh"),be=ac("textSuggestions/recommendations",(t,e)=>S(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=pt(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 m=(u=o.profile.data)==null?void 0:u.code;if(!m)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(m)}else l=yield n.getTextSuggestions(d,wn(o),t);if(s&&(l=l.map(m=>h(C(h({},m),{text:Se(m.text,s)}),m.title?{title:Se(m.title,s)}:{}))),t==="default"){let m=i?l.filter(cc(a)):l;e.dispatch(et(m.slice(0,r)))}return l})),Qn=ac("textSuggestions/autocompletions",(t,e)=>S(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,C(h({},wn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(cc(t))),r&&(l=l.map(u=>C(h({},u),{text:Se(u.text,r)}))),a&&(l=l.map(u=>C(h({},u),{text:u.source!=="trie-with-typos"?rc(u.text,t):u.text}))),l=ic(l,i),e.dispatch(et(l)),l})),uc=Uy({name:"textSuggestions",initialState:ci,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(be.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||lc;return C(h({},e),{[o]:C(h({},s),{fetchState:"loading"})})}).addCase(be.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(be.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(Qn.pending,e=>{e.default.fetchState="loading"}).addCase(Qn.rejected,e=>{e.default.fetchState="error"}).addCase(Qn.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase(z,()=>ci).addCase(ie,()=>ci)}}),{setTextSuggestions:uL}=uc.actions,pc=uc.reducer;import{jsx as fs,jsxs as qy}from"react/jsx-runtime";var Vy=({types:t,commands:e,onClick:n})=>{let o=Wy(),s=A(Gn),r=zy(gs);return Ky(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(be(i))})},[]),qy("div",{children:[e.length>0&&fs(J.List,{heading:s("commands"),children:e.map((i,a)=>fs(J.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return fs(J.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>fs(J.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)})]})},gc=Vy;import{jsx as Ae,jsxs as gi}from"react/jsx-runtime";var Jy=200,Zy=5,Yy=4,pi=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?Yy:Zy),ev=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),tv=()=>{var ke,B,se;let t=Xy(),e=ae(),n=A(Gn),[o,s]=ui(!1),[r,i]=ui(""),a=Et(ol),d=Et(he),[l,c]=ui(),p=Et(ee),u=P("showSearch"),m=P("enableSuggestionFeedback"),f=P("showEntitiesCommand"),g=P("showImageSearch"),y=P("searchTriggerKey"),v=Et(Td),x=Et(fr),b=Et(sl),E=Et(nl),k=((se=(B=(ke=d==null?void 0:d.uiConfig)==null?void 0:ke.search)==null?void 0:B.initialTypes)==null?void 0:se.filter(({isActive:D})=>D))||[],T=j(),I=Qy(()=>{let D=re=>pi(x.filter(G=>G.type===re.toUpperCase()),re,l),$=(v==null?void 0:v.map(re=>({value:re.code.toUpperCase(),label:`${re.name}s`,list:D(re.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if($.push({value:"PERSONAL",label:n("personalSuggestions"),list:D("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:D("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:D("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),g&&$.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:D("IMAGE"),listOrientation:"horizontal"}),k.length===0)return $;let Ne=k.map(re=>$.find(G=>G.value.toLowerCase()===re.type)).filter(re=>!!re),Ot=$.filter(re=>!Ne.find(G=>G.value===re.value));return[...Ne,...Ot]},[v,k,g,l]),M=[{label:n("entitiesClipboard"),onClick:()=>t(zt("entities")),shouldShow:f&&ev(n("entitiesClipboard"),r)}].filter(D=>D.shouldShow).filter(()=>!l),q=mc(jy((D,$)=>{t(ht({query:D,type:$,tags:["search-overlay"],size:l?50:20}))},Jy),[l]),Q=mc((D,$)=>{$.type==="IMAGE"?e.send(yr,{suggestion:$}):e.send(He,{text:D,suggestion:$}),t(ce(!1))},[t]),O=D=>{Re(D.text),T("entity copied",{entity:D,type:"copy"}),t(ce(!1))};function F(D){return $=>{o?window.confirm(n("warning"))&&(D($),s(!1)):D($)}}return fc(()=>{r?q(r,l):t(Io())},[r,l]),fc(()=>{p&&t(Un())},[p]),Yd(y,()=>{t(ce(!0)),T("open search",{via:"ctrl+k"})}),u?gi(J,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:F(D=>t(ce(D))),onChangeType:D=>c(D),onChangePage:F(D=>t(zt(D))),selectedType:l,search:r,page:a,isOpen:E,types:I,updateDeps:[x],children:[gi(J.Page,{id:"search",children:[r.length===0&&Ae(gc,{types:k,commands:M,onClick:Q}),r.length>0&&gi(Gy,{children:[M.length>0&&Ae(J.List,{heading:n("commands"),children:M.map((D,$)=>Ae(J.ListItem,{closeOnSelect:!1,onClick:D.onClick,id:`commands-${$}`,children:D.label},D.label))}),I.map(({value:D,label:$,list:Ne,lineClamp:Ot,listOrientation:re})=>Ae(J.List,{heading:$,orientation:re==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(D),hasMore:!l&&b[D.toLowerCase()]>pi(Ne,D,l).length,children:pi(Ne,D,l).map(G=>Ae(J.ListItem,{id:`${D}-${G.id}`,closeOnSelect:!1,lineClamp:Ot,onClick:()=>Q(G.text,G),description:D!=="IMAGE"?G.title&&G.text:void 0,tooltip:G.text,extra:m&&Ae(J.ListItemActions,{children:Ae(ps,{context:r,source:"search",suggestion:G})}),children:D==="IMAGE"?Ae(J.Image,{title:G.title||G.text,src:G.image}):G.title||G.text},`${G.id}-${G.text}`))},D))]})]}),Ae(J.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:F(()=>{t(zt("search"))}),children:Ae(oc,{onCopy:O})})]}):null},hc=tv;import{jsx as yc,jsxs as sv}from"react/jsx-runtime";var ov=({includeLoginOverlay:t=!0})=>{let e=P("showSearch"),n=P("isEmbedded");return sv(nv,{children:[e&&yc(hc,{}),t&&n&&yc(wd,{})]})},vc=ov;import lv from"classnames";import{useSelector as dv}from"react-redux";import{jsx as mi}from"react/jsx-runtime";var Sc=({className:t})=>mi("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:mi("g",{children:mi("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
7
|
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
8
|
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
9
|
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 dc}from"react/jsx-runtime";var Uy={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},cc=({className:t,color:e})=>dc("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:dc("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:Uy[e||"pink"]})});var uc={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var si={};G(si,{enUS:()=>Wy,nlNL:()=>zy});var Wy={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},zy={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as qy}from"react-redux";import{jsx as ri,jsxs as pc}from"react/jsx-runtime";var gc=({onLogIn:t})=>{let e=A(si),n=P("floatingMenu"),o=P("productName"),s=qy(),r=jy(Y),i=C("FloatingMenu",uc);if(r===null||n===!1)return null;let a=()=>{r===!0?s(ve(!0)):t()};return pc("button",{type:"button",className:Vy(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[ri("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),pc("div",{className:i.icon,children:[ri(cc,{className:i.logo,color:"pink"}),r===!1&&ri(lc,{className:i.lock})]})]})};import{useEffect as hv,useRef as yv}from"react";import{useDispatch as vv,useSelector as Et}from"react-redux";function Ae(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 $y}from"@reduxjs/toolkit";var Gy={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},ls=({ui:t})=>t.overlayCollapsed,mc=$y({name:"ui",initialState:Gy,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:jn,setInputFocus:ds,setOverlayCollapsed:ot,setOpenOverlayWhenTyping:fc,setOverlayCollapsedUserOverwrite:hc}=mc.actions,yc=mc.reducer;var vc={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as cs}from"react/jsx-runtime";var Qy=({match:t,selected:e,styles:n})=>cs(M,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:cs("span",{className:n.styleSuggestion,children:t.suggestion})}),Xy=({matches:t,selectedIndex:e})=>{let n=C("StyleSuggestionList",vc);return cs(te,{children:t.map((o,s)=>cs(Qy,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},us=Xy;import{useMemo as uv}from"react";import{Interweave as wc}from"interweave";import{useEffect as nv,useMemo as ov,useRef as sv,useState as rv}from"react";import{useDispatch as iv,useSelector as Tc}from"react-redux";import{useEffect as Jy}from"react";function Sc(t,e,n){Jy(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var xc={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 bc,jsxs as Zy}from"react/jsx-runtime";var Cc=({title:t})=>Zy("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[bc("title",{id:"closeTitle",children:t}),bc("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 ii={};G(ii,{enUS:()=>Yy,nlNL:()=>ev});var Yy={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},ev={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as ze,jsxs as Ec}from"react/jsx-runtime";var av=["search","personal-collection-search","search-autocomplete"];function lv(t,e,n,o={}){var r;let s="";return av.includes(e)?s=wd(jr(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=jr(t,n,o),o.placeholders===!0&&(s=Td(s)),s}var dv=()=>{},cv=({selected:t,suggestion:e})=>{let n=A(ii),o=P("inlineSuggestions"),s=Tc(ct),[r,i]=rv(!1),a=P("enableSuggestionFeedback"),d=Tc(y=>y.input.text),l=iv(),c=C("TextSuggestion",xc),p=sv(null),u=e.source==="assistant",m=a&&!u;nv(()=>{let y=setTimeout(()=>{l(ka({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(y)}},[e]),Sc(p,"click",()=>{l(le({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let f=()=>{l(pt({source:e.source,text:e.text,assistantCode:e.assistantCode}))},g=ov(()=>lv(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:Ec("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[ze(M,{ref:p,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:dv,children:e.source==="assistant"?Ec("div",{className:c.assistantContainer,children:[ze(wc,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:g}),ze("span",{className:c.assistantBadge,children:n("assistant")})]}):ze(wc,{containerTagName:"div",tagName:"span",className:c.formattedText,content:g})}),m&&r&&ze("div",{className:c.actions,children:ze(ss,{source:"overlay",context:d,suggestion:e})}),u&&r&&ze("div",{className:c.closeIconContainer,children:ze("button",{type:"button",className:c.closeIcon,onClick:f,title:n("close"),children:ze(Cc,{title:n("close")})})})]})},kc=cv;import{jsx as gv}from"react/jsx-runtime";var pv=({suggestions:t,selectedIndex:e,reverse:n})=>uv(()=>{let s=t.map((r,i)=>gv(kc,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),ps=pv;var Pc={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as mv,createSlice as fv}from"@reduxjs/toolkit";var gs={list:{keywordMatches:[]},fetchState:"idle"},ms=t=>t.styleSuggestions.list,Tt=mv("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 gs.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),Rc=fv({name:"styleSuggestions",initialState:gs,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",Je(e.list,n.payload)||(e.list=n.payload)}).addCase(gt,e=>{e.list=gs.list}).addCase(z,()=>gs)}}),{commitStyleSuggestion:Ic}=Rc.actions,Ac=Rc.reducer;var fs=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 hs,jsxs as xv}from"react/jsx-runtime";var Sv=()=>{var y;let t=yv(null),e=C("InlineSuggestionsOverlay",Pc),n=Et(Ae),o=vv(),s=Et(Y),r=Et(Ft),i=Et(ls),a=P("showTextSuggestions"),d=Et(ut),l=Et(yn),c=P("showStyleSuggestions"),p=P("showStyleSuggestionList"),u=Et(ms),m=c&&p?fs((y=u.keywordMatches)!=null?y:[]):[],f=m.length>0,g=a&&d.length>0;return vt(()=>{setTimeout(()=>{o(ot({collapse:!0,skipWhenInputFocus:!0}))})}),hv(()=>{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&&!f||!g&&!f?null:hs("div",{className:e.root,"data-variant":"inline",children:xv("div",{ref:t,className:e.paper,children:[f&&hs(us,{matches:m,selectedIndex:-1}),g&&hs(te,{children:hs(ps,{suggestions:d,selectedIndex:l})})]})})},Lc=Sv;import wv,{useState as li,useEffect as Tv}from"react";var Mc={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 Ev}from"react-redux";var ai={};G(ai,{enUS:()=>bv,nlNL:()=>Cv});var bv={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."}]},Cv={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 kv,jsx as be,jsxs as ys}from"react/jsx-runtime";var Nc=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=li(""),[i,a]=li(!1),[d,l]=li(!1),c=C("Nickname",Mc),p=wv.useRef(null),u=Ev(v=>v.info.showNicknameDialog),m=A(ai),f=P("adminUrl");Tv(()=>{o&&a(!0)},[o]);let g=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(m("nicknameDialogError")),p.current.reportValidity()},y=v=>{v.preventDefault();let x=s.trim(),w=v.currentTarget.querySelector("#nickname-input");if(!x){w.setCustomValidity(m("nicknameDialogError")),w.reportValidity();return}w.setCustomValidity(""),e(x)};return ys(Gt,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[be("div",{className:c.titleWrapper,children:be("h1",{className:c.title,children:m("title")})}),ys("form",{className:c.dialogContent,onSubmit:y,children:[be("p",{children:m("nicknameDialogTitle")}),i&&o&&be("div",{className:c.errorMessage,children:f?(()=>{let v=m("nicknameDialogSaveError",{account:f}),x=`${f}.deepdesk.com/admin/user-settings`,w=v.indexOf(x);if(w!==-1){let T=v.substring(0,w),k=v.substring(w+x.length);return ys(kv,{children:[T,be("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:x}),k]})}return v})():m("nicknameDialogSaveErrorWithoutLink")}),be("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:m("nicknameDialogInputPlaceholder"),value:s,onChange:v=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(v.target.value)),r(v.target.value)},onBlur:g,ref:p}),d&&be("div",{className:c.errorMessage,role:"alert",children:m("nicknameDialogEmojiError")}),ys("div",{className:c.buttonsWrapper,children:[o?be("div",{className:c.closeButtonWrapper,children:be("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:m("close")})}):null,be("div",{className:c.buttonContinueWrapper,children:be("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:m("nicknameDialogContinueButton")})})]})]})]})};import{Provider as Pv}from"react-redux";import{jsx as vs}from"react/jsx-runtime";var Rv=({children:t})=>{let n=P("locale").replace("-","");return vs(xr.Provider,{value:n,children:t})},Iv=({store:t,customStyles:e={},children:n})=>vs(Pv,{store:t,children:vs(Rv,{children:vs(un.Provider,{value:e,children:n})})}),Ve=Iv;import gi from"classnames";import{useEffect as Uv,useRef as Wv,useState as zv}from"react";import{useDispatch as Vv,useSelector as je}from"react-redux";import{useState as Av}from"react";function Oc(t,e){let[n,o]=Av(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return R.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){R.error(i)}}]}var Dc=()=>/Mac/i.test(navigator.platform);import Nv from"classnames";import{Fragment as Ov,useCallback as ci,useMemo as Fc}from"react";var di={};G(di,{enUS:()=>Lv,nlNL:()=>Mv});var Lv={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"}]}]},Mv={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 _c={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Ss,jsxs as Hc}from"react/jsx-runtime";var ui=(t,e,n)=>o=>Ss("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),Dv=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=A(di),i=ie(),a=C("Login",_c),d=P("productName"),l=P("signInViaPopup"),c=n&&!l,p=ci(x=>{x.preventDefault(),o&&o(Number.parseInt(x.target.value,10))},[]),u=ci(x=>{x.preventDefault(),i.send(Wt,!0)},[e]),m=Fc(()=>x=>Ss("a",{onClick:T=>{T.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),f=ci(x=>Ss("button",{type:"button",className:a.anchorButton,onClick:u,children:x},"prompt"),[u]),{min:g,hour:y,day:v}=Fc(()=>({min:ui(a,600,p),hour:ui(a,3600,p),day:ui(a,3600*12,p)}),[]);return Hc("div",{className:Nv(t,a.root),children:[r("loginPlease",{login:c?f:m,productName:d}),o&&Hc(Ov,{children:[Ss("br",{}),r("snooze",{min:g,hour:y,day:v})]})]})},xs=Dv;import{useDispatch as _v}from"react-redux";var Bc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as Kc,jsxs as Hv}from"react/jsx-runtime";var Fv=({title:t})=>{let e=C("SearchTrigger",Bc),n=_v(),o=q();return Hv("button",{type:"button",className:e.root,onClick:()=>{n(ve(!0)),o("open search",{via:"autocomplete-overlay"})},children:[Kc(Jt,{}),Kc("span",{className:e.text,children:t})]})},Uc=Fv;var pi={};G(pi,{enUS:()=>Bv,nlNL:()=>Kv});var Bv={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"}]},Kv={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 Wc={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 st}from"react/jsx-runtime";var jv=({onLogIn:t})=>{var j;let e=C("SuggestionsOverlay",Wc),n=A(pi),o=je(Ae),s=je(Ea),r=Vv(),i=Wv(null),a=P("searchTriggerKey"),d=P("productName"),l=je(ls),c=je(Y),p=je(ua),u=je(Ft),[m,f]=zv(null),g=P("showSearch"),y=P("showTextSuggestions"),v=P("adminUrl"),x=P("isEmbedded"),w=P("suggestionsPlacement"),[T,k]=Oc("dd-snooze-until-ms",0),E=l||T>Date.now(),I=je(ut),B=je(yn),Z=P("showStyleSuggestions"),se=P("showStyleSuggestionList"),N=je(ms),_=Z&&se?fs((j=N.keywordMatches)!=null?j:[]):[],Ee=_.length>0,H=I.filter(Ne=>Ne.source!=="gpt").length,oe=()=>{E&&k(0),r(hc(!E))},O=Ne=>{let Lt=Date.now()+Ne*1e3;k(Lt),R.info(`Snooze until: ${new Date(Lt)}`),r(ot({collapse:!0}))};return Uv(()=>{H===0&&f(null)},[I,H]),vt(()=>{r(ot({collapse:!0,skipWhenInputFocus:!0}))}),c===null||u===!1?null:c===!1?st("div",{ref:i,className:gi(e.root,{[e.isCollapsed]:E}),children:[!E&&st("div",{className:e.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:e.triggersRight,children:X(Nt,{className:e.toggleButton,title:n("collapse"),onClick:oe,isCollapsed:!1})})]}),X("div",{className:e.toggleButtonWrapper,children:X(Nt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:oe,isCollapsed:!0})}),st("div",{className:e.collapsible,children:[p&&st("div",{className:e.loginError,children:[X("span",{className:e.loginErrorMessage,children:p}),X("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(uo()),"aria-label":n("dismissError"),children:n("dismiss")})]}),X(xs,{loginUrl:v,isEmbedded:x,onLogIn:t,onSnooze:O})]})]}):!s||!o&&!Ee?null:st("div",{ref:i,className:gi(e.root,{[e.isCollapsed]:E}),children:[!E&&st("div",{className:e.triggers,children:[X("div",{style:{flex:1},children:g&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(n(Dc()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>f(null),children:X(Uc,{title:n("search")})})}),st("div",{className:e.triggersRight,onFocus:()=>{},children:[X("div",{className:gi(!m&&e.hintsHidden,e.hints),children:m}),X(Nt,{className:e.toggleButton,title:n("collapse"),onClick:oe,isCollapsed:!1})]})]}),X("div",{className:e.toggleButtonWrapper,children:X(Nt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:oe,isCollapsed:!0})}),(Ee||H>0&&y)&&st("div",{className:e.collapsible,onFocus:()=>{},children:[Ee&&X(us,{matches:_,selectedIndex:-1}),H>0&&y&&X(te,{children:X(ps,{suggestions:I,selectedIndex:B,reverse:w==="above"})})]})]})},zc=jv;import xi from"classnames";import{Interweave as AS}from"interweave";import{useCallback as LS,useEffect as MS,useMemo as du,useRef as NS}from"react";import{connect as OS}from"react-redux";import{useEffect as qv,useRef as $v,useState as Gv}from"react";function bs(t){return t.contentEditable==="true"}function Qv(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 Vc(t){let{selectionStart:e,selectionEnd:n}=bs(t)?Qv(t):t;return[e,n]}function jc(t){let[,e]=Gv(),n=$v(null);return n.current=Vc(t),qv(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=Vc(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 qc(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(io);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 Xv}from"react";var Jv=["div","span","mark","strong","b","i","u","em"];function mi(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(Jv.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),Xv(o,{children:mi(i,e,n+1)})]}return[...t,...e]}function kt(t){return t.tagName.toLowerCase()==="textarea"}var $c={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 sS from"classnames";import{Matcher as rS}from"interweave";import{useEffect as iS,useMemo as aS}from"react";import{useEffect as Zv,useRef as Yv,useState as eS}from"react";function Gc(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function Cs(t){let e=Yv(null),[n,o]=eS(!1);return Zv(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=Gc((p,u)=>{let m=e.current;if(!m)return;let f=p/r,g=u/r,y=m.getBoundingClientRect(),v=f>y.x&&f<y.x+y.width&&g>y.y&&g<y.y+y.height;v&&!s?(s=!0,o(!0)):!v&&s&&(s=!1,o(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=Gc(()=>{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 ws(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Ts(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function Qc(t){return t!=null}import tS from"classnames";import{forwardRef as nS,useRef as oS}from"react";var qe={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 Xc}from"react/jsx-runtime";var Es=nS((s,o)=>{var r=s,{className:t,children:e}=r,n=D(r,["className","children"]);let i=oS(null),a=C("TabCompletion",qe);return Xc("div",b(h({ref:Ts([i,o]),className:tS(t,a.popoverContentContainer)},n),{children:Xc("div",{className:a.popoverContent,children:e})}))});import{jsx as qn,jsxs as cS}from"react/jsx-runtime";var lS=t=>e=>{let n=Or(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},dS=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=C("TabCompletion",qe),i=Uo(),a=aS(()=>lS(t.getBoundingClientRect()),[t]),[d,l]=Cs(t);return iS(()=>{l?i.open():i.close()},[l]),cS("span",{children:[qn("mark",{ref:Ts([d,i.triggerRef]),className:sS(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&qn(jt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:qn(Es,{style:n,children:qn("div",{className:r.hintText,children:s})})})]})},ks=class extends rS{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${ws(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(Qc);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 qn(dS,{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 uS}from"interweave";import pS from"classnames";import{jsx as Jc}from"react/jsx-runtime";var gS=({inputElement:t,children:e})=>{let n=C("TabCompletion",qe),[o,s]=Cs(t);return Jc("mark",{ref:o,className:pS(n.matchPlaceholder,{[n.hover]:s}),children:e})},Ps=class extends uS{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 Jc(gS,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import Si from"classnames";import{Matcher as wS}from"interweave";import{createRef as TS,forwardRef as ES,useCallback as kS,useEffect as iu,useRef as au,useState as lu}from"react";import{useDispatch as PS,useSelector as vi}from"react-redux";function Zc(t,e){let n=new URL(t),o=n.searchParams.get("redirect");if(o){let s=new URL(o,n.origin);return e.forEach((r,i)=>{s.searchParams.set(i,r)}),n.searchParams.set("redirect",`${s.pathname}${s.search}${s.hash}`),n.toString()}return e.forEach((s,r)=>{n.searchParams.set(r,s)}),n.toString()}import{jsx as Yc}from"react/jsx-runtime";var eu=()=>Yc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Yc("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 mS,useEffect as nu,useMemo as fS,useState as ou}from"react";import{useDispatch as hS,useSelector as su}from"react-redux";import yS from"lodash.debounce";var tu={root:"dd-ky-Bv",content:"dd-kV5e1"};function Rs(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 fi(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Pt,jsxs as hi}from"react/jsx-runtime";var vS=3,SS=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),xS=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=vS})=>{let r=C("LinkSearch",tu),[i,a]=ou(""),d=hS(),l=su(Zd("url")),c=su(Qa("URL")),p=fS(()=>c.map(SS),[c]),[u,m]=ou(p.length-1),f=P("fallbackImage"),g=w=>{let T=w.target;a(T.value)},y=(w,T)=>{w.stopPropagation(),w.preventDefault(),window.open(T,"_blank")},v=w=>{var E;let T=u-1<0?p.length-1:u-1,k=u+1===p.length?0:u+1;w.code==="Escape"&&(a(""),e()),w.code==="ArrowUp"&&m(T),w.code==="ArrowDown"&&m(k),w.code==="Enter"&&t(((E=p[u])==null?void 0:E.text)||i)},x=mS(yS(w=>{d(mt({query:w,type:"URL",tags:["link-search"]}))},300),[]);return nu(()=>{i&&x(i)},[i]),nu(()=>()=>{d(Co())},[]),hi("div",{className:r.root,children:[Pt(te,{withDivider:!0,children:(i?p:l).slice(0,s).map((w,T)=>Pt(M,{selected:u===T,onClick:()=>t(w.text),"data-testid":"linksearch-suggestion",children:hi(F,{children:[Pt(F.Image,{src:Rs(w,"small",f||void 0),title:w.title||w.text}),hi(F.Content,{className:r.content,cropText:!0,children:[Pt(F.Title,{children:w.title||fi(w.text)}),w.title&&fi(w.text)]}),Pt(M.Actions,{children:Pt(M.ActionButton,{label:o,onClick:k=>y(k,w.text)})})]})},w.text))}),Pt(On,{value:i,onChange:g,autoFocus:!0,placeholder:n,onKeyUp:v})]})},ru=xS;var yi={};G(yi,{enUS:()=>bS,nlNL:()=>CS});var bS={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"}]},CS={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 Ce,jsxs as Is}from"react/jsx-runtime";var RS=ES((t,e)=>{let n=C("TabCompletion",qe);return Ce("mark",{ref:e,className:Si(n.matchSelection)},"selection-start")}),IS=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=A(yi),i=C("TabCompletion",qe),a=P("addToPersonalCollection"),d=vi(zt("/admin/personal-collection/new")),l=vi(w=>{var T;return(T=w.conversation.current)==null?void 0:T.profileCode}),c=vi(pe)!==null,p=au(null),u=au(null),[m,f]=lu(null),g=PS(),y=Uo(document.activeElement===o),[v]=lu(()=>document.createRange());y.triggerRef.current=v,iu(()=>()=>v.detach(),[]),iu(()=>{let w=t.current,T=p.current;!w||!T||(v.setStart(w,0),v.setEnd(T,0))},[t.current,p.current]),vt(()=>{y.close()});let x=kS(w=>{let T=v.toString(),k=/^http(s?):\/\//.test(w)?w:`https://${w}`,E=`[${T}](${k})`;g(le({text:E,suggestion:{text:E,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return Is("span",{children:[Ce("mark",{ref:p,className:Si(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":y.opened?"true":"false",children:s}),y.opened&&Ce(jt,{className:i.popoverRoot,triggerRef:y.triggerRef,boundaryRef:e,position:"above",align:"start",children:Is(Es,{style:n,ref:u,children:[Is("div",{className:Si(i.selectionOptions,{[i.selectionOptionsIsHidden]:m!==null}),children:[Is("button",{type:"button",tabIndex:m===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>f("insertLink"),children:[Ce(eu,{}),Ce("span",{children:"\xA0"}),Ce("span",{children:r("insertLink")})]}),a&&d&&Ce("button",{type:"button",tabIndex:m===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let w=v.toString(),T=new URLSearchParams({text:w});c&&l&&T.set("profile",l);let k=Zc(d,T);window.open(k,"_blank")},children:Ce("span",{children:r("addToPersonalCollection")})})]}),m==="insertLink"&&Ce(ru,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:x,onDismiss:()=>{f(null),y.close()}})]})})]},"selection-end")},As=class extends wS{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=TS(),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?Ce(RS,{ref:this.startRef}):Ce(IS,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as DS}from"react-redux";import{jsx as Yt,jsxs as HS}from"react/jsx-runtime";var _S=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=C("TabCompletion",$c),c=P("insertLink"),p=P("addToPersonalCollection"),u=P("showMidSentenceSuggestions"),m=P("inlineSuggestions"),f=jc(a),g=NS(null),y=DS(Y);MS(()=>{kt(a)&&f&&qc(a,f)},[f]);let v=LS(T=>{if(!s||!n)return T;let k=[Yt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Yt("span",{"data-testid":"tab-completion",className:xi(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&k.push(Yt("span",{className:xi(l.hint,l.resetIndent),children:Yt(Gs,{keyCode:"tab"},"tabHint")},"tabHint")),mi(T,k)},[s,n,o]),x=du(()=>{let T=[];return(c||p)&&T.push(new As("selection")),T.push(new Ps("placeholders")),r&&T.push(new ks("keywords")),T},[m,c,p,r]),w=du(()=>{let T=window.getComputedStyle(a);return{"--dd-color":T.color,"--dd-font-size":T.fontSize,"--dd-font-family":T.fontFamily,"--dd-font-variant":T.fontVariant}},[]);return!t||!y?null:HS("div",{ref:T=>{T!=null&&T.parentElement&&(g.current=T==null?void 0:T.parentElement)},className:l.root,style:w,children:[Yt(AS,{tagName:"span",containerTagName:"div",className:xi(l.container,l.agentText),disableLineBreaks:kt(a),content:e||"\u200B",onAfterParse:v,matchers:x,selection:f,keywordMatches:i,inputElement:a,inputStyle:w,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!u}),Yt("br",{})]},"tab-completion")},FS=t=>{var v,x,w;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=Ht({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:Bn(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),p=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:u}=n,{isSupported:m}=r,{showTabCompletion:f,visible:g,showStyleSuggestions:y}=o;return{showTabHint:u,showStyleSuggestions:y,showTabCompletion:f&&Ae(t),content:l,tabText:p,source:d,keywordMatches:(w=(x=s.list)==null?void 0:x.keywordMatches)!=null?w:[],enabled:g&&m!==!1}},cu=OS(FS)(_S);import{Fragment as Ex,useEffect as on,useState as Wu}from"react";import{useDispatch as Ri,useSelector as J}from"react-redux";import{createAsyncThunk as uu,createSlice as BS}from"@reduxjs/toolkit";var KS={token:null,interval:null},bi=uu("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),Ci=uu("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(bi()),setInterval(()=>o(bi()),n)}),pu=BS({name:"passwordlessToken",initialState:KS,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(bi.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(Ci.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:gu}=pu.actions,mu=pu.reducer;import{createSelector as US}from"@reduxjs/toolkit";function WS(t){return"buttonText"in t&&"eventName"in t}function fu(t){if(t)return WS(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function zS(t){return t==null?void 0:t.map(e=>fu(e))}function VS(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var hu=US([pl,po],(t,e)=>(e?t.filter(s=>!s.externalConversationId||s.externalConversationId===e):t).map(s=>{var a;let r=fu(s.callToAction),i=zS(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:VS(s.code),label:s.code,name:s.name,description:s.name}})}));import{useEffect as jS,useState as qS}from"react";import Su from"classnames";import{jsx as yu}from"react/jsx-runtime";var en=()=>yu("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:yu("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 vu={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as tn,jsxs as xu}from"react/jsx-runtime";var $S=({entities:t})=>{let e=C("EntitiesWidgetList",vu),[n,o]=qS(void 0),s=q(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),ke(a.text),s("entity copied",{entity:a,type:"copy"}))};return jS(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:tn("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>xu("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[tn("span",{className:e.entityText,children:a.text}),xu("span",{className:e.iconWrapper,children:[tn("span",{className:Su(e.icon),children:tn(en,{})}),tn("span",{className:Su(e.icon,n===d&&e.iconClicked),children:tn(en,{})})]})]},a.text))})},bu=$S;import{jsx as Cu}from"react/jsx-runtime";var wu=()=>Cu("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Cu("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 YS}from"react";import{useDispatch as ex,useSelector as tx}from"react-redux";var Tu={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var Eu={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as QS}from"react/jsx-runtime";var GS=({size:t=12})=>{let e=C("LoadingSpinner",Eu);return QS("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},ku=GS;import{jsx as Pu}from"react/jsx-runtime";var Ru=()=>Pu("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Pu("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 Iu,jsxs as XS}from"react/jsx-runtime";var Au=t=>XS("svg",b(h({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[Iu("title",{id:"checkTitle",children:"Check"}),Iu("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 wi={};G(wi,{enUS:()=>JS,nlNL:()=>ZS});var JS={error:[{type:0,value:"Something went wrong"}]},ZS={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as $e,jsxs as Lu}from"react/jsx-runtime";var nx=3e3,ox=({assistantOptions:t})=>{let e=C("OnDemandAssistants",Tu),n=A(wi),o=YS(),s=ex(),r=bn(ce),i=tx(hd),a=q(),d=i.filter(u=>u.isPinned),l=i.filter(u=>!u.isPinned),c=()=>S(null,null,function*(){return t.attachments&&t.attachments.length>0?t.attachments:s(((u,m,f)=>S(null,null,function*(){let g;if(t.transcript==="in-memory-transcript"){let y=f.dynamicThunkObject.conversationQuery;if(y){let v=yield y();g=Array.isArray(v)?v:void 0}}else Array.isArray(t.transcript)&&(g=t.transcript);return wr({transcript:g})})))}),p=u=>S(null,null,function*(){clearTimeout(o.current);let m=yield c();a("trigger on demand assistant",{assistantCode:u}),yield r.call(h(b(h({},t),{assistantCode:u}),m.length>0?{attachments:m}:{})),o.current=setTimeout(()=>r.reset(),nx)});return i.length===0?null:Lu("div",{className:e.root,children:[d.map(({assistant:u,assistantName:m,displayName:f})=>$e("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>p(u),children:f||m},u)),l.length>0&&Lu(V,{placement:"top-end",children:[$e(V.Trigger,{className:e.trigger,disabled:r.state==="loading",children:$e(os,{"data-testid":"trigger"})}),$e(V.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:u,assistantName:m,displayName:f})=>$e(V.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>p(u),children:f||m},u))})]}),r.state==="loading"&&$e(ku,{}),r.state==="done"&&$e(Au,{"data-testid":"trigger-done"}),r.state==="error"&&$e(Hl,{trigger:$e(Ru,{}),children:n("error")})]})},Mu=ox;import{useDispatch as px}from"react-redux";import{useEffect as Nu,useRef as ix,useState as ax}from"react";var $n={};G($n,{enUS:()=>sx,nlNL:()=>rx});var sx={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"}]},rx={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 Ti={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 we,jsxs as Ls}from"react/jsx-runtime";var lx=500,dx=100,cx=({content:t,onChange:e,onCopy:n})=>{let o=ix(null),s=C("WidgetCue",Ti);return Nu(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,dx),lx);r.style.setProperty("height",`${i}px`)},[t]),we("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},ux=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s,onSourceClick:r})=>{var y;let i=C("WidgetCue",Ti),a=A($n),d=q(),l=P("hasKeyboardInput"),[c,p]=ax(t.text),u=v=>{let x=v?b(h({},t),{callToAction:v}):t;e&&e(c,x),n(t)},m=(v,x)=>{o&&o(v,t),x&&Ye(x,i.fadeup)},f=v=>{s&&s(v,t)},g=v=>{v.preventDefault(),v.stopPropagation(),n(t)};return Nu(()=>{d("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),Ls(M,{"data-testid":"cue",children:[we(F,{children:Ls(F.Content,{children:[t.title&&we(F.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?a(t.rule.label):t.title}),t.message&&we("p",{className:i.ctaMessage,children:t.message}),t.editable?we(cx,{content:c,onCopy:()=>{let v=document.getSelection();v&&m(v.toString())},onChange:v=>{var x;return p((x=v.target.value)!=null?x:"")}}):we(xt,{content:t.text,sources:t.sources,onSourceClick:v=>r==null?void 0:r(v,t),useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:m,onUse:l?f:void 0})]})}),Ls(M.ButtonsContainer,{children:[Ls("div",{className:i.actions,children:[we(M.Button,{onClick:v=>{var x;return m((x=Mo(c,"reply")[0])!=null?x:c,v.target)},variant:"primary",children:a("copyCue")}),t.callToAction&&we(M.Button,{onClick:()=>u(),variant:"primary",children:t.callToAction.label}),(y=t.callToActions)==null?void 0:y.map((v,x)=>we(M.Button,{onClick:()=>u(v),variant:"primary",children:v.label},`${v.event}-${v.label}-${x}`)),we(M.Button,{onClick:g,variant:"secondary",children:a("removeCue")})]}),we(Bo,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackType:"assistant"})]})]})},Ou=ux;import{Fragment as mx,jsx as Ei}from"react/jsx-runtime";var gx=({cues:t})=>{let e=px(),n=ie(),o=A($n),s=q(),r=c=>{e(Oo({code:c.rule.label})),s("Assistant response closed",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text})},i=(c,p)=>{ke(c),s("Assistant response copied",{evaluationId:p.evaluationId,assistantCode:p.rule.label,assistantOutput:p.text,copiedText:c})},a=(c,p)=>{var u;p.callToAction&&(e(No(p)),s("Assistant call to action",{evaluationId:p.evaluationId,assistantCode:p.rule.label,assistantOutput:p.text,eventName:p.callToAction.event,value:(u=p.callToAction.value)!=null?u:c}))},d=(c,p)=>{var u;n.send(Fe,{text:c,suggestion:{source:"assistant",assistantCode:(u=p.rule)==null?void 0:u.label,sourceText:c}}),s("Assistant response used",{evaluationId:p.evaluationId,assistantCode:p.rule.label,assistantOutput:p.text,usedText:c})},l=(c,p)=>{s("Assistant source clicked",{evaluationId:p.evaluationId,assistantCode:p.rule.label,source:c})};return Ei(mx,{children:t.map(c=>c.isLoading?Ei(Vo,{title:c.rule.label.startsWith("__")?o(c.rule.label):c.title},c.rule.id):Ei(Ou,{cue:c,onCallToAction:a,onRemove:r,onCopy:i,onUse:d,onSourceClick:l},c.evaluationId))})},Du=gx;import{Fragment as fx,useEffect as hx}from"react";var _u={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 Ge,jsxs as ki}from"react/jsx-runtime";function yx(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var Fu=({data:t,schema:e})=>{let n=C("WidgetCustomData",_u),o=s=>{ke(s)};return hx(()=>{R.info("Custom data",t,e)},[t]),Ge("dl",{className:n.root,children:e.map(s=>{let r=yx(t,s.path);return ki(fx,{children:[Ge("dt",{className:n.label,children:s.label}),Ge("dd",{className:n.value,children:s.type==="boolean"&&r?Ge("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?Ge("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?ki("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[Ge("span",{className:n.copyButtonText,children:r.join(", ")}),Ge(en,{})]}):typeof r=="string"||typeof r=="number"?ki("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[Ge("span",{className:n.copyButtonText,children:r}),Ge(en,{})]}):"-"})]},s.label)})})};import{useCallback as Sx}from"react";var vx=/(https?:\/\/[^\s]+)/,Hu=t=>t.split(" ").find(e=>vx.test(e));import{jsx as nn,jsxs as Ms}from"react/jsx-runtime";var xx=({suggestion:t,lines:e,onUse:n})=>{var p;let o=t.text||t.url||t.message,s=Hu(o),r=A(Kn),i=P("showImages"),a=P("fallbackImage"),d=P("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&n(o)},c=Sx(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Ms(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Ms(F,{children:[i&&t.image&&nn(F.Image,{src:Rs(t,"small",a||void 0),title:t.title}),Ms(F.Content,{children:[t.title&&nn(F.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&nn(M.Labels,{labels:t.searchKeywords}),nn(F.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),Ms(M.Actions,{children:[s&&nn(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&nn(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Bu=xx;import{Fragment as Cx,jsx as Ku}from"react/jsx-runtime";var bx=({lines:t,suggestions:e})=>{let n=ie(),o=(s,r)=>{n.send(Fe,{text:s,suggestion:b(h({},r),{source:r.source,sourceText:r.text})})};return Ku(Cx,{children:e.map(s=>Ku(Bu,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},Uu=bx;var Gn={};G(Gn,{enUS:()=>wx,nlNL:()=>Tx});var wx={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"}]},Tx={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 Rt={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x",interactiveAssistantTabs:"dd-eSP1-",interactiveAssistantTab:"dd-CwcHD",interactiveAssistantTabActive:"dd-GzRs-"};import{jsx as L,jsxs as Qn}from"react/jsx-runtime";var zu=(t,e)=>{let n=J(Y);on(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},kx=({onLogIn:t})=>{let e=C("Widget",Rt),n=P("isEmbedded"),o=P("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(xs,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},Pi=({text:t})=>{let e=C("Widget",Rt);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},Px=()=>{let t=A(Gn),e=Ri(),n=C("Widget",Rt),o=P("showSearch"),s=P("isEmbedded"),r=J(zt("/admin/")),i=ie(),a=P("productName"),d=q();return zu(()=>{if(s)return e(Ci()),()=>{e(gu())}},[e,s]),!o&&!r?null:Qn("div",{className:n.shortcutList,children:[o&&L(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(Jt,{}),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(wu,{}),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})})]})},Rx=({title:t,content:e})=>{let n=A(Gn),[o,s]=Wu(!0);return o?L(Oe,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(te,{withDivider:!0,children:Qn(M,{children:[L(F,{children:L(F.Content,{children:L(xt,{content:e})})}),L(M.ButtonsContainer,{children:L(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},Ix=()=>{let t=Ri(),e=J(Fn),n=J(vd),o=J(hu),s=J(Ha),r=J(ns),i=J(rs),a=J(me),d=J(pe);return on(()=>{s&&!n&&R.warn("Custom data provided, but no schema.")},[s,n]),zu(()=>{e.forEach(({type:l})=>{l==="entities"?t(Se()):ao.includes(l)||t(xe(l))})},[t,d,a]),on(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&R.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(Ex,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m,property:f})=>{var g,y;switch(l){case"entities":return r&&r.length>0&&L(Oe,{type:l,title:c,"data-testid":`type-${l}`,children:L(bu,{entities:r})},l);case"cues":return o&&o.length>0&&L(Oe,{type:l,title:c,"data-testid":`type-${l}`,children:L(te,{withDivider:!0,children:L(Du,{cues:o})})},l);case"custom-data-banner":return s&&f&&s[f]&&L(Rx,{title:c,content:String(s[f])},l);case"custom-data":return s&&m&&L(Oe,{type:l,title:c,"data-testid":`type-${l}`,children:L(te,{withDivider:!0,children:L(Fu,{data:s,schema:m})})},l);default:return((y=(g=i[l])==null?void 0:g.suggestions)==null?void 0:y.length)>0&&L(Oe,{type:l,title:c,"data-testid":`type-${l}`,children:L(te,{withDivider:!0,children:L(Uu,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Ii=({children:t})=>{let e=C("Widget",Rt);return L("div",{className:e.footer,children:t})},Ai=({children:t})=>{let e=C("Widget",Rt);return L("div",{className:e.root,"data-testid":"widget",children:t})},Ax=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"},openAdminFeedback:o})=>{var T;let s=A(Gn),r=C("Widget",Rt),i=Ri(),a=J(Ft),d=J(Y),l=J(po),c=J(me),p=J(yd("knowledge-assist")),u=J(Sd),m=J(fl),f=J(ml),g=(T=u.find(k=>k.code===m))!=null?T:u[0],[y,v]=Wu(e.initialQuestion);on(()=>{v(e.initialQuestion)},[l,e.initialQuestion]),on(()=>{if(!l)return;let k=hn(l);k&&i(Er(k))},[i,l]),on(()=>{if(u.length===0)return;let k=u.some(E=>E.code===m);(!m||!k)&&i(Tr(u[0].code))},[u,m,i]);let x=!!p&&u.length>0&&!!g,w=(g==null?void 0:g.displayName)||(g==null?void 0:g.name)||(p==null?void 0:p.title)||"Knowledge Assistant";return a===!1?L(Pi,{text:s("notSupported")}):d===!1?L(kx,{onLogIn:t}):d===null?L(Pi,{text:s("waiting")}):!l||!c?L(Pi,{text:s("waitingForConversation")}):L(Nl,{handler:o,children:L(Ai,{children:Qn($o,{initialQuestion:y,onInitialQuestionConsumed:()=>v(void 0),assistantCode:g==null?void 0:g.code,threadId:f,onThreadIdChange:k=>{g!=null&&g.code&&k!=null&&i(kr({assistantCode:g.code,threadId:k}))},evaluateKnowledgeAssistFn:Mn,children:[Qn(pn,{children:[L(Px,{}),L(Ix,{}),x&&L(Qo,{title:w,emptyState:e.emptyState})]}),Qn(Ii,{children:[x&&u.length>1&&L("div",{className:r.interactiveAssistantTabs,"data-testid":"widget-interactive-assistant-tabs",children:u.map(k=>{let E=k.code===(g==null?void 0:g.code);return L("button",{type:"button","aria-pressed":E,className:E?r.interactiveAssistantTabActive:r.interactiveAssistantTab,onClick:()=>i(Tr(k.code)),children:k.displayName||k.name},k.code)})}),x&&L(Go,{}),L(Mu,{assistantOptions:n})]})]},g==null?void 0:g.code)})})},Vu=Ax;function Jn(t){let e=new Range;return e.selectNodeContents(t),e}function ju(t,e,n){try{return It(t,e,n),!0}catch(o){return!1}}function Ns(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Os(t){return"tagName"in t&&t.tagName==="BR"}var Xn=/[\u200B-\u200D\uFEFF]/g;function It(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(Xn,""),p=s+c.length,u=e>=s&&e<=p,m=n>=s&&n<=p;if(u){let f=i(l,e-s);f===0&&!m?o.setStartBefore(d):o.setStart(d,f)}m&&(o.setEnd(d,i(l,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Os(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;Ns(d)&&l&&!Ns(l)&&!Os(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function Ds(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,m=p===n,f=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;m&&(a=l+g.substring(0,o).replace(Xn,"").length),f&&(d=l+g.substring(0,r).replace(Xn,"").length),l+=g.replace(Xn,"").length;break}case Node.ELEMENT_NODE:{if(Os(p)&&p.nextSibling){l++;break}!u&&Ns(p)&&p.previousSibling&&l++;for(let g=0;g<p.childNodes.length;g++){let y=m&&g===o,v=f&&g===r;if(y&&(a=l),v&&(d=l),d!==void 0||((!y||!i)&&c(p.childNodes[g]),f&&g===r-1&&(d=l),d!==void 0))break}f&&(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 _s(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,m=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let f=u?o:0,g=m?r:void 0;d+=c.textContent.replace(Xn,"").substring(f,g);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Os(c)&&c.nextSibling){d+=`
|
|
10
|
-
`;break}!p&&!i&&a===1&&Ns(c)&&c.previousSibling&&(d+=`
|
|
11
|
-
`);let f=u?o:0,g=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let y=f;y<g&&(l(c.childNodes[y]),a!==2);y++);break}default:break}m&&(a=2)}return l(t),d}var qu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(qu||{}),rt=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();Je(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(qu).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 $u(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var sn=class extends rt{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),_s(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!$u(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!$u(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return Ds(this.element,n);let o=this.lastKnownSelection;if(o&&ju(this.element,o.start,o.end))return o;let s=Jn(this.element);return s.collapse(!1),Ds(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return _s(this.element,It(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 Lx=["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 Gu(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",Lx.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 rn=class extends rt{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 Gu(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 Qu(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 Mx(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var Li=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=Qu(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()}},Ni=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(),R.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 Li(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Mx(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(R.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;R.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)}},Xu=Ni;function Nx(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function U(t){return Array.isArray(t)?t.map(U):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[Nx(n)]:U(t[n])}),{}):t}function Ox(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function ee(t){return Array.isArray(t)?t.map(ee):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[Ox(n)]:ee(t[n])}),{}):t}var an=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var Zn=t=>new Promise(e=>{setTimeout(e,t)});var Te=class extends an{constructor(){super(...arguments);this.name="ClientError"}},Fs=class extends an{constructor(){super(...arguments);this.name="ServerError"}},Oi=new Map;function Ju(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:(R.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var ln=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",E=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=I=>I instanceof TypeError,retryOnResponse:g=I=>I.status>=500,version:y=null}=E,v=D(E,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(Oi.has(i)){o(Oi.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 w=p,T=!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 k=()=>S(this,null,function*(){return w--,a(i,x).then(I=>S(this,null,function*(){return g(I)&&!r.isAborted&&w>0?(yield Zn(u),k()):I.status===401&&m===!0&&T===!1?(T=!0,yield this.refreshToken(),k()):I})).catch(I=>S(this,null,function*(){if(f(I)&&!r.isAborted&&w>0)return yield Zn(u),k();throw I}))});k().then(I=>S(this,null,function*(){let B=yield Ju(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new Fs("Server Error",B));return}if(I.status===401){s(new Te("Unauthorized",B));return}if(I.status===403){s(new Te("Forbidden",B));return}if(I.status===404){s(new Te("Not Found",B));return}if(I.status>=400){s(new Te("Bad Request",B));return}l&&Oi.set(i,B),o(B)})).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 Te("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,k=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:u=!0,retryOnError:m=E=>E instanceof TypeError,retryOnResponse:f=E=>E.status>=500,version:g=null}=k,y=D(k,["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 g=="string"&&(v.headers=b(h({},v.headers),{"X-Deepdesk-API-Version":g}));let x=c,w=!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 T=()=>S(this,null,function*(){return x--,a(i,v).then(E=>S(this,null,function*(){return f(E)&&!r.isAborted&&x>0?(yield Zn(p),T()):E.status===401&&u===!0&&w===!1?(w=!0,yield this.refreshToken(),T()):E})).catch(E=>S(this,null,function*(){if(m(E)&&!r.isAborted&&x>0)return yield Zn(p),T();throw E}))});T().then(E=>S(this,null,function*(){let I=yield Ju(E);if(delete this.latestRequestByUrl[i],E.status>=500){s(new Fs("Server Error",I));return}if(E.status===401){s(new Te("Unauthorized",I));return}if(E.status===403){s(new Te("Forbidden",I));return}if(E.status===404){s(new Te("Not Found",I));return}if(E.status>=400){s(new Te("Bad Request",I));return}o({status:E.status,data:I})})).catch(E=>{delete this.latestRequestByUrl[i],s(E)})})}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 Zu;(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={}))})(Zu||(Zu={}));function Hs(t){return b(h({},U(t)),{metadata:t.metadata})}var At=class At{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new ln(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?(At.exchangeTokenPromise||(At.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),At.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return S(this,null,function*(){var o;yield this.preflight(),R.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()},ee(e)),{metadata:(o=e.metadata)!=null?o:{}}));return Hs(n)})}upsertConversation(e){return S(this,null,function*(){var c;yield this.preflight(),R.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()},ee(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=Hs(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*(){yield this.preflight();let e=yield this.client.get("/apis/admin/session/me/");return U(e)})}postIdentity(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",ee(e))})}patchMe(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",ee(e));return U(n)})}getProfile(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return U(n)})}getKnowledgeAssistant(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return U(n)})}getContentTypes(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return U(e)})}getAccount(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return U(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 U(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(),R.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 R.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Hs(i)})}isConversationSupported(o){return S(this,arguments,function*(e,n={}){R.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=ee(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return Hs(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({},ee(o)),{metadata:o.metadata})))})}sendEvent(e,n){return S(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=D(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",ee(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 R.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/",ee(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}`,ee(n),{abortLatest:!0})).map(i=>b(h({},U(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`,ee(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))})}syncPersonalCollection(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/personal-collection/sync`,{},{version:"v2"})})}getPinnedMessages(e){return S(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return U(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",ee(e),{abortLatest:!0,version:"v2"});return U(n)})}search(e){return S(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,ee(e));return U(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 U(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 U(n)})}requestPasswordlessToken(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return U(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 U(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=p=>ee(p),i=(d=n==null?void 0:n.transcript)==null?void 0:d.map(p=>{var u;return h({source:p.source,text:p.text},(u=p.attachments)!=null&&u.length?{attachments:p.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 U(a)})}interactWithAssistant(e){return S(this,null,function*(){yield this.preflight();let n=new URLSearchParams;e.sessionId&&n.append("session_id",e.sessionId),e.externalConversationId&&n.append("external_conversation_id",e.externalConversationId);let o=`/api/v2/assistants/${e.assistantCode}/interact?${n.toString()}`,s=yield this.client.post(o,{message:e.message});return U(s)})}resetAssistantThread(e){return S(this,null,function*(){yield this.preflight();let n=encodeURIComponent(e.assistantCode),o=encodeURIComponent(e.sessionId);yield this.client.delete(`/api/v2/assistants/${n}/sessions/${o}/thread`)})}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 U(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 U(r)})}translateMessages(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",ee(e));return U(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(aa);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&R.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};At.exchangeTokenPromise=null;var it=At;var Bs=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=U(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 Hx,configureStore as Bx}from"@reduxjs/toolkit";import{createSlice as Dx}from"@reduxjs/toolkit";var Yu={startTime:null,stopTime:null},ep=t=>t.handlingTime,tp=Dx({name:"handlingTime",initialState:Yu,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(z,()=>Yu)}}),{handlingTimeStart:np,handlingTimeStop:Ks,handlingTimeReset:op}=tp.actions,sp=tp.reducer;var rp=(t={})=>{let e=h({onAuthError:Dt(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var ip=(t={})=>{let e,n=!0,o=h({getStyleSuggestions:Tt,debounce:500},t);return s=>r=>i=>{var m;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(!((m=l.conversation.current)==null?void 0:m.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 _x(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var ap=(t={})=>{let e=h({getTextSuggestions:xe,getAutocompleteSuggestions:Vn,debounce:200,check:Ae},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===is.toString();if(!p||!l&&!c)return a;let{input:m}=d;return _x(m,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let y=ct(d);y===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(y))},u?0:e.debounce)),a}};var lp=Tt.fulfilled.toString();function Fx(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 dp=t=>e=>n=>o=>{var l;if(o.type!==lp){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=Fx(s,i);o.type===lp&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var Kx=Hx({assistants:Tl,auth:fa,conversation:Ca,contentTypes:gd,passwordlessToken:mu,entities:Wd,handlingTime:sp,info:ja,input:Da,settings:kl,profile:xd,search:Ja,styleSuggestions:Ac,ui:yc,textSuggestions:tc});function cp(t){return Bx({reducer:Kx,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(rp()).concat(ap({debounce:200})).concat(ip({debounce:500})).concat(dp(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function up(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${ws(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 Ux=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},Wx=t=>e=>n=>o=>{var d,l,c,p,u,m;let s=e.getState(),r=ht("inlineSuggestions")(s),i=ht("autoSelectSuggestion")(s)||r;switch(o.type){case Dt.toString():{!o.payload&&t.emit("logout",void 0);break}case co.fulfilled.toString():{t.emit("logout",void 0);break}case Se.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 gt.toString():t.logSendMessage(o.payload);break;case No.toString():t.emit("call-to-action",{cue:o.payload});break;case ce.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:f,currentExternalIdAtRequest:g}=(l=o.payload)!=null?l:{};(!f||!g||f===g)&&t.broadcast(lr,o,!1)}break;case ce.rejected.toString():break;default:break}let a=n(o);switch(o.type){case gt.toString():t.handleAfterSendMessage(o.payload);break;case jn.toString():t.onUpdateShowTabHint(o.payload);break;case Ks.toString():t.logHandlingTime();break;case Bt.toString():t.broadcast(To,o);break;case pt.toString():t.broadcast(To,o);break;case Oo.toString():e.dispatch(pt({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let f=s.assistants.cues.find(g=>g.code===o.meta.arg.data.assistantCode);t.emit("event",b(h({},o.meta.arg),{cue:f}));break}case le.toString():{let{start:f,end:g}=s.input.selection;t.emit("select-suggestion",b(h({type:Ux(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:f,end:g}:{start:0,end:g}})),r&&e.dispatch(Ze([]));break}case Ic.toString():{let{keyword:f,suggestion:g,eventMetrics:y}=o.payload,{text:v,selection:x}=s.input,w=up(v,f,(c=x==null?void 0:x.end)!=null?c:v.length);if(!w)break;t.emit("select-suggestion",{text:g,type:"style",replace:w,suggestion:{text:g,source:"style"},eventMetrics:y});break}case ho.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 Ze.toString():{i&&o.payload.length>0&&e.dispatch(yo(0));break}case ce.fulfilled.toString():{let{evaluationId:f,output:g,externalConversationId:y}=o.payload,v=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:f,assistantCode:v,assistantOutput:vl(g),externalConversationId:y,evaluationStatus:"success"}}),!o.meta.arg.skipState){let x=e.getState().assistants.cues;t.emit("cues",x)}break}case ce.rejected.toString():{let f=o.meta.arg.assistantCode,g=(m=o.meta.arg.externalConversationId)!=null?m:(u=e.getState().conversation.current)==null?void 0:u.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:f,assistantOutput:"",externalConversationId:g,evaluationStatus:"failed"}});break}default:break}return a},pp=Wx;import{createSelector as zx}from"@reduxjs/toolkit";function Di(t){return t.toISOString().replace("T"," ").replace("Z","")}var Vx=(t,e)=>e.version,gp=zx([Kt,pe,ep,Vx],(t,e,n,o)=>{if(!e)return R.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(R.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:Di(s),timeStop:Di(r)}});function mp(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 Yn=class extends Error{};function jx(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Us=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 Yn("Queued async function is outdated"));let s=jx();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function _i(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return _i(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?_i(s,e):null}function Fi(t,e){return _i(t,e)}var qx={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},fp=(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 R.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[qx[e]];if(o&&o.length>0){let a=o.map(d=>d.code);return t.summarizerAssistantNew&&e!=="ended"&&(a=a.filter(d=>d!==t.summarizerAssistantNew)),a}return R.warn(`No assistant set in profile for conversation event "${e}"`),[]};function $x(t){var e,n,o,s;return(s=(o=(n=(e=t.uiConfig)==null?void 0:e.widget)==null?void 0:n.types)==null?void 0:o.some(r=>r.type==="knowledge-assist"&&r.isActive))!=null?s:!1}function hp(t){var n,o;return((o=(n=t.widgetInteractiveAssistants)==null?void 0:n.length)!=null?o:0)>0&&$x(t)?!0:!!t.knowledgeAssistantNew||!!t.knowledgeAssistant}function Gx(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Hi(t){return Gx(t)&&(kt(t)||bs(t))}var vp,Le=new Map,Qx=["bottom","height","left","right","top","width"],yp=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:Qx.some(n=>t[n]!==e[n]);function Sp(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,...Sp(e)]:[]}function xp(t,e){return!t||!e?null:b(h({},t),{top:t.top+e.top,left:t.left+e.left})}var Ws=!1,bp=()=>{Ws=!0;let t=[];if(Le.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Le.delete(n);return}let o=n.getBoundingClientRect();yp(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(xp,e.rect):e.rect;yp(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Le.size===0){Ws=!1;return}vp=window.requestAnimationFrame(bp)};function Bi(t,e){let n=Sp(t),o=[],s=n.map((r,i)=>Bi(r,a=>{o[i]=a;let d=Le.get(t);if(!d)return;let l=o.reduce(xp,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Le.has(t)){let i=Le.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Le.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Ws&&bp()},unobserve(){s.forEach(i=>i.unobserve());let r=Le.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Le.delete(t),Le.size||(cancelAnimationFrame(vp),Ws=!1)}}}}var Cp,Me=new Map,wp=()=>{Me.forEach((t,e)=>{if(!e.isConnected){Me.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)))}),Me.size!==0&&(Cp=window.requestAnimationFrame(wp))};function Tp(t,e){return{observe(){let n=Me.size===0;Me.has(t)?Me.get(t).callbacks.push(e):Me.set(t,{visible:void 0,callbacks:[e]}),n&&wp()},unobserve(){let n=Me.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Me.delete(t),Me.size||cancelAnimationFrame(Cp)}}}}var Ki=["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 Ui(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function dn(t){return Number.parseFloat(t)}function zs(t){return Math.round(t*1e6)}function Ep(t){return t/1e6}function Wi(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=dn(t.width),r=dn(t.borderLeftWidth),i=dn(t.borderRightWidth),a=dn(t.paddingRight),d=Ep(zs(s)-zs(r)-zs(i)),l=Ep(zs(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function Vs(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",St(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};Ui(o,n,Ki),Wi(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=Tp(t,()=>{Ui(o,n,Ki),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(Ui(o,n,Ki),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 m=e.closestScrollElement.getBoundingClientRect(),f=window.getComputedStyle(e.closestScrollElement),g=dn(f.borderTopWidth),y=dn(f.borderBottomWidth),v=m.top+g-u.top,x=u.top+u.height+-(m.top+m.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):(p=t.parentElement)==null||p.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}function Xx(t){return t.offsetParent!==null}function kp(t){if(!Xx(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 zi(t,e,n=100){let o=kp(t);e({isVisible:o});let s=setInterval(()=>{let r=kp(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Pp=(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){R.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as K,jsxs as Jx}from"react/jsx-runtime";var Rp=Pp("showTabHint",!0),cn=class cn{constructor({deepdeskUrl:e,version:n=cn.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=Bs}){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 Us;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;this.loadProfileConfigPromiseKey=null;this.personalCollectionSyncPendingKey=null;this.personalCollectionSyncDrainPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new it(l,{token:s,fetch:r}),this.version=n,this.instanceId=cn.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[pp({broadcast:(f,g,y)=>{this.broadcastEvents.send(f,g,y)},emit:(f,g)=>this.emit(f,g),handleAfterSendMessage:f=>this.handleAfterSendMessage(f),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:f=>this.logSendMessage(f),onUpdateShowTabHint:f=>Rp.update(f),sendEvent:(f,g)=>this.deepdeskApi.sendEvent(f,g)})]};this.store=cp(c),this.broadcastEvents=new Xu({debug:!0,deepdeskUrl:l,eventMap:Za(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 f;return(f=Y(this.state))!=null?f:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(jn(Rp.value())),this.store.dispatch(Nn({locale:o,adminUrl:l,productName:i}));let p=[],u=f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Cl(f))};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",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(bl(f))};this.hasConversation()?g():p.push(g)}),this.ws.on("assistants::suggest_as_reply",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Bt([{text:f.payload.message,type:"text",source:"assistant",assistantCode:f.code,sourceLabel:f.name}]))};this.hasConversation()?g():p.push(g)});let m=this.whenConversationLoaded(()=>{var f;this.broadcastEvents.setExternalId((f=this.state.conversation.current)==null?void 0:f.externalId),p.forEach(g=>g()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,m()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=ut(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?(R.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(R.warn("Profile has not been loaded (yet)"),!0):(R.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(Y(this.state))e();else{let n=this.subscribe(Y,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Dt(null)),this.store.dispatch(_e()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return S(this,null,function*(){return(yield this.store.dispatch(_e())).payload})}isConversationSupported(e,n){return S(this,null,function*(){return(yield this.store.dispatch(tr({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(go(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(mo({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(nr(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return S(this,null,function*(){yield this.store.dispatch(or(e))})}updateConversation(e){return S(this,null,function*(){return(yield this.store.dispatch(fo(e))).payload})}resetConversation(){this.store.dispatch(z()),this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Nn(e))}setVisitorInfo(e){this.store.dispatch(Ua(e))}setCustomData(e){this.store.dispatch(Wa(e))}setAgentInfo(e,n){return S(this,null,function*(){var s;yield this.store.dispatch(vn(h(h({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(wo,{showNicknameDialog:!0})})}setAgentSettings(e){return S(this,null,function*(){yield this.store.dispatch(rr(e))})}getAgentSettings(){return S(this,null,function*(){return(yield this.store.dispatch(ir())).payload})}getMe(){return S(this,null,function*(){return this.deepdeskApi.getMe()})}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(vo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(le(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(ce({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,p,m;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){R.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=fp(o,e),r=(p=n==null?void 0:n.showCuesInWidget)!=null?p:!0,u=n!=null?n:{},{showCuesInWidget:i}=u,a=D(u,["showCuesInWidget"]),d=(m=n==null?void 0:n.externalConversationId)!=null?m:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(f=>this.queues.push(f,()=>S(this,null,function*(){var y,v;let g=yield this.store.dispatch(ce(h(b(h({assistantCode:f,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: ${(y=g.payload)!=null?y:g.error.message}`);return{assistantCode:f,evaluationId:g.payload.evaluationId,output:g.payload.output,externalConversationId:(v=g.payload.externalConversationId)!=null?v:d}})).catch(g=>{if(g instanceof Yn)return R.warn(`Queued assistant "${f}" was outdated and dropped`),null;throw g})));if(!r)return l.filter(f=>f!==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",m=s.length>0;if(this.store.dispatch(Ra(sr(e))),!Ae(this.state)||e.key!=="Tab"&&!l)return;let f=()=>{n||!m||i&&(e.shiftKey||(this.store.dispatch(La()),e.preventDefault()))},g=()=>{n||!m||p&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Ma()),e.preventDefault()))};switch(e.key){case"ArrowUp":u==="below"?g():f();break;case"ArrowDown":{u==="below"?f():g();break}case"Escape":{n||(this.store.dispatch(yo(-1)),this.store.dispatch(ot({collapse:!0})),this.store.dispatch(fc(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let y=Ht(this.state);if(!y)return;this.store.dispatch(jn(!1)),this.store.dispatch(le({text:y.text,suggestion:y,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(p||this.state.input.selectedSuggestionIndex===-1)return;let y=Ht(this.state);if(!y)return;this.store.dispatch(le({text:y.text,suggestion:y,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(p||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let y=Ht(this.state);if(!y)return;this.store.dispatch(le({text:y.text,suggestion:y,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(ot({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Ze([]))}handlingTimeStart(){this.state.handlingTime.startTime||(R.info("Start handling time"),this.store.dispatch(np()))}handlingTimeStop(){this.state.handlingTime.startTime&&(R.info("Stop handling time"),this.store.dispatch(Ks()))}logSendMessage(e){let n=mp(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=gp(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(op()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(gt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(Oa()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){R.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),R.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(za(e))}whenConversationLoaded(e){let n=()=>this.getConversationLoadedKey(),o=()=>{let r=n();r&&this.loadProfileConfig().then(()=>{if(n()!==r)return;let i=this.state.conversation.current,a=me(this.state);!(i!=null&&i.id)||i.profileCode&&(a==null?void 0:a.code)!==i.profileCode||e()})};return n()&&o(),this.subscribe(r=>this.getConversationProfileKey(r.conversation.current),r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=Vs(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]=Vs(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 St(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),R.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()?(R.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Na(o.metrics))):R.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(!Hi(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=D(u,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),St(e),this.inputMediator=a||(kt(e)?new rn(e):new sn(e)),this.inputMediator.on("change",({plainText:m,rawHTML:f,suggestionTextStart:g})=>{this.store.dispatch(vo({text:m,html:f,suggestionTextStart:g}))}),this.inputMediator.on("keyup",m=>{this.store.dispatch(Ia(sr(m)))}),this.inputMediator.on("keydown",m=>{this.handleKeyDown(m)}),this.inputMediator.on("paste",({pastedText:m,selectionText:f})=>{this.store.dispatch(Aa({text:m,selectionText:f}))}),this.inputMediator.on("cut",({selectionText:m})=>{this.store.dispatch(Pa(m))});let c;this.inputMediator.on("selection",m=>{clearTimeout(c),m===null?c=setTimeout(()=>{m!==null&&this.store.dispatch(So(m))},500):this.store.dispatch(So(m))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var m;(m=this.inputMediator)==null||m.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(ds(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(ds(!0))}),this.renderSuggestions(e,l),this.subscribe(ht("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(ht("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let p=this.renderOverlays(n);this.unmountHandlers.push(()=>{p.unmount()}),this.store.dispatch(vo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(So(this.inputMediator.getSelection())),this.store.dispatch(ds(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=at(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(K(Ve,{store:this.store,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(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(wo,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){R.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=at(s);r.render(K(Ve,{store:this.store,customStyles:o,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(Lc,{})})}));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&&Fi(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=at(d);u.render(K(Ve,{store:this.store,customStyles:s,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(cu,{inputElement:e})})}));let m=at(c);return m.render(K(Ve,{store:this.store,customStyles:s,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(zc,{onLogIn:()=>this.loginViaPopup().catch(f=>R.warn(f.message))})})})),{unmount(){u.unmount(),m.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&Fi(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=at(d);return c.render(K(Ve,{store:this.store,customStyles:o,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(gc,{onLogIn:()=>this.loginViaPopup().catch(p=>R.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=at(o);return s.render(K(Ve,{store:this.store,customStyles:n,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(ac,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&R.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,openAdminFeedback:d}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let l;if(a)try{l={url:new URL(a,this.settings.adminUrl).toString()}}catch(c){R.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.widgetRoot=at(e),this.widgetRoot.render(K(Ve,{store:this.store,customStyles:o,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(Jo,{report:c=>this.deepdeskApi.sendEvent(nd,{data:c}),children:K(Vu,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,openAdminFeedback:d,onLogIn:()=>this.loginViaPopup(l).catch(c=>R.warn(c.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=at(n);return i.render(K(Ve,{store:this.store,customStyles:s,children:K(He,{broadcastEvents:this.broadcastEvents,children:K(Ai,{children:Jx($o,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Mn,children:[K(pn,{children:K(Qo,{title:o.title,emptyState:o.emptyState})}),K(Ii,{children:K(Go,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=zi(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Xo(e)&&e.message==="Unauthorized"&&this.login()}getConversationProfileKey(e){var n;if(e!=null&&e.id)return`${e.id}:${(n=e.profileCode)!=null?n:""}`}getProfileLoadKey(){var n;let e=this.state.conversation.current;return e!=null&&e.profileCode&&(n=this.getConversationProfileKey(e))!=null?n:null}isCurrentProfileLoadKey(e){return this.getProfileLoadKey()===e}getConversationLoadedKey(){return this.getConversationProfileKey(this.state.conversation.current)}resetProfileDerivedSettings(){this.store.dispatch(Ur()),this.store.dispatch(Nn(Pr))}syncPersonalCollectionForConversation(e){this.personalCollectionSyncPendingKey=e,this.ensurePersonalCollectionSyncDrain()}ensurePersonalCollectionSyncDrain(){return this.personalCollectionSyncDrainPromise?this.personalCollectionSyncDrainPromise:(this.personalCollectionSyncDrainPromise=this.drainPersonalCollectionSync().finally(()=>{this.personalCollectionSyncDrainPromise=null,this.personalCollectionSyncPendingKey&&this.ensurePersonalCollectionSyncDrain()}),this.personalCollectionSyncDrainPromise)}drainPersonalCollectionSync(){return S(this,null,function*(){for(;this.personalCollectionSyncPendingKey;){let e=this.personalCollectionSyncPendingKey;if(this.personalCollectionSyncPendingKey=null,!this.isCurrentProfileLoadKey(e))continue;let n=this.state.conversation.current,o=n==null?void 0:n.id;if(!(!o||!n.profileCode))try{yield this.deepdeskApi.syncPersonalCollection(o)}catch(s){this.isCurrentProfileLoadKey(e)&&R.warn("Failed to sync personal collection for profile",s)}}})}loadProfileConfig(e=!0){let n=this.getProfileLoadKey();if(!n)return this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.resetProfileDerivedSettings(),Promise.resolve();let o=this.state.conversation.current,s=me(this.state);if(s&&s.code!==(o==null?void 0:o.profileCode)&&(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.resetProfileDerivedSettings()),this.loadProfileConfigPromise&&this.loadProfileConfigPromiseKey===n)return this.loadProfileConfigPromise;this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=n;let r=Promise.resolve().then(()=>S(this,null,function*(){try{yield this.store.dispatch(_n()).unwrap()}catch(d){if(d===Qt)return this.loadProfileConfigPromise===r&&(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null),e&&this.isCurrentProfileLoadKey(n)&&!me(this.state)?this.loadProfileConfig(!1):void 0;throw d}if(!this.isCurrentProfileLoadKey(n))return;let i=me(this.state),a=this.state.conversation.current;!i||i.code!==(a==null?void 0:a.profileCode)||(this.store.dispatch(Nn({showSearch:i.search,showImageSearch:i.imageSearch,showEntitiesCommand:i.entitiesCommand,showSummaryCommand:!!i.summarizerAssistantNew,showKnowledgeSearch:hp(i),recommendTextSuggestions:i.recommendTextSuggestions})),this.syncPersonalCollectionForConversation(n))})).finally(()=>{this.loadProfileConfigPromise===r&&(me(this.state)||(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null))});return this.loadProfileConfigPromise=r,r}loginViaPopup(e){return S(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(uo());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=m=>S(this,null,function*(){var f,g;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(xn),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");if(c===null){o(new Error("Popup blocked by browser"));return}let p=m=>S(this,null,function*(){var f;if(!(m.origin!==a.origin||m.source!==c))switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-request-origin":{try{let g=JSON.stringify({type:"deepdesk-popup-parent-origin"});c.postMessage(g,a.origin)}catch(g){R.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.postMessage(g,a.origin,[s.port2])}catch(g){R.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-error":{if(l(),m.data.message==="Platform account url mismatch"){let g="Please contact your administrator: The page that opened the popup is not a trusted origin.";R.warn(g),this.store.dispatch(Ys(g)),o(new Error(g));return}if(m.data.message==="Timeout"){let g="Please contact your administrator: Popup timed out. Check if the account's platform.url or account.url is configured correctly.";R.warn(g),this.store.dispatch(Ys(g)),o(new Error(g));return}o(new Error(m.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 S(this,null,function*(){this.isMounted&&(yield this.store.dispatch(is()))})}refreshWidgetSuggestions(){return S(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Fn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(Se());break;case"pinned-messages":case"sticky-messages":break;default:ao.includes(o)||this.store.dispatch(xe(o))}})}catch(o){this.handleError(o)}})}};cn.version="19.6.2-beta.9",cn.count=0;var js=cn;function Zx(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 Yx(t,e){return S(this,null,function*(){let n=yield Zx(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 eb(t,e,n){return S(this,null,function*(){yield new it(t).authenticateWithKey(e,n)})}function tb(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function nb(o,s){return S(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 ob(o,s){return S(this,arguments,function*(t,e,n={}){let r=n.replace?It(t,n.replace.start,n.replace.end):Jn(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?It(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 sb(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 rb(t){let e=document.createDocumentFragment();return t.split(`
|
|
13
|
-
`).forEach((
|
|
10
|
+
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 xc}from"react/jsx-runtime";var rv={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},bc=({className:t,color:e})=>xc("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:xc("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:rv[e||"pink"]})});var Cc={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var fi={};X(fi,{enUS:()=>iv,nlNL:()=>av});var iv={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},av={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as cv}from"react-redux";import{jsx as hi,jsxs as wc}from"react/jsx-runtime";var Tc=({onLogIn:t})=>{let e=A(fi),n=P("floatingMenu"),o=P("productName"),s=cv(),r=dv(ee),i=w("FloatingMenu",Cc);if(r===null||n===!1)return null;let a=()=>{r===!0?s(ce(!0)):t()};return wc("button",{type:"button",className:lv(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[hi("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),wc("div",{className:i.icon,children:[hi(bc,{className:i.logo,color:"pink"}),r===!1&&hi(Sc,{className:i.lock})]})]})};import{useEffect as Nv,useRef as Dv}from"react";import{useDispatch as _v,useSelector as Rt}from"react-redux";function Le(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 uv}from"@reduxjs/toolkit";var pv={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},hs=({ui:t})=>t.overlayCollapsed,Ec=uv({name:"ui",initialState:pv,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:Xn,setInputFocus:ys,setOverlayCollapsed:rt,setOpenOverlayWhenTyping:kc,setOverlayCollapsedUserOverwrite:Rc}=Ec.actions,Pc=Ec.reducer;var Ic={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as vs}from"react/jsx-runtime";var gv=({match:t,selected:e,styles:n})=>vs(N,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:vs("span",{className:n.styleSuggestion,children:t.suggestion})}),mv=({matches:t,selectedIndex:e})=>{let n=w("StyleSuggestionList",Ic);return vs(ne,{children:t.map((o,s)=>vs(gv,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},Ss=mv;import{useMemo as Iv}from"react";import{Interweave as Nc}from"interweave";import{useEffect as xv,useMemo as bv,useRef as Cv,useState as wv}from"react";import{useDispatch as Tv,useSelector as Dc}from"react-redux";import{useEffect as fv}from"react";function Ac(t,e,n){fv(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var Lc={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 Mc,jsxs as hv}from"react/jsx-runtime";var Oc=({title:t})=>hv("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[Mc("title",{id:"closeTitle",children:t}),Mc("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 yi={};X(yi,{enUS:()=>yv,nlNL:()=>vv});var yv={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},vv={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as Ve,jsxs as _c}from"react/jsx-runtime";var Ev=["search","personal-collection-search","search-autocomplete"];function kv(t,e,n,o={}){var r;let s="";return Ev.includes(e)?s=_d(ei(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=ei(t,n,o),o.placeholders===!0&&(s=Fd(s)),s}var Rv=()=>{},Pv=({selected:t,suggestion:e})=>{let n=A(yi),o=P("inlineSuggestions"),s=Dc(pt),[r,i]=wv(!1),a=P("enableSuggestionFeedback"),d=Dc(y=>y.input.text),l=Tv(),c=w("TextSuggestion",Lc),p=Cv(null),u=e.source==="assistant",m=a&&!u;xv(()=>{let y=setTimeout(()=>{l(_a({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(y)}},[e]),Ac(p,"click",()=>{l(de({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let f=()=>{l(mt({source:e.source,text:e.text,assistantCode:e.assistantCode}))},g=bv(()=>kv(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:_c("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[Ve(N,{ref:p,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:Rv,children:e.source==="assistant"?_c("div",{className:c.assistantContainer,children:[Ve(Nc,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:g}),Ve("span",{className:c.assistantBadge,children:n("assistant")})]}):Ve(Nc,{containerTagName:"div",tagName:"span",className:c.formattedText,content:g})}),m&&r&&Ve("div",{className:c.actions,children:Ve(ps,{source:"overlay",context:d,suggestion:e})}),u&&r&&Ve("div",{className:c.closeIconContainer,children:Ve("button",{type:"button",className:c.closeIcon,onClick:f,title:n("close"),children:Ve(Oc,{title:n("close")})})})]})},Fc=Pv;import{jsx as Lv}from"react/jsx-runtime";var Av=({suggestions:t,selectedIndex:e,reverse:n})=>Iv(()=>{let s=t.map((r,i)=>Lv(Fc,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),xs=Av;var Hc={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as Mv,createSlice as Ov}from"@reduxjs/toolkit";var Jn={list:{keywordMatches:[]},fetchState:"idle"},bs=t=>t.styleSuggestions.list,kt=Mv("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 Jn.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),Bc=Ov({name:"styleSuggestions",initialState:Jn,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(kt.pending,e=>{e.fetchState="loading"}).addCase(kt.rejected,e=>{e.fetchState="error"}).addCase(kt.fulfilled,(e,n)=>{e.fetchState="done",Ze(e.list,n.payload)||(e.list=n.payload)}).addCase(ft,e=>{e.list=Jn.list}).addCase(z,()=>Jn).addCase(ie,()=>Jn)}}),{commitStyleSuggestion:Uc}=Bc.actions,Kc=Bc.reducer;var Cs=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 ws,jsxs as Hv}from"react/jsx-runtime";var Fv=()=>{var y;let t=Dv(null),e=w("InlineSuggestionsOverlay",Hc),n=Rt(Le),o=_v(),s=Rt(ee),r=Rt(Bt),i=Rt(hs),a=P("showTextSuggestions"),d=Rt(gt),l=Rt(bn),c=P("showStyleSuggestions"),p=P("showStyleSuggestionList"),u=Rt(bs),m=c&&p?Cs((y=u.keywordMatches)!=null?y:[]):[],f=m.length>0,g=a&&d.length>0;return xt(()=>{setTimeout(()=>{o(rt({collapse:!0,skipWhenInputFocus:!0}))})}),Nv(()=>{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&&!f||!g&&!f?null:ws("div",{className:e.root,"data-variant":"inline",children:Hv("div",{ref:t,className:e.paper,children:[f&&ws(Ss,{matches:m,selectedIndex:-1}),g&&ws(ne,{children:ws(xs,{suggestions:d,selectedIndex:l})})]})})},Wc=Fv;import Kv,{useState as Si,useEffect as Wv}from"react";var zc={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 zv}from"react-redux";var vi={};X(vi,{enUS:()=>Bv,nlNL:()=>Uv});var Bv={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."}]},Uv={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 Vv,jsx as Ce,jsxs as Ts}from"react/jsx-runtime";var Vc=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=Si(""),[i,a]=Si(!1),[d,l]=Si(!1),c=w("Nickname",zc),p=Kv.useRef(null),u=zv(v=>v.info.showNicknameDialog),m=A(vi),f=P("adminUrl");Wv(()=>{o&&a(!0)},[o]);let g=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(m("nicknameDialogError")),p.current.reportValidity()},y=v=>{v.preventDefault();let x=s.trim(),b=v.currentTarget.querySelector("#nickname-input");if(!x){b.setCustomValidity(m("nicknameDialogError")),b.reportValidity();return}b.setCustomValidity(""),e(x)};return Ts(Xt,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[Ce("div",{className:c.titleWrapper,children:Ce("h1",{className:c.title,children:m("title")})}),Ts("form",{className:c.dialogContent,onSubmit:y,children:[Ce("p",{children:m("nicknameDialogTitle")}),i&&o&&Ce("div",{className:c.errorMessage,children:f?(()=>{let v=m("nicknameDialogSaveError",{account:f}),x=`${f}.deepdesk.com/admin/user-settings`,b=v.indexOf(x);if(b!==-1){let E=v.substring(0,b),k=v.substring(b+x.length);return Ts(Vv,{children:[E,Ce("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:x}),k]})}return v})():m("nicknameDialogSaveErrorWithoutLink")}),Ce("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:m("nicknameDialogInputPlaceholder"),value:s,onChange:v=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(v.target.value)),r(v.target.value)},onBlur:g,ref:p}),d&&Ce("div",{className:c.errorMessage,role:"alert",children:m("nicknameDialogEmojiError")}),Ts("div",{className:c.buttonsWrapper,children:[o?Ce("div",{className:c.closeButtonWrapper,children:Ce("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:m("close")})}):null,Ce("div",{className:c.buttonContinueWrapper,children:Ce("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:m("nicknameDialogContinueButton")})})]})]})]})};import{Provider as qv}from"react-redux";import{jsx as Es}from"react/jsx-runtime";var $v=({children:t})=>{let n=P("locale").replace("-","");return Es(Pr.Provider,{value:n,children:t})},jv=({store:t,customStyles:e={},children:n})=>Es(qv,{store:t,children:Es($v,{children:Es(mn.Provider,{value:e,children:n})})}),qe=jv;import Ti from"classnames";import{useEffect as rS,useRef as iS,useState as aS}from"react";import{useDispatch as lS,useSelector as $e}from"react-redux";import{useState as Gv}from"react";function qc(t,e){let[n,o]=Gv(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return R.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){R.error(i)}}]}import Jv from"classnames";import{Fragment as Zv,useCallback as bi,useMemo as jc}from"react";var xi={};X(xi,{enUS:()=>Qv,nlNL:()=>Xv});var Qv={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"}]}]},Xv={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 $c={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as ks,jsxs as Gc}from"react/jsx-runtime";var Ci=(t,e,n)=>o=>ks("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),Yv=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=A(xi),i=ae(),a=w("Login",$c),d=P("productName"),l=P("signInViaPopup"),c=n&&!l,p=bi(x=>{x.preventDefault(),o&&o(Number.parseInt(x.target.value,10))},[]),u=bi(x=>{x.preventDefault(),i.send(Vt,!0)},[e]),m=jc(()=>x=>ks("a",{onClick:E=>{E.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),f=bi(x=>ks("button",{type:"button",className:a.anchorButton,onClick:u,children:x},"prompt"),[u]),{min:g,hour:y,day:v}=jc(()=>({min:Ci(a,600,p),hour:Ci(a,3600,p),day:Ci(a,3600*12,p)}),[]);return Gc("div",{className:Jv(t,a.root),children:[r("loginPlease",{login:c?f:m,productName:d}),o&&Gc(Zv,{children:[ks("br",{}),r("snooze",{min:g,hour:y,day:v})]})]})},Rs=Yv;import{useDispatch as eS}from"react-redux";var Qc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as Xc,jsxs as nS}from"react/jsx-runtime";var tS=({title:t})=>{let e=w("SearchTrigger",Qc),n=eS(),o=j();return nS("button",{type:"button",className:e.root,onClick:()=>{n(ce(!0)),o("open search",{via:"autocomplete-overlay"})},children:[Xc(en,{}),Xc("span",{className:e.text,children:t})]})},Jc=tS;var wi={};X(wi,{enUS:()=>oS,nlNL:()=>sS});var oS={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"}]},sS={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 Zc={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 Z,jsxs as it}from"react/jsx-runtime";var dS=({onLogIn:t})=>{var $;let e=w("SuggestionsOverlay",Zc),n=A(wi),o=$e(Le),s=$e(Da),r=lS(),i=iS(null),a=P("searchTriggerKey"),d=P("productName"),l=$e(hs),c=$e(ee),p=$e(ba),u=$e(Bt),[m,f]=aS(null),g=P("showSearch"),y=P("showTextSuggestions"),v=P("adminUrl"),x=P("isEmbedded"),b=P("suggestionsPlacement"),[E,k]=qc("dd-snooze-until-ms",0),T=l||E>Date.now(),I=$e(gt),M=$e(bn),q=P("showStyleSuggestions"),Q=P("showStyleSuggestionList"),O=$e(bs),F=q&&Q?Cs(($=O.keywordMatches)!=null?$:[]):[],ke=F.length>0,B=I.filter(Ne=>Ne.source!=="gpt").length,se=()=>{T&&k(0),r(Rc(!T))},D=Ne=>{let Ot=Date.now()+Ne*1e3;k(Ot),R.info(`Snooze until: ${new Date(Ot)}`),r(rt({collapse:!0}))};return rS(()=>{B===0&&f(null)},[I,B]),xt(()=>{r(rt({collapse:!0,skipWhenInputFocus:!0}))}),c===null||u===!1?null:c===!1?it("div",{ref:i,className:Ti(e.root,{[e.isCollapsed]:T}),children:[!T&&it("div",{className:e.triggers,children:[Z("div",{style:{flex:1}}),Z("div",{className:e.triggersRight,children:Z(Dt,{className:e.toggleButton,title:n("collapse"),onClick:se,isCollapsed:!1})})]}),Z("div",{className:e.toggleButtonWrapper,children:Z(Dt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:se,isCollapsed:!0})}),it("div",{className:e.collapsible,children:[p&&it("div",{className:e.loginError,children:[Z("span",{className:e.loginErrorMessage,children:p}),Z("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(So()),"aria-label":n("dismissError"),children:n("dismiss")})]}),Z(Rs,{loginUrl:v,isEmbedded:x,onLogIn:t,onSnooze:D})]})]}):!s||!o&&!ke?null:it("div",{ref:i,className:Ti(e.root,{[e.isCollapsed]:T}),children:[!T&&it("div",{className:e.triggers,children:[Z("div",{style:{flex:1},children:g&&Z("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(n(ds()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>f(null),children:Z(Jc,{title:n("search")})})}),it("div",{className:e.triggersRight,onFocus:()=>{},children:[Z("div",{className:Ti(!m&&e.hintsHidden,e.hints),children:m}),Z(Dt,{className:e.toggleButton,title:n("collapse"),onClick:se,isCollapsed:!1})]})]}),Z("div",{className:e.toggleButtonWrapper,children:Z(Dt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:se,isCollapsed:!0})}),(ke||B>0&&y)&&it("div",{className:e.collapsible,onFocus:()=>{},children:[ke&&Z(Ss,{matches:F,selectedIndex:-1}),B>0&&y&&Z(ne,{children:Z(xs,{suggestions:I,selectedIndex:M,reverse:b==="above"})})]})]})},Yc=dS;import Li from"classnames";import{Interweave as YS}from"interweave";import{useCallback as ex,useEffect as tx,useMemo as Yn,useRef as nx}from"react";import{connect as ox}from"react-redux";import{useEffect as cS,useRef as uS,useState as pS}from"react";function Ps(t){return t.contentEditable==="true"}function gS(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 eu(t){let{selectionStart:e,selectionEnd:n}=Ps(t)?gS(t):t;return[e,n]}function tu(t){let[,e]=pS(),n=uS(null);return n.current=eu(t),cS(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=eu(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 nu(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(fo);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 mS}from"react";var fS=["div","span","mark","strong","b","i","u","em"];function Ei(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(fS.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),mS(o,{children:Ei(i,e,n+1)})]}return[...t,...e]}function at(t){return t.tagName.toLowerCase()==="textarea"}var ou={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",tabText:"dd-cUHUr",hint:"dd-v7fSg",popoverContent:"dd--mfkC",hintText:"dd-7gQQh",selectionOptionsButton:"dd-Q6kRY",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",hover:"dd--wi0R",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import CS from"classnames";import{Matcher as wS}from"interweave";import{useEffect as TS,useMemo as ES}from"react";import{useEffect as hS,useRef as yS,useState as vS}from"react";function su(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function Is(t){let e=yS(null),[n,o]=vS(!1);return hS(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=su((p,u)=>{let m=e.current;if(!m)return;let f=p/r,g=u/r,y=m.getBoundingClientRect(),v=f>y.x&&f<y.x+y.width&&g>y.y&&g<y.y+y.height;v&&!s?(s=!0,o(!0)):!v&&s&&(s=!1,o(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=su(()=>{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 As(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Ls(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function ru(t){return t!=null}import SS from"classnames";import{forwardRef as xS,useRef as bS}from"react";var je={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",tabText:"dd-cUHUr",hint:"dd-v7fSg",popoverContent:"dd--mfkC",hintText:"dd-7gQQh",selectionOptionsButton:"dd-Q6kRY",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",hover:"dd--wi0R",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as iu}from"react/jsx-runtime";var Ms=xS((s,o)=>{var r=s,{className:t,children:e}=r,n=_(r,["className","children"]);let i=bS(null),a=w("TabCompletion",je);return iu("div",C(h({ref:Ls([i,o]),className:SS(t,a.popoverContentContainer)},n),{children:iu("div",{className:a.popoverContent,children:e})}))});import{jsx as Zn,jsxs as PS}from"react/jsx-runtime";var kS=t=>e=>{let n=zr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},RS=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=w("TabCompletion",je),i=Go(),a=ES(()=>kS(t.getBoundingClientRect()),[t]),[d,l]=Is(t);return TS(()=>{l?i.open():i.close()},[l]),PS("span",{children:[Zn("mark",{ref:Ls([d,i.triggerRef]),className:CS(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&Zn(jt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:Zn(Ms,{style:n,children:Zn("div",{className:r.hintText,children:s})})})]})},Os=class extends wS{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=>C(h({},s),{keywordRegex:new RegExp(`\\b${As(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(ru);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 Zn(RS,{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 IS}from"interweave";import AS from"classnames";import{jsx as au}from"react/jsx-runtime";var LS=({inputElement:t,children:e})=>{let n=w("TabCompletion",je),[o,s]=Is(t);return au("mark",{ref:o,className:AS(n.matchPlaceholder,{[n.hover]:s}),children:e})},Ns=class extends IS{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 au(LS,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import Ai from"classnames";import{Matcher as KS}from"interweave";import{createRef as WS,forwardRef as zS,useCallback as VS,useEffect as hu,useRef as yu,useState as vu}from"react";import{useDispatch as qS,useSelector as Ii}from"react-redux";function lu(t,e){let n=new URL(t),o=n.searchParams.get("redirect");if(o){let s=new URL(o,n.origin);return e.forEach((r,i)=>{s.searchParams.set(i,r)}),n.searchParams.set("redirect",`${s.pathname}${s.search}${s.hash}`),n.toString()}return e.forEach((s,r)=>{n.searchParams.set(r,s)}),n.toString()}import{jsx as du}from"react/jsx-runtime";var cu=()=>du("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:du("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 MS,useEffect as pu,useMemo as OS,useState as gu}from"react";import{useDispatch as NS,useSelector as mu}from"react-redux";import DS from"lodash.debounce";var uu={root:"dd-ky-Bv",content:"dd-kV5e1"};function Ds(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 ki(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Pt,jsxs as Ri}from"react/jsx-runtime";var _S=3,FS=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),HS=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=_S})=>{let r=w("LinkSearch",uu),[i,a]=gu(""),d=NS(),l=mu(dc("url")),c=mu(rl("URL")),p=OS(()=>c.map(FS),[c]),[u,m]=gu(p.length-1),f=P("fallbackImage"),g=b=>{let E=b.target;a(E.value)},y=(b,E)=>{b.stopPropagation(),b.preventDefault(),window.open(E,"_blank")},v=b=>{var T;let E=u-1<0?p.length-1:u-1,k=u+1===p.length?0:u+1;b.code==="Escape"&&(a(""),e()),b.code==="ArrowUp"&&m(E),b.code==="ArrowDown"&&m(k),b.code==="Enter"&&t(((T=p[u])==null?void 0:T.text)||i)},x=MS(DS(b=>{d(ht({query:b,type:"URL",tags:["link-search"]}))},300),[]);return pu(()=>{i&&x(i)},[i]),pu(()=>()=>{d(Io())},[]),Ri("div",{className:r.root,children:[Pt(ne,{withDivider:!0,children:(i?p:l).slice(0,s).map((b,E)=>Pt(N,{selected:u===E,onClick:()=>t(b.text),"data-testid":"linksearch-suggestion",children:Ri(H,{children:[Pt(H.Image,{src:Ds(b,"small",f||void 0),title:b.title||b.text}),Ri(H.Content,{className:r.content,cropText:!0,children:[Pt(H.Title,{children:b.title||ki(b.text)}),b.title&&ki(b.text)]}),Pt(N.Actions,{children:Pt(N.ActionButton,{label:o,onClick:k=>y(k,b.text)})})]})},b.text))}),Pt(Bn,{value:i,onChange:g,autoFocus:!0,placeholder:n,onKeyUp:v})]})},fu=HS;var Pi={};X(Pi,{enUS:()=>BS,nlNL:()=>US});var BS={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"}]},US={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 we,jsxs as _s}from"react/jsx-runtime";var $S=zS((t,e)=>{let n=w("TabCompletion",je);return we("mark",{ref:e,className:Ai(n.matchSelection)},"selection-start")}),jS=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=A(Pi),i=w("TabCompletion",je),a=P("addToPersonalCollection"),d=Ii(qt("/admin/personal-collection/new")),l=Ii(b=>{var E;return(E=b.conversation.current)==null?void 0:E.profileCode}),c=Ii(me)!==null,p=yu(null),u=yu(null),[m,f]=vu(null),g=qS(),y=Go(document.activeElement===o),[v]=vu(()=>document.createRange());y.triggerRef.current=v,hu(()=>()=>v.detach(),[]),hu(()=>{let b=t.current,E=p.current;!b||!E||(v.setStart(b,0),v.setEnd(E,0))},[t.current,p.current]),xt(()=>{y.close()});let x=VS(b=>{let E=v.toString(),k=/^http(s?):\/\//.test(b)?b:`https://${b}`,T=`[${E}](${k})`;g(de({text:T,suggestion:{text:T,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return _s("span",{children:[we("mark",{ref:p,className:Ai(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":y.opened?"true":"false",children:s}),y.opened&&we(jt,{className:i.popoverRoot,triggerRef:y.triggerRef,boundaryRef:e,position:"above",align:"start",children:_s(Ms,{style:n,ref:u,children:[_s("div",{className:Ai(i.selectionOptions,{[i.selectionOptionsIsHidden]:m!==null}),children:[_s("button",{type:"button",tabIndex:m===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>f("insertLink"),children:[we(cu,{}),we("span",{children:"\xA0"}),we("span",{children:r("insertLink")})]}),a&&d&&we("button",{type:"button",tabIndex:m===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let b=v.toString(),E=new URLSearchParams({text:b});c&&l&&E.set("profile",l);let k=lu(d,E);window.open(k,"_blank")},children:we("span",{children:r("addToPersonalCollection")})})]}),m==="insertLink"&&we(fu,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:x,onDismiss:()=>{f(null),y.close()}})]})})]},"selection-end")},Fs=class extends KS{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=WS(),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?we($S,{ref:this.startRef}):we(jS,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as sx}from"react-redux";function Su(t){let e=t.ownerDocument.body;return e.classList.contains("mce-content-body")&&(t===e||e.contains(t))?e:t}function GS(t){let e=t.ownerDocument.defaultView;return e?e.getComputedStyle(t):window.getComputedStyle(t)}function xu(t){let e=GS(t);return{"--dd-color":e.color,"--dd-font-size":e.fontSize,"--dd-font-family":e.fontFamily,"--dd-font-variant":e.fontVariant,"--dd-font-weight":e.fontWeight,"--dd-line-height":e.lineHeight,"--dd-box-sizing":e.boxSizing,"--dd-margin-top":e.marginTop,"--dd-margin-right":e.marginRight,"--dd-margin-bottom":e.marginBottom,"--dd-margin-left":e.marginLeft,"--dd-padding-top":e.paddingTop,"--dd-padding-right":e.paddingRight,"--dd-padding-bottom":e.paddingBottom,"--dd-padding-left":e.paddingLeft}}function QS(t){let e=new Set,n=[...t.classList];if(t.tagName==="BODY"&&(e.add("body"),t.id&&e.add(`body#${t.id}`),n.length)){let o=n.join(".");e.add(`body.${o}`),t.id&&e.add(`body#${t.id}.${o}`)}for(let o of n)e.add(`.${o}`);return t.id&&e.add(`#${t.id}`),[...e].sort((o,s)=>s.length-o.length)}function XS(t){let e=[],n=0,o=0;for(let s=0;s<t.length;s+=1){let r=t[s];r==="("?n+=1:r===")"?n=Math.max(0,n-1):r===","&&n===0&&(e.push(t.slice(o,s)),o=s+1)}return e.push(t.slice(o)),e.map(s=>s.trim()).filter(Boolean)}function JS(t){if(t instanceof CSSMediaRule||t.type===CSSRule.MEDIA_RULE){let n=t;return`@media ${n.conditionText||n.media.mediaText}`}if(typeof CSSSupportsRule!="undefined"&&t instanceof CSSSupportsRule||t.type===CSSRule.SUPPORTS_RULE)return`@supports ${t.conditionText}`;if(typeof CSSLayerBlockRule!="undefined"&&t instanceof CSSLayerBlockRule)return t.name?`@layer ${t.name}`:"@layer";let e=t.cssText.indexOf("{");return e>0?t.cssText.slice(0,e).trim():t.cssText}function ZS(t,e,n){let o=t.trim();for(let s of e){if(o===s)return n;if(o.startsWith(`${s} `))return`${n}${o.slice(s.length)}`;if(o.startsWith(`${s}:`))return`${n}${o.slice(s.length)}`}return null}function bu(t,e,n,o){for(let s=0;s<t.length;s+=1){let r=t[s];if(r.type===CSSRule.STYLE_RULE){let i=r,a=XS(i.selectorText).map(d=>ZS(d,e,n)).filter(d=>d!==null);if(!a.length)continue;o.push(`${a.join(", ")}{${i.style.cssText}}`)}else if(r.type!==CSSRule.STYLE_RULE&&"cssRules"in r&&r.cssRules){let i=r,a=[];bu(i.cssRules,e,n,a),a.length&&o.push(`${JS(i)}{${a.join("")}}`)}}}function Cu(t,e){let n=QS(t);if(!n.length)return"";let o=t.ownerDocument,s=[];for(let r of Array.from(o.styleSheets))try{bu(r.cssRules,n,e,s)}catch(i){}return s.join(`
|
|
11
|
+
`)}import{jsx as It,jsxs as ax}from"react/jsx-runtime";var rx=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=w("TabCompletion",ou),c=P("insertLink"),p=P("addToPersonalCollection"),u=P("showMidSentenceSuggestions"),m=P("inlineSuggestions"),f=tu(a),g=nx(null),y=sx(ee);tx(()=>{at(a)&&f&&nu(a,f)},[f]);let v=ex(I=>{if(!s||!n)return I;let M=[It("span",{className:l.resetIndent,children:"\u200B"},"u200B"),It("span",{"data-testid":"tab-completion",className:Li(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&M.push(It("span",{className:Li(l.hint,l.resetIndent),children:It(nr,{keyCode:"tab"},"tabHint")},"tabHint")),Ei(I,M)},[s,n,o]),x=Yn(()=>{let I=[];return(c||p)&&I.push(new Fs("selection")),I.push(new Ns("placeholders")),r&&I.push(new Os("keywords")),I},[m,c,p,r]),b=Yn(()=>Su(a),[a]),E=Yn(()=>`.${l.container}.${l.agentText}`,[l.container,l.agentText]),k=Yn(()=>xu(b),[b]),T=Yn(()=>at(a)?"":Cu(b,E),[a,b,E]);return!t||!y?null:ax("div",{ref:I=>{I!=null&&I.parentElement&&(g.current=I==null?void 0:I.parentElement)},className:l.root,style:k,children:[T?It("style",{"data-testid":"tab-completion-editor-styles",children:T}):null,It(YS,{tagName:"span",containerTagName:"div",className:Li(l.container,l.agentText),disableLineBreaks:at(a),content:e||"\u200B",onAfterParse:v,matchers:x,selection:f,keywordMatches:i,inputElement:a,inputStyle:k,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!u}),It("br",{})]},"tab-completion")},ix=t=>{var v,x,b;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=Ut({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:Vn(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),p=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:u}=n,{isSupported:m}=r,{showTabCompletion:f,visible:g,showStyleSuggestions:y}=o;return{showTabHint:u,showStyleSuggestions:y,showTabCompletion:f&&Le(t),content:l,tabText:p,source:d,keywordMatches:(b=(x=s.list)==null?void 0:x.keywordMatches)!=null?b:[],enabled:g&&m!==!1}},wu=ox(ix)(rx);import{Fragment as Xx,useEffect as rn,useState as tp}from"react";import{useDispatch as Ui,useSelector as Y}from"react-redux";import{createAsyncThunk as Tu,createSlice as lx}from"@reduxjs/toolkit";var dx={token:null,interval:null},Mi=Tu("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),Oi=Tu("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(Mi()),setInterval(()=>o(Mi()),n)}),Eu=lx({name:"passwordlessToken",initialState:dx,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(Mi.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(Oi.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:ku}=Eu.actions,Ru=Eu.reducer;import{createSelector as cx}from"@reduxjs/toolkit";function ux(t){return"buttonText"in t&&"eventName"in t}function Pu(t){if(t)return ux(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function px(t){return t==null?void 0:t.map(e=>Pu(e))}function Hs(t){return typeof t!="string"?void 0:t.trim().toLowerCase()||void 0}function eo(t,e){let n=Hs(e);n&&t.add(n)}function gx(t){var o,s,r;let e=new Set,n=new Set;if(!Array.isArray(t))return{codes:e,names:n};for(let i of t){if(!i||typeof i!="object")continue;let a=i,d=typeof a.assistant=="object"?a.assistant:void 0;((r=(s=(o=a.isSilent)!=null?o:a.is_silent)!=null?s:d==null?void 0:d.isSilent)!=null?r:d!=null&&d.is_silent)&&(eo(e,typeof a.assistant=="string"?a.assistant:d==null?void 0:d.code),eo(n,a.assistantName),eo(n,a.assistant_name),eo(n,a.displayName),eo(n,a.display_name))}return{codes:e,names:n}}function Ni(t,e){var r,i,a;let{codes:n,names:o}=gx(e);if(n.size===0&&o.size===0)return!1;let s=(i=Hs(t.code))!=null?i:Hs((r=t.rule)==null?void 0:r.label);return s?n.has(s):[t.name,t.title,(a=t.rule)==null?void 0:a.name].some(d=>{let l=Hs(d);return l!==void 0&&(o.has(l)||n.has(l))})}function mx(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var Iu=cx([Tl,xo,Zt],(t,e,n)=>(e?t.filter(i=>!i.externalConversationId||i.externalConversationId===e):t).filter(i=>!Ni(i,n)).map(i=>{var l;let a=Pu(i.callToAction),d=px(i.callToActions);return C(h(h(h(h({text:i.response,title:i.name},a?{callToAction:a}:{}),d!=null&&d.length?{callToActions:d}:{}),i.message!==void 0?{message:i.message}:{}),(l=i.sources)!=null&&l.length?{sources:i.sources}:{}),{editable:i.editable,isLoading:i.isLoading,evaluationId:i.evaluationId,rule:{id:mx(i.code),label:i.code,name:i.name,description:i.name}})}));import{useEffect as fx,useState as hx}from"react";import Mu from"classnames";import{jsx as Au}from"react/jsx-runtime";var nn=()=>Au("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Au("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 Lu={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as on,jsxs as Ou}from"react/jsx-runtime";var yx=({entities:t})=>{let e=w("EntitiesWidgetList",Lu),[n,o]=hx(void 0),s=j(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Re(a.text),s("entity copied",{entity:a,type:"copy"}))};return fx(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:on("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Ou("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[on("span",{className:e.entityText,children:a.text}),Ou("span",{className:e.iconWrapper,children:[on("span",{className:Mu(e.icon),children:on(nn,{})}),on("span",{className:Mu(e.icon,n===d&&e.iconClicked),children:on(nn,{})})]})]},a.text))})},Nu=yx;import{jsx as Du}from"react/jsx-runtime";var _u=()=>Du("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Du("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 wx}from"react";import{useDispatch as Tx,useSelector as Ex}from"react-redux";var Fu={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var Hu={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as Sx}from"react/jsx-runtime";var vx=({size:t=12})=>{let e=w("LoadingSpinner",Hu);return Sx("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},Bu=vx;import{jsx as Uu}from"react/jsx-runtime";var Ku=()=>Uu("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Uu("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 Wu,jsxs as xx}from"react/jsx-runtime";var zu=t=>xx("svg",C(h({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[Wu("title",{id:"checkTitle",children:"Check"}),Wu("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 Di={};X(Di,{enUS:()=>bx,nlNL:()=>Cx});var bx={error:[{type:0,value:"Something went wrong"}]},Cx={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as Ge,jsxs as Vu}from"react/jsx-runtime";var kx=3e3,Rx=({assistantOptions:t})=>{let e=w("OnDemandAssistants",Fu),n=A(Di),o=wx(),s=Tx(),r=kn(pe),i=Ex(Zt),a=j(),d=i.filter(u=>u.isPinned),l=i.filter(u=>!u.isPinned),c=()=>S(null,null,function*(){return t.attachments&&t.attachments.length>0?t.attachments:s(((u,m,f)=>S(null,null,function*(){let g;if(t.transcript==="in-memory-transcript"){let y=f.dynamicThunkObject.conversationQuery;if(y){let v=yield y();g=Array.isArray(v)?v:void 0}}else Array.isArray(t.transcript)&&(g=t.transcript);return Mr({transcript:g})})))}),p=(u,m=!1)=>S(null,null,function*(){clearTimeout(o.current);let f=yield c();a("trigger on demand assistant",{assistantCode:u}),yield r.call(h(C(h({},t),{assistantCode:u,silent:m}),f.length>0?{attachments:f}:{})),o.current=setTimeout(()=>r.reset(),kx)});return i.length===0?null:Vu("div",{className:e.root,children:[d.map(({assistant:u,assistantName:m,displayName:f,isSilent:g})=>Ge("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>p(u,g),children:f||m},u)),l.length>0&&Vu(V,{placement:"top-end",children:[Ge(V.Trigger,{className:e.trigger,disabled:r.state==="loading",children:Ge(us,{"data-testid":"trigger"})}),Ge(V.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:u,assistantName:m,displayName:f,isSilent:g})=>Ge(V.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>p(u,g),children:f||m},u))})]}),r.state==="loading"&&Ge(Bu,{}),r.state==="done"&&Ge(zu,{"data-testid":"trigger-done"}),r.state==="error"&&Ge(Xl,{trigger:Ge(Ku,{}),children:n("error")})]})},qu=Rx;import{useDispatch as _x,useSelector as Fx}from"react-redux";import{useEffect as $u,useRef as Ax,useState as Lx}from"react";var to={};X(to,{enUS:()=>Px,nlNL:()=>Ix});var Px={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"}]},Ix={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 _i={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 Te,jsxs as Bs}from"react/jsx-runtime";var Mx=500,Ox=100,Nx=({content:t,onChange:e,onCopy:n})=>{let o=Ax(null),s=w("WidgetCue",_i);return $u(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,Ox),Mx);r.style.setProperty("height",`${i}px`)},[t]),Te("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},Dx=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s,onSourceClick:r})=>{var y;let i=w("WidgetCue",_i),a=A(to),d=j(),l=P("hasKeyboardInput"),[c,p]=Lx(t.text),u=v=>{let x=v?C(h({},t),{callToAction:v}):t;e&&e(c,x),n(t)},m=(v,x)=>{o&&o(v,t),x&&tt(x,i.fadeup)},f=v=>{s&&s(v,t)},g=v=>{v.preventDefault(),v.stopPropagation(),n(t)};return $u(()=>{d("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),Bs(N,{"data-testid":"cue",children:[Te(H,{children:Bs(H.Content,{children:[t.title&&Te(H.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?a(t.rule.label):t.title}),t.message&&Te("p",{className:i.ctaMessage,children:t.message}),t.editable?Te(Nx,{content:c,onCopy:()=>{let v=document.getSelection();v&&m(v.toString())},onChange:v=>{var x;return p((x=v.target.value)!=null?x:"")}}):Te(Ct,{content:t.text,sources:t.sources,onSourceClick:v=>r==null?void 0:r(v,t),useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:m,onUse:l?f:void 0})]})}),Bs(N.ButtonsContainer,{children:[Bs("div",{className:i.actions,children:[Te(N.Button,{onClick:v=>{var x;return m((x=Bo(c,"reply")[0])!=null?x:c,v.target)},variant:"primary",children:a("copyCue")}),t.callToAction&&Te(N.Button,{onClick:()=>u(),variant:"primary",children:t.callToAction.label}),(y=t.callToActions)==null?void 0:y.map((v,x)=>Te(N.Button,{onClick:()=>u(v),variant:"primary",children:v.label},`${v.event}-${v.label}-${x}`)),Te(N.Button,{onClick:g,variant:"secondary",children:a("removeCue")})]}),Te($o,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackType:"assistant"})]})]})},ju=Dx;import{Fragment as Bx,jsx as Fi}from"react/jsx-runtime";var Hx=({cues:t})=>{let e=_x(),n=ae(),o=A(to),s=j(),r=Fx(Zt),i=u=>{e(Ko({code:u.rule.label})),s("Assistant response closed",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text})},a=(u,m)=>{Re(u),s("Assistant response copied",{evaluationId:m.evaluationId,assistantCode:m.rule.label,assistantOutput:m.text,copiedText:u})},d=(u,m)=>{var f;m.callToAction&&(e(Uo(m)),s("Assistant call to action",{evaluationId:m.evaluationId,assistantCode:m.rule.label,assistantOutput:m.text,eventName:m.callToAction.event,value:(f=m.callToAction.value)!=null?f:u}))},l=(u,m)=>{var f;n.send(He,{text:u,suggestion:{source:"assistant",assistantCode:(f=m.rule)==null?void 0:f.label,sourceText:u}}),s("Assistant response used",{evaluationId:m.evaluationId,assistantCode:m.rule.label,assistantOutput:m.text,usedText:u})},c=(u,m)=>{s("Assistant source clicked",{evaluationId:m.evaluationId,assistantCode:m.rule.label,source:u})},p=t.filter(u=>!Ni(u,r));return Fi(Bx,{children:p.map(u=>u.isLoading?Fi(Jo,{title:u.rule.label.startsWith("__")?o(u.rule.label):u.title},u.rule.id):Fi(ju,{cue:u,onCallToAction:d,onRemove:i,onCopy:a,onUse:l,onSourceClick:c},u.evaluationId))})},Gu=Hx;import{Fragment as Ux,useEffect as Kx}from"react";var Qu={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 Qe,jsxs as Hi}from"react/jsx-runtime";function Wx(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var Xu=({data:t,schema:e})=>{let n=w("WidgetCustomData",Qu),o=s=>{Re(s)};return Kx(()=>{R.info("Custom data",t,e)},[t]),Qe("dl",{className:n.root,children:e.map(s=>{let r=Wx(t,s.path);return Hi(Ux,{children:[Qe("dt",{className:n.label,children:s.label}),Qe("dd",{className:n.value,children:s.type==="boolean"&&r?Qe("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?Qe("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?Hi("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[Qe("span",{className:n.copyButtonText,children:r.join(", ")}),Qe(nn,{})]}):typeof r=="string"||typeof r=="number"?Hi("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[Qe("span",{className:n.copyButtonText,children:r}),Qe(nn,{})]}):"-"})]},s.label)})})};import{useCallback as Vx}from"react";var zx=/(https?:\/\/[^\s]+)/,Ju=t=>t.split(" ").find(e=>zx.test(e));import{jsx as sn,jsxs as Us}from"react/jsx-runtime";var qx=({suggestion:t,lines:e,onUse:n})=>{var p;let o=t.text||t.url||t.message,s=Ju(o),r=A(qn),i=P("showImages"),a=P("fallbackImage"),d=P("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&n(o)},c=Vx(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Us(N,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Us(H,{children:[i&&t.image&&sn(H.Image,{src:Ds(t,"small",a||void 0),title:t.title}),Us(H.Content,{children:[t.title&&sn(H.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&sn(N.Labels,{labels:t.searchKeywords}),sn(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),Us(N.Actions,{children:[s&&sn(N.ActionButton,{onClick:c,label:r("visitUrl")}),d&&sn(N.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Zu=qx;import{Fragment as jx,jsx as Yu}from"react/jsx-runtime";var $x=({lines:t,suggestions:e})=>{let n=ae(),o=(s,r)=>{n.send(He,{text:s,suggestion:C(h({},r),{source:r.source,sourceText:r.text})})};return Yu(jx,{children:e.map(s=>Yu(Zu,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},ep=$x;var no={};X(no,{enUS:()=>Gx,nlNL:()=>Qx});var Gx={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"}]},Qx={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 At={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x",interactiveAssistantTabs:"dd-eSP1-",interactiveAssistantTab:"dd-CwcHD",interactiveAssistantTabActive:"dd-GzRs-"};import{jsx as L,jsxs as oo}from"react/jsx-runtime";var np=(t,e)=>{let n=Y(ee);rn(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},Jx=({onLogIn:t})=>{let e=w("Widget",At),n=P("isEmbedded"),o=P("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(Rs,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},Bi=({text:t})=>{let e=w("Widget",At);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},Zx=()=>{let t=A(no),e=Ui(),n=w("Widget",At),o=P("showSearch"),s=P("isEmbedded"),r=Y(qt("/admin/")),i=ae(),a=P("productName"),d=j();return np(()=>{if(s)return e(Oi()),()=>{e(ku())}},[e,s]),!o&&!r?null:oo("div",{className:n.shortcutList,children:[o&&L(N.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(en,{}),onClick:()=>{e(ce(!0)),i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&L(N.Button,{as:"a",target:"_blank",icon:L(_u,{}),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})})]})},Yx=({title:t,content:e})=>{let n=A(no),[o,s]=tp(!0);return o?L(De,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(ne,{withDivider:!0,children:oo(N,{children:[L(H,{children:L(H.Content,{children:L(Ct,{content:e})})}),L(N.ButtonsContainer,{children:L(N.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},eb=()=>{let t=Ui(),e=Y(Wn),n=Y(Ld),o=Y(Iu),s=Y(Ga),r=Y(cs),i=Y(gs),a=Y(he),d=Y(me);return rn(()=>{s&&!n&&R.warn("Custom data provided, but no schema.")},[s,n]),np(()=>{e.forEach(({type:l})=>{l==="entities"?t(xe()):ho.includes(l)||t(be(l))})},[t,d,a,e]),rn(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&R.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(Xx,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m,property:f})=>{var g,y;switch(l){case"entities":return r&&r.length>0&&L(De,{type:l,title:c,"data-testid":`type-${l}`,children:L(Nu,{entities:r})},l);case"cues":return o&&o.length>0&&L(De,{type:l,title:c,"data-testid":`type-${l}`,children:L(ne,{withDivider:!0,children:L(Gu,{cues:o})})},l);case"custom-data-banner":return s&&f&&s[f]&&L(Yx,{title:c,content:String(s[f])},l);case"custom-data":return s&&m&&L(De,{type:l,title:c,"data-testid":`type-${l}`,children:L(ne,{withDivider:!0,children:L(Xu,{data:s,schema:m})})},l);default:return((y=(g=i[l])==null?void 0:g.suggestions)==null?void 0:y.length)>0&&L(De,{type:l,title:c,"data-testid":`type-${l}`,children:L(ne,{withDivider:!0,children:L(ep,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Ki=({children:t})=>{let e=w("Widget",At);return L("div",{className:e.footer,children:t})},Wi=({children:t})=>{let e=w("Widget",At);return L("div",{className:e.root,"data-testid":"widget",children:t})},tb=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"},openAdminFeedback:o})=>{var E;let s=A(no),r=w("Widget",At),i=Ui(),a=Y(Bt),d=Y(ee),l=Y(xo),c=Y(he),p=Y(Ad("knowledge-assist")),u=Y(Md),m=Y(Rl),f=Y(kl),g=(E=u.find(k=>k.code===m))!=null?E:u[0],[y,v]=tp(e.initialQuestion);rn(()=>{v(e.initialQuestion)},[l,e.initialQuestion]),rn(()=>{if(!l)return;let k=Sn(l);k&&i(Nr(k))},[i,l]),rn(()=>{if(u.length===0)return;let k=u.some(T=>T.code===m);(!m||!k)&&i(Or(u[0].code))},[u,m,i]);let x=!!p&&u.length>0&&!!g,b=(g==null?void 0:g.displayName)||(g==null?void 0:g.name)||(p==null?void 0:p.title)||"Knowledge Assistant";return a===!1?L(Bi,{text:s("notSupported")}):d===!1?L(Jx,{onLogIn:t}):d===null?L(Bi,{text:s("waiting")}):!l||!c?L(Bi,{text:s("waitingForConversation")}):L(ql,{handler:o,children:L(Wi,{children:oo(es,{initialQuestion:y,onInitialQuestionConsumed:()=>v(void 0),assistantCode:g==null?void 0:g.code,threadId:f,onThreadIdChange:k=>{g!=null&&g.code&&k!=null&&i(Dr({assistantCode:g.code,threadId:k}))},evaluateKnowledgeAssistFn:Fn,children:[oo(fn,{children:[L(Zx,{}),L(eb,{}),x&&L(ns,{title:b,emptyState:e.emptyState})]}),oo(Ki,{children:[x&&u.length>1&&L("div",{className:r.interactiveAssistantTabs,"data-testid":"widget-interactive-assistant-tabs",children:u.map(k=>{let T=k.code===(g==null?void 0:g.code);return L("button",{type:"button","aria-pressed":T,className:T?r.interactiveAssistantTabActive:r.interactiveAssistantTab,onClick:()=>i(Or(k.code)),children:k.displayName||k.name},k.code)})}),x&&L(ts,{}),L(qu,{assistantOptions:n})]})]},g==null?void 0:g.code)})})},op=tb;function ro(t){let e=new Range;return e.selectNodeContents(t),e}function sp(t,e,n){try{return Lt(t,e,n),!0}catch(o){return!1}}function Ks(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Ws(t){return"tagName"in t&&t.tagName==="BR"}var so=/[\u200B-\u200D\uFEFF]/g;function Lt(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(so,""),p=s+c.length,u=e>=s&&e<=p,m=n>=s&&n<=p;if(u){let f=i(l,e-s);f===0&&!m?o.setStartBefore(d):o.setStart(d,f)}m&&(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;Ks(d)&&l&&!Ks(l)&&!Ws(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function zs(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,m=p===n,f=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;m&&(a=l+g.substring(0,o).replace(so,"").length),f&&(d=l+g.substring(0,r).replace(so,"").length),l+=g.replace(so,"").length;break}case Node.ELEMENT_NODE:{if(Ws(p)&&p.nextSibling){l++;break}!u&&Ks(p)&&p.previousSibling&&l++;for(let g=0;g<p.childNodes.length;g++){let y=m&&g===o,v=f&&g===r;if(y&&(a=l),v&&(d=l),d!==void 0||((!y||!i)&&c(p.childNodes[g]),f&&g===r-1&&(d=l),d!==void 0))break}f&&(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 Vs(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,m=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let f=u?o:0,g=m?r:void 0;d+=c.textContent.replace(so,"").substring(f,g);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Ws(c)&&c.nextSibling){d+=`
|
|
12
|
+
`;break}!p&&!i&&a===1&&Ks(c)&&c.previousSibling&&(d+=`
|
|
13
|
+
`);let f=u?o:0,g=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let y=f;y<g&&(l(c.childNodes[y]),a!==2);y++);break}default:break}m&&(a=2)}return l(t),d}var rp=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(rp||{}),lt=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();Ze(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(rp).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 ip(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var an=class extends lt{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),Vs(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!ip(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!ip(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return zs(this.element,n);let o=this.lastKnownSelection;if(o&&sp(this.element,o.start,o.end))return o;let s=ro(this.element);return s.collapse(!1),zs(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return Vs(this.element,Lt(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 nb=["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 ap(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",nb.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 ln=class extends lt{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 ap(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())}};var dn=new Map;function lp(t,e,n){var a;let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return dn.set(t,((a=dn.get(t))!=null?a:0)+1),s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([d,l])=>{i.searchParams.append(d,l)}),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),dn.set(t,1),r}function dp(t){var n,o;let e=((n=dn.get(t))!=null?n:1)-1;if(e>0){dn.set(t,e);return}dn.delete(t),(o=document.getElementById(`deepdesk-iframe-${t}`))==null||o.remove()}function ob(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var zi=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()}},Vi=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=lp(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(){this.disposeHandlers.forEach(e=>e()),dp(this.name),this.iframe=void 0}},qi=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(),R.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 Vi(e,this.deepdeskUrl,{debug:!0}):new zi(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=ob(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(R.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;R.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(C(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)}},cp=qi;function sb(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function K(t){return Array.isArray(t)?t.map(K):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>C(h({},e),{[sb(n)]:K(t[n])}),{}):t}function rb(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function te(t){return Array.isArray(t)?t.map(te):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>C(h({},e),{[rb(n)]:te(t[n])}),{}):t}var cn=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var io=t=>new Promise(e=>{setTimeout(e,t)});var Ee=class extends cn{constructor(){super(...arguments);this.name="ClientError"}},qs=class extends cn{constructor(){super(...arguments);this.name="ServerError"}},$i=new Map;function up(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:(R.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var un=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",T=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=I=>I instanceof TypeError,retryOnResponse:g=I=>I.status>=500,version:y=null}=T,v=_(T,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if($i.has(i)){o($i.get(i));return}}let x=C(h({credentials:"include"},v),{headers:h({Accept:"application/json","Content-Type":"application/json"},v.headers)});!d&&this.csrfToken&&(x.headers=C(h({},x.headers),{"X-CSRFToken":this.csrfToken})),typeof y=="string"&&(x.headers=C(h({},x.headers),{"X-Deepdesk-API-Version":y}));let b=p,E=!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 k=()=>S(this,null,function*(){return b--,a(i,x).then(I=>S(this,null,function*(){return g(I)&&!r.isAborted&&b>0?(yield io(u),k()):I.status===401&&m===!0&&E===!1?(E=!0,yield this.refreshToken(),k()):I})).catch(I=>S(this,null,function*(){if(f(I)&&!r.isAborted&&b>0)return yield io(u),k();throw I}))});k().then(I=>S(this,null,function*(){let M=yield up(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new qs("Server Error",M));return}if(I.status===401){s(new Ee("Unauthorized",M));return}if(I.status===403){s(new Ee("Forbidden",M));return}if(I.status===404){s(new Ee("Not Found",M));return}if(I.status>=400){s(new Ee("Bad Request",M));return}l&&$i.set(i,M),o(M)})).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 Ee("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,k=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:u=!0,retryOnError:m=T=>T instanceof TypeError,retryOnResponse:f=T=>T.status>=500,version:g=null}=k,y=_(k,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]),v=C(h({credentials:"include"},y),{headers:h({Accept:"application/json","Content-Type":"application/json"},y.headers)});this.csrfToken&&(v.headers=C(h({},v.headers),{"X-CSRFToken":this.csrfToken})),typeof g=="string"&&(v.headers=C(h({},v.headers),{"X-Deepdesk-API-Version":g}));let x=c,b=!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 E=()=>S(this,null,function*(){return x--,a(i,v).then(T=>S(this,null,function*(){return f(T)&&!r.isAborted&&x>0?(yield io(p),E()):T.status===401&&u===!0&&b===!1?(b=!0,yield this.refreshToken(),E()):T})).catch(T=>S(this,null,function*(){if(m(T)&&!r.isAborted&&x>0)return yield io(p),E();throw T}))});E().then(T=>S(this,null,function*(){let I=yield up(T);if(delete this.latestRequestByUrl[i],T.status>=500){s(new qs("Server Error",I));return}if(T.status===401){s(new Ee("Unauthorized",I));return}if(T.status===403){s(new Ee("Forbidden",I));return}if(T.status===404){s(new Ee("Not Found",I));return}if(T.status>=400){s(new Ee("Bad Request",I));return}o({status:T.status,data:I})})).catch(T=>{delete this.latestRequestByUrl[i],s(T)})})}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 pp;(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={}))})(pp||(pp={}));function $s(t){return C(h({},K(t)),{metadata:t.metadata})}var Mt=class Mt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new un(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?(Mt.exchangeTokenPromise||(Mt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),Mt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return S(this,null,function*(){var o;yield this.preflight(),R.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",C(h({chat_start_time:new Date().toISOString()},te(e)),{metadata:(o=e.metadata)!=null?o:{}}));return $s(n)})}upsertConversation(e){return S(this,null,function*(){var c;yield this.preflight(),R.info(`Upserting conversation for session ${e.externalId} and agent ${e.agentId}`);let{status:n,data:o}=yield this.client.postWithStatus("/api/v2/conversations",C(h({chat_start_time:new Date().toISOString()},te(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=$s(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*(){yield this.preflight();let e=yield this.client.get("/apis/admin/session/me/");return K(e)})}postIdentity(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",te(e))})}patchMe(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",te(e));return K(n)})}getProfile(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return K(n)})}getKnowledgeAssistant(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return K(n)})}getContentTypes(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return K(e)})}getAccount(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return K(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 K(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(),R.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 R.info(`Successfully retrieved conversation ${i.id} for session ${e}`),$s(i)})}isConversationSupported(o){return S(this,arguments,function*(e,n={}){R.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=te(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return $s(s)})}postMessages(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>C(h({},te(o)),{metadata:o.metadata})))})}sendEvent(e,n){return S(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=_(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>C(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",te(C(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 R.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/",te(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}`,te(n),{abortLatest:!0})).map(i=>C(h({},K(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`,te(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))})}syncPersonalCollection(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/personal-collection/sync`,{},{version:"v2"})})}getPinnedMessages(e){return S(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return K(n).map(o=>C(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",te(e),{abortLatest:!0,version:"v2"});return K(n)})}search(e){return S(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,te(e));return K(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 K(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 K(n)})}requestPasswordlessToken(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return K(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 K(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=p=>te(p),i=(d=n==null?void 0:n.transcript)==null?void 0:d.map(p=>{var u;return h({source:p.source,text:p.text},(u=p.attachments)!=null&&u.length?{attachments:p.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 K(a)})}interactWithAssistant(e){return S(this,null,function*(){yield this.preflight();let n=new URLSearchParams;e.sessionId&&n.append("session_id",e.sessionId),e.externalConversationId&&n.append("external_conversation_id",e.externalConversationId);let o=`/api/v2/assistants/${e.assistantCode}/interact?${n.toString()}`,s=yield this.client.post(o,{message:e.message});return K(s)})}resetAssistantThread(e){return S(this,null,function*(){yield this.preflight();let n=encodeURIComponent(e.assistantCode),o=encodeURIComponent(e.sessionId);yield this.client.delete(`/api/v2/assistants/${n}/sessions/${o}/thread`)})}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 K(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 K(r)})}translateMessages(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",te(e));return K(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(ya);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&R.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};Mt.exchangeTokenPromise=null;var dt=Mt;var js=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];this.disposed=!1;var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.initialReconnectAttempts=this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){if(this.disposed)return;let e=()=>this.closeForPageLeave();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.attachSocket()}attachSocket(){var e;if(!this.disposed){if(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0,this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}this.socket&&(this.socket.onopen=null,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--}}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=K(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.onopen=()=>{this.maxReconnectAttempts=this.initialReconnectAttempts},this.socket.onclose=e=>{this.disposed||(console.log("WebSocket connection closed:",e),this.reconnectTimer=setTimeout(()=>{this.tryReconnect()},this.reconnectInterval))},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}tryReconnect(){return S(this,null,function*(){if(this.disposed)return;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),this.stopSocketWithoutReconnect();return}let e=this.socket,n=yield this.shouldReconnect();if(this.socket===e){if(!n||this.disposed){console.error("Should not reconnect, closing WebSocket connection."),this.stopSocketWithoutReconnect();return}this.attachSocket()}})}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()}closeForPageLeave(){this.disposed||this.close()}stopSocketWithoutReconnect(){this.socket&&(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close())}cleanup(){this.disposed=!0,clearTimeout(this.reconnectTimer),this.socket&&(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null),this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import{combineReducers as db,configureStore as cb}from"@reduxjs/toolkit";import{createSlice as ib}from"@reduxjs/toolkit";var gp={startTime:null,stopTime:null},mp=t=>t.handlingTime,fp=ib({name:"handlingTime",initialState:gp,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(z,()=>gp)}}),{handlingTimeStart:hp,handlingTimeStop:Gs,handlingTimeReset:yp}=fp.actions,vp=fp.reducer;var Sp=(t={})=>{let e=h({onAuthError:Ft(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var xp=(t={})=>{let e,n=!0,o=h({getStyleSuggestions:kt,debounce:500},t);return s=>r=>i=>{var m;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(!((m=l.conversation.current)==null?void 0:m.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 ab(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var bp=(t={})=>{let e=h({getTextSuggestions:be,getAutocompleteSuggestions:Qn,debounce:200,check:Le},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===ms.toString();if(!p||!l&&!c)return a;let{input:m}=d;return ab(m,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let y=pt(d);y===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(y))},u?0:e.debounce)),a}};var Cp=kt.fulfilled.toString();function lb(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 wp=t=>e=>n=>o=>{var l;if(o.type!==Cp){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=lb(s,i);o.type===Cp&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var ub=db({assistants:_l,auth:Ea,conversation:Ma,contentTypes:Ed,passwordlessToken:Ru,entities:ec,handlingTime:vp,info:tl,input:qa,settings:Hl,profile:Od,search:al,styleSuggestions:Kc,ui:Pc,textSuggestions:pc});function Tp(t){return cb({reducer:ub,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(Sp()).concat(bp({debounce:200})).concat(xp({debounce:500})).concat(wp(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function Ep(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${As(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 pb=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},gb=t=>e=>n=>o=>{var d,l,c,p,u,m;let s=e.getState(),r=vt("inlineSuggestions")(s),i=vt("autoSelectSuggestion")(s)||r;switch(o.type){case Ft.toString():{!o.payload&&t.emit("logout",void 0);break}case vo.fulfilled.toString():{t.emit("logout",void 0);break}case xe.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 ft.toString():t.logSendMessage(o.payload);break;case Uo.toString():t.emit("call-to-action",{cue:o.payload});break;case pe.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:f,currentExternalIdAtRequest:g}=(l=o.payload)!=null?l:{};(!f||!g||f===g)&&t.broadcast(hr,o,!1)}break;case pe.rejected.toString():break;default:break}let a=n(o);switch(o.type){case ft.toString():t.handleAfterSendMessage(o.payload);break;case Xn.toString():t.onUpdateShowTabHint(o.payload);break;case Gs.toString():t.logHandlingTime();break;case Kt.toString():t.broadcast(Lo,o);break;case mt.toString():t.broadcast(Lo,o);break;case Ko.toString():e.dispatch(mt({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let f=s.assistants.cues.find(g=>g.code===o.meta.arg.data.assistantCode);t.emit("event",C(h({},o.meta.arg),{cue:f}));break}case de.toString():{let{start:f,end:g}=s.input.selection;t.emit("select-suggestion",C(h({type:pb(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:f,end:g}:{start:0,end:g}})),r&&e.dispatch(et([]));break}case Uc.toString():{let{keyword:f,suggestion:g,eventMetrics:y}=o.payload,{text:v,selection:x}=s.input,b=Ep(v,f,(c=x==null?void 0:x.end)!=null?c:v.length);if(!b)break;t.emit("select-suggestion",{text:g,type:"style",replace:b,suggestion:{text:g,source:"style"},eventMetrics:y});break}case To.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 et.toString():{i&&o.payload.length>0&&e.dispatch(Eo(0));break}case pe.fulfilled.toString():{let{evaluationId:f,output:g,externalConversationId:y}=o.payload,v=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:f,assistantCode:v,assistantOutput:Al(g),externalConversationId:y,evaluationStatus:"success"}}),!o.meta.arg.skipState){let x=e.getState().assistants.cues;t.emit("cues",x)}break}case pe.rejected.toString():{let f=o.meta.arg.assistantCode,g=(m=o.meta.arg.externalConversationId)!=null?m:(u=e.getState().conversation.current)==null?void 0:u.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:f,assistantOutput:"",externalConversationId:g,evaluationStatus:"failed"}});break}default:break}return a},kp=gb;import{createSelector as mb}from"@reduxjs/toolkit";function ji(t){return t.toISOString().replace("T"," ").replace("Z","")}var fb=(t,e)=>e.version,Rp=mb([Wt,me,mp,fb],(t,e,n,o)=>{if(!e)return R.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(R.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:ji(s),timeStop:ji(r)}});function Pp(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 ao=class extends Error{};function hb(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Qs=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 ao("Queued async function is outdated"));let s=hb();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function Gi(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return Gi(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Gi(s,e):null}function Qi(t,e){return Gi(t,e)}var yb={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},Ip=(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 R.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[yb[e]];if(o&&o.length>0){let a=o.map(d=>d.code);return t.summarizerAssistantNew&&e!=="ended"&&(a=a.filter(d=>d!==t.summarizerAssistantNew)),a}return R.warn(`No assistant set in profile for conversation event "${e}"`),[]};function vb(t){var e,n,o,s;return(s=(o=(n=(e=t.uiConfig)==null?void 0:e.widget)==null?void 0:n.types)==null?void 0:o.some(r=>r.type==="knowledge-assist"&&r.isActive))!=null?s:!1}function Ap(t){var n,o;return((o=(n=t.widgetInteractiveAssistants)==null?void 0:n.length)!=null?o:0)>0&&vb(t)?!0:!!t.knowledgeAssistantNew||!!t.knowledgeAssistant}function Sb(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Xi(t){return Sb(t)&&(at(t)||Ps(t))}var Mp,Me=new Map,xb=["bottom","height","left","right","top","width"],Lp=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:xb.some(n=>t[n]!==e[n]);function Op(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,...Op(e)]:[]}function Np(t,e){return!t||!e?null:C(h({},t),{top:t.top+e.top,left:t.left+e.left})}var Xs=!1,Dp=()=>{Xs=!0;let t=[];if(Me.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Me.delete(n);return}let o=n.getBoundingClientRect();Lp(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(Np,e.rect):e.rect;Lp(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Me.size===0){Xs=!1;return}Mp=window.requestAnimationFrame(Dp)};function Ji(t,e){let n=Op(t),o=[],s=n.map((r,i)=>Ji(r,a=>{o[i]=a;let d=Me.get(t);if(!d)return;let l=o.reduce(Np,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Me.has(t)){let i=Me.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Me.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Xs&&Dp()},unobserve(){s.forEach(i=>i.unobserve());let r=Me.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Me.delete(t),Me.size||(cancelAnimationFrame(Mp),Xs=!1)}}}}var _p,Oe=new Map,Fp=()=>{Oe.forEach((t,e)=>{if(!e.isConnected){Oe.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)))}),Oe.size!==0&&(_p=window.requestAnimationFrame(Fp))};function Hp(t,e){return{observe(){let n=Oe.size===0;Oe.has(t)?Oe.get(t).callbacks.push(e):Oe.set(t,{visible:void 0,callbacks:[e]}),n&&Fp()},unobserve(){let n=Oe.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Oe.delete(t),Oe.size||cancelAnimationFrame(_p)}}}}var Bp=["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 bb(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function Cb(t){return Zi(t)?Bp.filter(e=>e!=="width"&&e!=="height"):Bp}function pn(t){return Number.parseFloat(t)}function Js(t){return Math.round(t*1e6)}function Up(t){return t/1e6}function Zi(t){var d,l,c;let e=t.ownerDocument;if(t!==e.body&&t!==e.documentElement)return null;let n=(d=e.defaultView)==null?void 0:d.frameElement;if(!n)return null;let o=[],s=n;for(;s&&(o.push(s),s.ownerDocument!==document);)s=(c=(l=s.ownerDocument.defaultView)==null?void 0:l.frameElement)!=null?c:null;let r=0,i=0;for(let p=o.length-1;p>=0;p-=1){let u=o[p].getBoundingClientRect();r+=u.top+o[p].clientTop,i+=u.left+o[p].clientLeft}let a=o[0];return{top:r,left:i,width:a.clientWidth,height:a.clientHeight}}function wb(t,e){let n=Zi(t);return n?(e.style.top=`${n.top}px`,e.style.left=`${n.left}px`,e.style.width=`${n.width}px`,e.style.height=`${n.height}px`,e.style.clipPath="",n):null}function Tb(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=pn(t.width),r=pn(t.borderLeftWidth),i=pn(t.borderRightWidth),a=pn(t.paddingRight),d=Up(Js(s)-Js(r)-Js(i)),l=Up(Js(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function Eb(t){let e=t.ownerDocument;if(t===e.body||t===e.documentElement){let n=e.scrollingElement;if(n)return n}return t}function Zs(t,e={}){var y,v,x;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(y=e.position)!=null?y:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",bt(n);let s=((v=t.ownerDocument.defaultView)!=null?v:window).getComputedStyle(t),r=!0,i=e.mirrorOverflow?Eb(t):t,a=t===t.ownerDocument.body||t===t.ownerDocument.documentElement,d=e.mirrorOverflow&&a?t.ownerDocument:i,l=!0,c=()=>{n.scrollTop=i.scrollTop},p=()=>(bb(s,n,Cb(t)),Tb(s,t,n),wb(t,n));p(),e.mirrorOverflow&&(n.style.overflow="hidden",n.style.contain="paint",d.addEventListener("scroll",c,l));let u=Hp(t,()=>{p(),setTimeout(c,0)}),m,f=!0,g=Ji(t,b=>{if(b===null){e.onRemove&&e.onRemove(),n.remove();return}!f&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),f=!0),clearTimeout(m),m=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),f=!1},200);let E=Zi(t);if(!!E&&(E.width===0||E.height===0)||b.height===0&&b.width===0){if(r===!0)return;e.onHide&&e.onHide(),n.style.display="none",r=!0;return}let T=p();if(e.placement==="below"&&n.classList.add("below"),!T&&(n.style.top=`${b.top}px`,n.style.left=`${b.left}px`,e.closestScrollElement&&e.closestScrollElement!==t)){let I=e.closestScrollElement.getBoundingClientRect(),M=window.getComputedStyle(e.closestScrollElement),q=pn(M.borderTopWidth),Q=pn(M.borderBottomWidth),O=I.top+q-b.top,F=b.top+b.height+-(I.top+I.height-Q);n.style.clipPath=`inset(${O}px 0px ${F}px 0px)`}r&&(n.style.display="block",e.onShow&&e.onShow(),r=!1)});return e.appendTo?e.appendTo.appendChild(n):(x=t.parentElement)==null||x.appendChild(n),g.observe(),u.observe(),[n,()=>{d.removeEventListener("scroll",c,l),g.unobserve(),u.unobserve(),n.remove()}]}function kb(t){return t.offsetParent!==null}function Kp(t){if(!kb(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 Yi(t,e,n=100){let o=Kp(t);e({isVisible:o});let s=setInterval(()=>{let r=Kp(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Wp=(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){R.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as U,jsxs as Rb}from"react/jsx-runtime";var zp=Wp("showTabHint",!0),gn=class gn{constructor({deepdeskUrl:e,version:n=gn.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=js}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.disposed=!1;this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.dialogOverlays=null;this.dialogOverlaysIncludeLogin=!1;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new Qs;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;this.loadProfileConfigPromiseKey=null;this.personalCollectionSyncPendingKey=null;this.personalCollectionSyncDrainPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new dt(l,{token:s,fetch:r}),this.version=n,this.instanceId=gn.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[kp({broadcast:(f,g,y)=>{this.broadcastEvents.send(f,g,y)},emit:(f,g)=>this.emit(f,g),handleAfterSendMessage:f=>this.handleAfterSendMessage(f),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:f=>this.logSendMessage(f),onUpdateShowTabHint:f=>zp.update(f),sendEvent:(f,g)=>this.deepdeskApi.sendEvent(f,g)})]};this.store=Tp(c),this.broadcastEvents=new cp({debug:!0,deepdeskUrl:l,eventMap:ll(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup(!0)}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>S(this,null,function*(){var f;return(f=ee(this.state))!=null?f:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Xn(zp.value())),this.store.dispatch(Hn({locale:o,adminUrl:l,productName:i}));let p=[],u=f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Nl(f))};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",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Ol(f))};this.hasConversation()?g():p.push(g)}),this.ws.on("assistants::suggest_as_reply",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Kt([{text:f.payload.message,type:"text",source:"assistant",assistantCode:f.code,sourceLabel:f.name}]))};this.hasConversation()?g():p.push(g)});let m=this.whenConversationLoaded(()=>{var f;this.broadcastEvents.setExternalId((f=this.state.conversation.current)==null?void 0:f.externalId),p.forEach(g=>g()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,m()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=gt(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?(R.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(R.warn("Profile has not been loaded (yet)"),!0):(R.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){let n=()=>{this.disposed||e()};if(ee(this.state))n();else{let o=this.subscribe(ee,s=>{s&&n()});this.disposeHandlers.push(()=>{o()})}}login(){return this.store.dispatch(Ft(null)),this.store.dispatch(Fe()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return S(this,null,function*(){return(yield this.store.dispatch(Fe())).payload})}isConversationSupported(e,n){return S(this,null,function*(){return(yield this.store.dispatch(dr({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(bo(C(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(Co({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(cr(C(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return S(this,null,function*(){yield this.store.dispatch(ur(e))})}updateConversation(e){return S(this,null,function*(){return(yield this.store.dispatch(wo(e))).payload})}resetConversation(){this.store.dispatch(z()),this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.dynamicThunkObject.conversationQuery=null}clearDisplayedAnswers(){var n;let e=this.store.getState().conversation.current;e&&(xn((n=e.externalId)!=null?n:void 0),this.store.dispatch(ie()))}reloadConversationContext(s){return S(this,arguments,function*({conversation:e,visitorInfo:n,clearDisplayedUi:o=!1}){let r=yield this.upsertConversation(e);if(!(r!=null&&r.id))throw new Error("Failed to upsert conversation");o&&this.clearDisplayedAnswers(),n&&this.setVisitorInfo(n)})}publishConversationTranscript(e){return S(this,null,function*(){if(!this.store.getState().conversation.current)return;let o=e.map(s=>({source:s.source,text:s.text}));this.setConversationQuery(()=>Promise.resolve(o)),e.length>0&&(yield this.postMessages(e))})}configure(e){this.store.dispatch(Hn(e))}setVisitorInfo(e){this.store.dispatch(Ja(e))}setCustomData(e){this.store.dispatch(Za(e))}setAgentInfo(e,n){return S(this,null,function*(){var s;yield this.store.dispatch(Cn(h(h({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(Ao,{showNicknameDialog:!0})})}setAgentSettings(e){return S(this,null,function*(){yield this.store.dispatch(gr(e))})}getAgentSettings(){return S(this,null,function*(){return(yield this.store.dispatch(mr())).payload})}getMe(){return S(this,null,function*(){return this.deepdeskApi.getMe()})}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(ko({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(de(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(pe({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,p,m;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){R.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=Ip(o,e),r=(p=n==null?void 0:n.showCuesInWidget)!=null?p:!0,u=n!=null?n:{},{showCuesInWidget:i}=u,a=_(u,["showCuesInWidget"]),d=(m=n==null?void 0:n.externalConversationId)!=null?m:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(f=>this.queues.push(f,()=>S(this,null,function*(){var y,v;let g=yield this.store.dispatch(pe(h(C(h({assistantCode:f,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: ${(y=g.payload)!=null?y:g.error.message}`);return{assistantCode:f,evaluationId:g.payload.evaluationId,output:g.payload.output,externalConversationId:(v=g.payload.externalConversationId)!=null?v:d}})).catch(g=>{if(g instanceof ao)return R.warn(`Queued assistant "${f}" was outdated and dropped`),null;throw g})));if(!r)return l.filter(f=>f!==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",m=s.length>0;if(this.store.dispatch(Ha(pr(e))),!Le(this.state)||e.key!=="Tab"&&!l)return;let f=()=>{n||!m||i&&(e.shiftKey||(this.store.dispatch(Ka()),e.preventDefault()))},g=()=>{n||!m||p&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Wa()),e.preventDefault()))};switch(e.key){case"ArrowUp":u==="below"?g():f();break;case"ArrowDown":{u==="below"?f():g();break}case"Escape":{n||(this.store.dispatch(Eo(-1)),this.store.dispatch(rt({collapse:!0})),this.store.dispatch(kc(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let y=Ut(this.state);if(!y)return;this.store.dispatch(Xn(!1)),this.store.dispatch(de({text:y.text,suggestion:y,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(p||this.state.input.selectedSuggestionIndex===-1)return;let y=Ut(this.state);if(!y)return;this.store.dispatch(de({text:y.text,suggestion:y,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(p||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let y=Ut(this.state);if(!y)return;this.store.dispatch(de({text:y.text,suggestion:y,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(rt({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(et([]))}handlingTimeStart(){this.state.handlingTime.startTime||(R.info("Start handling time"),this.store.dispatch(hp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(R.info("Stop handling time"),this.store.dispatch(Gs()))}logSendMessage(e){let n=Pp(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=Rp(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(yp()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(ft((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(Va()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){R.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),R.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(Ya(e))}whenConversationLoaded(e){let n=()=>this.getConversationLoadedKey(),o=()=>{let r=n();r&&this.loadProfileConfig().then(()=>{if(this.disposed||n()!==r)return;let i=this.state.conversation.current,a=he(this.state);!(i!=null&&i.id)||i.profileCode&&(a==null?void 0:a.code)!==i.profileCode||e()})};return n()&&o(),this.subscribe(r=>this.getConversationProfileKey(r.conversation.current),r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=Zs(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]=Zs(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 bt(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),R.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()?(R.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(za(o.metrics))):R.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 p=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=p,d=_(p,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),bt(e),this.inputMediator=a||(at(e)?new ln(e):new an(e)),this.inputMediator.on("change",({plainText:u,rawHTML:m,suggestionTextStart:f})=>{this.store.dispatch(ko({text:u,html:m,suggestionTextStart:f}))}),this.inputMediator.on("keyup",u=>{this.store.dispatch(Ba(pr(u)))}),this.inputMediator.on("keydown",u=>{this.handleKeyDown(u)}),this.inputMediator.on("paste",({pastedText:u,selectionText:m})=>{this.store.dispatch(Ua({text:u,selectionText:m}))}),this.inputMediator.on("cut",({selectionText:u})=>{this.store.dispatch(Fa(u))});let c;this.inputMediator.on("selection",u=>{clearTimeout(c),u===null?c=setTimeout(()=>{u!==null&&this.store.dispatch(Ro(u))},500):this.store.dispatch(Ro(u))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var u;(u=this.inputMediator)==null||u.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(ys(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(ys(!0))}),this.renderSuggestions(e,l),this.subscribe(vt("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(vt("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)}),this.ensureDialogOverlays(n),this.store.dispatch(ko({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(Ro(this.inputMediator.getSelection())),this.store.dispatch(ys(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=ct(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(U(qe,{store:this.store,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(Vc,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>S(this,null,function*(){try{yield this.store.dispatch(Qa({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(Ao,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){R.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,this.widgetRoot||this.disposeDialogOverlays()}dispose(){this.disposed||(this.disposed=!0,this.unmount(),this.unmountWidget(),this.disposeDialogOverlays(),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=ct(s);r.render(U(qe,{store:this.store,customStyles:o,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(Wc,{})})}));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&&Qi(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=ct(d);u.render(U(qe,{store:this.store,customStyles:s,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(wu,{inputElement:e})})}));let m=ct(c);return m.render(U(qe,{store:this.store,customStyles:s,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(Yc,{onLogIn:()=>this.loginViaPopup().catch(f=>R.warn(f.message))})})})),{unmount(){u.unmount(),m.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&Qi(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=ct(d);return c.render(U(qe,{store:this.store,customStyles:o,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(Tc,{onLogIn:()=>this.loginViaPopup().catch(p=>R.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}ensureDialogOverlays(e={}){var r,i;let n=(r=e.includeLoginOverlay)!=null?r:!0;this.dialogOverlaysCustomStyles===void 0&&e.customStyles!==void 0&&(this.dialogOverlaysCustomStyles=e.customStyles);let o=!!this.dialogOverlays&&n&&!this.dialogOverlaysIncludeLogin;this.dialogOverlaysIncludeLogin=this.dialogOverlaysIncludeLogin||n;let s={customStyles:(i=this.dialogOverlaysCustomStyles)!=null?i:e.customStyles,includeLoginOverlay:this.dialogOverlaysIncludeLogin};if(this.dialogOverlays){o&&this.dialogOverlays.update(s);return}this.dialogOverlays=this.renderOverlays(s)}disposeDialogOverlays(){var e;(e=this.dialogOverlays)==null||e.unmount(),this.dialogOverlays=null,this.dialogOverlaysCustomStyles=void 0,this.dialogOverlaysIncludeLogin=!1}renderOverlays(e){var r;let n=this.createContainer("deepdesk-overlays"),o=ct(n),s=i=>{o.render(U(qe,{store:this.store,customStyles:i.customStyles,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(vc,{includeLoginOverlay:i.includeLoginOverlay})})}))};return s({customStyles:e.customStyles,includeLoginOverlay:(r=e.includeLoginOverlay)!=null?r:!0}),{update:s,unmount(){o.unmount(),n.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&R.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,openAdminFeedback:d}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let l;if(a)try{l={url:new URL(a,this.settings.adminUrl).toString()}}catch(c){R.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.ensureDialogOverlays({customStyles:o,includeLoginOverlay:!1}),this.widgetRoot=ct(e),this.widgetRoot.render(U(qe,{store:this.store,customStyles:o,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(ss,{report:c=>this.deepdeskApi.sendEvent(md,{data:c}),children:U(op,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,openAdminFeedback:d,onLogIn:()=>this.loginViaPopup(l).catch(c=>R.warn(c.message))})})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null,this.isMounted||this.disposeDialogOverlays()}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=ct(n);return i.render(U(qe,{store:this.store,customStyles:s,children:U(Be,{broadcastEvents:this.broadcastEvents,children:U(Wi,{children:Rb(es,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Fn,children:[U(fn,{children:U(ns,{title:o.title,emptyState:o.emptyState})}),U(Ki,{children:U(ts,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=Yi(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){os(e)&&e.message==="Unauthorized"&&this.login()}getConversationProfileKey(e){var n;if(e!=null&&e.id)return`${e.id}:${(n=e.profileCode)!=null?n:""}`}getProfileLoadKey(){var n;let e=this.state.conversation.current;return e!=null&&e.profileCode&&(n=this.getConversationProfileKey(e))!=null?n:null}isCurrentProfileLoadKey(e){return this.getProfileLoadKey()===e}getConversationLoadedKey(){return this.getConversationProfileKey(this.state.conversation.current)}resetProfileDerivedSettings(){this.store.dispatch(Xr()),this.store.dispatch(Hn(_r))}syncPersonalCollectionForConversation(e){this.personalCollectionSyncPendingKey=e,this.ensurePersonalCollectionSyncDrain()}ensurePersonalCollectionSyncDrain(){return this.personalCollectionSyncDrainPromise?this.personalCollectionSyncDrainPromise:(this.personalCollectionSyncDrainPromise=this.drainPersonalCollectionSync().finally(()=>{this.personalCollectionSyncDrainPromise=null,this.personalCollectionSyncPendingKey&&this.ensurePersonalCollectionSyncDrain()}),this.personalCollectionSyncDrainPromise)}drainPersonalCollectionSync(){return S(this,null,function*(){for(;this.personalCollectionSyncPendingKey;){let e=this.personalCollectionSyncPendingKey;if(this.personalCollectionSyncPendingKey=null,!this.isCurrentProfileLoadKey(e))continue;let n=this.state.conversation.current,o=n==null?void 0:n.id;if(!(!o||!n.profileCode))try{yield this.deepdeskApi.syncPersonalCollection(o)}catch(s){this.isCurrentProfileLoadKey(e)&&R.warn("Failed to sync personal collection for profile",s)}}})}loadProfileConfig(e=!0){let n=this.getProfileLoadKey();if(!n)return this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.resetProfileDerivedSettings(),Promise.resolve();let o=this.state.conversation.current,s=he(this.state);if(s&&s.code!==(o==null?void 0:o.profileCode)&&(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null,this.resetProfileDerivedSettings()),this.loadProfileConfigPromise&&this.loadProfileConfigPromiseKey===n)return this.loadProfileConfigPromise;this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=n;let r=Promise.resolve().then(()=>S(this,null,function*(){try{yield this.store.dispatch(Kn()).unwrap()}catch(d){if(d===Jt)return this.loadProfileConfigPromise===r&&(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null),e&&this.isCurrentProfileLoadKey(n)&&!he(this.state)?this.loadProfileConfig(!1):void 0;throw d}if(!this.isCurrentProfileLoadKey(n))return;let i=he(this.state),a=this.state.conversation.current;!i||i.code!==(a==null?void 0:a.profileCode)||(this.store.dispatch(Hn({showSearch:i.search,showImageSearch:i.imageSearch,showEntitiesCommand:i.entitiesCommand,showSummaryCommand:!!i.summarizerAssistantNew,showKnowledgeSearch:Ap(i),recommendTextSuggestions:i.recommendTextSuggestions})),this.syncPersonalCollectionForConversation(n))})).finally(()=>{this.loadProfileConfigPromise===r&&(he(this.state)||(this.loadProfileConfigPromise=null,this.loadProfileConfigPromiseKey=null))});return this.loadProfileConfigPromise=r,r}loginViaPopup(e){return S(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(So());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=m=>S(this,null,function*(){var f,g;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(En),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");if(c===null){o(new Error("Popup blocked by browser"));return}let p=m=>S(this,null,function*(){var f;if(!(m.origin!==a.origin||m.source!==c))switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-request-origin":{try{let g=JSON.stringify({type:"deepdesk-popup-parent-origin"});c.postMessage(g,a.origin)}catch(g){R.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.postMessage(g,a.origin,[s.port2])}catch(g){R.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-error":{if(l(),m.data.message==="Platform account url mismatch"){let g="Please contact your administrator: The page that opened the popup is not a trusted origin.";R.warn(g),this.store.dispatch(ar(g)),o(new Error(g));return}if(m.data.message==="Timeout"){let g="Please contact your administrator: Popup timed out. Check if the account's platform.url or account.url is configured correctly.";R.warn(g),this.store.dispatch(ar(g)),o(new Error(g));return}o(new Error(m.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 S(this,null,function*(){this.isMounted&&(yield this.store.dispatch(ms()))})}refreshWidgetSuggestions(){return S(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Wn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(xe());break;case"pinned-messages":case"sticky-messages":break;default:ho.includes(o)||this.store.dispatch(be(o))}})}catch(o){this.handleError(o)}})}};gn.version="19.7.2-beta.0",gn.count=0;var Ys=gn;function Pb(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 Ib(t,e){return S(this,null,function*(){let n=yield Pb(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 Ab(t,e,n){return S(this,null,function*(){yield new dt(t).authenticateWithKey(e,n)})}function Lb(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function Mb(o,s){return S(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 Ob(o,s){return S(this,arguments,function*(t,e,n={}){let r=n.replace?Lt(t,n.replace.start,n.replace.end):ro(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(`
|
|
14
|
+
`).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?Lt(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 Nb(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 Db(t){let e=document.createDocumentFragment();return t.split(`
|
|
15
|
+
`).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 Vp(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):Vp(n,e)}function _b(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 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?Nb(e):Db(e);n?Vp(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{H as Card,an as ContentEditableInput,dt as DeepdeskAPI,Ys as DeepdeskSDK,un as HTTPClient,lt as InputMediator,_t as InputType,nr as KeyboardHint,cg as Label,yo as Locale,De as Section,fn as SectionList,_e as Sources,N as Suggestion,ne as SuggestionList,ln as TextAreaInput,Dt as ToggleButton,Ib as attachFile,Ab as authenticateWithKey,xn as clearWidgetAssistantSessionId,ro as createFullRange,Zs as createOverlayContainer,Lt as createRangeFromOffsets,Vn as escapeHTML,Lb as formatTextMarkup,zs as getRangeOffsets,Vs as getRangeText,_b as insertCKEditor,is as isHTML,Xi as isSupportedInputElement,vr as logEvent,Ob as updateContentEditable,Mb as updateTextArea,xt as useClickOutsideRoot,w as useStyles,Yi as waitForElementVisibilityChange};
|