@deepdesk/deepdesk-sdk 19.5.1-beta.0 → 19.5.1-beta.1
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 +9 -9
- package/dist/index.esm.js +9 -9
- package/dist/index.iife.js +25 -25
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var Ii=Object.defineProperty,Zu=Object.defineProperties;var Yu=Object.getOwnPropertyDescriptors;var qn=Object.getOwnPropertySymbols;var Ai=Object.prototype.hasOwnProperty,Li=Object.prototype.propertyIsEnumerable;var Pi=(t,e,n)=>e in t?Ii(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))Ai.call(e,n)&&Pi(t,n,e[n]);if(qn)for(var n of qn(e))Li.call(e,n)&&Pi(t,n,e[n]);return t},b=(t,e)=>Zu(t,Yu(e));var O=(t,e)=>{var n={};for(var o in t)Ai.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&qn)for(var o of qn(t))e.indexOf(o)<0&&Li.call(t,o)&&(n[o]=t[o]);return n};var q=(t,e)=>{for(var n in e)Ii(t,n,{get:e[n],enumerable:!0})};var S=(t,e,n)=>new Promise((o,s)=>{var r=d=>{try{a(n.next(d))}catch(l){s(l)}},i=d=>{try{a(n.throw(d))}catch(l){s(l)}},a=d=>d.done?o(d.value):Promise.resolve(d.value).then(r,i);a((n=n.apply(t,e)).next())});import Ni from"classnames";import sp,{createContext as rp,useContext as Hs,useEffect as ip,useState as ap}from"react";import ep,{useContext as tp}from"react";import np from"classnames";var ln=ep.createContext({});function C(t,e){let r=tp(ln),{debug:n}=r,s=O(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return b(h({},i),{[a]:np(d,l,n?`${t}__${a}`:!1)})},{})}var Mi={root:"dd-4s9wq"};import{jsx as Gn,jsxs as op}from"react/jsx-runtime";var Xn=()=>op("svg",{className:Mi.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Gn("defs",{children:Gn("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Gn("title",{children:"Failed loading image"}),Gn("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Fs={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as At}from"react/jsx-runtime";var Jn=rp(Fs),lp=({title:t,src:e})=>{let n=Hs(Jn),[o,s]=ap(!1);return ip(()=>{s(!1)},[e]),At("div",{className:n.imageWrapper,children:e&&!o?At("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):At(Xn,{})})},dp=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=Hs(Jn);return At("div",{className:Ni(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},cp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=O(i,["as","cropText","className","children"]);let a=Hs(Jn);return sp.createElement(t,h({className:Ni(a.title,n,{[a.contentIsCropped]:e})},s),o)},Qn=({children:t})=>{let e=C("Card",Fs);return At("div",{className:e.root,children:At(Jn.Provider,{value:e,children:t})})};Qn.Image=lp;Qn.Content=dp;Qn.Title=cp;var _=Qn;import up from"classnames";var Oi={root:"dd-llBx9"};import{jsx as mp}from"react/jsx-runtime";var pp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},gp=o=>{var s=o,{className:t,keyCode:e}=s,n=O(s,["className","keyCode"]);let r=C("KeyboardHint",Oi);return mp("span",h({"data-key":pp[e],className:up(t,r.root)},n))},Bs=gp;import fp from"classnames";var Di={root:"dd-e6HXZ"};import{jsx as vp}from"react/jsx-runtime";var hp=o=>{var s=o,{className:t,children:e}=s,n=O(s,["className","children"]);let r=C("Label",Di);return vp("span",b(h({},n),{className:fp(t,r.root),children:e}))},yp=hp;var _i={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as Us,jsxs as xp}from"react/jsx-runtime";var Sp=s=>{var r=s,{title:t,children:e,type:n}=r,o=O(r,["title","children","type"]);let i=C("Section",_i);return xp("section",b(h({},o),{className:i.root,"data-section-type":n,children:[t&&Us("div",{className:i.subTitleContainer,children:Us("span",{className:i.subtitle,children:t})}),Us("div",{className:i.suggestions,children:e})]}))},Me=Sp;import kp from"classnames";import{useRef as Rp}from"react";import{createContext as bp,useCallback as Cp,useContext as Tp,useEffect as wp}from"react";import{jsx as Ep}from"react/jsx-runtime";var Fi=bp(null),Hi=({scrollContainerRef:t,children:e})=>{let n=Cp(o=>{let s=t.current;if(!s||s.scrollHeight<=s.clientHeight)return;let{top:r}=s.getBoundingClientRect(),{top:i}=o.getBoundingClientRect(),a=s.scrollTop+(i-r);typeof s.scrollTo=="function"?s.scrollTo({top:a}):s.scrollTop=a},[]);return Ep(Fi.Provider,{value:n,children:e})},Zn=t=>{let e=Tp(Fi);wp(()=>{let n=t.current;n&&e(n)},[])};var Bi={root:"dd-uoTXh"};import{jsx as Ui}from"react/jsx-runtime";var Pp=({className:t,children:e})=>{let n=C("SectionList",Bi),o=Rp(null);return Ui(Hi,{scrollContainerRef:o,children:Ui("div",{ref:o,className:kp(n.root,t),children:e})})},dn=Pp;import cn from"classnames";import Ip,{createContext as Ap,useCallback as Lp,useContext as at}from"react";var Ks={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",buttonsContainer:"dd-uRYN4",button:"dd-9UE-x",buttonPrimary:"dd-aYDCB",buttonSecondary:"dd--cpPL",buttonWithIcon:"dd-MQVt5",icon:"dd-Jr-ww",buttonDisabled:"dd-agTuH"};import{jsx as ue,jsxs as Ki}from"react/jsx-runtime";var qe=Ap(Ks),Mp=o=>{var s=o,{fixed:t,children:e}=s,n=O(s,["fixed","children"]);let r=at(qe);return ue("div",b(h({},n),{className:cn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function Np(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=O(l,["as","className","icon","title","children","disabled","variant"]);let c=at(qe);return Ki(t||"button",b(h({type:"button",className:cn(c.button,{[c.buttonWithIcon]:n,[c.buttonDisabled]:r,[c.buttonPrimary]:i==="primary",[c.buttonSecondary]:i==="secondary"},e),title:o,"aria-label":o},a),{children:[n&&ue("span",{className:c.icon,children:n}),s]}))}var Op=({children:t})=>{let e=at(qe);return ue("div",{className:e.buttonsContainer,children:t})},Dp=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=at(qe);return Ki("div",{className:cn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,ue("ul",{className:r.dropdownList,children:s})]})},_p=({index:t,label:e,onClick:n})=>{let o=at(qe);return ue("li",{className:o.dropdownItem,children:ue("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Fp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=at(qe);return ue("button",{type:"button",className:cn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},Hp=({labels:t})=>{let e=at(qe);return ue("div",{className:e.labels,children:t.map(n=>ue("span",{className:e.label,children:n},n))})},Ge=Ip.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=O(d,["className","selected","onClick","children","as"]);let l=C("Suggestion",Ks),c=Lp(u=>{u.preventDefault(),n&&n(u)},[n]);return ue(s,b(h({},r),{ref:i,className:cn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:ue(qe.Provider,{value:l,children:o})}))});Ge.Labels=Hp;Ge.Actions=Mp;Ge.ActionButton=Fp;Ge.DropdownButton=Dp;Ge.DropdownItem=_p;Ge.ButtonsContainer=Op;Ge.Button=Np;var M=Ge;import Bp from"classnames";var Wi={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as Kp}from"react/jsx-runtime";var Up=({withDivider:t,children:e})=>{let n=C("SuggestionList",Wi);return Kp("div",{"data-testid":"suggestions-overlay-list",className:Bp(n.root,{[n.isWithDivider]:t}),children:e})},Y=Up;import Wp from"classnames";var zi={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as Ws}from"react/jsx-runtime";var zp=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=C("ToggleButton",zi);return Ws("button",{type:"button",className:Wp(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:Ws("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Ws("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Lt=zp;var Vi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Yn=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ji=/x-deepdesk-(([a-z0-9\-_])+-version)/,eo=["cues","custom-data","custom-data-banner","knowledge-assist"],$i=Intl.DateTimeFormat().resolvedOptions().timeZone,Ne=(y=>(y.SEARCH="search",y.TEMPLATE="template",y.ELASTIC_SEARCH="search-autocomplete",y.GPT="gpt",y.TRIE="trie",y.TRIE_WITH_TYPOS="trie-with-typos",y.SEMANTIC="semantic",y.TEXT_RECOMMENDATION="text_recommendation",y.URL_RECOMMENDATION="url_recommendation",y.LINK_RECOMMENDATION="link_recommendation",y.PERSONAL_COLLECTION="personal-collection",y.PERSONAL_COLLECTION_SEARCH="personal-collection-search",y.SEARCH_OVERLAY="search-overlay",y.SEARCH_PREVIEW="search-preview",y.SEARCH_URL="search-url",y.STYLE="style",y))(Ne||{}),Mt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Mt||{});import{createContext as Qm,Fragment as Zm,useContext as Tr,useEffect as Ym,useRef as kl,useState as xt}from"react";import{useDispatch as ef,useSelector as tf}from"react-redux";import{createAsyncThunk as pn,createSlice as Vp}from"@reduxjs/toolkit";var to=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(to||{});var jp={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},Q=t=>t.auth.isLoggedIn;var qi=t=>t.auth.verifyFetchState,Gi=t=>t.auth.showLoginOverlay,Xi=t=>t.auth.loginError,Oe=pn("auth/validate",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Ji=pn("auth/requestLogin",(n,o)=>S(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),zs=pn("auth/loginWithPassword",(o,s)=>S(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),no=pn("auth/logout",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),un=pn("auth/verifyLoginToken",(n,o)=>S(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Qi=Vp({name:"auth",initialState:jp,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload},setLoginError(t,e){t.loginError=e.payload},clearLoginError(t){t.loginError=null}},extraReducers:t=>{t.addCase(Oe.pending,e=>{e.loginFetchState="loading"}),t.addCase(Oe.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(Oe.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(zs.pending,e=>{e.loginFetchState="loading",e.loginError=null}),t.addCase(zs.fulfilled,e=>{e.isLoggedIn=!0,e.loginFetchState="done",e.loginError=null,e.showLoginOverlay=!1}),t.addCase(zs.rejected,(e,n)=>{e.loginFetchState="error",e.isLoggedIn=!1,e.loginError=n.error.message==="Bad Request"?"Invalid credentials":"Login failed"}),t.addCase(no.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(no.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(un.pending,e=>{e.verifyFetchState="loading"}),t.addCase(un.rejected,e=>{e.verifyFetchState="error"}),t.addCase(un.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Nt,setShowLoginOverlay:Zi,setLoginError:Vs,clearLoginError:oo}=Qi.actions,Yi=Qi.reducer;import{createAction as tg,createSelector as ra,createSlice as ng}from"@reduxjs/toolkit";import{diffChars as og}from"diff";function ea(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Xe(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Xe(r,e[i],n-1)):ea(t)&&ea(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Xe(t[i],e[i],n-1)):!1}function $p(t){return Math.max(...t.map(e=>e.length))}function qp(t,e){let n=t.reduce((o,s)=>{if(s){let r=o[s]?o[s]+1:1;return b(h({},o),{[s]:r})}return o},{});return Object.keys(n).reduce((o,s)=>(n[s]<e&&o.push(s),o),[])}function ta(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<$p(o);s++){let r=qp(o.map(a=>a[s]),e),i=o.filter(a=>!r.includes(a[s]));if(i.length>=e)o=i;else return{text:o[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var Gp=2;function na(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=ta(t,Gp);return n&&n.text!==e?n:t[0]}import{createAction as Jp,createAsyncThunk as Ot,createSlice as Qp}from"@reduxjs/toolkit";var Xp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},k=Xp;var oa={current:null,isSupported:null},$=Jp("resetConversation"),so=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},Ce=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Dt=t=>t.conversation.isSupported,js=Ot("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),ro=Ot("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),io=Ot("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),ao=Ot("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),$s=Ot("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),qs=Ot("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>h({},s)))}),Zp=[ro.rejected,io.rejected,ao.rejected,qs.rejected].map(t=>t==null?void 0:t.toString());function Yp(t){return Zp.includes(t.type)}var eg=Qp({name:"conversation",initialState:oa,reducers:{},extraReducers:t=>{t.addCase(js.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(ro.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(io.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase($s.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(ao.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase($,()=>oa).addMatcher(Yp,(e,n)=>{var o;throw k.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),sa=eg.reducer;var lt={text:"",html:null,suggestionTextStart:0,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion:null,textSuggestions:[],pinnedSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Gs(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var lo=tg("input/applyImageSuggestion"),ia=ng({name:"input",initialState:lt,reducers:{setInput(t,e){var i,a;let{beforeInputChange:n}=t,{text:o,html:s,suggestionTextStart:r}=e.payload;if(t.text=o,t.html=s!=null?s:null,t.suggestionTextStart=o===""?0:Math.max(0,r!=null?r:0),o==="")t.metrics=lt.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(n!==null&&t.text!==n.text){let{key:d,shiftKey:l,ctrlKey:c,metaKey:u,altKey:p}=n.keyDown;switch(d){case"Enter":l&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,m=og(n.text,g);n.text.length-g.length>1&&t.metrics.deletions.push(...m.filter(f=>f.removed).map(f=>f.value)),t.metrics.numCharsDeleted+=n.text.length-g.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(c||u)break;default:if(!c&&!u&&!p){t.metrics.numCharsTyped+=1;let g=((i=n.selection)==null?void 0:i.start)!==void 0&&((a=n.selection)==null?void 0:a.end)!==void 0?n.text.substring(n.selection.start,n.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},sendMessage(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(n=>!t.metrics.textSuggestions.some(o=>o.text===n.text&&o.source===n.source))},setSelection(t,e){e.payload!==null&&(Xe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let n=e.payload,{text:o,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,assistantCode:c,text:u},eventMetrics:{inputType:p},replace:g}=n,m=s==="search"||s==="personal-collection-search",f=o.slice(t.text.substring(0,t.selection.start).length);(m||g==="selection")&&(f=o),n.suggestion.source==="search-overlay"&&(f=u),t.metrics.textSuggestions.push({text:f,source:s,assistantCode:c,abVariant:r,abTestName:i,inputType:p,sourceText:d,trainingJobs:a||[],searchTerm:m?t.text:l}),t.textSuggestions=[],t.selectedSuggestionIndex=-1},offeredTextSuggestion(t,e){let{text:n,suggestion:{source:o}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===n)||t.metrics.offeredTextSuggestions.push({text:n,source:o})},registerKeyDown(t,e){let{key:n}=e.payload;["Control","Meta","Shift","Alt"].includes(n)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:n}=t,o=e.payload;t.metrics=b(h({},t.metrics),{numCharsCut:n.numCharsCut+o.length,cuts:[...n.cuts,o]})},registerPaste(t,e){let{metrics:n}=t,{text:o,selectionText:s}=e.payload,r=n.numCharsDeleted+(s!=null&&s.length?s.length:0),i=s!=null&&s.length?[...n.deletions,s]:n.deletions;t.metrics=b(h({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:n.numCharsPasted+o.length,numPaste:n.numPaste+1,pastes:[...n.pastes,o]})},selectNextTextSuggestion(t){let e=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},selectPreviousTextSuggestion(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},selectTextSuggestionByIndex(t,e){t.selectedSuggestionIndex=e.payload},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.mixedSuggestion=null;return}let n=dt({input:t}),o=na(e.payload,n);t.mixedSuggestion=o!=null&&o.text.includes(n)?o:null},setPinnedSuggestions(t,e){t.pinnedSuggestions=e.payload},removePinnedSuggestions(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(o=>o.source!==e.payload.source||e.payload.assistantCode&&o.assistantCode!==e.payload.assistantCode?!0:e.payload.text?o.text!==e.payload.text:!1);let n=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex>n-1&&(t.selectedSuggestionIndex=-1)},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=lt.metrics}},extraReducers:t=>{t.addCase($,e=>{e.mixedSuggestion=lt.mixedSuggestion,e.textSuggestions=lt.textSuggestions,e.selectedSuggestionIndex=lt.selectedSuggestionIndex,e.metrics=lt.metrics})}}),dt=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},sg=t=>t.input.mixedSuggestion,rg=t=>t.input.pinnedSuggestions,ig=t=>t.input.textSuggestions,gn=t=>t.input.selectedSuggestionIndex,ct=ra([ig,rg],(t,e)=>[...t,...e]),_t=ra([ct,sg,gn],(t,e,n)=>n>-1?t[n]:e),aa=t=>t.input.selection,{commitSuggestion:ie,offeredTextSuggestion:la,registerCut:da,registerKeyDown:ca,registerKeyUp:ua,registerPaste:pa,selectNextTextSuggestion:ga,selectPreviousTextSuggestion:ma,selectTextSuggestionByIndex:co,setInput:uo,setMetrics:fa,setPinnedSuggestions:Ft,removePinnedSuggestions:ut,setSelection:po,setTextSuggestions:Je,resetMetrics:ha,sendMessage:pt}=ia.actions,ya=ia.reducer;import{createAsyncThunk as cg,createSelector as ug,createSlice as pg}from"@reduxjs/toolkit";import{createAsyncThunk as go,createSlice as ag}from"@reduxjs/toolkit";function va(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var lg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Ht=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},Sa=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},xa=t=>{var e;return(e=t.info.customData)!=null?e:null},fn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&va(t.visitorTimeZone)?t.visitorTimeZone:$i,agentName:(n=e==null?void 0:e.agentNickname)!=null?n:"",visitorName:(o=t==null?void 0:t.visitorName)!=null?o:""}},dg=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],ba=go("info/setAgentNickname",(n,o)=>S(null,[n,o],function*({agentNickname:t},e){var i;let{deepdeskAPI:s}=e.extra,r=yield s.patchMe({nickname:t});return{agentNickname:(i=r==null?void 0:r.nickname)!=null?i:t}})),mn=go("info/setAgentInfo",(t,e)=>S(null,null,function*(){var r,i,a;let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=[];if(t.agentId&&t.skipSync!==!0&&s.push(n.postIdentity({externalId:t.agentId})),t.skipSync!==!0){let d=dg.reduce((l,[c,u])=>!o[u]&&c in t?b(h({},l),{[u]:t[c]}):l,{});Object.keys(d).length>0&&s.push(n.patchMe(d).then(l=>o=l))}return s.length>0&&(yield Promise.all(s)),{agentId:t.agentId,agentName:t.agentName,agentNickname:(r=o.nickname)!=null?r:t.agentNickname,agentEmail:(i=o.email)!=null?i:t.agentEmail,agentDefaultLocale:(a=o.defaultLocale)!=null?a:t.agentDefaultLocale,agentTimeZone:t.agentTimeZone}})),Xs=go("info/setAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=h(h({},typeof o.uiConfig=="object"?o.uiConfig:{}),t);return yield n.patchMe({uiConfig:s}),s})),Js=go("info/getAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),Ca=ag({name:"info",initialState:lg,reducers:{setVisitorInfo(t,e){t.visitorInfo=h(h({},t.visitorInfo),e.payload)},setCustomData(t,e){t.customData=e.payload},setPlatformVariables(t,e){t.platformVariables=e.payload},setShowNicknameDialog(t,e){t.showNicknameDialog=e.payload}},extraReducers:t=>{t.addCase(mn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),n.meta.arg)}).addCase(mn.rejected,e=>{e.fetchState="error"}).addCase(mn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(Xs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Js.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase($,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ta,setCustomData:wa,setPlatformVariables:Ea,setShowNicknameDialog:ka}=Ca.actions,Ra=Ca.reducer;function ge(t,e){return e?t==null?(k.warn("replaceVars called with non-string text; upstream contract violation",{keys:Object.keys(e)}),t):Object.entries(e).reduce((n,[o,s])=>n.replaceAll(o,s),t):t}var mo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Pa=t=>t.search.isOpen,Ia=t=>t.search.page,Qs=t=>t.search.list,Aa=t=>t.search.aggregates,gg=ug([Qs,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),La=t=>e=>gg(e,t),gt=cg("search/getAll",(t,e)=>S(null,null,function*(){var d;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(d=o.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=o.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield n.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:fn(o)});return{results:i.map(l=>b(h(h({},l),l.title&&r?{title:ge(l.title,r)}:{}),{text:ge(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),Ma=pg({name:"search",initialState:mo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=mo.fetchState,t.list=mo.list}},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,(e,n)=>{e.fetchState="error",k.error(n.error)}).addCase(gt.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase($,()=>mo)}}),{resetSearch:fo,setIsOpen:me,setPage:Bt}=Ma.actions,Na=Ma.reducer;var Zs="SetOutputs",Ut="ShowLoginOverlay",hn="UserLoggedIn",mg="UserLoggedOut",De="ApplySuggestion",Ys="ApplyImageSuggestion",fg="ShowCommandPalette",ho="ShowNicknameDialog",yo="ReduxAction",hg="RemovePinnedSuggestion",yg=t=>({[Zs]:e=>{var s,r;let n=(s=t.getState().conversation.current)==null?void 0:s.externalId,o=(r=e==null?void 0:e.payload)==null?void 0:r.externalConversationId;o&&o!==n||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[yo]:e=>{e.isBroadcasted||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[hg]:e=>{t.dispatch(ut(e))},[fg]:e=>{t.dispatch(me(e.isOpen)),e.page&&t.dispatch(Bt(e.page))},[ho]:e=>{t.dispatch(ka(e.showNicknameDialog))},[Ut]:e=>{t.dispatch(Zi(e))},[hn]:()=>{t.dispatch(Oe())},[mg]:()=>{t.dispatch(Oe())},[Ys]:e=>{t.dispatch(lo({suggestion:e.suggestion}))},[De]:e=>{t.dispatch(ie(b(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),Oa=yg;import{useDispatch as Sg}from"react-redux";import{createAsyncThunk as vg}from"@reduxjs/toolkit";function er(t){return vg("analytics/logEvent",(e,n)=>{var r,i,a;let o=(i=(r=n.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=n.getState())==null?void 0:a.info.agentInfo;return n.extra.deepdeskAPI.sendEvent(e.name,b(h({conversationId:o},s),{data:e.data}))})(t)}function V(){let t=Sg();return(e,n)=>S(null,null,function*(){yield t(er({name:e,data:n}))})}import{useRef as xg,useState as tr}from"react";import{useDispatch as bg}from"react-redux";function vo(t,e){let n=xg(t);n.current=t;let[o,s]=tr(void 0),[r,i]=tr(void 0),[a,d]=tr("idle"),l=bg();return{error:r,state:a,data:o,call:p=>S(null,null,function*(){d("loading"),yield l(n.current(p)).unwrap().then(g=>{s(g),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(g))}).catch(g=>{i(g),d("error"),e!=null&&e.onError&&(e==null||e.onError(g))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import Da,{useContext as Cg}from"react";import{jsx as Tg}from"react/jsx-runtime";var _a=Da.createContext(null),_e=({broadcastEvents:t,children:e})=>{let n=Da.useMemo(()=>t,[]);return Tg(_a.Provider,{value:n,children:e})},oe=()=>{let t=Cg(_a);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as _g,useContext as Fg}from"react";var nr=function(t,e){return nr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},nr(t,e)};function yn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");nr(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var ae=function(){return ae=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ae.apply(this,arguments)};function Fa(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function So(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}function xo(t,e){var n=e&&e.cache?e.cache:Ag,o=e&&e.serializer?e.serializer:Pg,s=e&&e.strategy?e.strategy:Eg;return s(t,{cache:n,serializer:o})}function wg(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Ha(t,e,n,o){var s=wg(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function Ba(t,e,n){var o=Array.prototype.slice.call(arguments,3),s=n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.apply(this,o),e.set(s,r)),r}function or(t,e,n,o,s){return n.bind(e,t,o,s)}function Eg(t,e){var n=t.length===1?Ha:Ba;return or(t,this,n,e.cache.create(),e.serializer)}function kg(t,e){return or(t,this,Ba,e.cache.create(),e.serializer)}function Rg(t,e){return or(t,this,Ha,e.cache.create(),e.serializer)}var Pg=function(){return JSON.stringify(arguments)},Ig=(function(){function t(){this.cache=Object.create(null)}return t.prototype.get=function(e){return this.cache[e]},t.prototype.set=function(e,n){this.cache[e]=n},t})(),Ag={create:function(){return new Ig}},bo={variadic:kg,monadic:Rg};var Co;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Co||(Co={}));var To=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var de;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(de||(de={}));var wo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(wo||(wo={}));function sr(t){return t.type===de.literal}function rr(t){return t.type===de.argument}function vn(t){return t.type===de.number}function Sn(t){return t.type===de.date}function xn(t){return t.type===de.time}function bn(t){return t.type===de.select}function Cn(t){return t.type===de.plural}function Ua(t){return t.type===de.pound}function Tn(t){return t.type===de.tag}function Eo(t){return!!(t&&typeof t=="object"&&t.type===wo.number)}function wn(t){return!!(t&&typeof t=="object"&&t.type===wo.dateTime)}function ir(t){t.forEach(function(e){if(delete e.location,bn(e)||Cn(e))for(var n in e.options)delete e.options[n].location,ir(e.options[n].value);else vn(e)&&Eo(e.style)||(Sn(e)||xn(e))&&wn(e.style)?delete e.style.location:Tn(e)&&ir(e.children)})}function Ka(t,e){e===void 0&&(e={}),e=ae({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new To(t,e).parse();if(n.err){var o=SyntaxError(Co[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||ir(n.val),n.val}var mt;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(mt||(mt={}));var En=(function(t){yn(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e})(Error);var ar=(function(t){yn(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),mt.INVALID_VALUE,r)||this}return e})(En);var Wa=(function(t){yn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),mt.INVALID_VALUE,s)||this}return e})(En);var za=(function(t){yn(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),mt.MISSING_VALUE,o)||this}return e})(En);var ee;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(ee||(ee={}));function Lg(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==ee.literal||n.type!==ee.literal?e.push(n):o.value+=n.value,e},[])}function Mg(t){return typeof t=="function"}function kn(t,e,n,o,s,r,i){if(t.length===1&&sr(t[0]))return[{type:ee.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(sr(c)){a.push({type:ee.literal,value:c.value});continue}if(Ua(c)){typeof r=="number"&&a.push({type:ee.literal,value:n.getNumberFormat(e).format(r)});continue}var u=c.value;if(!(s&&u in s))throw new za(u,i);var p=s[u];if(rr(c)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?ee.literal:ee.object,value:p});continue}if(Sn(c)){var g=typeof c.style=="string"?o.date[c.style]:wn(c.style)?c.style.parsedOptions:void 0;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(xn(c)){var g=typeof c.style=="string"?o.time[c.style]:wn(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(p)});continue}if(vn(c)){var g=typeof c.style=="string"?o.number[c.style]:Eo(c.style)?c.style.parsedOptions:void 0;g&&g.scale&&(p=p*(g.scale||1)),a.push({type:ee.literal,value:n.getNumberFormat(e,g).format(p)});continue}if(Tn(c)){var m=c.children,f=c.value,y=s[f];if(!Mg(y))throw new Wa(f,"function",i);var v=kn(m,e,n,o,s,r),x=y(v.map(function(A){return A.value}));Array.isArray(x)||(x=[x]),a.push.apply(a,x.map(function(A){return{type:typeof A=="string"?ee.literal:ee.object,value:A}}))}if(bn(c)){var T=c.options[p]||c.options.other;if(!T)throw new ar(c.value,p,Object.keys(c.options),i);a.push.apply(a,kn(T.value,e,n,o,s));continue}if(Cn(c)){var T=c.options["=".concat(p)];if(!T){if(!Intl.PluralRules)throw new En(`Intl.PluralRules is not available in this environment.
|
|
1
|
+
var Li=Object.defineProperty,ep=Object.defineProperties;var tp=Object.getOwnPropertyDescriptors;var qn=Object.getOwnPropertySymbols;var Mi=Object.prototype.hasOwnProperty,Ni=Object.prototype.propertyIsEnumerable;var Ai=(t,e,n)=>e in t?Li(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,h=(t,e)=>{for(var n in e||(e={}))Mi.call(e,n)&&Ai(t,n,e[n]);if(qn)for(var n of qn(e))Ni.call(e,n)&&Ai(t,n,e[n]);return t},b=(t,e)=>ep(t,tp(e));var O=(t,e)=>{var n={};for(var o in t)Mi.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&qn)for(var o of qn(t))e.indexOf(o)<0&&Ni.call(t,o)&&(n[o]=t[o]);return n};var q=(t,e)=>{for(var n in e)Li(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 Di from"classnames";import ip,{createContext as ap,useContext as Bs,useEffect as lp,useState as dp}from"react";import np,{useContext as op}from"react";import sp from"classnames";var ln=np.createContext({});function C(t,e){let r=op(ln),{debug:n}=r,s=O(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return b(h({},i),{[a]:sp(d,l,n?`${t}__${a}`:!1)})},{})}var Oi={root:"dd-4s9wq"};import{jsx as Gn,jsxs as rp}from"react/jsx-runtime";var Xn=()=>rp("svg",{className:Oi.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Gn("defs",{children:Gn("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Gn("title",{children:"Failed loading image"}),Gn("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Hs={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as At}from"react/jsx-runtime";var Jn=ap(Hs),cp=({title:t,src:e})=>{let n=Bs(Jn),[o,s]=dp(!1);return lp(()=>{s(!1)},[e]),At("div",{className:n.imageWrapper,children:e&&!o?At("img",{className:n.image,alt:t,src:e,onError:()=>s(!0)}):At(Xn,{})})},up=({className:t,lineClamp:e=!1,cropText:n=!1,children:o})=>{let s=Bs(Jn);return At("div",{className:Di(s.content,t,{[s.contentIsCropped]:n,[s.lineClamp]:e}),children:o})},pp=r=>{var i=r,{as:t="h1",cropText:e=!1,className:n,children:o}=i,s=O(i,["as","cropText","className","children"]);let a=Bs(Jn);return ip.createElement(t,h({className:Di(a.title,n,{[a.contentIsCropped]:e})},s),o)},Qn=({children:t})=>{let e=C("Card",Hs);return At("div",{className:e.root,children:At(Jn.Provider,{value:e,children:t})})};Qn.Image=cp;Qn.Content=up;Qn.Title=pp;var _=Qn;import gp from"classnames";var _i={root:"dd-llBx9"};import{jsx as hp}from"react/jsx-runtime";var mp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},fp=o=>{var s=o,{className:t,keyCode:e}=s,n=O(s,["className","keyCode"]);let r=C("KeyboardHint",_i);return hp("span",h({"data-key":mp[e],className:gp(t,r.root)},n))},Us=fp;import yp from"classnames";var Fi={root:"dd-e6HXZ"};import{jsx as xp}from"react/jsx-runtime";var vp=o=>{var s=o,{className:t,children:e}=s,n=O(s,["className","children"]);let r=C("Label",Fi);return xp("span",b(h({},n),{className:yp(t,r.root),children:e}))},Sp=vp;var Hi={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as Ks,jsxs as Cp}from"react/jsx-runtime";var bp=s=>{var r=s,{title:t,children:e,type:n}=r,o=O(r,["title","children","type"]);let i=C("Section",Hi);return Cp("section",b(h({},o),{className:i.root,"data-section-type":n,children:[t&&Ks("div",{className:i.subTitleContainer,children:Ks("span",{className:i.subtitle,children:t})}),Ks("div",{className:i.suggestions,children:e})]}))},Me=bp;import Pp from"classnames";import{useRef as Ip}from"react";import{createContext as Tp,useCallback as wp,useContext as Ep,useEffect as kp}from"react";import{jsx as Rp}from"react/jsx-runtime";var Bi=Tp(null),Ui=({scrollContainerRef:t,children:e})=>{let n=wp(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 Rp(Bi.Provider,{value:n,children:e})},Zn=t=>{let e=Ep(Bi);kp(()=>{let n=t.current;n&&e(n)},[])};var Ki={root:"dd-uoTXh"};import{jsx as Wi}from"react/jsx-runtime";var Ap=({className:t,children:e})=>{let n=C("SectionList",Ki),o=Ip(null);return Wi(Ui,{scrollContainerRef:o,children:Wi("div",{ref:o,className:Pp(n.root,t),children:e})})},dn=Ap;import cn from"classnames";import Lp,{createContext as Mp,useCallback as Np,useContext as at}from"react";var Ws={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",buttonsContainer:"dd-uRYN4",button:"dd-9UE-x",buttonPrimary:"dd-aYDCB",buttonSecondary:"dd--cpPL",buttonWithIcon:"dd-MQVt5",icon:"dd-Jr-ww",buttonDisabled:"dd-agTuH"};import{jsx as ue,jsxs as zi}from"react/jsx-runtime";var qe=Mp(Ws),Op=o=>{var s=o,{fixed:t,children:e}=s,n=O(s,["fixed","children"]);let r=at(qe);return ue("div",b(h({},n),{className:cn(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function Dp(d){var l=d,{as:t,className:e,icon:n,title:o,children:s,disabled:r,variant:i}=l,a=O(l,["as","className","icon","title","children","disabled","variant"]);let c=at(qe);return zi(t||"button",b(h({type:"button",className:cn(c.button,{[c.buttonWithIcon]:n,[c.buttonDisabled]:r,[c.buttonPrimary]:i==="primary",[c.buttonSecondary]:i==="secondary"},e),title:o,"aria-label":o},a),{children:[n&&ue("span",{className:c.icon,children:n}),s]}))}var _p=({children:t})=>{let e=at(qe);return ue("div",{className:e.buttonsContainer,children:t})},Fp=({className:t,primary:e,disabled:n,label:o,children:s})=>{let r=at(qe);return zi("div",{className:cn(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[o,ue("ul",{className:r.dropdownList,children:s})]})},Hp=({index:t,label:e,onClick:n})=>{let o=at(qe);return ue("li",{className:o.dropdownItem,children:ue("button",{className:o.dropdownItemButton,type:"button","data-index":t,onClick:n,children:e})})},Bp=({className:t,primary:e,disabled:n,onClick:o,label:s})=>{let r=at(qe);return ue("button",{type:"button",className:cn(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:n}),onClick:o!=null?o:(i=>i.stopPropagation()),disabled:n,"aria-hidden":n,children:s})},Up=({labels:t})=>{let e=at(qe);return ue("div",{className:e.labels,children:t.map(n=>ue("span",{className:e.label,children:n},n))})},Ge=Lp.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:n,children:o,as:s="div"}=d,r=O(d,["className","selected","onClick","children","as"]);let l=C("Suggestion",Ws),c=Np(p=>{p.preventDefault(),n&&n(p)},[n]);return ue(s,b(h({},r),{ref:i,className:cn(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!n}),onClick:c,children:ue(qe.Provider,{value:l,children:o})}))});Ge.Labels=Up;Ge.Actions=Op;Ge.ActionButton=Bp;Ge.DropdownButton=Fp;Ge.DropdownItem=Hp;Ge.ButtonsContainer=_p;Ge.Button=Dp;var M=Ge;import Kp from"classnames";var Vi={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as zp}from"react/jsx-runtime";var Wp=({withDivider:t,children:e})=>{let n=C("SuggestionList",Vi);return zp("div",{"data-testid":"suggestions-overlay-list",className:Kp(n.root,{[n.isWithDivider]:t}),children:e})},Y=Wp;import Vp from"classnames";var ji={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as zs}from"react/jsx-runtime";var jp=({className:t,isCollapsed:e,title:n,onClick:o})=>{let s=C("ToggleButton",ji);return zs("button",{type:"button",className:Vp(s.root,t,{[s.isCollapsed]:e}),onClick:o,title:n,children:zs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:zs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},Lt=jp;var $i=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Yn=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var qi=/x-deepdesk-(([a-z0-9\-_])+-version)/,eo=["cues","custom-data","custom-data-banner","knowledge-assist"],Gi=Intl.DateTimeFormat().resolvedOptions().timeZone,Ne=(y=>(y.SEARCH="search",y.TEMPLATE="template",y.ELASTIC_SEARCH="search-autocomplete",y.GPT="gpt",y.TRIE="trie",y.TRIE_WITH_TYPOS="trie-with-typos",y.SEMANTIC="semantic",y.TEXT_RECOMMENDATION="text_recommendation",y.URL_RECOMMENDATION="url_recommendation",y.LINK_RECOMMENDATION="link_recommendation",y.PERSONAL_COLLECTION="personal-collection",y.PERSONAL_COLLECTION_SEARCH="personal-collection-search",y.SEARCH_OVERLAY="search-overlay",y.SEARCH_PREVIEW="search-preview",y.SEARCH_URL="search-url",y.STYLE="style",y))(Ne||{}),Mt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Mt||{});import{createContext as Ym,Fragment as ef,useContext as Er,useEffect as tf,useRef as Pl,useState as xt}from"react";import{useDispatch as nf,useSelector as of}from"react-redux";import{createAsyncThunk as pn,createSlice as $p}from"@reduxjs/toolkit";var to=(n=>(n.NL_NL="nl-NL",n.EN_US="en-US",n))(to||{});var qp={isLoggedIn:null,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1,loginError:null},Q=t=>t.auth.isLoggedIn;var Xi=t=>t.auth.verifyFetchState,Ji=t=>t.auth.showLoginOverlay,Qi=t=>t.auth.loginError,Oe=pn("auth/validate",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Zi=pn("auth/requestLogin",(n,o)=>S(null,[n,o],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),Vs=pn("auth/loginWithPassword",(o,s)=>S(null,[o,s],function*({username:t,password:e},n){let{deepdeskAPI:r}=n.extra;return r.loginWithPassword(t,e)})),no=pn("auth/logout",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;yield n.logout()})),un=pn("auth/verifyLoginToken",(n,o)=>S(null,[n,o],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Yi=$p({name:"auth",initialState:qp,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload},setLoginError(t,e){t.loginError=e.payload},clearLoginError(t){t.loginError=null}},extraReducers:t=>{t.addCase(Oe.pending,e=>{e.loginFetchState="loading"}),t.addCase(Oe.fulfilled,(e,{payload:n})=>{e.isLoggedIn=n,e.loginFetchState="done"}),t.addCase(Oe.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Vs.pending,e=>{e.loginFetchState="loading",e.loginError=null}),t.addCase(Vs.fulfilled,e=>{e.isLoggedIn=!0,e.loginFetchState="done",e.loginError=null,e.showLoginOverlay=!1}),t.addCase(Vs.rejected,(e,n)=>{e.loginFetchState="error",e.isLoggedIn=!1,e.loginError=n.error.message==="Bad Request"?"Invalid credentials":"Login failed"}),t.addCase(no.fulfilled,e=>{e.isLoggedIn=!1,e.loginFetchState="idle",e.loginError=null}),t.addCase(no.rejected,e=>{e.isLoggedIn=!1,e.loginFetchState="error"}),t.addCase(un.pending,e=>{e.verifyFetchState="loading"}),t.addCase(un.rejected,e=>{e.verifyFetchState="error"}),t.addCase(un.fulfilled,(e,n)=>{n.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Nt,setShowLoginOverlay:ea,setLoginError:js,clearLoginError:oo}=Yi.actions,ta=Yi.reducer;import{createAction as og,createSelector as aa,createSlice as sg}from"@reduxjs/toolkit";import{diffChars as rg}from"diff";function na(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Xe(t,e,n=10){let o=typeof t,s=typeof e;if(n===0)throw new Error("Max depth deepEqual, possible circular references?");return o!==s?!1:t==null||o==="string"||o==="number"||o==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Xe(r,e[i],n-1)):na(t)&&na(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Xe(t[i],e[i],n-1)):!1}function Gp(t){return Math.max(...t.map(e=>e.length))}function Xp(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 oa(t,e){let o=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Gp(o);s++){let r=Xp(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 Jp=2;function sa(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let n=oa(t,Jp);return n&&n.text!==e?n:t[0]}import{createAction as Zp,createAsyncThunk as Ot,createSlice as Yp}from"@reduxjs/toolkit";var Qp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},k=Qp;var ra={current:null,isSupported:null},$=Zp("resetConversation"),so=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.externalId)||null},Ce=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},Dt=t=>t.conversation.isSupported,$s=Ot("conversation/isSupported",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.isConversationSupported(t.externalId,t.options)}),ro=Ot("conversation/create",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.createConversation(t)}),io=Ot("conversation/byExternalId",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.getConversationByExternalId(t.externalId,t.options)}),ao=Ot("conversation/update",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update");return n.updateConversation(o,t)}),qs=Ot("conversation/upsert",(t,e)=>{let{deepdeskAPI:n}=e.extra;return n.upsertConversation(t)}),Gs=Ot("conversation/postMessages",(t,e)=>{let{deepdeskAPI:n}=e.extra,o=Ce(e.getState());if(!o)throw new Error("No current conversation to update messages");return n.postMessages(o,t.map(s=>h({},s)))}),eg=[ro.rejected,io.rejected,ao.rejected,Gs.rejected].map(t=>t==null?void 0:t.toString());function tg(t){return eg.includes(t.type)}var ng=Yp({name:"conversation",initialState:ra,reducers:{},extraReducers:t=>{t.addCase($s.fulfilled,(e,n)=>{e.isSupported=n.payload}).addCase(ro.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(io.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(qs.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase(ao.fulfilled,(e,n)=>{var o;e.current=n.payload,e.isSupported=!!((o=n.payload)!=null&&o.profileCode)}).addCase($,()=>ra).addMatcher(tg,(e,n)=>{var o;throw k.info("Conversation action rejected",n.type,((o=n.error)==null?void 0:o.message)||"No message"),new Error(n.error.message)})}}),ia=ng.reducer;var lt={text:"",html:null,suggestionTextStart:0,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion:null,textSuggestions:[],pinnedSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Xs(t){let{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}=t;return{key:e,shiftKey:n,ctrlKey:o,metaKey:s,altKey:r}}var lo=og("input/applyImageSuggestion"),la=sg({name:"input",initialState:lt,reducers:{setInput(t,e){var i,a;let{beforeInputChange:n}=t,{text:o,html:s,suggestionTextStart:r}=e.payload;if(t.text=o,t.html=s!=null?s:null,t.suggestionTextStart=o===""?0:Math.max(0,r!=null?r:0),o==="")t.metrics=lt.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(n!==null&&t.text!==n.text){let{key:d,shiftKey:l,ctrlKey:c,metaKey:p,altKey:u}=n.keyDown;switch(d){case"Enter":l&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,m=rg(n.text,g);n.text.length-g.length>1&&t.metrics.deletions.push(...m.filter(f=>f.removed).map(f=>f.value)),t.metrics.numCharsDeleted+=n.text.length-g.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(c||p)break;default:if(!c&&!p&&!u){t.metrics.numCharsTyped+=1;let g=((i=n.selection)==null?void 0:i.start)!==void 0&&((a=n.selection)==null?void 0:a.end)!==void 0?n.text.substring(n.selection.start,n.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},sendMessage(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(n=>!t.metrics.textSuggestions.some(o=>o.text===n.text&&o.source===n.source))},setSelection(t,e){e.payload!==null&&(Xe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let n=e.payload,{text:o,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,assistantCode:c,text:p},eventMetrics:{inputType:u},replace:g}=n,m=s==="search"||s==="personal-collection-search",f=o.slice(t.text.substring(0,t.selection.start).length);(m||g==="selection")&&(f=o),n.suggestion.source==="search-overlay"&&(f=p),t.metrics.textSuggestions.push({text:f,source:s,assistantCode:c,abVariant:r,abTestName:i,inputType:u,sourceText:d,trainingJobs:a||[],searchTerm:m?t.text:l}),t.textSuggestions=[],t.selectedSuggestionIndex=-1},offeredTextSuggestion(t,e){let{text:n,suggestion:{source:o}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===n)||t.metrics.offeredTextSuggestions.push({text:n,source:o})},registerKeyDown(t,e){let{key:n}=e.payload;["Control","Meta","Shift","Alt"].includes(n)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:n}=t,o=e.payload;t.metrics=b(h({},t.metrics),{numCharsCut:n.numCharsCut+o.length,cuts:[...n.cuts,o]})},registerPaste(t,e){let{metrics:n}=t,{text:o,selectionText:s}=e.payload,r=n.numCharsDeleted+(s!=null&&s.length?s.length:0),i=s!=null&&s.length?[...n.deletions,s]:n.deletions;t.metrics=b(h({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:n.numCharsPasted+o.length,numPaste:n.numPaste+1,pastes:[...n.pastes,o]})},selectNextTextSuggestion(t){let e=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},selectPreviousTextSuggestion(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},selectTextSuggestionByIndex(t,e){t.selectedSuggestionIndex=e.payload},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.mixedSuggestion=null;return}let n=dt({input:t}),o=sa(e.payload,n);t.mixedSuggestion=o!=null&&o.text.includes(n)?o:null},setPinnedSuggestions(t,e){t.pinnedSuggestions=e.payload},removePinnedSuggestions(t,e){t.pinnedSuggestions=t.pinnedSuggestions.filter(o=>o.source!==e.payload.source||e.payload.assistantCode&&o.assistantCode!==e.payload.assistantCode?!0:e.payload.text?o.text!==e.payload.text:!1);let n=t.textSuggestions.length+t.pinnedSuggestions.length;t.selectedSuggestionIndex>n-1&&(t.selectedSuggestionIndex=-1)},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=lt.metrics}},extraReducers:t=>{t.addCase($,e=>{e.mixedSuggestion=lt.mixedSuggestion,e.textSuggestions=lt.textSuggestions,e.selectedSuggestionIndex=lt.selectedSuggestionIndex,e.metrics=lt.metrics})}}),dt=t=>{let{text:e,selection:n,suggestionTextStart:o}=t.input;return e.slice(o,n.end)},ig=t=>t.input.mixedSuggestion,ag=t=>t.input.pinnedSuggestions,lg=t=>t.input.textSuggestions,gn=t=>t.input.selectedSuggestionIndex,ct=aa([lg,ag],(t,e)=>[...t,...e]),_t=aa([ct,ig,gn],(t,e,n)=>n>-1?t[n]:e),da=t=>t.input.selection,{commitSuggestion:ie,offeredTextSuggestion:ca,registerCut:ua,registerKeyDown:pa,registerKeyUp:ga,registerPaste:ma,selectNextTextSuggestion:fa,selectPreviousTextSuggestion:ha,selectTextSuggestionByIndex:co,setInput:uo,setMetrics:ya,setPinnedSuggestions:Ft,removePinnedSuggestions:ut,setSelection:po,setTextSuggestions:Je,resetMetrics:va,sendMessage:pt}=la.actions,Sa=la.reducer;import{createAsyncThunk as pg,createSelector as gg,createSlice as mg}from"@reduxjs/toolkit";import{createAsyncThunk as go,createSlice as dg}from"@reduxjs/toolkit";function xa(t){try{return Intl.DateTimeFormat(void 0,{timeZone:t}),!0}catch(e){return!1}}var cg={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle",showNicknameDialog:!1},Ht=t=>{var e;return(e=t.info.agentInfo)!=null?e:null},ba=t=>{var e;return(e=t.info.visitorInfo)!=null?e:null},Ca=t=>{var e;return(e=t.info.customData)!=null?e:null},fn=({info:{visitorInfo:t,agentInfo:e}})=>{var n,o;return{timezone:t!=null&&t.visitorTimeZone&&xa(t.visitorTimeZone)?t.visitorTimeZone:Gi,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"]],Ta=go("info/setAgentNickname",(n,o)=>S(null,[n,o],function*({agentNickname:t},e){var i;let{deepdeskAPI:s}=e.extra,r=yield s.patchMe({nickname:t});return{agentNickname:(i=r==null?void 0:r.nickname)!=null?i:t}})),mn=go("info/setAgentInfo",(t,e)=>S(null,null,function*(){var r,i,a;let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=[];if(t.agentId&&t.skipSync!==!0&&s.push(n.postIdentity({externalId:t.agentId})),t.skipSync!==!0){let d=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}})),Js=go("info/setAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra,o=yield n.getMe(),s=h(h({},typeof o.uiConfig=="object"?o.uiConfig:{}),t);return yield n.patchMe({uiConfig:s}),s})),Qs=go("info/getAgentSettings",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return(yield n.getMe()).uiConfig})),wa=dg({name:"info",initialState:cg,reducers:{setVisitorInfo(t,e){t.visitorInfo=h(h({},t.visitorInfo),e.payload)},setCustomData(t,e){t.customData=e.payload},setPlatformVariables(t,e){t.platformVariables=e.payload},setShowNicknameDialog(t,e){t.showNicknameDialog=e.payload}},extraReducers:t=>{t.addCase(mn.pending,(e,n)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),n.meta.arg)}).addCase(mn.rejected,e=>{e.fetchState="error"}).addCase(mn.fulfilled,(e,n)=>{e.fetchState="done",e.agentInfo=n.payload}).addCase(Js.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase(Qs.fulfilled,(e,n)=>{e.agentSettings=n.payload}).addCase($,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ea,setCustomData:ka,setPlatformVariables:Ra,setShowNicknameDialog:Pa}=wa.actions,Ia=wa.reducer;function ge(t,e){return e?t==null?(k.warn("replaceVars called with non-string text; upstream contract violation",{keys:Object.keys(e)}),t):Object.entries(e).reduce((n,[o,s])=>n.replaceAll(o,s),t):t}var mo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Aa=t=>t.search.isOpen,La=t=>t.search.page,Zs=t=>t.search.list,Ma=t=>t.search.aggregates,fg=gg([Zs,(t,e)=>e],(t,e)=>t.filter(n=>n.type===e)),Na=t=>e=>fg(e,t),gt=pg("search/getAll",(t,e)=>S(null,null,function*(){var d;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(d=o.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=o.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield n.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:fn(o)});return{results:i.map(l=>b(h(h({},l),l.title&&r?{title:ge(l.title,r)}:{}),{text:ge(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),Oa=mg({name:"search",initialState:mo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=mo.fetchState,t.list=mo.list}},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,(e,n)=>{e.fetchState="error",k.error(n.error)}).addCase(gt.fulfilled,(e,n)=>{e.fetchState="done",e.list=n.payload.results,e.aggregates=n.payload.aggregates||{}}).addCase($,()=>mo)}}),{resetSearch:fo,setIsOpen:me,setPage:Bt}=Oa.actions,Da=Oa.reducer;var Ys="SetOutputs",Ut="ShowLoginOverlay",hn="UserLoggedIn",hg="UserLoggedOut",De="ApplySuggestion",er="ApplyImageSuggestion",yg="ShowCommandPalette",ho="ShowNicknameDialog",yo="ReduxAction",vg="RemovePinnedSuggestion",Sg=t=>({[Ys]:e=>{var s,r;let n=(s=t.getState().conversation.current)==null?void 0:s.externalId,o=(r=e==null?void 0:e.payload)==null?void 0:r.externalConversationId;o&&o!==n||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[yo]:e=>{e.isBroadcasted||t.dispatch(b(h({},e),{isBroadcasted:!0}))},[vg]:e=>{t.dispatch(ut(e))},[yg]:e=>{t.dispatch(me(e.isOpen)),e.page&&t.dispatch(Bt(e.page))},[ho]:e=>{t.dispatch(Pa(e.showNicknameDialog))},[Ut]:e=>{t.dispatch(ea(e))},[hn]:()=>{t.dispatch(Oe())},[hg]:()=>{t.dispatch(Oe())},[er]:e=>{t.dispatch(lo({suggestion:e.suggestion}))},[De]:e=>{t.dispatch(ie(b(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),_a=Sg;import{useDispatch as bg}from"react-redux";import{createAsyncThunk as xg}from"@reduxjs/toolkit";function tr(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 V(){let t=bg();return(e,n)=>S(null,null,function*(){yield t(tr({name:e,data:n}))})}import{useRef as Cg,useState as nr}from"react";import{useDispatch as Tg}from"react-redux";function vo(t,e){let n=Cg(t);n.current=t;let[o,s]=nr(void 0),[r,i]=nr(void 0),[a,d]=nr("idle"),l=Tg();return{error:r,state:a,data:o,call:u=>S(null,null,function*(){d("loading"),yield l(n.current(u)).unwrap().then(g=>{s(g),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(g))}).catch(g=>{i(g),d("error"),e!=null&&e.onError&&(e==null||e.onError(g))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}import Fa,{useContext as wg}from"react";import{jsx as Eg}from"react/jsx-runtime";var Ha=Fa.createContext(null),_e=({broadcastEvents:t,children:e})=>{let n=Fa.useMemo(()=>t,[]);return Eg(Ha.Provider,{value:n,children:e})},oe=()=>{let t=wg(Ha);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createContext as Hg,useContext as Bg}from"react";var or=function(t,e){return or=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])},or(t,e)};function yn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");or(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var ae=function(){return ae=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++){n=arguments[o];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ae.apply(this,arguments)};function Ba(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(t);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(t,o[s])&&(n[o[s]]=t[o[s]]);return n}function So(t,e,n){if(n||arguments.length===2)for(var o=0,s=e.length,r;o<s;o++)(r||!(o in e))&&(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))}function xo(t,e){var n=e&&e.cache?e.cache:Mg,o=e&&e.serializer?e.serializer:Ag,s=e&&e.strategy?e.strategy:Rg;return s(t,{cache:n,serializer:o})}function kg(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Ua(t,e,n,o){var s=kg(o)?o:n(o),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,o),e.set(s,r)),r}function Ka(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 sr(t,e,n,o,s){return n.bind(e,t,o,s)}function Rg(t,e){var n=t.length===1?Ua:Ka;return sr(t,this,n,e.cache.create(),e.serializer)}function Pg(t,e){return sr(t,this,Ka,e.cache.create(),e.serializer)}function Ig(t,e){return sr(t,this,Ua,e.cache.create(),e.serializer)}var Ag=function(){return JSON.stringify(arguments)},Lg=(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})(),Mg={create:function(){return new Lg}},bo={variadic:Pg,monadic:Ig};var Co;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Co||(Co={}));var To=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var de;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(de||(de={}));var wo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(wo||(wo={}));function rr(t){return t.type===de.literal}function ir(t){return t.type===de.argument}function vn(t){return t.type===de.number}function Sn(t){return t.type===de.date}function xn(t){return t.type===de.time}function bn(t){return t.type===de.select}function Cn(t){return t.type===de.plural}function Wa(t){return t.type===de.pound}function Tn(t){return t.type===de.tag}function Eo(t){return!!(t&&typeof t=="object"&&t.type===wo.number)}function wn(t){return!!(t&&typeof t=="object"&&t.type===wo.dateTime)}function ar(t){t.forEach(function(e){if(delete e.location,bn(e)||Cn(e))for(var n in e.options)delete e.options[n].location,ar(e.options[n].value);else vn(e)&&Eo(e.style)||(Sn(e)||xn(e))&&wn(e.style)?delete e.style.location:Tn(e)&&ar(e.children)})}function za(t,e){e===void 0&&(e={}),e=ae({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var n=new To(t,e).parse();if(n.err){var o=SyntaxError(Co[n.err.kind]);throw o.location=n.err.location,o.originalMessage=n.err.message,o}return e!=null&&e.captureLocation||ar(n.val),n.val}var mt;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(mt||(mt={}));var En=(function(t){yn(e,t);function e(n,o,s){var r=t.call(this,n)||this;return r.code=o,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e})(Error);var lr=(function(t){yn(e,t);function e(n,o,s,r){return t.call(this,'Invalid values for "'.concat(n,'": "').concat(o,'". Options are "').concat(Object.keys(s).join('", "'),'"'),mt.INVALID_VALUE,r)||this}return e})(En);var Va=(function(t){yn(e,t);function e(n,o,s){return t.call(this,'Value for "'.concat(n,'" must be of type ').concat(o),mt.INVALID_VALUE,s)||this}return e})(En);var ja=(function(t){yn(e,t);function e(n,o){return t.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(o,'"'),mt.MISSING_VALUE,o)||this}return e})(En);var ee;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(ee||(ee={}));function Ng(t){return t.length<2?t:t.reduce(function(e,n){var o=e[e.length-1];return!o||o.type!==ee.literal||n.type!==ee.literal?e.push(n):o.value+=n.value,e},[])}function Og(t){return typeof t=="function"}function kn(t,e,n,o,s,r,i){if(t.length===1&&rr(t[0]))return[{type:ee.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(rr(c)){a.push({type:ee.literal,value:c.value});continue}if(Wa(c)){typeof r=="number"&&a.push({type:ee.literal,value:n.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new ja(p,i);var u=s[p];if(ir(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?ee.literal:ee.object,value:u});continue}if(Sn(c)){var g=typeof c.style=="string"?o.date[c.style]:wn(c.style)?c.style.parsedOptions:void 0;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(u)});continue}if(xn(c)){var g=typeof c.style=="string"?o.time[c.style]:wn(c.style)?c.style.parsedOptions:o.time.medium;a.push({type:ee.literal,value:n.getDateTimeFormat(e,g).format(u)});continue}if(vn(c)){var g=typeof c.style=="string"?o.number[c.style]:Eo(c.style)?c.style.parsedOptions:void 0;g&&g.scale&&(u=u*(g.scale||1)),a.push({type:ee.literal,value:n.getNumberFormat(e,g).format(u)});continue}if(Tn(c)){var m=c.children,f=c.value,y=s[f];if(!Og(y))throw new Va(f,"function",i);var v=kn(m,e,n,o,s,r),x=y(v.map(function(A){return A.value}));Array.isArray(x)||(x=[x]),a.push.apply(a,x.map(function(A){return{type:typeof A=="string"?ee.literal:ee.object,value:A}}))}if(bn(c)){var T=c.options[u]||c.options.other;if(!T)throw new lr(c.value,u,Object.keys(c.options),i);a.push.apply(a,kn(T.value,e,n,o,s));continue}if(Cn(c)){var T=c.options["=".concat(u)];if(!T){if(!Intl.PluralRules)throw new En(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,mt.MISSING_INTL_API,i);var w=n.getPluralRules(e,{type:c.pluralType}).select(
|
|
4
|
-
`):""}var Ja=Kg({name:"assistants",initialState:Va,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(n=>n.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]},receiveChunk(t,e){let{code:n,name:o,payload:s,evaluationId:r}=e.payload,i=t.cues.findIndex(a=>a.code===n);i!==-1?t.cues[i].response+=s.text:t.cues.push({code:n,name:o,evaluationId:r,response:s.text})},userNotification(t,e){let n=t.cues.find(c=>c.code===e.payload.code),o=t.cues.filter(c=>c.code!==e.payload.code),{code:s,name:r,evaluationId:i,payload:a}=e.payload,{callToAction:d}=a,l=a.sources!==void 0?a.sources.filter(c=>!!c.url):n==null?void 0:n.sources;t.cues=[...o,b(h({code:s,name:r,evaluationId:i,response:a.message,editable:a.editableMessage},l!=null&&l.length?{sources:l}:{}),{callToAction:d&&{label:d.displayName,event:d.onClickEvent,value:d.eventPayload}})]}},extraReducers:t=>{t.addCase(se.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&k.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(se.rejected,(e,n)=>{var s;k.warn((s=n.error)==null?void 0:s.message);let o=e.pending.indexOf(n.meta.arg.assistantCode);o!==-1&&e.pending.splice(o,1)}).addCase(se.fulfilled,(e,n)=>{let o=e.pending.indexOf(n.meta.arg.assistantCode);if(o!==-1&&e.pending.splice(o,1),n.meta.arg.skipState)return;let{evaluationId:s,output:r,externalConversationId:i,currentExternalIdAtRequest:a}=n.payload;if(i&&a&&i!==a)return;let d=r.map(u=>u.code),l=e.cues.filter(u=>!d.includes(u.code)),c=r.map(u=>h(b(h({},u),{evaluationId:s}),i?{externalConversationId:i}:{}));e.cues=[...l,...c]}).addCase(Rn.fulfilled,(e,n)=>{let r=n.payload,{threadId:o}=r,s=O(r,["threadId"]);e.threads[o]=[...e.threads[o]||[],s]}).addCase($,()=>Va)}}),{removeCueByCode:Po,resetCues:AT,removeThreadById:Qa,receiveChunk:Za,userNotification:Ya}=Ja.actions,el=Ja.reducer;import{createSlice as zg}from"@reduxjs/toolkit";import{useSelector as Vg}from"react-redux";var jg={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,signInViaPopup:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showStyleSuggestionList:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,addToPersonalCollection:!1,inlineSuggestions:!1,autoSelectSuggestion:!1,suggestionsPlacement:"above",floatingMenu:!1,detectSubmit:!1,automaticHandlingTime:!1,enableSuggestionFeedback:!1,enableFeedbackForm:!0,adminUrl:void 0,productName:"Deepdesk",hasKeyboardInput:!0},tl=zg({name:"settings",initialState:jg,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}}}),{set:Io}=tl.actions,ft=t=>e=>e.settings[t],E=t=>Vg(ft(t)),nl=tl.reducer;function Te(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import mr from"classnames";import{useState as Gg}from"react";import{jsx as ol}from"react/jsx-runtime";var pr=t=>ol("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ol("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})}));import{jsx as sl}from"react/jsx-runtime";var rl=t=>sl("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:sl("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Qe(t,e){var s;let n=t.cloneNode(!0);n.style.top=`${t.offsetTop}px`,n.style.left=`${t.offsetLeft}px`,n.style.position="absolute",e.split(" ").forEach(r=>{n.classList.add(r)}),n.addEventListener("animationend",()=>n.remove()),(s=t.parentElement)==null||s.appendChild(n)}var gr={};q(gr,{enUS:()=>$g,nlNL:()=>qg});var $g={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},qg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var il={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as al}from"react-redux";var Ze=t=>e=>{let{passwordlessToken:{token:n},settings:{isEmbedded:o,adminUrl:s}}=e,r=s||window.location.origin;return o&&!n?null:o&&n?`${r}/apis/admin/session/passwordless/login/?token=${n}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as Kt,jsxs as Jg}from"react/jsx-runtime";var Xg=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o,feedbackText:s})=>{let r=C("FeedbackThumbs",il),i=E("enableFeedbackForm"),a=al(Ce),d=al(Ze(`/admin/feedback?conversationId=${a}&evaluationId=${n}&type=${o}&text=${s}&assistantCode=${t}&assistantOutput=${e}`)),l=P(gr),c=V(),[u,p]=Gg(null),g=y=>{c("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:y})},m=y=>{y.stopPropagation(),Qe(y.target,r.fadeup),p("up"),g("up")},f=y=>{y.stopPropagation(),Qe(y.target,r.fadedown),p("down"),g("down")};return Jg("div",{className:r.thumbs,children:[Kt(M.Button,{title:l("thumbsUp"),onClick:m,icon:Kt(rl,{}),className:mr(r.thumbsUp,u==="up"&&r.selected),disabled:!!u}),i&&d?Kt(M.Button,{as:"a",title:l("thumbsDown"),href:d,target:"_blank",rel:"noreferrer",onClick:f,icon:Kt(pr,{}),className:mr(r.thumbsDown,u==="down"&&r.selected),disabled:!!u}):Kt(M.Button,{title:l("thumbsDown"),onClick:f,icon:Kt(pr,{}),className:mr(r.thumbsDown,u==="down"&&r.selected),disabled:!!u})]})},Ao=Xg;import Nm from"dompurify";import{marked as Om}from"marked";import{Fragment as bl,useMemo as Dm,useRef as _m,useState as Fm}from"react";import{useState as hm}from"react";import{FloatingFocusManager as Qg,FloatingPortal as Zg,autoUpdate as Yg,flip as em,offset as tm,safePolygon as nm,shift as om,useClick as sm,useDismiss as rm,useFloating as im,useHover as am,useInteractions as lm,useMergeRefs as dl,useRole as dm}from"@floating-ui/react";import*as we from"react";var Lo={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as Ye,jsxs as ll}from"react/jsx-runtime";function cm({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=we.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=im({placement:e,open:d,onOpenChange:l,whileElementsMounted:Yg,middleware:[tm(5),em({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),om({padding:10})]}),u=c.context,p=sm(u,{enabled:s==null}),g=rm(u),m=dm(u),f=am(u,{enabled:o!=null?o:!1,handleClose:nm()}),y=lm([p,g,m,f]);return we.useMemo(()=>b(h(h({open:d,setOpen:l},y),c),{modal:n}),[d,l,y,c,n])}var cl=we.createContext(null),fr=()=>{let t=we.useContext(cl);if(t==null)throw new Error("Popover components must be wrapped in <Popover />");return t},ht=o=>{var s=o,{children:t,modal:e=!1}=s,n=O(s,["children","modal"]);let r=cm(h({modal:e},n));return Ye(cl.Provider,{value:r,children:t})};function um(o){var s=o,{as:t,children:e}=s,n=O(s,["as","children"]);let r=fr(),i=t||"button",a=e.ref,d=dl([r.refs.setReference,a]);return Ye(i,b(h(h({ref:d},i==="button"||t===void 0||t==="button"?{type:"button"}:{}),r.getReferenceProps(n)),{children:e}))}var pm=we.forwardRef(function(s,o){var r=s,{style:e}=r,n=O(r,["style"]);let l=fr(),{context:i}=l,a=O(l,["context"]),d=dl([a.refs.setFloating,o]);return i.open?Ye(Zg,{children:Ye(Qg,{context:i,modal:a.modal,disabled:n.disableFocusManager,children:Ye("div",b(h({ref:d,style:h(b(h({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function gm(s){var r=s,{as:t,children:e,onClick:n}=r,o=O(r,["as","children","onClick"]);let{setOpen:i}=fr();return Ye(t||"button",b(h({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function ul({trigger:t,children:e,placement:n="top"}){return ll(ht,{tooltip:!0,placement:n,children:[ll(ht.Content,{className:Lo.tooltip,children:[e,Ye("div",{className:Lo.arrow})]}),Ye(ht.Trigger,{className:Lo.tooltipTrigger,children:t})]})}ht.Trigger=um;ht.Content=pm;ht.Button=gm;var W=ht;var hr={};q(hr,{enUS:()=>mm,nlNL:()=>fm});var mm={showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},fm={showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var pl={sources:"dd-cNsGl",source:"dd-LoJ6U",tooltip:"dd-7ZGu9",linkContent:"dd-O2IoN",showMoreSources:"dd-ev8Yr"};import{jsx as Pn,jsxs as gl}from"react/jsx-runtime";var ym=3,vm=({sources:t,onClick:e,sourceTestId:n="assistant-source"})=>{let o=P(hr),s=C("AssistantSources",pl),[r,i]=hm(!1),a=t.filter(l=>!!l.url),d=r?a:a.slice(0,ym);return d.length===0?null:gl("ul",{className:s.sources,children:[d.map(l=>Pn("li",{className:s.source,"data-testid":n,children:gl(W,{tooltip:!0,placement:"top-start",children:[Pn(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:l.url,onClick:c=>{c.stopPropagation(),e==null||e(l)},children:Pn("span",{className:s.linkContent,children:l.name})}),l.url&&Pn(W.Content,{className:s.tooltip,children:decodeURIComponent(l.url)})]})},l.name)),d.length<t.length&&Pn("button",{type:"button",className:s.showMoreSources,onClick:()=>i(!0),children:o("showMore",{amount:t.length-d.length})})]})},ml=vm;import Sl from"classnames";import{createRef as Im,useCallback as vr,useMemo as Am,useRef as Lm,useState as Mm}from"react";import{useState as Sm,useLayoutEffect as xm}from"react";var bm=["bottom","height","left","right","top","width"],Cm=(t={},e={})=>bm.some(n=>t[n]!==e[n]),Fe=new Map,fl,hl=()=>{let t=[],e=[];Fe.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();Cm(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Fe.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),fl=window.requestAnimationFrame(hl)};function Tm(t,e){return{observe(){let n=Fe.size===0;if(Fe.has(t)){let o=Fe.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Fe.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&hl()},unobserve(){let n=Fe.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Fe.delete(t),Fe.size||cancelAnimationFrame(fl)}}}}function yr(t){let[e,n]=Sm(null);return xm(()=>{if(!t.current)return;let o=Tm(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Em,useLayoutEffect as km,useState as Rm}from"react";import{createPortal as Pm}from"react-dom";import{useEffect as wm}from"react";function yt(t){wm(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function vt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var yl={root:"dd-r-dgo"};var vl=({children:t,parentNode:e})=>{let[n,o]=Rm(null),s=Em(ln);return km(()=>{let r=document.createElement("div");return vt(r),r.classList.add(yl.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),o(r),()=>{r.isConnected&&r.remove()}},[]),n?Pm(t,n):null};var Ee={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as Sr}from"react/jsx-runtime";var Mo=(t=!1)=>{let[e,n]=Mm(t),o=vr(()=>n(!0),[]),s=vr(()=>n(!1),[]),r=vr(()=>n(a=>!a),[]),i=Lm(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function xr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Wt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=Im(),position:o="above",align:s="center",children:r,toStyle:i=xr,parentNode:a}=c,d=O(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let u=yr(e),p=yr(n),g=Am(()=>i(u,p,0),[u,p]);return Sr(vl,{parentNode:a,children:Sr("div",b(h({className:Sl(Ee.ref,{[Ee.positionAbove]:o==="above",[Ee.positionBelow]:o==="below",[Ee.positionLeft]:o==="left",[Ee.positionRight]:o==="right",[Ee.alignStart]:s==="start",[Ee.alignCenter]:s==="center",[Ee.alignEnd]:s==="end"}),style:g},d),{role:"dialog",children:Sr("div",{className:Sl(t,Ee.root),children:r})}))})};var xl={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as zt,jsxs as No}from"react/jsx-runtime";function Hm(t){return`<button type="button" data-copy-icon class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function br(t){var n,o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(s=>s.remove()),(o=(n=e.textContent)==null?void 0:n.trim())!=null?o:""}function Bm(t){return t.replace(/\r\n/g,`
|
|
5
|
-
`)}var Um=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s,sources:r,onSourceClick:i})=>{let a=C("Markdown",xl),d=_m(null),[l,c]=Fm(null),u=Dm(()=>{let v=Om.parse(Bm(t));return Nm.sanitize(v.toString()).replaceAll("</code>",`${Hm(a.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),p=v=>{var w;let x=v.target,T=!!((w=d.current)!=null&&w.querySelector("code"));if(["A","BUTTON"].includes(x.tagName)){c(null);return}l||T&&x.tagName!=="CODE"||!T&&x!==d.current||(x.addEventListener("mouseleave",()=>c(null),{once:!0}),c(x))},g=()=>{if(!l)return;c(null);let v=l.querySelector("button");v&&(Qe(v,a.fadeup),o==null||o(br(l)))},m=v=>{let x=v.target,T=x instanceof HTMLElement?x:null;if(x instanceof Element?x.closest("a"):null){v.stopPropagation();return}T&&"copyIcon"in T.dataset&&(Qe(T,a.fadeup),o==null||o(br(T.parentElement)))},f=()=>{!l||!s||(c(null),s(br(l)))},y=v=>{if(v===null)return;let x=v.getBoundingClientRect();x.left<0?v.style.transform=`translateX(${-x.left+2}px)`:x.right>window.innerWidth&&(v.style.transform=`translateX(${window.innerWidth-x.right-2}px)`)};return No(bl,{children:[l&&(o||s)&&No(Wt,{triggerRef:{current:l},className:a.popover,parentNode:l,children:[No("div",{className:a.options,ref:y,children:[o&&(l==null?void 0:l.tagName)==="CODE"&&zt("button",{type:"button",className:a.option,onClick:g,children:n}),s&&No(bl,{children:[zt("div",{className:a.divider}),zt("button",{type:"button",className:a.option,onClick:f,children:e})]})]}),zt("div",{className:a.arrow})]}),zt("div",{ref:d,"data-testid":"widget-markdown-content",className:a.root,dangerouslySetInnerHTML:{__html:u},onMouseOver:p,onClick:m}),r&&r.length>0&&zt(ml,{sources:r,onClick:i})]})},St=Um;import{useRef as zm}from"react";var Cl={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as Wm}from"react/jsx-runtime";var Km=({width:t})=>{let e=C("LoadingProgressBar",Cl);return Wm("div",{className:e.loadingBar,style:{width:t}})},Oo=Km;import{jsx as Vt,jsxs as Vm}from"react/jsx-runtime";var Do=({title:t})=>{let e=zm(null);return Zn(e),Vt(M,{ref:e,children:Vt(_,{children:Vm(_.Content,{children:[Vt(_.Title,{children:t}),Vt(Oo,{width:"60%"}),Vt(Oo,{width:"90%"}),Vt(Oo,{width:"50%"})]})})})};var jt={};q(jt,{enUS:()=>jm,nlNL:()=>$m});var jm={inputPlaceholder:[{type:0,value:"What is your question?"}],useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Submit"}],resetLabel:[{type:0,value:"Reset"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},$m={inputPlaceholder:[{type:0,value:"Wat is je vraag?"}],useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Verzend"}],resetLabel:[{type:0,value:"Gesprek wissen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var _o={form:"dd-pleCH",formInput:"dd-pGJMY",formSubmit:"dd--gkRg",actionButton:"dd-I2NEH",resetContainer:"dd-qKIDX",sources:"dd-xf9c6",source:"dd-a-vyX",tooltip:"dd-EsgcZ",linkContent:"dd-gARDA",showMoreSources:"dd-uDGi-"};import{useRef as Xm}from"react";var Tl={error:"dd-CoAuB"};var Cr={};q(Cr,{enUS:()=>qm,nlNL:()=>Gm});var qm={errorPrefix:[{type:0,value:"Error:"}]},Gm={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as wl,jsxs as Jm}from"react/jsx-runtime";var El=({message:t})=>{let e=Xm(null),n=C("WidgetCardError",Tl),o=P(Cr);return Zn(e),wl(M,{ref:e,children:wl(_,{children:Jm(_.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as H,jsxs as He}from"react/jsx-runtime";var nf=3,of=({sources:t,onClick:e})=>{let n=P(jt),o=C("WidgetKnowledgeAssistant",_o),[s,r]=xt(!1),i=s?t:t.slice(0,nf);return i.length===0?null:He("ul",{className:o.sources,children:[i.map(a=>H("li",{className:o.source,"data-testid":"knowledge-assist-source",children:He(W,{tooltip:!0,placement:"top-start",children:[H(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:H("span",{className:o.linkContent,children:a.name})}),a.url&&H(W.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&H("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},sf=({title:t,description:e})=>H(M,{"data-testid":"knowledge-assist-empty-state",children:H(_,{children:He(_.Content,{children:[H(_.Title,{children:t}),H(St,{content:e})]})})}),rf=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=P(jt),a=Tr(Fo);return He(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[H(_,{children:He(_.Content,{children:[H(_.Title,{children:e.question}),H(St,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),H(of,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&He(M.ButtonsContainer,{children:[H("div",{}),H(Ao,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer,feedbackText:e.answer.answer})]})]})},Fo=Qm(null),Ho=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,children:o})=>{let[s,r]=xt(null),[i,a]=xt(!1),[d,l]=xt(null),[c,u]=xt(!!n),[p,g]=xt(null),m=ef(),f=V(),y=vo(T=>{if(!t)throw new Error("No knowledge assistant was defined");return l(null),e({assistantCode:t,input:T,threadId:s,onNewThreadId(w){r(w)}})},{onSuccess(T){var w;f("Assistant response displayed",{evaluationId:T.evaluationId,assistantCode:t,assistantOutput:T.answer.answer,input:T.question,sources:(w=T.answer.sources)!=null?w:[]}),u(!1)},onError(T){var w;l((w=T.message)!=null?w:"Unknown error")}}),v=T=>S(null,null,function*(){a(!0),g(T),yield y.call(T),a(!1),g(null)}),x={isEnabled:!!t,assistantCode:t,isSubmitting:i,threadId:s,pendingInput:p,errorMessage:d,onSubmit:v,onReset(){s&&m(Qa(s)),l(null),r(null),t&&f("Assistant thread reset",{threadId:s!=null?s:void 0,assistantCode:t})}};return Ym(()=>{n&&x.isEnabled&&v(n)},[n]),H(Fo.Provider,{value:x,children:o})},Bo=()=>{let t=P(jt),e=C("WidgetKnowledgeAssistant",_o),n=Tr(Fo),o=kl(null),[s,r]=xt(""),i=d=>{r(d.target.value)},a=d=>{d.preventDefault(),n.onSubmit(s).then(()=>{var l;o.current&&((l=o.current)==null||l.focus(),r(""))})};return n.isEnabled?He("form",{className:e.form,onSubmit:a,children:[H("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting,value:s,onChange:i}),H("button",{type:"submit",disabled:n.isSubmitting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},Uo=({title:t,emptyState:e})=>{var m,f;let n=P(jt),o=V(),s=C("WidgetKnowledgeAssistant",_o),r=kl(null),i=Tr(Fo),a=(f=tf(Ga((m=i.threadId)!=null?m:-1)))!=null?f:[],d=E("hasKeyboardInput"),l=oe(),c=(y,v)=>{Te(y),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:y,copiedText:y,evaluationId:v.evaluationId})},u=(y,v)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:v.evaluationId,assistantCode:i.assistantCode,source:y})},p=y=>{y.preventDefault(),i.onReset()},g=(y,v)=>{l.send(De,{text:y,suggestion:{source:"assistant",sourceText:y}}),i.assistantCode&&o("Assistant response used",{assistantCode:i.assistantCode,evaluationId:v.evaluationId,assistantOutput:v.answer.answer,usedText:y})};return!i.isEnabled||(a==null?void 0:a.length)===0&&!i.isSubmitting&&!e&&!i.errorMessage?null:He(Zm,{children:[H(Me,{type:"knowledge",title:t,"data-testid":"knowledge",children:He(Y,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&H(sf,h({},e)),a.map((y,v)=>H(rf,{innerRef:v===a.length-1?r:void 0,item:y,hasKeyboardInput:d,onCopy:x=>c(x,y),onUse:x=>g(x,y),onSourceClick:x=>u(x,y)},`${y.question}_${y.answer}_${v}`)),i.pendingInput&&H(Do,{title:i.pendingInput}),i.errorMessage&&H(El,{message:i.errorMessage})]})}),a.length>0&&H("div",{className:s.resetContainer,children:H(M.Button,{disabled:i.threadId===null||i.isSubmitting,onClick:p,children:n("resetLabel")})})]})};import{createRoot as rt}from"react-dom/client";import{Fragment as Xh}from"react";import{useSelector as Ol}from"react-redux";import Er from"classnames";import{useCallback as Ml,useEffect as ff,useMemo as hf,useState as kr}from"react";import{useDispatch as yf,useSelector as vf}from"react-redux";import{useEffect as af,useRef as lf}from"react";var Pl={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as Il}from"react/jsx-runtime";var df=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=lf(null),l=C("Dialog",Pl),c=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===d.current&&t&&o()};return af(()=>{var p,g;!d.current||!t||!e||(g=(p=d.current)==null?void 0:p.querySelector("input, textarea"))==null||g.focus()},[t,e,d]),t?Il("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:u,children:Il("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},$t=df;import cf from"classnames";var Al={root:"dd-ranhW"};import{jsx as pf}from"react/jsx-runtime";var uf=o=>{var s=o,{className:t,value:e}=s,n=O(s,["className","value"]);let r=C("TextInput",Al);return pf("input",h({className:cf(t,r.root),type:"text",value:e},n))},In=uf;var wr={};q(wr,{enUS:()=>gf,nlNL:()=>mf});var gf={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},mf={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var Ll={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as re,jsxs as Ko}from"react/jsx-runtime";var Sf=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},xf=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=P(wr),i=C("LoginTokenDialog",Ll),a=vf(qi),d=yf(),l=E("productName"),[c,u]=kr(t||""),[p,g]=kr(0),[m,f]=kr(""),y=Ml(w=>S(null,null,function*(){w.preventDefault(),d(Ji({email:c})),g(1)}),[n,c]),v=()=>{f(""),g(0)},x=Ml(w=>S(null,null,function*(){w.preventDefault();let A=Sf(w.target.elements.token.value);if(!A){f(r("verifyCodeError",{login:T}));return}d(un({token:A}))}),[n]),T=hf(()=>w=>re("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:v,children:w},"back-button"),[]);return ff(()=>{a==="error"&&f(r("verifyCodeError",{login:T})),a==="done"&&o()},[a]),re($t,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Ko("div",{className:i.root,children:[re("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&Ko("form",{onSubmit:y,children:[re("h2",{className:i.subtitle,children:r("requestCodeTitle")}),re("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),re(In,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:w=>u(w.target.value)}),re("div",{className:i.actions,children:re("button",{type:"submit",className:Er(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&Ko("form",{onSubmit:x,children:[re("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),re("p",{className:i.text,children:r("verifyCodeBody")}),re(In,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),m&&re("div",{className:i.errorMessage,children:m}),Ko("div",{className:i.actions,children:[re("button",{type:"button",className:Er(i.button),onClick:v,children:r("back")}),re("button",{type:"submit",className:Er(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Nl=xf;import{jsx as Cf}from"react/jsx-runtime";var bf=()=>{let t=Ol(Gi),e=Ol(Ht),n=E("adminUrl"),o=oe(),s=()=>o.send(Ut,!1),r=()=>{o.send(Ut,!1),o.send(hn)};return Cf(Nl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},Dl=bf;import Uh from"lodash.debounce";import{Fragment as Kh,useCallback as kd,useEffect as Rd,useMemo as Wh,useState as Br}from"react";import{useDispatch as zh,useSelector as Ct}from"react-redux";import{createAsyncThunk as Tf,createSlice as wf}from"@reduxjs/toolkit";var Ef={data:null,fetchState:"idle"},_l=t=>t.contentTypes.data,An=Tf("contentTypes/getContentTypes",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),kf=wf({name:"contentTypes",initialState:Ef,reducers:{},extraReducers:t=>{t.addCase(An.pending,e=>{e.fetchState="loading"}).addCase(An.rejected,e=>{e.fetchState="error"}).addCase(An.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Fl=kf.reducer;import{createAsyncThunk as Rf,createSelector as Pf,createSlice as If}from"@reduxjs/toolkit";var Af={data:null,fetchState:"idle"},Lf=[],et=t=>t.profile.data,Mf=t=>t.profile.data?t.profile.data.uiConfig.widget.types:Lf,Mn=Pf([Mf],t=>t.filter(e=>e.isActive)),Hl=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||[]},Bl=t=>e=>Mn(e).find(n=>n.type===t),Ul=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,Kl=t=>{var e,n;return(n=(e=t.profile.data)==null?void 0:e.knowledgeAssistantNew)!=null?n:null},Ln=Rf("profile/getProfile",(t,e)=>S(null,null,function*(){var r;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=o.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=o.profile.data)==null?void 0:r.code)===s.profileCode?o.profile.data:n.getProfile(s.profileCode)})),Nf=If({name:"profile",initialState:Af,reducers:{},extraReducers:t=>{t.addCase(Ln.pending,e=>{e.fetchState="loading"}).addCase(Ln.rejected,e=>{e.fetchState="error"}).addCase(Ln.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Wl=Nf.reducer;import{useEffect as id,useState as rh,useRef as ih,useCallback as ah}from"react";import{useState as _f}from"react";import Rr from"classnames";var le={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",listItemTooltip:"dd-SWFsE",listItemTooltipContent:"dd-I7J9N",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Be={};q(Be,{enUS:()=>Of,nlNL:()=>Df});var Of={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}],showAll:[{type:0,value:"Show more"}],sources:[{type:0,value:"Sources"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Df={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Nn,jsxs as Hf}from"react/jsx-runtime";var Ff=({src:t,title:e})=>{let n=C("CommandPalette",le),[o,s]=_f("loading"),r=P(Be);return Hf("div",{className:n.image,children:[Nn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Rr(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&Nn("span",{className:Rr(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&Nn("span",{className:Rr(n.imageSrc,n.imageSrcStatus),children:Nn(Xn,{})}),e&&Nn("span",{className:n.imageTitle,children:e})]})},zl=Ff;import Bf from"react";import Uf from"classnames";import{jsx as Pr,jsxs as Vl}from"react/jsx-runtime";function Ir({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=P(Be),i=C("CommandPalette",le);return Bf.Children.count(t)===0?null:Vl("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&Vl("div",{className:i.listHeader,children:[e&&Pr("h4",{className:i.listHeading,children:e}),o&&s&&Pr("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Pr("div",{className:Uf(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import zo from"classnames";import{Interweave as Xl}from"interweave";import{useEffect as Xf,useMemo as Jl,useState as Ql}from"react";var Kf=/[.*+?^${}()|[\]\\]/g,Wf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function zf(t){return t.replace(Kf,"\\$&")}function Vf(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function jf(t){return t.search(Wf)}function jl(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${zf(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function $l(t){return t.replace(Yn,'<mark data-type="placeholder">$1</mark>')}function On(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function $f(t,e){return t.split("").map((i,a)=>({char:i,index:a})).filter(({char:i,index:a})=>/\s/.test(i)&&a<=e).map(({index:i})=>i).reverse()[0]}function Ar(t,e,n={}){if(e){let o=Vf(e.toLowerCase(),t.toLowerCase()),s=On(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=jf(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(Vi).length>3||e.length>30?$f(e.trim(),o):0;return`${`${i>0?"\u2026":""}${On(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var qf=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Wo(t){return qf.test(t)}function Lr(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import Mr from"react";import{jsx as Gf}from"react/jsx-runtime";var ql=Mr.createContext(void 0);function qt(){let t=Mr.useContext(ql);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Gl=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=Mr.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return Gf(ql.Provider,{value:i,children:t})};import{jsx as Ue,jsxs as Vo}from"react/jsx-runtime";var Jf=3,Qf=90,Zl=({children:t})=>{let e=C("CommandPalette",le);return Ue("div",{className:e.listItemActions,children:t})};function Nr(g){var m=g,{closeOnSelect:t=!0,lineClamp:e,tooltip:n,children:o,onClick:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,defaultSourcesAmount:u=Jf}=m,p=O(m,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var Ae;let f=P(Be),[y,v]=Ql(!1),{selected:x,onChangeOpen:T}=qt(),[w,A]=Ql(!1),R=C("CommandPalette",le);function I(D){s(D),t&&T(!1)}let U=Jl(()=>typeof a!="string"?a:Wo(a)?Lr(a).trim():a,[a]),ce=Jl(()=>typeof n!="string"?n:Wo(n)?Lr(n).trim():n,[n]);return Xf(()=>{A(x===l)},[x]),Vo("div",{className:zo(R.listItem,l===x&&R.listItemSelected),children:[Vo(W,{placement:"right-start",tooltip:!0,onOpenChange:A,open:w,children:[Ue(W.Trigger,b(h({className:R.listItemAction,"aria-disabled":(Ae=p.disabled)!=null?Ae:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},p),{children:Vo("div",{className:R.listItemContent,children:[typeof o=="string"?Ue("p",{className:zo(R.listItemText,R.truncate,c==null?void 0:c.title),children:o}):o,U&&typeof U=="string"?Ue(Xl,{tagName:"p",allowList:[],content:U,className:zo(R.listItemDescription,c==null?void 0:c.description,e?R.lineClamp:R.truncate)}):a]})})),ce&&ce.length>Qf&&Ue(W.Content,{className:R.listItemTooltip,disableFocusManager:!0,children:Ue(Xl,{className:R.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:ce.replace(/\n/g,"<br />")})})]}),l===x&&r,d&&d.length>0&&Vo("div",{className:R.sources,children:[Ue("span",{className:R.sourcesTitle,children:f("sources")}),d.slice(0,y?d.length:u).map(D=>Ue("a",{className:R.source,href:D.url,target:"_blank",title:D.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(D),children:D.name},D.url)),!y&&d.length>u&&Ue("button",{className:zo(R.source,R.sourceShowMore),type:"button",onClick:()=>v(!0),children:f("showMore",{amount:d.length-u})})]})]})}import{jsx as Yl,jsxs as Zf}from"react/jsx-runtime";var ed=()=>Zf("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Yl("title",{id:"angleLeftTitle",children:"AngleLeft"}),Yl("path",{d:"M192 448c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l137.4 137.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448z"})]});import{jsx as td,jsxs as Or}from"react/jsx-runtime";function Dr({children:t,title:e,id:n,onDismiss:o}){let s=P(Be),r=C("CommandPalette",le),{page:i}=qt();return i!==n?null:Or("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&Or("div",{className:r.pageNav,children:[Or("button",{className:r.pageBackButton,type:"button",onClick:o,children:[td(ed,{}),s("back")]}),e&&td("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as eh}from"react";import{jsx as nd,jsxs as Yf}from"react/jsx-runtime";var Gt=()=>Yf("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[nd("path",{d:"M0 0h24v24H0z",fill:"none"}),nd("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as Xt,jsxs as _r}from"react/jsx-runtime";function th({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=C("CommandPalette",le);return _r("div",{className:d.search,children:[Xt("div",{className:d.searchIcon,children:Xt(Gt,{})}),_r("div",{className:d.searchInputWrapper,children:[Xt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Xt("div",{className:d.selectWrapper,children:_r("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===o?void 0:l.target.value),value:i||o,children:[o&&Xt("option",{children:o}),s.map(l=>Xt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var od=eh(th);import sd from"classnames";import{jsx as oh,jsxs as sh}from"react/jsx-runtime";var nh=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=O(r,["onClick","shortKeys","children"]);let i=C("CommandPalette",le);return sh("button",b(h({type:"button"},o),{onClick:t,className:sd(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>oh("span",{className:sd(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},rd=nh;import{jsx as ad,jsxs as dh}from"react/jsx-runtime";var lh="[data-command-palette-item]";function bt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:u,search:p,updateDeps:g=[]}){let[m,f]=rh(),y=ih(null),v=()=>{s&&s(n),i(void 0),r(""),a(!1)},x=()=>{var D;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(D=y.current)==null||D.focus();return}if(p.length>0){r("");return}a(!1)},T=()=>{let D=w();D.length!==0&&f(D[0].dataset.itemId)},w=()=>Array.from(document.querySelectorAll(lh)||[]),A=D=>document.querySelector(`[data-item-id=${D}]`),R=D=>{let K=A(D);K&&f(K.dataset.itemId)},I=D=>{let K=A(D);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be+1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):T()},ce=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be-1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):R(D[D.length-1].dataset.itemId)},Ae=ah(D=>{switch(D.key){case"ArrowDown":{D.preventDefault(),U();break}case"ArrowUp":{D.preventDefault(),ce();break}case"Enter":{if(m){let K=A(m);K==null||K.click()}break}}},[m]);return id(()=>{T()},[p,o,d,u,...g]),id(()=>{m&&I(m)},[m]),ad($t,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:x,onClose:v,onKeyDown:Ae,children:dh(Gl,{selected:m,setSelected:f,isOpen:u,onChangeOpen:a,page:o,children:[o===n&&ad(od,{ref:y,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:d,types:l,typePlaceholder:e}),c]})})}bt.Page=Dr;bt.List=Ir;bt.Image=zl;bt.ListItem=Nr;bt.ListItemActions=Zl;bt.Button=rd;var G=bt;import{useEffect as ch}from"react";function ld(t,e){ch(()=>{let n=o=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?o.metaKey:o.ctrlKey)&&o.key===t&&(o.preventDefault(),o.stopPropagation(),e())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[])}import{useEffect as pd,useRef as Sh}from"react";import{useSelector as xh,useDispatch as bh}from"react-redux";import{createAsyncThunk as uh,createSelector as ph,createSlice as gh}from"@reduxjs/toolkit";var dd={data:null,fetchState:"idle"},mh=t=>{var e;return(e=t.entities.data)!=null?e:null},jo=ph([mh,Ht,Sa],(t,e,n)=>{var a;let o=[],{visitorName:s}=n!=null?n:{},{agentName:r,agentNickname:i}=e!=null?e:{};return r&&r!==s&&o.push(r),i&&i!==s&&o.push(i),(a=t==null?void 0:t.filter(d=>!o.includes(d.text)))!=null?a:null}),fe=uh("entities/getEntities",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra;if(!o.conversationQuery)return Promise.resolve([]);let s=o.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):n.getEntities(r)})),fh=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),hh=gh({name:"entities",initialState:dd,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,n)=>{e.fetchState="done",e.data=fh(e.data?[...e.data,...n.payload]:n.payload)}).addCase($,()=>dd)}}),cd=hh.reducer;var Fr={};q(Fr,{enUS:()=>yh,nlNL:()=>vh});var yh={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},vh={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var ud={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Hr,jsxs as Th}from"react/jsx-runtime";var Ch=({onCopy:t})=>{let e=Sh(null),n=C("EntitiesList",ud),o=xh(jo),{setSelected:s}=qt(),r=P(Fr),i=bh();return pd(()=>{i(fe())},[]),pd(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Th("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&Hr(G.List,{children:o.map((a,d)=>Hr(G.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&Hr("p",{className:n.empty,children:r("noResults")})]})},gd=Ch;import{jsx as md}from"react/jsx-runtime";var $o=t=>md("svg",b(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:md("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})}));var Dn={};q(Dn,{enUS:()=>wh,nlNL:()=>Eh});var wh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],giveFeedback:[{type:0,value:"Give feedback"}],answer:[{type:0,value:"Answer"}]},Eh={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],giveFeedback:[{type:0,value:"Geef feedback"}],answer:[{type:0,value:"Antwoord"}]};import{useSelector as fd}from"react-redux";var qo={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as Go,jsxs as Rh}from"react/jsx-runtime";var kh=({suggestion:t,source:e,context:n})=>{let o=P(Dn),s=fd(Ce),r=V(),i=E("enableSuggestionFeedback"),a=`${t.text}`,d=fd(Ze(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:n})}`)),l=()=>{r("suggestion feedback",{text:t.text,source:e,context:n})};return!i||!d?null:Rh(W,{placement:"top-end",children:[Go(W.Trigger,{className:qo.trigger,children:Go($o,{"data-testid":"feedback-dropdown-trigger"})}),Go(W.Content,{className:qo.content,children:Go(W.Button,{className:qo.item,as:"a",onClick:l,target:"_blank",href:d,children:o("giveFeedback")})})]})},Xo=kh;var _n={};q(_n,{enUS:()=>Ph,nlNL:()=>Ih});var Ph={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"URL suggestions"}],personalSuggestions:[{type:0,value:"Personal suggestions"}],pinnedMessages:[{type:0,value:"Pinned messages"}],imageSuggestions:[{type:0,value:"Images"}],typePlaceholder:[{type:0,value:"All types"}],navigation:[{type:0,value:"Navigation"}],entitiesClipboard:[{type:0,value:"Conversation clipper"}],entitiesTitle:[{type:0,value:"Copy to your clipboard"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Commands"}],use:[{type:0,value:"Use"}],preview:[{type:0,value:"Preview"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},Ih={personalCollectionLink:[{type:0,value:"Ga naar persoonlijke collectie"}],searchPlaceholder:[{type:0,value:"Begin met typen om te zoeken..."}],personalSuggestions:[{type:0,value:"Persoonlijke suggesties"}],urlSuggestions:[{type:0,value:"URL suggesties"}],imageSuggestions:[{type:0,value:"Afbeeldingen"}],navigation:[{type:0,value:"Navigatie"}],typePlaceholder:[{type:0,value:"Alle types"}],pinnedMessages:[{type:0,value:"Actueel"}],entitiesClipboard:[{type:0,value:"Klembord"}],entitiesTitle:[{type:0,value:"Kopieer naar klembord"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Acties"}],use:[{type:0,value:"Gebruik"}],preview:[{type:0,value:"Bewerk"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};import{useEffect as Oh}from"react";import{useDispatch as Dh,useSelector as _h}from"react-redux";import{createAction as Mh,createAsyncThunk as Sd,createSlice as Nh}from"@reduxjs/toolkit";var Ah=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],Lh=new RegExp(Ah.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function hd(t,e){let n=t.split(Lh),o=0,s=[];for(let r=0;r<n.length;r++){let i=n[r];if(s.push(i),r===n.length-1)break;if(e.indexOf(i)===-1)return t;let a=n[r+1],d=r===n.length-2;o+=i.length;let l=o;if(d){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,o):-1;let c=l===-1?e.slice(o):e.slice(o,l);s.push(c),o=l}return s.join("")}function yd(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var xd={suggestions:[],fetchState:"idle"},vd={default:xd},bd=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},Jo=t=>t.textSuggestions,Cd=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},Qo=Mh("textSuggestions/refresh"),he=Sd("textSuggestions/recommendations",(t,e)=>S(null,null,function*(){var c,u,p;let{deepdeskAPI:n}=e.extra,o=e.getState(),{platformVariables:s}=o.info,{textSuggestionsCount:r,inlineSuggestions:i}=o.settings,a=dt(o),d=(c=o.conversation.current)==null?void 0:c.id;if(!d)throw new Error("No current conversation to fetch text suggestions");if(!((u=o.profile.data)!=null&&u.recommendationEngine))return[];let l=[];if(t==="sticky-messages"){let g=(p=o.profile.data)==null?void 0:p.code;if(!g)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(g)}else l=yield n.getTextSuggestions(d,fn(o),t);if(s&&(l=l.map(g=>h(b(h({},g),{text:ge(g.text,s)}),g.title?{title:ge(g.title,s)}:{}))),t==="default"){let g=i?l.filter(Cd(a)):l;e.dispatch(Je(g.slice(0,r)))}return l})),Fn=Sd("textSuggestions/autocompletions",(t,e)=>S(null,null,function*(){var c,u;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=(c=o.conversation.current)==null?void 0:c.id,{platformVariables:r}=o.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=o.settings;if(!((u=o.profile.data)!=null&&u.recommendationEngine))return[];if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield n.getAutocompleteSuggestions(s,b(h({},fn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Cd(t))),r&&(l=l.map(p=>b(h({},p),{text:ge(p.text,r)}))),a&&(l=l.map(p=>b(h({},p),{text:p.source!=="trie-with-typos"?hd(p.text,t):p.text}))),l=yd(l,i),e.dispatch(Je(l)),l})),Td=Nh({name:"textSuggestions",initialState:vd,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(he.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||xd;return b(h({},e),{[o]:b(h({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(he.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(Fn.pending,e=>{e.default.fetchState="loading"}).addCase(Fn.rejected,e=>{e.default.fetchState="error"}).addCase(Fn.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase($,()=>vd)}}),{setTextSuggestions:vI}=Td.actions,wd=Td.reducer;import{jsx as Zo,jsxs as Hh}from"react/jsx-runtime";var Fh=({types:t,commands:e,onClick:n})=>{let o=Dh(),s=P(_n),r=_h(Jo);return Oh(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(he(i))})},[]),Hh("div",{children:[e.length>0&&Zo(G.List,{heading:s("commands"),children:e.map((i,a)=>Zo(G.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return Zo(G.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>Zo(G.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>n(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},Ed=Fh;import{jsx as ke,jsxs as Kr}from"react/jsx-runtime";var Vh=200,jh=5,$h=4,Ur=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?$h:jh),qh=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Gh=()=>{var be,J,it;let t=zh(),e=oe(),n=P(_n),[o,s]=Br(!1),[r,i]=Br(""),a=Ct(Ia),d=Ct(et),[l,c]=Br(),u=Ct(Q),p=E("showSearch"),g=E("enableSuggestionFeedback"),m=E("showEntitiesCommand"),f=E("showImageSearch"),y=E("searchTriggerKey"),v=Ct(_l),x=Ct(Qs),T=Ct(Aa),w=Ct(Pa),A=((it=(J=(be=d==null?void 0:d.uiConfig)==null?void 0:be.search)==null?void 0:J.initialTypes)==null?void 0:it.filter(({isActive:N})=>N))||[],R=V(),I=Wh(()=>{let N=ne=>Ur(x.filter(j=>j.type===ne.toUpperCase()),ne,l),z=(v==null?void 0:v.map(ne=>({value:ne.code.toUpperCase(),label:`${ne.name}s`,list:N(ne.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(z.push({value:"PERSONAL",label:n("personalSuggestions"),list:N("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:N("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:N("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),f&&z.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:N("IMAGE"),listOrientation:"horizontal"}),A.length===0)return z;let Le=A.map(ne=>z.find(j=>j.value.toLowerCase()===ne.type)).filter(ne=>!!ne),It=z.filter(ne=>!Le.find(j=>j.value===ne.value));return[...Le,...It]},[v,A,f,l]),U=[{label:n("entitiesClipboard"),onClick:()=>t(Bt("entities")),shouldShow:m&&qh(n("entitiesClipboard"),r)}].filter(N=>N.shouldShow).filter(()=>!l),ce=kd(Uh((N,z)=>{t(gt({query:N,type:z,tags:["search-overlay"],size:l?50:20}))},Vh),[l]),Ae=kd((N,z)=>{z.type==="IMAGE"?e.send(Ys,{suggestion:z}):e.send(De,{text:N,suggestion:z}),t(me(!1))},[t]),D=N=>{Te(N.text),R("entity copied",{entity:N,type:"copy"}),t(me(!1))};function K(N){return z=>{o?window.confirm(n("warning"))&&(N(z),s(!1)):N(z)}}return Rd(()=>{r?ce(r,l):t(fo())},[r,l]),Rd(()=>{u&&t(An())},[u]),ld(y,()=>{t(me(!0)),R("open search",{via:"ctrl+k"})}),!p||!d?null:Kr(G,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:K(N=>t(me(N))),onChangeType:N=>c(N),onChangePage:K(N=>t(Bt(N))),selectedType:l,search:r,page:a,isOpen:w,types:I,updateDeps:[x],children:[Kr(G.Page,{id:"search",children:[r.length===0&&ke(Ed,{types:A,commands:U,onClick:Ae}),r.length>0&&Kr(Kh,{children:[U.length>0&&ke(G.List,{heading:n("commands"),children:U.map((N,z)=>ke(G.ListItem,{closeOnSelect:!1,onClick:N.onClick,id:`commands-${z}`,children:N.label},N.label))}),I.map(({value:N,label:z,list:Le,lineClamp:It,listOrientation:ne})=>ke(G.List,{heading:z,orientation:ne==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(N),hasMore:!l&&T[N.toLowerCase()]>Ur(Le,N,l).length,children:Ur(Le,N,l).map(j=>ke(G.ListItem,{id:`${N}-${j.id}`,closeOnSelect:!1,lineClamp:It,onClick:()=>Ae(j.text,j),description:N!=="IMAGE"?j.title&&j.text:void 0,tooltip:j.text,extra:g&&ke(G.ListItemActions,{children:ke(Xo,{context:r,source:"search",suggestion:j})}),children:N==="IMAGE"?ke(G.Image,{title:j.title||j.text,src:j.image}):j.title||j.text},`${j.id}-${j.text}`))},N))]})]}),ke(G.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:K(()=>{t(Bt("search"))}),children:ke(gd,{onCopy:D})})]})},Pd=Gh;import{jsx as Id,jsxs as Qh}from"react/jsx-runtime";var Jh=()=>{let t=E("showSearch"),e=E("isEmbedded");return Qh(Xh,{children:[t&&Id(Pd,{}),e&&Id(Dl,{})]})},Ad=Jh;import ty from"classnames";import{useSelector as ny}from"react-redux";import{jsx as Wr}from"react/jsx-runtime";var Ld=({className:t})=>Wr("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512",xmlSpace:"preserve",className:t,children:Wr("g",{children:Wr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
3
|
+
`,mt.MISSING_INTL_API,i);var w=n.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));T=c.options[w]||c.options.other}if(!T)throw new lr(c.value,u,Object.keys(c.options),i);a.push.apply(a,kn(T.value,e,n,o,s,u-(c.offset||0)));continue}}return Ng(a)}function Dg(t,e){return e?ae(ae(ae({},t||{}),e||{}),Object.keys(t).reduce(function(n,o){return n[o]=ae(ae({},t[o]),e[o]||{}),n},{})):t}function _g(t,e){return e?Object.keys(t).reduce(function(n,o){return n[o]=Dg(t[o],e[o]),n},ae({},t)):t}function dr(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,n){t[e]=n}}}}}function Fg(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.NumberFormat).bind.apply(e,So([void 0],n,!1)))},{cache:dr(t.number),strategy:bo.variadic}),getDateTimeFormat:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.DateTimeFormat).bind.apply(e,So([void 0],n,!1)))},{cache:dr(t.dateTime),strategy:bo.variadic}),getPluralRules:xo(function(){for(var e,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return new((e=Intl.PluralRules).bind.apply(e,So([void 0],n,!1)))},{cache:dr(t.pluralRules),strategy:bo.variadic})}}var cr=(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,g){return!u.length||g.type!==ee.literal||typeof u[u.length-1]!="string"?u.push(g.value):u[u.length-1]+=g.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return kn(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=n,this.resolvedLocale=t.resolveLocale(n),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=Ba(i,["formatters"]);this.ast=t.__parse(e,ae(ae({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=_g(t.formats,o),this.formatters=s&&s.formatters||Fg(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=za,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 Ug(t,e){return e.split(".").reduce((n,o)=>n?n[o]:void 0,t)}var Kg="dummy",ur=Hg(null);function P(t){var o;let e=Bg(ur);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=Ug(n,s);return i?new cr(i).format(r):(e!==Kg&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{createAction as qa,createAsyncThunk as Ga,createSlice as zg}from"@reduxjs/toolkit";import{Marked as Wg}from"marked";var ko=(t,e)=>{let n=[],o=new Wg,s=r=>{r.type==="code"&&r.lang===e&&n.push(r.text)};return o.use({walkTokens:s}),o.parse(t),n};function pr(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 $a={cues:[],threads:{},pending:[]},Xa=t=>{var e;return(e=t.assistants)==null?void 0:e.cues};var Ja=t=>e=>{var n,o;return(o=(n=e.assistants)==null?void 0:n.threads[t])!=null?o:null},Ro=qa("assistants/callToAction"),Rn=Ga("assistants/evaluateKnowledgeAssistant",(t,e)=>S(null,null,function*(){var l,c,p;let{threadId:n}=t,{onNewThreadId:o}=t,{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info;n||(n=(yield s.createAssistantThread({assistantCode:t.assistantCode})).id,o&&o(n)),yield s.postMessageToAssistantThread({assistantCode:t.assistantCode,threadId:n,message:t.input});let a=yield e.dispatch(se(b(h({skipState:!0},t),{input:{},threadId:n,attachments:t.attachments})));if(a.error)throw new Error(a.error.message);let d=(l=a.payload.output[0])!=null?l:{response:"",sources:[]};return{threadId:n,question:t.input,evaluationId:a.payload.evaluationId,answer:{answer:(c=ge(d.response,i!=null?i:{}))!=null?c:"",sources:(p=d.sources)!=null?p:[]}}})),LT=qa("assistants/extractedTextSuggestions");function Vg(t,e){var n,o;return Array.isArray(t.output)?t.output:typeof t.output=="string"?[{code:e,name:e,response:t.output}]:[b(h({code:e,name:e},t.output&&typeof t.output=="object"?t.output:{}),{response:(o=(n=t.output)==null?void 0:n.response)!=null?o:""})]}var se=Ga("assistants/evaluate",(t,e)=>S(null,null,function*(){var x,T,w,A,R;let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra,{transcript:s,input:r={},threadId:i,attachments:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(T=(x=d.conversation.current)==null?void 0:x.externalId)!=null?T:null,p=(A=(w=t.externalConversationId)!=null?w:c)!=null?A:void 0,u;if(s==="in-memory-transcript"){if(!o.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");let I=yield o.conversationQuery();u=Array.isArray(I)?I:void 0}else Array.isArray(s)&&(u=s);if(t.includeMetadata&&d.conversation.current&&((R=t.externalConversationId)!=null?R:c)===c){let{metadata:U}=d.conversation.current;Object.assign(r,{metadata:U})}let g=pr({attachments:a,transcript:u}),m=yield n.evaluateAssistant(t.assistantCode,h({input:r,transcript:u,externalConversationId:p,threadId:i},g.length>0?{attachments:g}:{}));if(m.evaluationStatus!=="success")return e.rejectWithValue(`Assistant ${t.assistantCode} evaluation failed: ${m.evaluationStatus}`);let y=Vg(m,t.assistantCode).map(I=>b(h({},I),{name:ge(I.name,l),response:ge(I.response,l)||""})),v=[];return y.forEach(I=>{if(!I.response)return;let U=ko(I.response,"reply");U.length!==0&&v.push(...U.map(ce=>({text:ce,type:"text",source:"assistant",assistantCode:I.code,sourceLabel:I.name})))}),v.length>0&&e.dispatch(Ft(v)),b(h({},m),{output:y,externalConversationId:p,currentExternalIdAtRequest:c})}));function Qa(t){return t!=null&&t.length?t.map(e=>e.response).filter(Boolean).join(`
|
|
4
|
+
`):""}var Za=zg({name:"assistants",initialState:$a,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(n=>n.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]},receiveChunk(t,e){let{code:n,name:o,payload:s,evaluationId:r}=e.payload,i=t.cues.findIndex(a=>a.code===n);i!==-1?t.cues[i].response+=s.text:t.cues.push({code:n,name:o,evaluationId:r,response:s.text})},userNotification(t,e){let n=t.cues.find(c=>c.code===e.payload.code),o=t.cues.filter(c=>c.code!==e.payload.code),{code:s,name:r,evaluationId:i,payload:a}=e.payload,{callToAction:d}=a,l=a.sources!==void 0?a.sources.filter(c=>!!c.url):n==null?void 0:n.sources;t.cues=[...o,b(h({code:s,name:r,evaluationId:i,response:a.message,editable:a.editableMessage},l!=null&&l.length?{sources:l}:{}),{callToAction:d&&{label:d.displayName,event:d.onClickEvent,value:d.eventPayload}})]}},extraReducers:t=>{t.addCase(se.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&k.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(se.rejected,(e,n)=>{var s;k.warn((s=n.error)==null?void 0:s.message);let o=e.pending.indexOf(n.meta.arg.assistantCode);o!==-1&&e.pending.splice(o,1)}).addCase(se.fulfilled,(e,n)=>{let o=e.pending.indexOf(n.meta.arg.assistantCode);if(o!==-1&&e.pending.splice(o,1),n.meta.arg.skipState)return;let{evaluationId:s,output:r,externalConversationId:i,currentExternalIdAtRequest:a}=n.payload;if(i&&a&&i!==a)return;let d=r.map(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(Rn.fulfilled,(e,n)=>{let r=n.payload,{threadId:o}=r,s=O(r,["threadId"]);e.threads[o]=[...e.threads[o]||[],s]}).addCase($,()=>$a)}}),{removeCueByCode:Po,resetCues:MT,removeThreadById:Ya,receiveChunk:el,userNotification:tl}=Za.actions,nl=Za.reducer;import{createSlice as jg}from"@reduxjs/toolkit";import{useSelector as $g}from"react-redux";var qg={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},ol=jg({name:"settings",initialState:qg,reducers:{set(t,e){Object.entries(e.payload).forEach(n=>{let[o,s]=n;typeof s!="undefined"&&(t[o]=s)})}}}),{set:Io}=ol.actions,ft=t=>e=>e.settings[t],E=t=>$g(ft(t)),sl=ol.reducer;function Te(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import hr from"classnames";import{useState as Jg}from"react";import{jsx as rl}from"react/jsx-runtime";var gr=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:"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 il}from"react/jsx-runtime";var al=t=>il("svg",b(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:il("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function Qe(t,e){var s;let n=t.cloneNode(!0);n.style.top=`${t.offsetTop}px`,n.style.left=`${t.offsetLeft}px`,n.style.position="absolute",e.split(" ").forEach(r=>{n.classList.add(r)}),n.addEventListener("animationend",()=>n.remove()),(s=t.parentElement)==null||s.appendChild(n)}var mr={};q(mr,{enUS:()=>Gg,nlNL:()=>Xg});var Gg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Xg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var ll={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as dl}from"react-redux";var Ze=t=>e=>{let{passwordlessToken:{token:n},settings:{isEmbedded:o,adminUrl:s}}=e,r=s||window.location.origin;return o&&!n?null:o&&n?`${r}/apis/admin/session/passwordless/login/?token=${n}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};var fr=({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()}`},Ao=t=>{let e=t.content,n=t.data,o=fr(t,e,n),s=encodeURIComponent(o).length;for(;s>3e3&&e.length>0;){let r=Math.max(0,Math.floor(e.length*3e3/s)-1);e=t.content.slice(0,r),o=fr(t,e?`${e}\u2026`:"",n),s=encodeURIComponent(o).length}for(;s>3e3&&n&&n.length>0;){let r=Math.max(0,Math.floor(n.length*3e3/s)-1);n=n.slice(0,r),o=fr(t,e,n?`${n}\u2026`:""),s=encodeURIComponent(o).length}return o};import{jsx as Kt,jsxs as Zg}from"react/jsx-runtime";var Qg=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o})=>{let s=C("FeedbackThumbs",ll),r=E("enableFeedbackForm"),i=dl(Ce),a=dl(Ze(Ao({conversationId:i,evaluationId:n,type:o,assistantCode:t,contentType:"assistantOutput",content:e}))),d=P(mr),l=V(),[c,p]=Jg(null),u=f=>{l("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:f})},g=f=>{f.stopPropagation(),Qe(f.target,s.fadeup),p("up"),u("up")},m=f=>{f.stopPropagation(),Qe(f.target,s.fadedown),p("down"),u("down")};return Zg("div",{className:s.thumbs,children:[Kt(M.Button,{title:d("thumbsUp"),onClick:g,icon:Kt(al,{}),className:hr(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?Kt(M.Button,{as:"a",title:d("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:Kt(gr,{}),className:hr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):Kt(M.Button,{title:d("thumbsDown"),onClick:m,icon:Kt(gr,{}),className:hr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},Lo=Qg;import Dm from"dompurify";import{marked as _m}from"marked";import{Fragment as Tl,useMemo as Fm,useRef as Hm,useState as Bm}from"react";import{useState as vm}from"react";import{FloatingFocusManager as Yg,FloatingPortal as em,autoUpdate as tm,flip as nm,offset as om,safePolygon as sm,shift as rm,useClick as im,useDismiss as am,useFloating as lm,useHover as dm,useInteractions as cm,useMergeRefs as ul,useRole as um}from"@floating-ui/react";import*as we from"react";var Mo={tooltip:"dd-XpCXd",tooltipTrigger:"dd-8TKeF",arrow:"dd-ZEu2Y"};import{jsx as Ye,jsxs as cl}from"react/jsx-runtime";function pm({initialOpen:t=!1,placement:e="bottom",modal:n,tooltip:o,open:s,onOpenChange:r}={}){let[i,a]=we.useState(t),d=s!=null?s:i,l=r!=null?r:a,c=lm({placement:e,open:d,onOpenChange:l,whileElementsMounted:tm,middleware:[om(5),nm({crossAxis:e.includes("-"),fallbackAxisSideDirection:"end",padding:5}),rm({padding:10})]}),p=c.context,u=im(p,{enabled:s==null}),g=am(p),m=um(p),f=dm(p,{enabled:o!=null?o:!1,handleClose:sm()}),y=cm([u,g,m,f]);return we.useMemo(()=>b(h(h({open:d,setOpen:l},y),c),{modal:n}),[d,l,y,c,n])}var pl=we.createContext(null),yr=()=>{let t=we.useContext(pl);if(t==null)throw new Error("Popover components must be wrapped in <Popover />");return t},ht=o=>{var s=o,{children:t,modal:e=!1}=s,n=O(s,["children","modal"]);let r=pm(h({modal:e},n));return Ye(pl.Provider,{value:r,children:t})};function gm(o){var s=o,{as:t,children:e}=s,n=O(s,["as","children"]);let r=yr(),i=t||"button",a=e.ref,d=ul([r.refs.setReference,a]);return Ye(i,b(h(h({ref:d},i==="button"||t===void 0||t==="button"?{type:"button"}:{}),r.getReferenceProps(n)),{children:e}))}var mm=we.forwardRef(function(s,o){var r=s,{style:e}=r,n=O(r,["style"]);let l=yr(),{context:i}=l,a=O(l,["context"]),d=ul([a.refs.setFloating,o]);return i.open?Ye(em,{children:Ye(Yg,{context:i,modal:a.modal,disabled:n.disableFocusManager,children:Ye("div",b(h({ref:d,style:h(b(h({},a.floatingStyles),{zIndex:1e7}),e)},a.getFloatingProps(n)),{children:n.children}))})}):null});function fm(s){var r=s,{as:t,children:e,onClick:n}=r,o=O(r,["as","children","onClick"]);let{setOpen:i}=yr();return Ye(t||"button",b(h({type:"button",onClick:l=>{n(l),i(!1),l.stopPropagation()}},o),{children:e}))}function gl({trigger:t,children:e,placement:n="top"}){return cl(ht,{tooltip:!0,placement:n,children:[cl(ht.Content,{className:Mo.tooltip,children:[e,Ye("div",{className:Mo.arrow})]}),Ye(ht.Trigger,{className:Mo.tooltipTrigger,children:t})]})}ht.Trigger=gm;ht.Content=mm;ht.Button=fm;var W=ht;var vr={};q(vr,{enUS:()=>hm,nlNL:()=>ym});var hm={showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},ym={showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var ml={sources:"dd-cNsGl",source:"dd-LoJ6U",tooltip:"dd-7ZGu9",linkContent:"dd-O2IoN",showMoreSources:"dd-ev8Yr"};import{jsx as Pn,jsxs as fl}from"react/jsx-runtime";var Sm=3,xm=({sources:t,onClick:e,sourceTestId:n="assistant-source"})=>{let o=P(vr),s=C("AssistantSources",ml),[r,i]=vm(!1),a=t.filter(l=>!!l.url),d=r?a:a.slice(0,Sm);return d.length===0?null:fl("ul",{className:s.sources,children:[d.map(l=>Pn("li",{className:s.source,"data-testid":n,children:fl(W,{tooltip:!0,placement:"top-start",children:[Pn(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:l.url,onClick:c=>{c.stopPropagation(),e==null||e(l)},children:Pn("span",{className:s.linkContent,children:l.name})}),l.url&&Pn(W.Content,{className:s.tooltip,children:decodeURIComponent(l.url)})]})},l.name)),d.length<t.length&&Pn("button",{type:"button",className:s.showMoreSources,onClick:()=>i(!0),children:o("showMore",{amount:t.length-d.length})})]})},hl=xm;import bl from"classnames";import{createRef as Lm,useCallback as xr,useMemo as Mm,useRef as Nm,useState as Om}from"react";import{useState as bm,useLayoutEffect as Cm}from"react";var Tm=["bottom","height","left","right","top","width"],wm=(t={},e={})=>Tm.some(n=>t[n]!==e[n]),Fe=new Map,yl,vl=()=>{let t=[],e=[];Fe.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();wm(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{Fe.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),yl=window.requestAnimationFrame(vl)};function Em(t,e){return{observe(){let n=Fe.size===0;if(Fe.has(t)){let o=Fe.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else Fe.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&vl()},unobserve(){let n=Fe.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Fe.delete(t),Fe.size||cancelAnimationFrame(yl)}}}}function Sr(t){let[e,n]=bm(null);return Cm(()=>{if(!t.current)return;let o=Em(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Rm,useLayoutEffect as Pm,useState as Im}from"react";import{createPortal as Am}from"react-dom";import{useEffect as km}from"react";function yt(t){km(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function vt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var Sl={root:"dd-r-dgo"};var xl=({children:t,parentNode:e})=>{let[n,o]=Im(null),s=Rm(ln);return Pm(()=>{let r=document.createElement("div");return vt(r),r.classList.add(Sl.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?Am(t,n):null};var Ee={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as br}from"react/jsx-runtime";var No=(t=!1)=>{let[e,n]=Om(t),o=xr(()=>n(!0),[]),s=xr(()=>n(!1),[]),r=xr(()=>n(a=>!a),[]),i=Nm(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function Cr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Wt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=Lm(),position:o="above",align:s="center",children:r,toStyle:i=Cr,parentNode:a}=c,d=O(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Sr(e),u=Sr(n),g=Mm(()=>i(p,u,0),[p,u]);return br(xl,{parentNode:a,children:br("div",b(h({className:bl(Ee.ref,{[Ee.positionAbove]:o==="above",[Ee.positionBelow]:o==="below",[Ee.positionLeft]:o==="left",[Ee.positionRight]:o==="right",[Ee.alignStart]:s==="start",[Ee.alignCenter]:s==="center",[Ee.alignEnd]:s==="end"}),style:g},d),{role:"dialog",children:br("div",{className:bl(t,Ee.root),children:r})}))})};var Cl={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as zt,jsxs as Oo}from"react/jsx-runtime";function Um(t){return`<button type="button" data-copy-icon class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function Tr(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 Km(t){return t.replace(/\r\n/g,`
|
|
5
|
+
`)}var Wm=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s,sources:r,onSourceClick:i})=>{let a=C("Markdown",Cl),d=Hm(null),[l,c]=Bm(null),p=Fm(()=>{let v=_m.parse(Km(t));return Dm.sanitize(v.toString()).replaceAll("</code>",`${Um(a.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),u=v=>{var w;let x=v.target,T=!!((w=d.current)!=null&&w.querySelector("code"));if(["A","BUTTON"].includes(x.tagName)){c(null);return}l||T&&x.tagName!=="CODE"||!T&&x!==d.current||(x.addEventListener("mouseleave",()=>c(null),{once:!0}),c(x))},g=()=>{if(!l)return;c(null);let v=l.querySelector("button");v&&(Qe(v,a.fadeup),o==null||o(Tr(l)))},m=v=>{let x=v.target,T=x instanceof HTMLElement?x:null;if(x instanceof Element?x.closest("a"):null){v.stopPropagation();return}T&&"copyIcon"in T.dataset&&(Qe(T,a.fadeup),o==null||o(Tr(T.parentElement)))},f=()=>{!l||!s||(c(null),s(Tr(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 Oo(Tl,{children:[l&&(o||s)&&Oo(Wt,{triggerRef:{current:l},className:a.popover,parentNode:l,children:[Oo("div",{className:a.options,ref:y,children:[o&&(l==null?void 0:l.tagName)==="CODE"&&zt("button",{type:"button",className:a.option,onClick:g,children:n}),s&&Oo(Tl,{children:[zt("div",{className:a.divider}),zt("button",{type:"button",className:a.option,onClick:f,children:e})]})]}),zt("div",{className:a.arrow})]}),zt("div",{ref:d,"data-testid":"widget-markdown-content",className:a.root,dangerouslySetInnerHTML:{__html:p},onMouseOver:u,onClick:m}),r&&r.length>0&&zt(hl,{sources:r,onClick:i})]})},St=Wm;import{useRef as jm}from"react";var wl={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as Vm}from"react/jsx-runtime";var zm=({width:t})=>{let e=C("LoadingProgressBar",wl);return Vm("div",{className:e.loadingBar,style:{width:t}})},Do=zm;import{jsx as Vt,jsxs as $m}from"react/jsx-runtime";var _o=({title:t})=>{let e=jm(null);return Zn(e),Vt(M,{ref:e,children:Vt(_,{children:$m(_.Content,{children:[Vt(_.Title,{children:t}),Vt(Do,{width:"60%"}),Vt(Do,{width:"90%"}),Vt(Do,{width:"50%"})]})})})};var jt={};q(jt,{enUS:()=>qm,nlNL:()=>Gm});var qm={inputPlaceholder:[{type:0,value:"What is your question?"}],useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Submit"}],resetLabel:[{type:0,value:"Reset"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Gm={inputPlaceholder:[{type:0,value:"Wat is je vraag?"}],useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Verzend"}],resetLabel:[{type:0,value:"Gesprek wissen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var Fo={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 Qm}from"react";var El={error:"dd-CoAuB"};var wr={};q(wr,{enUS:()=>Xm,nlNL:()=>Jm});var Xm={errorPrefix:[{type:0,value:"Error:"}]},Jm={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as kl,jsxs as Zm}from"react/jsx-runtime";var Rl=({message:t})=>{let e=Qm(null),n=C("WidgetCardError",El),o=P(wr);return Zn(e),kl(M,{ref:e,children:kl(_,{children:Zm(_.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as H,jsxs as He}from"react/jsx-runtime";var sf=3,rf=({sources:t,onClick:e})=>{let n=P(jt),o=C("WidgetKnowledgeAssistant",Fo),[s,r]=xt(!1),i=s?t:t.slice(0,sf);return i.length===0?null:He("ul",{className:o.sources,children:[i.map(a=>H("li",{className:o.source,"data-testid":"knowledge-assist-source",children:He(W,{tooltip:!0,placement:"top-start",children:[H(W.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:H("span",{className:o.linkContent,children:a.name})}),a.url&&H(W.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&H("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},af=({title:t,description:e})=>H(M,{"data-testid":"knowledge-assist-empty-state",children:H(_,{children:He(_.Content,{children:[H(_.Title,{children:t}),H(St,{content:e})]})})}),lf=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=P(jt),a=Er(Ho);return He(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[H(_,{children:He(_.Content,{children:[H(_.Title,{children:e.question}),H(St,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),H(rf,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&He(M.ButtonsContainer,{children:[H("div",{}),H(Lo,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer})]})]})},Ho=Ym(null),Bo=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,children:o})=>{let[s,r]=xt(null),[i,a]=xt(!1),[d,l]=xt(null),[c,p]=xt(!!n),[u,g]=xt(null),m=nf(),f=V(),y=vo(T=>{if(!t)throw new Error("No knowledge assistant was defined");return l(null),e({assistantCode:t,input:T,threadId:s,onNewThreadId(w){r(w)}})},{onSuccess(T){var w;f("Assistant response displayed",{evaluationId:T.evaluationId,assistantCode:t,assistantOutput:T.answer.answer,input:T.question,sources:(w=T.answer.sources)!=null?w:[]}),p(!1)},onError(T){var w;l((w=T.message)!=null?w:"Unknown error")}}),v=T=>S(null,null,function*(){a(!0),g(T),yield y.call(T),a(!1),g(null)}),x={isEnabled:!!t,assistantCode:t,isSubmitting:i,threadId:s,pendingInput:u,errorMessage:d,onSubmit:v,onReset(){s&&m(Ya(s)),l(null),r(null),t&&f("Assistant thread reset",{threadId:s!=null?s:void 0,assistantCode:t})}};return tf(()=>{n&&x.isEnabled&&v(n)},[n]),H(Ho.Provider,{value:x,children:o})},Uo=()=>{let t=P(jt),e=C("WidgetKnowledgeAssistant",Fo),n=Er(Ho),o=Pl(null),[s,r]=xt(""),i=d=>{r(d.target.value)},a=d=>{d.preventDefault(),n.onSubmit(s).then(()=>{var l;o.current&&((l=o.current)==null||l.focus(),r(""))})};return n.isEnabled?He("form",{className:e.form,onSubmit:a,children:[H("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting,value:s,onChange:i}),H("button",{type:"submit",disabled:n.isSubmitting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},Ko=({title:t,emptyState:e})=>{var m,f;let n=P(jt),o=V(),s=C("WidgetKnowledgeAssistant",Fo),r=Pl(null),i=Er(Ho),a=(f=of(Ja((m=i.threadId)!=null?m:-1)))!=null?f:[],d=E("hasKeyboardInput"),l=oe(),c=(y,v)=>{Te(y),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:y,copiedText:y,evaluationId:v.evaluationId})},p=(y,v)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:v.evaluationId,assistantCode:i.assistantCode,source:y})},u=y=>{y.preventDefault(),i.onReset()},g=(y,v)=>{l.send(De,{text:y,suggestion:{source:"assistant",sourceText:y}}),i.assistantCode&&o("Assistant response used",{assistantCode:i.assistantCode,evaluationId:v.evaluationId,assistantOutput:v.answer.answer,usedText:y})};return!i.isEnabled||(a==null?void 0:a.length)===0&&!i.isSubmitting&&!e&&!i.errorMessage?null:He(ef,{children:[H(Me,{type:"knowledge",title:t,"data-testid":"knowledge",children:He(Y,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&H(af,h({},e)),a.map((y,v)=>H(lf,{innerRef:v===a.length-1?r:void 0,item:y,hasKeyboardInput:d,onCopy:x=>c(x,y),onUse:x=>g(x,y),onSourceClick:x=>p(x,y)},`${y.question}_${y.answer}_${v}`)),i.pendingInput&&H(_o,{title:i.pendingInput}),i.errorMessage&&H(Rl,{message:i.errorMessage})]})}),a.length>0&&H("div",{className:s.resetContainer,children:H(M.Button,{disabled:i.threadId===null||i.isSubmitting,onClick:u,children:n("resetLabel")})})]})};import{createRoot as rt}from"react-dom/client";import{Fragment as Qh}from"react";import{useSelector as _l}from"react-redux";import Rr from"classnames";import{useCallback as Ol,useEffect as yf,useMemo as vf,useState as Pr}from"react";import{useDispatch as Sf,useSelector as xf}from"react-redux";import{useEffect as df,useRef as cf}from"react";var Al={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as Ll}from"react/jsx-runtime";var uf=({isOpen:t,autoFocus:e,children:n,onClose:o,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=cf(null),l=C("Dialog",Al),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&o()};return df(()=>{var u,g;!d.current||!t||!e||(g=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||g.focus()},[t,e,d]),t?Ll("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:Ll("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:n})}):null},$t=uf;import pf from"classnames";var Ml={root:"dd-ranhW"};import{jsx as mf}from"react/jsx-runtime";var gf=o=>{var s=o,{className:t,value:e}=s,n=O(s,["className","value"]);let r=C("TextInput",Ml);return mf("input",h({className:pf(t,r.root),type:"text",value:e},n))},In=gf;var kr={};q(kr,{enUS:()=>ff,nlNL:()=>hf});var ff={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"}]},hf={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 Nl={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as re,jsxs as Wo}from"react/jsx-runtime";var bf=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Cf=({agentEmail:t,isOpen:e,origin:n="",onSuccess:o,onDismiss:s})=>{let r=P(kr),i=C("LoginTokenDialog",Nl),a=xf(Xi),d=Sf(),l=E("productName"),[c,p]=Pr(t||""),[u,g]=Pr(0),[m,f]=Pr(""),y=Ol(w=>S(null,null,function*(){w.preventDefault(),d(Zi({email:c})),g(1)}),[n,c]),v=()=>{f(""),g(0)},x=Ol(w=>S(null,null,function*(){w.preventDefault();let A=bf(w.target.elements.token.value);if(!A){f(r("verifyCodeError",{login:T}));return}d(un({token:A}))}),[n]),T=vf(()=>w=>re("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:v,children:w},"back-button"),[]);return yf(()=>{a==="error"&&f(r("verifyCodeError",{login:T})),a==="done"&&o()},[a]),re($t,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Wo("div",{className:i.root,children:[re("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&Wo("form",{onSubmit:y,children:[re("h2",{className:i.subtitle,children:r("requestCodeTitle")}),re("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),re(In,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:w=>p(w.target.value)}),re("div",{className:i.actions,children:re("button",{type:"submit",className:Rr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&Wo("form",{onSubmit:x,children:[re("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),re("p",{className:i.text,children:r("verifyCodeBody")}),re(In,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),m&&re("div",{className:i.errorMessage,children:m}),Wo("div",{className:i.actions,children:[re("button",{type:"button",className:Rr(i.button),onClick:v,children:r("back")}),re("button",{type:"submit",className:Rr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Dl=Cf;import{jsx as wf}from"react/jsx-runtime";var Tf=()=>{let t=_l(Ji),e=_l(Ht),n=E("adminUrl"),o=oe(),s=()=>o.send(Ut,!1),r=()=>{o.send(Ut,!1),o.send(hn)};return wf(Dl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:n,onDismiss:s,onSuccess:r})},Fl=Tf;import Wh from"lodash.debounce";import{Fragment as zh,useCallback as Pd,useEffect as Id,useMemo as Vh,useState as Kr}from"react";import{useDispatch as jh,useSelector as Ct}from"react-redux";import{createAsyncThunk as Ef,createSlice as kf}from"@reduxjs/toolkit";var Rf={data:null,fetchState:"idle"},Hl=t=>t.contentTypes.data,An=Ef("contentTypes/getContentTypes",(t,e)=>S(null,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Pf=kf({name:"contentTypes",initialState:Rf,reducers:{},extraReducers:t=>{t.addCase(An.pending,e=>{e.fetchState="loading"}).addCase(An.rejected,e=>{e.fetchState="error"}).addCase(An.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Bl=Pf.reducer;import{createAsyncThunk as If,createSelector as Af,createSlice as Lf}from"@reduxjs/toolkit";var Mf={data:null,fetchState:"idle"},Nf=[],et=t=>t.profile.data,Of=t=>t.profile.data?t.profile.data.uiConfig.widget.types:Nf,Mn=Af([Of],t=>t.filter(e=>e.isActive)),Ul=t=>{var e;return((e=t.profile.data)==null?void 0:e.onDemandAssistants)||[]},Kl=t=>e=>Mn(e).find(n=>n.type===t),Wl=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,zl=t=>{var e,n;return(n=(e=t.profile.data)==null?void 0:e.knowledgeAssistantNew)!=null?n:null},Ln=If("profile/getProfile",(t,e)=>S(null,null,function*(){var r;let{deepdeskAPI:n}=e.extra,o=e.getState(),s=o.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=o.profile.data)==null?void 0:r.code)===s.profileCode?o.profile.data:n.getProfile(s.profileCode)})),Df=Lf({name:"profile",initialState:Mf,reducers:{},extraReducers:t=>{t.addCase(Ln.pending,e=>{e.fetchState="loading"}).addCase(Ln.rejected,e=>{e.fetchState="error"}).addCase(Ln.fulfilled,(e,n)=>{e.fetchState="done",e.data=n.payload})}}),Vl=Df.reducer;import{useEffect as ld,useState as ah,useRef as lh,useCallback as dh}from"react";import{useState as Hf}from"react";import Ir from"classnames";var le={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",listItemTooltip:"dd-SWFsE",listItemTooltipContent:"dd-I7J9N",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",sourceShowMore:"dd-M1-8j",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var Be={};q(Be,{enUS:()=>_f,nlNL:()=>Ff});var _f={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"}]},Ff={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}],sources:[{type:0,value:"Bronnen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};import{jsx as Nn,jsxs as Uf}from"react/jsx-runtime";var Bf=({src:t,title:e})=>{let n=C("CommandPalette",le),[o,s]=Hf("loading"),r=P(Be);return Uf("div",{className:n.image,children:[Nn("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ir(n.imageSrc,{[n.imageSrcHidden]:["loading","error"].includes(o)})}),o==="loading"&&Nn("span",{className:Ir(n.imageSrc,n.imageSrcStatus),children:r("loading")}),o==="error"&&Nn("span",{className:Ir(n.imageSrc,n.imageSrcStatus),children:Nn(Xn,{})}),e&&Nn("span",{className:n.imageTitle,children:e})]})},jl=Bf;import Kf from"react";import Wf from"classnames";import{jsx as Ar,jsxs as $l}from"react/jsx-runtime";function Lr({children:t,heading:e,orientation:n,hasMore:o,onShowAll:s}){let r=P(Be),i=C("CommandPalette",le);return Kf.Children.count(t)===0?null:$l("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||o)&&$l("div",{className:i.listHeader,children:[e&&Ar("h4",{className:i.listHeading,children:e}),o&&s&&Ar("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ar("div",{className:Wf(i.listWrapper,n==="horizontal"&&i.listHorizontal),children:t})]})}import Vo from"classnames";import{Interweave as Ql}from"interweave";import{useEffect as Qf,useMemo as Zl,useState as Yl}from"react";var zf=/[.*+?^${}()|[\]\\]/g,Vf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function jf(t){return t.replace(zf,"\\$&")}function $f(t,e){let n=t.split("").findIndex((o,s)=>o!==e[s]);return n>-1?n:Math.min(t.length,e.length)}function qf(t){return t.search(Vf)}function ql(t,e=[]){let n=t;return e.forEach(o=>{if(!o)return;let s=new RegExp(`\\b(${jf(o)})\\b`,"gi");n=n.replace(s,"<strong>$1</strong>")}),n}function Gl(t){return t.replace(Yn,'<mark data-type="placeholder">$1</mark>')}function On(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Gf(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 Mr(t,e,n={}){if(e){let o=$f(e.toLowerCase(),t.toLowerCase()),s=On(t.substring(o,t.length));if(n.stripAgentPart){let d=t.substring(0,o),l=qf(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split($i).length>3||e.length>30?Gf(e.trim(),o):0;return`${`${i>0?"\u2026":""}${On(t.substring(i,o))}`}<strong>${s}</strong>`}return t}var Xf=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function zo(t){return Xf.test(t)}function Nr(t){var n;let e=document.createElement("template");return e.innerHTML=t,(n=e.content.textContent)!=null?n:""}import Or from"react";import{jsx as Jf}from"react/jsx-runtime";var Xl=Or.createContext(void 0);function qt(){let t=Or.useContext(Xl);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Jl=({children:t,page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r})=>{let i=Or.useMemo(()=>({page:e,isOpen:n,onChangeOpen:o,selected:s,setSelected:r}),[n,e,s]);return Jf(Xl.Provider,{value:i,children:t})};import{jsx as Ue,jsxs as jo}from"react/jsx-runtime";var Zf=3,Yf=90,ed=({children:t})=>{let e=C("CommandPalette",le);return Ue("div",{className:e.listItemActions,children:t})};function Dr(g){var m=g,{closeOnSelect:t=!0,lineClamp:e,tooltip:n,children:o,onClick:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,defaultSourcesAmount:p=Zf}=m,u=O(m,["closeOnSelect","lineClamp","tooltip","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var Ae;let f=P(Be),[y,v]=Yl(!1),{selected:x,onChangeOpen:T}=qt(),[w,A]=Yl(!1),R=C("CommandPalette",le);function I(D){s(D),t&&T(!1)}let U=Zl(()=>typeof a!="string"?a:zo(a)?Nr(a).trim():a,[a]),ce=Zl(()=>typeof n!="string"?n:zo(n)?Nr(n).trim():n,[n]);return Qf(()=>{A(x===l)},[x]),jo("div",{className:Vo(R.listItem,l===x&&R.listItemSelected),children:[jo(W,{placement:"right-start",tooltip:!0,onOpenChange:A,open:w,children:[Ue(W.Trigger,b(h({className:R.listItemAction,"aria-disabled":(Ae=u.disabled)!=null?Ae:!1,onClick:I,"data-command-palette-item":!0,"data-item-id":l},u),{children:jo("div",{className:R.listItemContent,children:[typeof o=="string"?Ue("p",{className:Vo(R.listItemText,R.truncate,c==null?void 0:c.title),children:o}):o,U&&typeof U=="string"?Ue(Ql,{tagName:"p",allowList:[],content:U,className:Vo(R.listItemDescription,c==null?void 0:c.description,e?R.lineClamp:R.truncate)}):a]})})),ce&&ce.length>Yf&&Ue(W.Content,{className:R.listItemTooltip,disableFocusManager:!0,children:Ue(Ql,{className:R.listItemTooltipContent,allowList:["h1","h2","h3","h4","h5","h6","a","p","br"],tagName:"div",content:ce.replace(/\n/g,"<br />")})})]}),l===x&&r,d&&d.length>0&&jo("div",{className:R.sources,children:[Ue("span",{className:R.sourcesTitle,children:f("sources")}),d.slice(0,y?d.length:p).map(D=>Ue("a",{className:R.source,href:D.url,target:"_blank",title:D.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>i==null?void 0:i(D),children:D.name},D.url)),!y&&d.length>p&&Ue("button",{className:Vo(R.source,R.sourceShowMore),type:"button",onClick:()=>v(!0),children:f("showMore",{amount:d.length-p})})]})]})}import{jsx as td,jsxs as eh}from"react/jsx-runtime";var nd=()=>eh("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[td("title",{id:"angleLeftTitle",children:"AngleLeft"}),td("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 od,jsxs as _r}from"react/jsx-runtime";function Fr({children:t,title:e,id:n,onDismiss:o}){let s=P(Be),r=C("CommandPalette",le),{page:i}=qt();return i!==n?null:_r("div",{className:r.page,id:`page_${n}`,tabIndex:-1,children:[o&&_r("div",{className:r.pageNav,children:[_r("button",{className:r.pageBackButton,type:"button",onClick:o,children:[od(nd,{}),s("back")]}),e&&od("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as nh}from"react";import{jsx as sd,jsxs as th}from"react/jsx-runtime";var Gt=()=>th("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[sd("path",{d:"M0 0h24v24H0z",fill:"none"}),sd("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as Xt,jsxs as Hr}from"react/jsx-runtime";function oh({onChange:t,onChangeType:e,placeholder:n,typePlaceholder:o,types:s,value:r,selectedType:i},a){let d=C("CommandPalette",le);return Hr("div",{className:d.search,children:[Xt("div",{className:d.searchIcon,children:Xt(Gt,{})}),Hr("div",{className:d.searchInputWrapper,children:[Xt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:n,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&Xt("div",{className:d.selectWrapper,children:Hr("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===o?void 0:l.target.value),value:i||o,children:[o&&Xt("option",{children:o}),s.map(l=>Xt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var rd=nh(oh);import id from"classnames";import{jsx as rh,jsxs as ih}from"react/jsx-runtime";var sh=s=>{var r=s,{onClick:t,shortKeys:e,children:n}=r,o=O(r,["onClick","shortKeys","children"]);let i=C("CommandPalette",le);return ih("button",b(h({type:"button"},o),{onClick:t,className:id(i.actionButton,o.className,{[i.hasShortKeys]:e&&e.length>0}),children:[n,e==null?void 0:e.map(a=>rh("span",{className:id(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},ad=sh;import{jsx as dd,jsxs as uh}from"react/jsx-runtime";var ch="[data-command-palette-item]";function bt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:n="search",page:o,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u,updateDeps:g=[]}){let[m,f]=ah(),y=lh(null),v=()=>{s&&s(n),i(void 0),r(""),a(!1)},x=()=>{var D;if(o!==n&&s){s(n);return}if(d&&i){i(void 0),(D=y.current)==null||D.focus();return}if(u.length>0){r("");return}a(!1)},T=()=>{let D=w();D.length!==0&&f(D[0].dataset.itemId)},w=()=>Array.from(document.querySelectorAll(ch)||[]),A=D=>document.querySelector(`[data-item-id=${D}]`),R=D=>{let K=A(D);K&&f(K.dataset.itemId)},I=D=>{let K=A(D);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be+1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):T()},ce=()=>{if(!m)return;let D=w(),K=A(m);if(!K)return;let be=D.indexOf(K),J=D[be-1];J!=null&&J.dataset.itemId?R(J.dataset.itemId):R(D[D.length-1].dataset.itemId)},Ae=dh(D=>{switch(D.key){case"ArrowDown":{D.preventDefault(),U();break}case"ArrowUp":{D.preventDefault(),ce();break}case"Enter":{if(m){let K=A(m);K==null||K.click()}break}}},[m]);return ld(()=>{T()},[u,o,d,p,...g]),ld(()=>{m&&I(m)},[m]),dd($t,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:x,onClose:v,onKeyDown:Ae,children:uh(Jl,{selected:m,setSelected:f,isOpen:p,onChangeOpen:a,page:o,children:[o===n&&dd(rd,{ref:y,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}bt.Page=Fr;bt.List=Lr;bt.Image=jl;bt.ListItem=Dr;bt.ListItemActions=ed;bt.Button=ad;var G=bt;import{useEffect as ph}from"react";function cd(t,e){ph(()=>{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 md,useRef as bh}from"react";import{useSelector as Ch,useDispatch as Th}from"react-redux";import{createAsyncThunk as gh,createSelector as mh,createSlice as fh}from"@reduxjs/toolkit";var ud={data:null,fetchState:"idle"},hh=t=>{var e;return(e=t.entities.data)!=null?e:null},$o=mh([hh,Ht,ba],(t,e,n)=>{var a;let o=[],{visitorName:s}=n!=null?n:{},{agentName:r,agentNickname:i}=e!=null?e:{};return r&&r!==s&&o.push(r),i&&i!==s&&o.push(i),(a=t==null?void 0:t.filter(d=>!o.includes(d.text)))!=null?a:null}),fe=gh("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)})),yh=t=>t.filter((e,n)=>n===t.findIndex(o=>o.text===e.text)),vh=fh({name:"entities",initialState:ud,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,n)=>{e.fetchState="done",e.data=yh(e.data?[...e.data,...n.payload]:n.payload)}).addCase($,()=>ud)}}),pd=vh.reducer;var Br={};q(Br,{enUS:()=>Sh,nlNL:()=>xh});var Sh={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},xh={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var gd={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Ur,jsxs as Eh}from"react/jsx-runtime";var wh=({onCopy:t})=>{let e=bh(null),n=C("EntitiesList",gd),o=Ch($o),{setSelected:s}=qt(),r=P(Br),i=Th();return md(()=>{i(fe())},[]),md(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Eh("div",{className:n.root,ref:e,tabIndex:-1,children:[o&&o.length>0&&Ur(G.List,{children:o.map((a,d)=>Ur(G.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),o&&o.length===0&&Ur("p",{className:n.empty,children:r("noResults")})]})},fd=wh;import{jsx as hd}from"react/jsx-runtime";var qo=t=>hd("svg",b(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:hd("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})}));var Dn={};q(Dn,{enUS:()=>kh,nlNL:()=>Rh});var kh={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"}]},Rh={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 yd}from"react-redux";var Go={trigger:"dd-dQ-OH",content:"dd-9k0N3",item:"dd-va6pa"};import{jsx as Xo,jsxs as Ih}from"react/jsx-runtime";var Ph=({suggestion:t,source:e,context:n})=>{let o=P(Dn),s=yd(Ce),r=V(),i=E("enableSuggestionFeedback"),a=Ao({conversationId:s,type:e,contentType:"text",content:t.text,data:n?JSON.stringify({context:n}):void 0}),d=yd(Ze(a)),l=()=>{r("suggestion feedback",{text:t.text,source:e,context:n})};return!i||!d?null:Ih(W,{placement:"top-end",children:[Xo(W.Trigger,{className:Go.trigger,children:Xo(qo,{"data-testid":"feedback-dropdown-trigger"})}),Xo(W.Content,{className:Go.content,children:Xo(W.Button,{className:Go.item,as:"a",onClick:l,target:"_blank",href:d,children:o("giveFeedback")})})]})},Jo=Ph;var _n={};q(_n,{enUS:()=>Ah,nlNL:()=>Lh});var Ah={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?"}]},Lh={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 _h}from"react";import{useDispatch as Fh,useSelector as Hh}from"react-redux";import{createAction as Oh,createAsyncThunk as bd,createSlice as Dh}from"@reduxjs/toolkit";var Mh=["{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}"],Nh=new RegExp(Mh.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function vd(t,e){let n=t.split(Nh),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 Sd(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Cd={suggestions:[],fetchState:"idle"},xd={default:Cd},Td=t=>e=>{var n,o;return(o=(n=e.textSuggestions[t])==null?void 0:n.suggestions)!=null?o:[]},Qo=t=>t.textSuggestions,wd=t=>{let e=t.toLowerCase();return n=>{let o=n.text.toLowerCase();return o.startsWith(e)&&o.length>e.length}},Zo=Oh("textSuggestions/refresh"),he=bd("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=dt(o),d=(c=o.conversation.current)==null?void 0:c.id;if(!d)throw new Error("No current conversation to fetch text suggestions");if(!((p=o.profile.data)!=null&&p.recommendationEngine))return[];let l=[];if(t==="sticky-messages"){let g=(u=o.profile.data)==null?void 0:u.code;if(!g)throw new Error("No current profile to fetch pinned messages");l=yield n.getPinnedMessages(g)}else l=yield n.getTextSuggestions(d,fn(o),t);if(s&&(l=l.map(g=>h(b(h({},g),{text:ge(g.text,s)}),g.title?{title:ge(g.title,s)}:{}))),t==="default"){let g=i?l.filter(wd(a)):l;e.dispatch(Je(g.slice(0,r)))}return l})),Fn=bd("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({},fn(o)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(wd(t))),r&&(l=l.map(u=>b(h({},u),{text:ge(u.text,r)}))),a&&(l=l.map(u=>b(h({},u),{text:u.source!=="trie-with-typos"?vd(u.text,t):u.text}))),l=Sd(l,i),e.dispatch(Je(l)),l})),Ed=Dh({name:"textSuggestions",initialState:xd,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:n}=e.payload;t[n].fetchState="done",t[n].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(he.pending,(e,n)=>{let o=n.meta.arg,s=e[o]||Cd;return b(h({},e),{[o]:b(h({},s),{fetchState:"loading"})})}).addCase(he.rejected,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="error")}).addCase(he.fulfilled,(e,n)=>{let o=n.meta.arg;e[o]&&(e[o].fetchState="done",e[o].suggestions=n.payload)}).addCase(Fn.pending,e=>{e.default.fetchState="loading"}).addCase(Fn.rejected,e=>{e.default.fetchState="error"}).addCase(Fn.fulfilled,(e,n)=>{e.default.fetchState="done",e.default.suggestions=n.payload}).addCase($,()=>xd)}}),{setTextSuggestions:TI}=Ed.actions,kd=Ed.reducer;import{jsx as Yo,jsxs as Uh}from"react/jsx-runtime";var Bh=({types:t,commands:e,onClick:n})=>{let o=Fh(),s=P(_n),r=Hh(Qo);return _h(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&o(he(i))})},[]),Uh("div",{children:[e.length>0&&Yo(G.List,{heading:s("commands"),children:e.map((i,a)=>Yo(G.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return Yo(G.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>Yo(G.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>n(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},Rd=Bh;import{jsx as ke,jsxs as zr}from"react/jsx-runtime";var $h=200,qh=5,Gh=4,Wr=(t,e,n)=>t.slice(0,n?10:e.toLowerCase()==="image"?Gh:qh),Xh=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Jh=()=>{var be,J,it;let t=jh(),e=oe(),n=P(_n),[o,s]=Kr(!1),[r,i]=Kr(""),a=Ct(La),d=Ct(et),[l,c]=Kr(),p=Ct(Q),u=E("showSearch"),g=E("enableSuggestionFeedback"),m=E("showEntitiesCommand"),f=E("showImageSearch"),y=E("searchTriggerKey"),v=Ct(Hl),x=Ct(Zs),T=Ct(Ma),w=Ct(Aa),A=((it=(J=(be=d==null?void 0:d.uiConfig)==null?void 0:be.search)==null?void 0:J.initialTypes)==null?void 0:it.filter(({isActive:N})=>N))||[],R=V(),I=Vh(()=>{let N=ne=>Wr(x.filter(j=>j.type===ne.toUpperCase()),ne,l),z=(v==null?void 0:v.map(ne=>({value:ne.code.toUpperCase(),label:`${ne.name}s`,list:N(ne.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(z.push({value:"PERSONAL",label:n("personalSuggestions"),list:N("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:n("urlSuggestions"),list:N("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:n("pinnedMessages"),list:N("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),f&&z.push({value:"IMAGE",label:n("imageSuggestions"),lineClamp:!1,list:N("IMAGE"),listOrientation:"horizontal"}),A.length===0)return z;let Le=A.map(ne=>z.find(j=>j.value.toLowerCase()===ne.type)).filter(ne=>!!ne),It=z.filter(ne=>!Le.find(j=>j.value===ne.value));return[...Le,...It]},[v,A,f,l]),U=[{label:n("entitiesClipboard"),onClick:()=>t(Bt("entities")),shouldShow:m&&Xh(n("entitiesClipboard"),r)}].filter(N=>N.shouldShow).filter(()=>!l),ce=Pd(Wh((N,z)=>{t(gt({query:N,type:z,tags:["search-overlay"],size:l?50:20}))},$h),[l]),Ae=Pd((N,z)=>{z.type==="IMAGE"?e.send(er,{suggestion:z}):e.send(De,{text:N,suggestion:z}),t(me(!1))},[t]),D=N=>{Te(N.text),R("entity copied",{entity:N,type:"copy"}),t(me(!1))};function K(N){return z=>{o?window.confirm(n("warning"))&&(N(z),s(!1)):N(z)}}return Id(()=>{r?ce(r,l):t(fo())},[r,l]),Id(()=>{p&&t(An())},[p]),cd(y,()=>{t(me(!0)),R("open search",{via:"ctrl+k"})}),!u||!d?null:zr(G,{placeholder:n("searchPlaceholder"),typePlaceholder:n("typePlaceholder"),onChangeSearch:i,onChangeOpen:K(N=>t(me(N))),onChangeType:N=>c(N),onChangePage:K(N=>t(Bt(N))),selectedType:l,search:r,page:a,isOpen:w,types:I,updateDeps:[x],children:[zr(G.Page,{id:"search",children:[r.length===0&&ke(Rd,{types:A,commands:U,onClick:Ae}),r.length>0&&zr(zh,{children:[U.length>0&&ke(G.List,{heading:n("commands"),children:U.map((N,z)=>ke(G.ListItem,{closeOnSelect:!1,onClick:N.onClick,id:`commands-${z}`,children:N.label},N.label))}),I.map(({value:N,label:z,list:Le,lineClamp:It,listOrientation:ne})=>ke(G.List,{heading:z,orientation:ne==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(N),hasMore:!l&&T[N.toLowerCase()]>Wr(Le,N,l).length,children:Wr(Le,N,l).map(j=>ke(G.ListItem,{id:`${N}-${j.id}`,closeOnSelect:!1,lineClamp:It,onClick:()=>Ae(j.text,j),description:N!=="IMAGE"?j.title&&j.text:void 0,tooltip:j.text,extra:g&&ke(G.ListItemActions,{children:ke(Jo,{context:r,source:"search",suggestion:j})}),children:N==="IMAGE"?ke(G.Image,{title:j.title||j.text,src:j.image}):j.title||j.text},`${j.id}-${j.text}`))},N))]})]}),ke(G.Page,{id:"entities",title:n("entitiesTitle"),onDismiss:K(()=>{t(Bt("search"))}),children:ke(fd,{onCopy:D})})]})},Ad=Jh;import{jsx as Ld,jsxs as Yh}from"react/jsx-runtime";var Zh=()=>{let t=E("showSearch"),e=E("isEmbedded");return Yh(Qh,{children:[t&&Ld(Ad,{}),e&&Ld(Fl,{})]})},Md=Zh;import oy from"classnames";import{useSelector as sy}from"react-redux";import{jsx as Vr}from"react/jsx-runtime";var Nd=({className:t})=>Vr("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:Vr("g",{children:Vr("path",{d:`M163.4,233h186v-70c0-25.6-9.4-47.8-27.3-65.7C304.2,79.4,282,70,256.4,70s-47.8,9.4-65.7,27.3
|
|
6
6
|
c-17.9,17.9-27.3,40.1-27.3,65.7C163.4,163,163.4,233,163.4,233z M465.5,267.9V477c0,9.4-3.4,17.9-10.2,24.7
|
|
7
7
|
c-6.8,6.8-15.4,10.2-24.7,10.2h-349c-9.4,0-17.9-3.4-24.7-10.2c-6.8-6.8-10.2-15.4-10.2-24.7V267.9c0-9.4,3.4-17.9,10.2-24.7
|
|
8
8
|
c6.8-6.8,15.4-10.2,24.7-10.2h11.9v-70c0-44.4,16.2-82.8,47.8-115.2S212.1,0,256.4,0s82.8,16.2,115.2,47.8
|
|
9
|
-
c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});import{jsx as Md}from"react/jsx-runtime";var Zh={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Nd=({className:t,color:e})=>Md("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Md("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:Zh[e||"pink"]})});var Od={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var zr={};q(zr,{enUS:()=>Yh,nlNL:()=>ey});var Yh={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},ey={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as oy}from"react-redux";import{jsx as Vr,jsxs as Dd}from"react/jsx-runtime";var _d=({onLogIn:t})=>{let e=P(zr),n=E("floatingMenu"),o=E("productName"),s=oy(),r=ny(Q),i=C("FloatingMenu",Od);if(r===null||n===!1)return null;let a=()=>{r===!0?s(me(!0)):t()};return Dd("button",{type:"button",className:ty(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Vr("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),Dd("div",{className:i.icon,children:[Vr(Nd,{className:i.logo,color:"pink"}),r===!1&&Vr(Ld,{className:i.lock})]})]})};import{useEffect as Ry,useRef as Py}from"react";import{useDispatch as Iy,useSelector as wt}from"react-redux";function Re(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input;return r.end<t.input.suggestionTextStart||r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import{createSlice as sy}from"@reduxjs/toolkit";var ry={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Yo=({ui:t})=>t.overlayCollapsed,Fd=sy({name:"ui",initialState:ry,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:Hn,setInputFocus:es,setOverlayCollapsed:tt,setOpenOverlayWhenTyping:Hd,setOverlayCollapsedUserOverwrite:Bd}=Fd.actions,Ud=Fd.reducer;var Kd={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as ts}from"react/jsx-runtime";var iy=({match:t,selected:e,styles:n})=>ts(M,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:ts("span",{className:n.styleSuggestion,children:t.suggestion})}),ay=({matches:t,selectedIndex:e})=>{let n=C("StyleSuggestionList",Kd);return ts(Y,{children:t.map((o,s)=>ts(iy,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},ns=ay;import{useMemo as Cy}from"react";import{Interweave as $d}from"interweave";import{useEffect as gy,useMemo as my,useRef as fy,useState as hy}from"react";import{useDispatch as yy,useSelector as qd}from"react-redux";import{useEffect as ly}from"react";function Wd(t,e,n){ly(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var zd={root:"dd-1MBCO",actions:"dd--x4cy",closeIconContainer:"dd-1z5NR",closeIcon:"dd-8qMF-",badge:"dd-4Fpkz",formattedText:"dd-EzvTB",assistantContainer:"dd-j6o8F",formattedTextTruncated:"dd-fv169",assistantBadge:"dd-VD57E"};import{jsx as Vd,jsxs as dy}from"react/jsx-runtime";var jd=({title:t})=>dy("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[Vd("title",{id:"closeTitle",children:t}),Vd("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]});var jr={};q(jr,{enUS:()=>cy,nlNL:()=>uy});var cy={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},uy={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as Ke,jsxs as Gd}from"react/jsx-runtime";var vy=["search","personal-collection-search","search-autocomplete"];function Sy(t,e,n,o={}){var r;let s="";return vy.includes(e)?s=jl(Ar(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=Ar(t,n,o),o.placeholders===!0&&(s=$l(s)),s}var xy=()=>{},by=({selected:t,suggestion:e})=>{let n=P(jr),o=E("inlineSuggestions"),s=qd(dt),[r,i]=hy(!1),a=E("enableSuggestionFeedback"),d=qd(y=>y.input.text),l=yy(),c=C("TextSuggestion",zd),u=fy(null),p=e.source==="assistant",g=a&&!p;gy(()=>{let y=setTimeout(()=>{l(la({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(y)}},[e]),Wd(u,"click",()=>{l(ie({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let m=()=>{l(ut({source:e.source,text:e.text,assistantCode:e.assistantCode}))},f=my(()=>Sy(e.text,e.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,s,e.searchKeywords]);return e.source==="gpt"&&!o?null:Gd("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[Ke(M,{ref:u,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:xy,children:e.source==="assistant"?Gd("div",{className:c.assistantContainer,children:[Ke($d,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:f}),Ke("span",{className:c.assistantBadge,children:n("assistant")})]}):Ke($d,{containerTagName:"div",tagName:"span",className:c.formattedText,content:f})}),g&&r&&Ke("div",{className:c.actions,children:Ke(Xo,{source:"overlay",context:d,suggestion:e})}),p&&r&&Ke("div",{className:c.closeIconContainer,children:Ke("button",{type:"button",className:c.closeIcon,onClick:m,title:n("close"),children:Ke(jd,{title:n("close")})})})]})},Xd=by;import{jsx as wy}from"react/jsx-runtime";var Ty=({suggestions:t,selectedIndex:e,reverse:n})=>Cy(()=>{let s=t.map((r,i)=>wy(Xd,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),os=Ty;var Jd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as Ey,createSlice as ky}from"@reduxjs/toolkit";var ss={list:{keywordMatches:[]},fetchState:"idle"},rs=t=>t.styleSuggestions.list,Tt=Ey("styleSuggestions/getAll",(n,o)=>S(null,[n,o],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ss.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),Qd=ky({name:"styleSuggestions",initialState:ss,reducers:{commitStyleSuggestion(t,e){let{keyword:n,suggestion:o}=e.payload;t.list.keywordMatches=t.list.keywordMatches.filter(s=>s.keyword.toLowerCase()!==n.toLowerCase()||s.suggestion!==o)}},extraReducers:t=>{t.addCase(Tt.pending,e=>{e.fetchState="loading"}).addCase(Tt.rejected,e=>{e.fetchState="error"}).addCase(Tt.fulfilled,(e,n)=>{e.fetchState="done",Xe(e.list,n.payload)||(e.list=n.payload)}).addCase(pt,e=>{e.list=ss.list}).addCase($,()=>ss)}}),{commitStyleSuggestion:Zd}=Qd.actions,Yd=Qd.reducer;var is=t=>{let e=new Set;return t.filter(({keyword:n,suggestion:o})=>{let s=JSON.stringify([n.toLowerCase(),o]);return e.has(s)?!1:(e.add(s),!0)})};import{jsx as as,jsxs as Ly}from"react/jsx-runtime";var Ay=()=>{var y;let t=Py(null),e=C("InlineSuggestionsOverlay",Jd),n=wt(Re),o=Iy(),s=wt(Q),r=wt(Dt),i=wt(Yo),a=E("showTextSuggestions"),d=wt(ct),l=wt(gn),c=E("showStyleSuggestions"),u=E("showStyleSuggestionList"),p=wt(rs),g=c&&u?is((y=p.keywordMatches)!=null?y:[]):[],m=g.length>0,f=a&&d.length>0;return yt(()=>{setTimeout(()=>{o(tt({collapse:!0,skipWhenInputFocus:!0}))})}),Ry(()=>{let v=t.current;if(!v||!v.parentElement)return;v.parentElement.style.left="0px";let x=v.getBoundingClientRect();v.parentElement.style.left=`${Math.min(window.innerWidth-4-x.right,0)}px`}),i||s!==!0||r===!1||!n&&!m||!f&&!m?null:as("div",{className:e.root,"data-variant":"inline",children:Ly("div",{ref:t,className:e.paper,children:[m&&as(ns,{matches:g,selectedIndex:-1}),f&&as(Y,{children:as(os,{suggestions:d,selectedIndex:l})})]})})},ec=Ay;import Oy,{useState as qr,useEffect as Dy}from"react";var tc={root:"dd-7zvcP",dialogContent:"dd-4C0lK",continueButton:"dd-YUPQW",buttonContinueWrapper:"dd-IKpYs",nicknameInput:"dd-rxhGp",titleWrapper:"dd-nw3nD",title:"dd-5iof5",closeButtonWrapper:"dd-UUAzA",closeButton:"dd-7rjP5",buttonsWrapper:"dd-5e9Xb",errorMessage:"dd--5VgX",errorLink:"dd-u461n"};import{useSelector as _y}from"react-redux";var $r={};q($r,{enUS:()=>My,nlNL:()=>Ny});var My={title:[{type:0,value:"Enter your nickname"}],close:[{type:0,value:"Close"}],nicknameDialogTitle:[{type:0,value:"Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment."}],nicknameDialogInputPlaceholder:[{type:0,value:"Enter your nickname"}],nicknameDialogContinueButton:[{type:0,value:"Continue"}],nicknameDialogError:[{type:0,value:"Nickname cannot be empty or spaces only"}],nicknameDialogEmojiError:[{type:0,value:"You cannot use emojis in this field."}],nicknameDialogSaveError:[{type:0,value:"We couldn't save your details just now. Please try again, or update it at "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We couldn\u2019t save your details just now. Please try again later, or update them in My Deepdesk \u2192 Settings."}]},Ny={title:[{type:0,value:"Voer je bijnaam in"}],close:[{type:0,value:"Sluiten"}],nicknameDialogTitle:[{type:0,value:"Voer de naam in die je wilt dat klanten zien tijdens chatgesprekken. Deze bijnaam wordt gebruikt in je Deepdesk-omgeving."}],nicknameDialogInputPlaceholder:[{type:0,value:"Voer je bijnaam in"}],nicknameDialogContinueButton:[{type:0,value:"Doorgaan"}],nicknameDialogError:[{type:0,value:"Bijnaam mag niet leeg of alleen spaties zijn"}],nicknameDialogEmojiError:[{type:0,value:"Je kunt geen emoji's gebruiken in dit veld."}],nicknameDialogSaveError:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw of werk het bij op "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw later, of werk ze bij in My Deepdesk \u2192 Instellingen."}]};import{Fragment as Fy,jsx as ye,jsxs as ls}from"react/jsx-runtime";var nc=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=qr(""),[i,a]=qr(!1),[d,l]=qr(!1),c=C("Nickname",tc),u=Oy.useRef(null),p=_y(v=>v.info.showNicknameDialog),g=P($r),m=E("adminUrl");Dy(()=>{o&&a(!0)},[o]);let f=()=>{if(!u.current)return;s.trim()?u.current.setCustomValidity(""):u.current.setCustomValidity(g("nicknameDialogError")),u.current.reportValidity()},y=v=>{v.preventDefault();let x=s.trim(),T=v.currentTarget.querySelector("#nickname-input");if(!x){T.setCustomValidity(g("nicknameDialogError")),T.reportValidity();return}T.setCustomValidity(""),e(x)};return ls($t,{isOpen:p,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[ye("div",{className:c.titleWrapper,children:ye("h1",{className:c.title,children:g("title")})}),ls("form",{className:c.dialogContent,onSubmit:y,children:[ye("p",{children:g("nicknameDialogTitle")}),i&&o&&ye("div",{className:c.errorMessage,children:m?(()=>{let v=g("nicknameDialogSaveError",{account:m}),x=`${m}.deepdesk.com/admin/user-settings`,T=v.indexOf(x);if(T!==-1){let w=v.substring(0,T),A=v.substring(T+x.length);return ls(Fy,{children:[w,ye("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:x}),A]})}return v})():g("nicknameDialogSaveErrorWithoutLink")}),ye("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:g("nicknameDialogInputPlaceholder"),value:s,onChange:v=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(v.target.value)),r(v.target.value)},onBlur:f,ref:u}),d&&ye("div",{className:c.errorMessage,role:"alert",children:g("nicknameDialogEmojiError")}),ls("div",{className:c.buttonsWrapper,children:[o?ye("div",{className:c.closeButtonWrapper,children:ye("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:g("close")})}):null,ye("div",{className:c.buttonContinueWrapper,children:ye("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:g("nicknameDialogContinueButton")})})]})]})]})};import{Provider as Hy}from"react-redux";import{jsx as ds}from"react/jsx-runtime";var By=({children:t})=>{let n=E("locale").replace("-","");return ds(cr.Provider,{value:n,children:t})},Uy=({store:t,customStyles:e={},children:n})=>ds(Hy,{store:t,children:ds(By,{children:ds(ln.Provider,{value:e,children:n})})}),We=Uy;import Zr from"classnames";import{useEffect as Zy,useRef as Yy,useState as ev}from"react";import{useDispatch as tv,useSelector as ze}from"react-redux";import{useState as Ky}from"react";function oc(t,e){let[n,o]=Ky(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return k.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){k.error(i)}}]}var sc=()=>/Mac/i.test(navigator.platform);import Vy from"classnames";import{Fragment as jy,useCallback as Xr,useMemo as ic}from"react";var Gr={};q(Gr,{enUS:()=>Wy,nlNL:()=>zy});var Wy={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Sign in"}]},{type:0,value:" to enable "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze for "},{type:8,value:"min",children:[{type:0,value:"10 minutes"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 hour"}]},{type:0,value:" or "},{type:8,value:"day",children:[{type:0,value:"1 day"}]}]},zy={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Log in"}]},{type:0,value:" bij "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze voor "},{type:8,value:"min",children:[{type:0,value:"10 minuten"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 uur"}]},{type:0,value:" of "},{type:8,value:"day",children:[{type:0,value:"1 dag"}]}]};var rc={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as cs,jsxs as ac}from"react/jsx-runtime";var Jr=(t,e,n)=>o=>cs("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),$y=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=P(Gr),i=oe(),a=C("Login",rc),d=E("productName"),l=E("signInViaPopup"),c=n&&!l,u=Xr(x=>{x.preventDefault(),o&&o(Number.parseInt(x.target.value,10))},[]),p=Xr(x=>{x.preventDefault(),i.send(Ut,!0)},[e]),g=ic(()=>x=>cs("a",{onClick:w=>{w.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),m=Xr(x=>cs("button",{type:"button",className:a.anchorButton,onClick:p,children:x},"prompt"),[p]),{min:f,hour:y,day:v}=ic(()=>({min:Jr(a,600,u),hour:Jr(a,3600,u),day:Jr(a,3600*12,u)}),[]);return ac("div",{className:Vy(t,a.root),children:[r("loginPlease",{login:c?m:g,productName:d}),o&&ac(jy,{children:[cs("br",{}),r("snooze",{min:f,hour:y,day:v})]})]})},us=$y;import{useDispatch as qy}from"react-redux";var lc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as dc,jsxs as Xy}from"react/jsx-runtime";var Gy=({title:t})=>{let e=C("SearchTrigger",lc),n=qy(),o=V();return Xy("button",{type:"button",className:e.root,onClick:()=>{n(me(!0)),o("open search",{via:"autocomplete-overlay"})},children:[dc(Gt,{}),dc("span",{className:e.text,children:t})]})},cc=Gy;var Qr={};q(Qr,{enUS:()=>Jy,nlNL:()=>Qy});var Jy={arrowHint:[{type:0,value:"Tip: use arrow keys to navigate suggestions"}],searchHintWindows:[{type:0,value:"Press CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],searchHintMac:[{type:0,value:"Press CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Close"}],search:[{type:0,value:"Search"}],dismiss:[{type:0,value:"Dismiss"}],dismissError:[{type:0,value:"Dismiss error"}]},Qy={arrowHint:[{type:0,value:"Tip: Selecteer suggesties met pijltoetsen"}],searchHintWindows:[{type:0,value:"Druk CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],searchHintMac:[{type:0,value:"Druk CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Sluiten"}],search:[{type:0,value:"Zoeken"}],dismiss:[{type:0,value:"Sluiten"}],dismissError:[{type:0,value:"Foutmelding sluiten"}]};var uc={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2",loginError:"dd-KCXeb",loginErrorMessage:"dd-Bv-BG",loginErrorDismiss:"dd-iSCjU"};import{jsx as X,jsxs as nt}from"react/jsx-runtime";var nv=({onLogIn:t})=>{var z;let e=C("SuggestionsOverlay",uc),n=P(Qr),o=ze(Re),s=ze(aa),r=tv(),i=Yy(null),a=E("searchTriggerKey"),d=E("productName"),l=ze(Yo),c=ze(Q),u=ze(Xi),p=ze(Dt),[g,m]=ev(null),f=E("showSearch"),y=E("showTextSuggestions"),v=E("adminUrl"),x=E("isEmbedded"),T=E("suggestionsPlacement"),[w,A]=oc("dd-snooze-until-ms",0),R=l||w>Date.now(),I=ze(ct),U=ze(gn),ce=E("showStyleSuggestions"),Ae=E("showStyleSuggestionList"),D=ze(rs),K=ce&&Ae?is((z=D.keywordMatches)!=null?z:[]):[],be=K.length>0,J=I.filter(Le=>Le.source!=="gpt").length,it=()=>{R&&A(0),r(Bd(!R))},N=Le=>{let It=Date.now()+Le*1e3;A(It),k.info(`Snooze until: ${new Date(It)}`),r(tt({collapse:!0}))};return Zy(()=>{J===0&&m(null)},[I,J]),yt(()=>{r(tt({collapse:!0,skipWhenInputFocus:!0}))}),c===null||p===!1?null:c===!1?nt("div",{ref:i,className:Zr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:e.triggersRight,children:X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),nt("div",{className:e.collapsible,children:[u&&nt("div",{className:e.loginError,children:[X("span",{className:e.loginErrorMessage,children:u}),X("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(oo()),"aria-label":n("dismissError"),children:n("dismiss")})]}),X(us,{loginUrl:v,isEmbedded:x,onLogIn:t,onSnooze:N})]})]}):!s||!o&&!be?null:nt("div",{ref:i,className:Zr(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1},children:f&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(n(sc()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>m(null),children:X(cc,{title:n("search")})})}),nt("div",{className:e.triggersRight,onFocus:()=>{},children:[X("div",{className:Zr(!g&&e.hintsHidden,e.hints),children:g}),X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})]})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),(be||J>0&&y)&&nt("div",{className:e.collapsible,onFocus:()=>{},children:[be&&X(ns,{matches:K,selectedIndex:-1}),J>0&&y&&X(Y,{children:X(os,{suggestions:I,selectedIndex:U,reverse:T==="above"})})]})]})},pc=nv;import si from"classnames";import{Interweave as Wv}from"interweave";import{useCallback as zv,useEffect as Vv,useMemo as Lc,useRef as jv}from"react";import{connect as $v}from"react-redux";import{useEffect as ov,useRef as sv,useState as rv}from"react";function ps(t){return t.contentEditable==="true"}function iv(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function gc(t){let{selectionStart:e,selectionEnd:n}=ps(t)?iv(t):t;return[e,n]}function mc(t){let[,e]=rv(),n=sv(null);return n.current=gc(t),ov(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=gc(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function fc(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Yn);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=o.indexOf(d,a);return s>l&&r<l+d.length?(n.selectionStart=l,n.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as av}from"react";var lv=["div","span","mark","strong","b","i","u","em"];function Yr(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(lv.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),av(o,{children:Yr(i,e,n+1)})]}return[...t,...e]}function Et(t){return t.tagName.toLowerCase()==="textarea"}var hc={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import fv from"classnames";import{Matcher as hv}from"interweave";import{useEffect as yv,useMemo as vv}from"react";import{useEffect as dv,useRef as cv,useState as uv}from"react";function yc(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function gs(t){let e=cv(null),[n,o]=uv(!1);return dv(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=yc((u,p)=>{let g=e.current;if(!g)return;let m=u/r,f=p/r,y=g.getBoundingClientRect(),v=m>y.x&&m<y.x+y.width&&f>y.y&&f<y.y+y.height;v&&!s?(s=!0,o(!0)):!v&&s&&(s=!1,o(!1))},({clientX:u,clientY:p})=>[u,p]),[d,l]=yc(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,n]}function ms(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function fs(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function vc(t){return t!=null}import pv from"classnames";import{forwardRef as gv,useRef as mv}from"react";var Ve={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as Sc}from"react/jsx-runtime";var hs=gv((s,o)=>{var r=s,{className:t,children:e}=r,n=O(r,["className","children"]);let i=mv(null),a=C("TabCompletion",Ve);return Sc("div",b(h({ref:fs([i,o]),className:pv(t,a.popoverContentContainer)},n),{children:Sc("div",{className:a.popoverContent,children:e})}))});import{jsx as Bn,jsxs as bv}from"react/jsx-runtime";var Sv=t=>e=>{let n=xr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},xv=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=C("TabCompletion",Ve),i=Mo(),a=vv(()=>Sv(t.getBoundingClientRect()),[t]),[d,l]=gs(t);return yv(()=>{l?i.open():i.close()},[l]),bv("span",{children:[Bn("mark",{ref:fs([d,i.triggerRef]),className:fv(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&Bn(Wt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:Bn(hs,{style:n,children:Bn("div",{className:r.hintText,children:s})})})]})},ys=class extends hv{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(n,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(s=>b(h({},s),{keywordRegex:new RegExp(`\\b${ms(s.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),n}match(n){let o=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=n.match(r.keywordRegex);if(!i)return null;let a=n.charAt(i.index-1),d=n.charAt(i.index+r.keyword.length);return a==="{"&&d==="}"?null:{index:i.index,length:i[0].length,match:i[0],matchString:i[0],suggestion:r.suggestion,preparedKeywordMatch:r,valid:!0}}).filter(vc);if(o.length===0)return null;let s=o.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(n,o){return Bn(xv,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:n},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as Cv}from"interweave";import Tv from"classnames";import{jsx as xc}from"react/jsx-runtime";var wv=({inputElement:t,children:e})=>{let n=C("TabCompletion",Ve),[o,s]=gs(t);return xc("mark",{ref:o,className:Tv(n.matchPlaceholder,{[n.hover]:s}),children:e})},vs=class extends Cv{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return xc(wv,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import oi from"classnames";import{Matcher as Ov}from"interweave";import{createRef as Dv,forwardRef as _v,useCallback as Fv,useEffect as Pc,useRef as Ic,useState as Ac}from"react";import{useDispatch as Hv,useSelector as Bv}from"react-redux";import{jsx as bc}from"react/jsx-runtime";var Cc=()=>bc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:bc("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"})});import{useCallback as Ev,useEffect as wc,useMemo as kv,useState as Ec}from"react";import{useDispatch as Rv,useSelector as kc}from"react-redux";import Pv from"lodash.debounce";var Tc={root:"dd-ky-Bv",content:"dd-kV5e1"};function Ss(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch(r){return null}}function ei(t){return t.replace("https://www.","").replace("https://","")}import{jsx as kt,jsxs as ti}from"react/jsx-runtime";var Iv=3,Av=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),Lv=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=Iv})=>{let r=C("LinkSearch",Tc),[i,a]=Ec(""),d=Rv(),l=kc(bd("url")),c=kc(La("URL")),u=kv(()=>c.map(Av),[c]),[p,g]=Ec(u.length-1),m=E("fallbackImage"),f=T=>{let w=T.target;a(w.value)},y=(T,w)=>{T.stopPropagation(),T.preventDefault(),window.open(w,"_blank")},v=T=>{var R;let w=p-1<0?u.length-1:p-1,A=p+1===u.length?0:p+1;T.code==="Escape"&&(a(""),e()),T.code==="ArrowUp"&&g(w),T.code==="ArrowDown"&&g(A),T.code==="Enter"&&t(((R=u[p])==null?void 0:R.text)||i)},x=Ev(Pv(T=>{d(gt({query:T,type:"URL",tags:["link-search"]}))},300),[]);return wc(()=>{i&&x(i)},[i]),wc(()=>()=>{d(fo())},[]),ti("div",{className:r.root,children:[kt(Y,{withDivider:!0,children:(i?u:l).slice(0,s).map((T,w)=>kt(M,{selected:p===w,onClick:()=>t(T.text),"data-testid":"linksearch-suggestion",children:ti(_,{children:[kt(_.Image,{src:Ss(T,"small",m||void 0),title:T.title||T.text}),ti(_.Content,{className:r.content,cropText:!0,children:[kt(_.Title,{children:T.title||ei(T.text)}),T.title&&ei(T.text)]}),kt(M.Actions,{children:kt(M.ActionButton,{label:o,onClick:A=>y(A,T.text)})})]})},T.text))}),kt(In,{value:i,onChange:f,autoFocus:!0,placeholder:n,onKeyUp:v})]})},Rc=Lv;var ni={};q(ni,{enUS:()=>Mv,nlNL:()=>Nv});var Mv={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}],addToPersonalCollection:[{type:0,value:"Add to Personal Collection"}]},Nv={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}],addToPersonalCollection:[{type:0,value:"Toevoegen aan Personal Collection"}]};import{jsx as ve,jsxs as xs}from"react/jsx-runtime";var Uv=_v((t,e)=>{let n=C("TabCompletion",Ve);return ve("mark",{ref:e,className:oi(n.matchSelection)},"selection-start")}),Kv=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=P(ni),i=C("TabCompletion",Ve),a=E("addToPersonalCollection"),d=Bv(Ze("/admin/personal-collection/new")),l=Ic(null),c=Ic(null),[u,p]=Ac(null),g=Hv(),m=Mo(document.activeElement===o),[f]=Ac(()=>document.createRange());m.triggerRef.current=f,Pc(()=>()=>f.detach(),[]),Pc(()=>{let v=t.current,x=l.current;!v||!x||(f.setStart(v,0),f.setEnd(x,0))},[t.current,l.current]),yt(()=>{m.close()});let y=Fv(v=>{let x=f.toString(),T=/^http(s?):\/\//.test(v)?v:`https://${v}`,w=`[${x}](${T})`;g(ie({text:w,suggestion:{text:w,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return xs("span",{children:[ve("mark",{ref:l,className:oi(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":m.opened?"true":"false",children:s}),m.opened&&ve(Wt,{className:i.popoverRoot,triggerRef:m.triggerRef,boundaryRef:e,position:"above",align:"start",children:xs(hs,{style:n,ref:c,children:[xs("div",{className:oi(i.selectionOptions,{[i.selectionOptionsIsHidden]:u!==null}),children:[xs("button",{type:"button",tabIndex:u===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[ve(Cc,{}),ve("span",{children:"\xA0"}),ve("span",{children:r("insertLink")})]}),a&&d&&ve("button",{type:"button",tabIndex:u===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let v=f.toString(),x=`${d}?text=${encodeURIComponent(v)}`;window.open(x,"_blank")},children:ve("span",{children:r("addToPersonalCollection")})})]}),u==="insertLink"&&ve(Rc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:y,onDismiss:()=>{p(null),m.close()}})]})})]},"selection-end")},bs=class extends Ov{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=Dv(),this.foundIndex=0,n}match(n){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,s]=this.props.selection;if(o===s)return null;let r=this.foundIndex===0?o:s,i=r>=this.charCount&&r<=this.charCount+n.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=n.length,i?h({isStart:a},i):null}replaceWith(n,o){return o.isStart?ve(Uv,{ref:this.startRef}):ve(Kv,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as qv}from"react-redux";import{jsx as Jt,jsxs as Jv}from"react/jsx-runtime";var Gv=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=C("TabCompletion",hc),c=E("insertLink"),u=E("addToPersonalCollection"),p=E("showMidSentenceSuggestions"),g=E("inlineSuggestions"),m=mc(a),f=jv(null),y=qv(Q);Vv(()=>{Et(a)&&m&&fc(a,m)},[m]);let v=zv(w=>{if(!s||!n)return w;let A=[Jt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Jt("span",{"data-testid":"tab-completion",className:si(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&A.push(Jt("span",{className:si(l.hint,l.resetIndent),children:Jt(Bs,{keyCode:"tab"},"tabHint")},"tabHint")),Yr(w,A)},[s,n,o]),x=Lc(()=>{let w=[];return(c||u)&&w.push(new bs("selection")),w.push(new vs("placeholders")),r&&w.push(new ys("keywords")),w},[g,c,u,r]),T=Lc(()=>{let w=window.getComputedStyle(a);return{"--dd-color":w.color,"--dd-font-size":w.fontSize,"--dd-font-family":w.fontFamily,"--dd-font-variant":w.fontVariant}},[]);return!t||!y?null:Jv("div",{ref:w=>{w!=null&&w.parentElement&&(f.current=w==null?void 0:w.parentElement)},className:l.root,style:T,children:[Jt(Wv,{tagName:"span",containerTagName:"div",className:si(l.container,l.agentText),disableLineBreaks:Et(a),content:e||"\u200B",onAfterParse:v,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:T,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Jt("br",{})]},"tab-completion")},Xv=t=>{var v,x,T;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=_t({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:On(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),u=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:p}=n,{isSupported:g}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:y}=o;return{showTabHint:p,showStyleSuggestions:y,showTabCompletion:m&&Re(t),content:l,tabText:u,source:d,keywordMatches:(T=(x=s.list)==null?void 0:x.keywordMatches)!=null?T:[],enabled:f&&g!==!1}},Mc=$v(Xv)(Gv);import{Fragment as FS,useEffect as pi,useState as HS}from"react";import{useDispatch as cu,useSelector as te}from"react-redux";import{createAsyncThunk as Nc,createSlice as Qv}from"@reduxjs/toolkit";var Zv={token:null,interval:null},ri=Nc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),ii=Nc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(ri()),setInterval(()=>o(ri()),n)}),Oc=Qv({name:"passwordlessToken",initialState:Zv,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(ri.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(ii.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:Dc}=Oc.actions,_c=Oc.reducer;import{createSelector as Yv}from"@reduxjs/toolkit";function eS(t){return"buttonText"in t&&"eventName"in t}function Fc(t){if(t)return eS(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function tS(t){return t==null?void 0:t.map(e=>Fc(e))}function nS(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var Hc=Yv([qa,so],(t,e)=>(e?t.filter(s=>!s.externalConversationId||s.externalConversationId===e):t).map(s=>{var a;let r=Fc(s.callToAction),i=tS(s.callToActions);return b(h(h(h(h({text:s.response,title:s.name},r?{callToAction:r}:{}),i!=null&&i.length?{callToActions:i}:{}),s.message!==void 0?{message:s.message}:{}),(a=s.sources)!=null&&a.length?{sources:s.sources}:{}),{editable:s.editable,isLoading:s.isLoading,evaluationId:s.evaluationId,rule:{id:nS(s.code),label:s.code,name:s.name,description:s.name}})}));import{useEffect as oS,useState as sS}from"react";import Kc from"classnames";import{jsx as Bc}from"react/jsx-runtime";var Qt=()=>Bc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Bc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var Uc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Zt,jsxs as Wc}from"react/jsx-runtime";var rS=({entities:t})=>{let e=C("EntitiesWidgetList",Uc),[n,o]=sS(void 0),s=V(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Te(a.text),s("entity copied",{entity:a,type:"copy"}))};return oS(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:Zt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Wc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Zt("span",{className:e.entityText,children:a.text}),Wc("span",{className:e.iconWrapper,children:[Zt("span",{className:Kc(e.icon),children:Zt(Qt,{})}),Zt("span",{className:Kc(e.icon,n===d&&e.iconClicked),children:Zt(Qt,{})})]})]},a.text))})},zc=rS;import{jsx as Vc}from"react/jsx-runtime";var jc=()=>Vc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Vc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useRef as uS}from"react";import{useDispatch as pS,useSelector as gS}from"react-redux";var $c={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var qc={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as aS}from"react/jsx-runtime";var iS=({size:t=12})=>{let e=C("LoadingSpinner",qc);return aS("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},Gc=iS;import{jsx as Xc}from"react/jsx-runtime";var Jc=()=>Xc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Xc("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});import{jsx as Qc,jsxs as lS}from"react/jsx-runtime";var Zc=t=>lS("svg",b(h({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[Qc("title",{id:"checkTitle",children:"Check"}),Qc("path",{fill:"#666",d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})]}));var ai={};q(ai,{enUS:()=>dS,nlNL:()=>cS});var dS={error:[{type:0,value:"Something went wrong"}]},cS={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as je,jsxs as Yc}from"react/jsx-runtime";var mS=3e3,fS=({assistantOptions:t})=>{let e=C("OnDemandAssistants",$c),n=P(ai),o=uS(),s=pS(),r=vo(se),i=gS(Hl),a=V(),d=i.filter(p=>p.isPinned),l=i.filter(p=>!p.isPinned),c=()=>S(null,null,function*(){return t.attachments&&t.attachments.length>0?t.attachments:s(((p,g,m)=>S(null,null,function*(){let f;if(t.transcript==="in-memory-transcript"){let y=m.dynamicThunkObject.conversationQuery;if(y){let v=yield y();f=Array.isArray(v)?v:void 0}}else Array.isArray(t.transcript)&&(f=t.transcript);return ur({transcript:f})})))}),u=p=>S(null,null,function*(){clearTimeout(o.current);let g=yield c();a("trigger on demand assistant",{assistantCode:p}),yield r.call(h(b(h({},t),{assistantCode:p}),g.length>0?{attachments:g}:{})),o.current=setTimeout(()=>r.reset(),mS)});return i.length===0?null:Yc("div",{className:e.root,children:[d.map(({assistant:p,assistantName:g,displayName:m})=>je("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>u(p),children:m||g},p)),l.length>0&&Yc(W,{placement:"top-end",children:[je(W.Trigger,{className:e.trigger,disabled:r.state==="loading",children:je($o,{"data-testid":"trigger"})}),je(W.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:p,assistantName:g,displayName:m})=>je(W.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>u(p),children:m||g},p))})]}),r.state==="loading"&&je(Gc,{}),r.state==="done"&&je(Zc,{"data-testid":"trigger-done"}),r.state==="error"&&je(ul,{trigger:je(Jc,{}),children:n("error")})]})},eu=fS;import{useDispatch as wS}from"react-redux";import{useEffect as tu,useRef as vS,useState as SS}from"react";var Un={};q(Un,{enUS:()=>hS,nlNL:()=>yS});var hS={useCue:[{type:0,value:"Add to message"}],__summarizerAssistant__:[{type:0,value:"Summary"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},yS={useCue:[{type:0,value:"Voeg toe aan bericht"}],__summarizerAssistant__:[{type:0,value:"Samenvatting"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var li={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",ctaMessage:"dd-ge8nB",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l",form:"dd-sPNU2",formInput:"dd-F3E4I",formSubmit:"dd-vw5S0",actionButton:"dd-cCWyJ",editableCue:"dd-nWSD-",inputSpace:"dd-DGYB1"};import{jsx as Se,jsxs as Cs}from"react/jsx-runtime";var xS=500,bS=100,CS=({content:t,onChange:e,onCopy:n})=>{let o=vS(null),s=C("WidgetCue",li);return tu(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,bS),xS);r.style.setProperty("height",`${i}px`)},[t]),Se("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},TS=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s,onSourceClick:r})=>{var y;let i=C("WidgetCue",li),a=P(Un),d=V(),l=E("hasKeyboardInput"),[c,u]=SS(t.text),p=v=>{let x=v?b(h({},t),{callToAction:v}):t;e&&e(c,x),n(t)},g=(v,x)=>{o&&o(v,t),x&&Qe(x,i.fadeup)},m=v=>{s&&s(v,t)},f=v=>{v.preventDefault(),v.stopPropagation(),n(t)};return tu(()=>{d("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),Cs(M,{"data-testid":"cue",children:[Se(_,{children:Cs(_.Content,{children:[t.title&&Se(_.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?a(t.rule.label):t.title}),t.message&&Se("p",{className:i.ctaMessage,children:t.message}),t.editable?Se(CS,{content:c,onCopy:()=>{let v=document.getSelection();v&&g(v.toString())},onChange:v=>{var x;return u((x=v.target.value)!=null?x:"")}}):Se(St,{content:t.text,sources:t.sources,onSourceClick:v=>r==null?void 0:r(v,t),useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:g,onUse:l?m:void 0})]})}),Cs(M.ButtonsContainer,{children:[Cs("div",{className:i.actions,children:[Se(M.Button,{onClick:v=>{var x;return g((x=ko(c,"reply")[0])!=null?x:c,v.target)},variant:"primary",children:a("copyCue")}),t.callToAction&&Se(M.Button,{onClick:()=>p(),variant:"primary",children:t.callToAction.label}),(y=t.callToActions)==null?void 0:y.map((v,x)=>Se(M.Button,{onClick:()=>p(v),variant:"primary",children:v.label},`${v.event}-${v.label}-${x}`)),Se(M.Button,{onClick:f,variant:"secondary",children:a("removeCue")})]}),Se(Ao,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackText:t.text,feedbackType:"assistant"})]})]})},nu=TS;import{Fragment as kS,jsx as di}from"react/jsx-runtime";var ES=({cues:t})=>{let e=wS(),n=oe(),o=P(Un),s=V(),r=c=>{e(Po({code:c.rule.label})),s("Assistant response closed",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text})},i=(c,u)=>{Te(c),s("Assistant response copied",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,copiedText:c})},a=(c,u)=>{var p;u.callToAction&&(e(Ro(u)),s("Assistant call to action",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,eventName:u.callToAction.event,value:(p=u.callToAction.value)!=null?p:c}))},d=(c,u)=>{var p;n.send(De,{text:c,suggestion:{source:"assistant",assistantCode:(p=u.rule)==null?void 0:p.label,sourceText:c}}),s("Assistant response used",{evaluationId:u.evaluationId,assistantCode:u.rule.label,assistantOutput:u.text,usedText:c})},l=(c,u)=>{s("Assistant source clicked",{evaluationId:u.evaluationId,assistantCode:u.rule.label,source:c})};return di(kS,{children:t.map(c=>c.isLoading?di(Do,{title:c.rule.label.startsWith("__")?o(c.rule.label):c.title},c.rule.id):di(nu,{cue:c,onCallToAction:a,onRemove:r,onCopy:i,onUse:d,onSourceClick:l},c.evaluationId))})},ou=ES;import{Fragment as RS,useEffect as PS}from"react";var su={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as $e,jsxs as ci}from"react/jsx-runtime";function IS(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var ru=({data:t,schema:e})=>{let n=C("WidgetCustomData",su),o=s=>{Te(s)};return PS(()=>{k.info("Custom data",t,e)},[t]),$e("dl",{className:n.root,children:e.map(s=>{let r=IS(t,s.path);return ci(RS,{children:[$e("dt",{className:n.label,children:s.label}),$e("dd",{className:n.value,children:s.type==="boolean"&&r?$e("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?$e("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?ci("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r.join(", ")}),$e(Qt,{})]}):typeof r=="string"||typeof r=="number"?ci("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r}),$e(Qt,{})]}):"-"})]},s.label)})})};import{useCallback as LS}from"react";var AS=/(https?:\/\/[^\s]+)/,iu=t=>t.split(" ").find(e=>AS.test(e));import{jsx as Yt,jsxs as Ts}from"react/jsx-runtime";var MS=({suggestion:t,lines:e,onUse:n})=>{var u;let o=t.text||t.url||t.message,s=iu(o),r=P(Dn),i=E("showImages"),a=E("fallbackImage"),d=E("hasKeyboardInput"),l=p=>{p.preventDefault(),p.stopPropagation(),d&&n(o)},c=LS(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Ts(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Ts(_,{children:[i&&t.image&&Yt(_.Image,{src:Ss(t,"small",a||void 0),title:t.title}),Ts(_.Content,{children:[t.title&&Yt(_.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&Yt(M.Labels,{labels:t.searchKeywords}),Yt(_.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),Ts(M.Actions,{children:[s&&Yt(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Yt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},au=MS;import{Fragment as OS,jsx as lu}from"react/jsx-runtime";var NS=({lines:t,suggestions:e})=>{let n=oe(),o=(s,r)=>{n.send(De,{text:s,suggestion:b(h({},r),{source:r.source,sourceText:r.text})})};return lu(OS,{children:e.map(s=>lu(au,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},du=NS;var Kn={};q(Kn,{enUS:()=>DS,nlNL:()=>_S});var DS={waiting:[{type:0,value:"Loading\u2026"}],waitingForConversation:[{type:0,value:"Waiting for conversation\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}],close:[{type:0,value:"Close"}]},_S={waiting:[{type:0,value:"Laden\u2026"}],waitingForConversation:[{type:0,value:"Wachten op gesprek\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}],close:[{type:0,value:"Sluiten"}]};var en={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x"};import{jsx as L,jsxs as Wn}from"react/jsx-runtime";var uu=(t,e)=>{let n=te(Q);pi(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},BS=({onLogIn:t})=>{let e=C("Widget",en),n=E("isEmbedded"),o=E("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(us,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},ui=({text:t})=>{let e=C("Widget",en);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},US=()=>{let t=P(Kn),e=cu(),n=C("Widget",en),o=E("showSearch"),s=E("isEmbedded"),r=te(Ze("/admin/")),i=oe(),a=E("productName"),d=V();return uu(()=>{if(s)return e(ii()),()=>{e(Dc())}},[e,s]),!o&&!r?null:Wn("div",{className:n.shortcutList,children:[o&&L(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(Gt,{}),onClick:()=>{i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&L(M.Button,{as:"a",target:"_blank",icon:L(jc,{}),href:r,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:a}),className:n.shortcut,rel:"noreferrer",onClick:()=>{d("open my deepdesk",{via:"widget-shortcut"})},children:t("linkStudioLogin",{productName:a})})]})},KS=({title:t,content:e})=>{let n=P(Kn),[o,s]=HS(!0);return o?L(Me,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(Y,{withDivider:!0,children:Wn(M,{children:[L(_,{children:L(_.Content,{children:L(St,{content:e})})}),L(M.ButtonsContainer,{children:L(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},WS=()=>{let t=cu(),e=te(Mn),n=te(Ul),o=te(Hc),s=te(xa),r=te(jo),i=te(Jo),a=te(et),d=te(Ce);return pi(()=>{s&&!n&&k.warn("Custom data provided, but no schema.")},[s,n]),uu(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):eo.includes(l)||t(he(l))})},[t,d,a]),pi(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&k.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(FS,{children:e.map(({type:l,title:c,amount:u,lines:p,schema:g,property:m})=>{var f,y;switch(l){case"entities":return r&&r.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(zc,{entities:r})},l);case"cues":return o&&o.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(ou,{cues:o})})},l);case"custom-data-banner":return s&&m&&s[m]&&L(KS,{title:c,content:String(s[m])},l);case"custom-data":return s&&g&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(ru,{data:s,schema:g})})},l);default:return((y=(f=i[l])==null?void 0:f.suggestions)==null?void 0:y.length)>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(du,{lines:p,contentType:l,suggestions:i[l].suggestions.slice(0,u)||[]})})},l)}})})},gi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.footer,children:t})},mi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.root,"data-testid":"widget",children:t})},zS=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"}})=>{let o=P(Kn),s=te(Dt),r=te(Q),i=te(so),a=te(et),d=te(Bl("knowledge-assist")),l=te(Kl);return s===!1?L(ui,{text:o("notSupported")}):r===!1?L(BS,{onLogIn:t}):r===null?L(ui,{text:o("waiting")}):!i||!a?L(ui,{text:o("waitingForConversation")}):L(mi,{children:Wn(Ho,{initialQuestion:e.initialQuestion,assistantCode:l!=null?l:void 0,evaluateKnowledgeAssistFn:Rn,children:[Wn(dn,{children:[L(US,{}),L(WS,{}),d&&L(Uo,{title:d.title,emptyState:e.emptyState})]}),Wn(gi,{children:[d&&L(Bo,{}),L(eu,{assistantOptions:n})]})]})})},pu=zS;function Vn(t){let e=new Range;return e.selectNodeContents(t),e}function gu(t,e,n){try{return Rt(t,e,n),!0}catch(o){return!1}}function ws(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Es(t){return"tagName"in t&&t.tagName==="BR"}var zn=/[\u200B-\u200D\uFEFF]/g;function Rt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(d,l){let c=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(d))return l;for(let p=0;p<=d.length;p++)if(u.test(d[p])||c++,c===l)return p;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(zn,""),u=s+c.length,p=e>=s&&e<=u,g=n>=s&&n<=u;if(p){let m=i(l,e-s);m===0&&!g?o.setStartBefore(d):o.setStart(d,m)}g&&(o.setEnd(d,i(l,n-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Es(d)&&(s===e&&o.setStartBefore(d),s++,s===n)){o.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;ws(d)&&l&&!ws(l)&&!Es(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function ks(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(u){let p=u===t,g=u===n,m=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;g&&(a=l+f.substring(0,o).replace(zn,"").length),m&&(d=l+f.substring(0,r).replace(zn,"").length),l+=f.replace(zn,"").length;break}case Node.ELEMENT_NODE:{if(Es(u)&&u.nextSibling){l++;break}!p&&ws(u)&&u.previousSibling&&l++;for(let f=0;f<u.childNodes.length;f++){let y=g&&f===o,v=m&&f===r;if(y&&(a=l),v&&(d=l),d!==void 0||((!y||!i)&&c(u.childNodes[f]),m&&f===r-1&&(d=l),d!==void 0))break}m&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function Rs(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let u=c===t,p=c===n,g=c===s;switch(p&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let m=p?o:0,f=g?r:void 0;d+=c.textContent.replace(zn,"").substring(m,f);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Es(c)&&c.nextSibling){d+=`
|
|
10
|
-
`;break}!
|
|
11
|
-
`);let m=p?o:0,f=g?Math.min(r,c.childNodes.length):c.childNodes.length;for(let y=m;y<f&&(l(c.childNodes[y]),a!==2);y++);break}default:break}g&&(a=2)}return l(t),d}var mu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(mu||{}),ot=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedSuggestionTextStart=0;this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedSuggestionTextStart=this.getSuggestionTextStart(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.getSuggestionTextStart(),r=this.cachedCaretPosition===null;if(!this.isActive)return;e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit");let i=e!==this.cachedText,a=n!==null&&n!==this.cachedHTML,d=s!==this.cachedSuggestionTextStart;if((i||a||d)&&(i?(this.cachedText=e,this.cachedHTML=n):a&&(this.cachedHTML=n),this.cachedSuggestionTextStart=s,r=!0,this.emit("change",{plainText:e,rawHTML:n,suggestionTextStart:s})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,r=!0,this.emit("selection",o)),!r)return;let l=this.getCaretPosition();Xe(l,this.cachedCaretPosition)||(this.cachedCaretPosition=l,this.emit("caretposition",l))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(mu).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var o,s;let n=((o=e.clipboardData)==null?void 0:o.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}getSuggestionTextStart(){return 0}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}off(e,n){if(!this.eventListeners[e])return;let o=this.eventListeners[e].indexOf(n);o!==-1&&this.eventListeners[e].splice(o,1)}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function fu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var tn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),Rs(this.element,n)}getHTML(){return this.element.innerHTML||""}getRange(){let n=this.getRootNode();if(n.activeElement!==this.element)return null;let o="getSelection"in n?n.getSelection():window.getSelection();if(!o)return null;let s=o.rangeCount>0?o.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let n=this.getRange();if(!n||!n.collapsed||!("getBoundingClientRect"in n))return null;let o=n.getBoundingClientRect();return!fu(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!fu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return ks(this.element,n);let o=this.lastKnownSelection;if(o&&gu(this.element,o.start,o.end))return o;let s=Vn(this.element);return s.collapse(!1),ks(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return Rs(this.element,Rt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var VS=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize"];function hu(t,e){let n="mozInnerScreenX"in window,o=document.createElement("div");o.id="input-textarea-caret-position-mirror-div";let s=o.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",VS.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var nn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return hu(this.element,this.element.selectionEnd)}listen(){super.listen();let n=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=n==null?void 0:n.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=n==null?void 0:n.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let o=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function yu(t,e,n){let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=o,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function jS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var fi=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},hi=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=yu(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},yi=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),k.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new hi(e,this.deepdeskUrl,{debug:!0}):new fi(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=jS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(k.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;k.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(b(h({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},vu=yi;function $S(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[$S(n)]:B(t[n])}),{}):t}function qS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Z(t){return Array.isArray(t)?t.map(Z):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[qS(n)]:Z(t[n])}),{}):t}var on=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var jn=t=>new Promise(e=>{setTimeout(e,t)});var xe=class extends on{constructor(){super(...arguments);this.name="ClientError"}},Ps=class extends on{constructor(){super(...arguments);this.name="ServerError"}},vi=new Map;function Su(t){return S(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(k.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var sn=class{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};this.refreshingToken=null;this.lastFailedRefreshAt=null;this.failedRefreshCooldown=1e4;var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",R=n,{useCache:l=!1,abortLatest:c=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:g=!0,retryOnError:m=I=>I instanceof TypeError,retryOnResponse:f=I=>I.status>=500,version:y=null}=R,v=O(R,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(vi.has(i)){o(vi.get(i));return}}let x=b(h({credentials:"include"},v),{headers:h({Accept:"application/json","Content-Type":"application/json"},v.headers)});!d&&this.csrfToken&&(x.headers=b(h({},x.headers),{"X-CSRFToken":this.csrfToken})),typeof y=="string"&&(x.headers=b(h({},x.headers),{"X-Deepdesk-API-Version":y}));let T=u,w=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let A=()=>S(this,null,function*(){return T--,a(i,x).then(I=>S(this,null,function*(){return f(I)&&!r.isAborted&&T>0?(yield jn(p),A()):I.status===401&&g===!0&&w===!1?(w=!0,yield this.refreshToken(),A()):I})).catch(I=>S(this,null,function*(){if(m(I)&&!r.isAborted&&T>0)return yield jn(p),A();throw I}))});A().then(I=>S(this,null,function*(){let U=yield Su(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new Ps("Server Error",U));return}if(I.status===401){s(new xe("Unauthorized",U));return}if(I.status===403){s(new xe("Forbidden",U));return}if(I.status===404){s(new xe("Not Found",U));return}if(I.status>=400){s(new xe("Bad Request",U));return}l&&vi.set(i,U),o(U)})).catch(I=>{s(I)})})}validateToken(){return S(this,null,function*(){let e,n,o;try{({has_valid_access_token:e,is_logged_in:n,has_valid_refresh_token:o}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1}))}catch(s){return!1}if(!e){if(!o)return!1;try{yield this.refreshToken();let{is_logged_in:s}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1});return s}catch(s){return!1}}return n})}refreshToken(){let e=Date.now();return this.lastFailedRefreshAt&&e-this.lastFailedRefreshAt<this.failedRefreshCooldown?Promise.reject(new xe("Unauthorized","Failed to refresh token")):this.refreshingToken?this.refreshingToken:(this.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).catch(n=>{throw(n==null?void 0:n.message)==="Unauthorized"&&(this.lastFailedRefreshAt=Date.now()),n}).finally(()=>{this.refreshingToken=null}),this.refreshingToken)}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,h({method:"POST",body:JSON.stringify(n)},o))}postWithStatus(e,n,o){return this.requestWithStatus(e,h({method:"POST",body:JSON.stringify(n)},o))}requestWithStatus(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,A=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:u=500,refreshTokenOn401:p=!0,retryOnError:g=R=>R instanceof TypeError,retryOnResponse:m=R=>R.status>=500,version:f=null}=A,y=O(A,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]),v=b(h({credentials:"include"},y),{headers:h({Accept:"application/json","Content-Type":"application/json"},y.headers)});this.csrfToken&&(v.headers=b(h({},v.headers),{"X-CSRFToken":this.csrfToken})),typeof f=="string"&&(v.headers=b(h({},v.headers),{"X-Deepdesk-API-Version":f}));let x=c,T=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=()=>S(this,null,function*(){return x--,a(i,v).then(R=>S(this,null,function*(){return m(R)&&!r.isAborted&&x>0?(yield jn(u),w()):R.status===401&&p===!0&&T===!1?(T=!0,yield this.refreshToken(),w()):R})).catch(R=>S(this,null,function*(){if(g(R)&&!r.isAborted&&x>0)return yield jn(u),w();throw R}))});w().then(R=>S(this,null,function*(){let I=yield Su(R);if(delete this.latestRequestByUrl[i],R.status>=500){s(new Ps("Server Error",I));return}if(R.status===401){s(new xe("Unauthorized",I));return}if(R.status===403){s(new xe("Forbidden",I));return}if(R.status===404){s(new xe("Not Found",I));return}if(R.status>=400){s(new xe("Bad Request",I));return}o({status:R.status,data:I})})).catch(R=>{delete this.latestRequestByUrl[i],s(R)})})}patch(e,n,o){return this.request(e,h({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,h({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,h({method:"DELETE"},n))}};var xu;(e=>{let t;(a=>(a.SUCCESS="success",a.FAILURE="failure",a.CONDITIONS_NOT_MET="conditions_not_met",a.MAX_RECURSION_LEVEL="max_recursion_level",a.NO_ACCESS_TO_ASSISTANT="no_access_to_assistant"))(t=e.EvaluationStatus||(e.EvaluationStatus={}))})(xu||(xu={}));function Is(t){return b(h({},B(t)),{metadata:t.metadata})}var Pt=class Pt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new sn(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>S(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return S(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(Pt.exchangeTokenPromise||(Pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),Pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return S(this,null,function*(){var o;yield this.preflight(),k.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(o=e.metadata)!=null?o:{}}));return Is(n)})}upsertConversation(e){return S(this,null,function*(){var c;yield this.preflight(),k.info(`Upserting conversation for session ${e.externalId} and agent ${e.agentId}`);let{status:n,data:o}=yield this.client.postWithStatus("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=Is(o);if(n===201)return s;let{agentId:r,agentName:i,agentEmail:a,agentNickname:d,metadata:l}=e;return this.updateConversation(s.id,{agentId:r,agentEmail:a,agentName:i,agentNickname:d,metadata:l})})}getMe(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Z(e))})}patchMe(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Z(e));return B(n)})}getProfile(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return S(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return S(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return S(this,arguments,function*(e,n={}){yield this.preflight(),k.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return k.info(`Successfully retrieved conversation ${i.id} for session ${e}`),Is(i)})}isConversationSupported(o){return S(this,arguments,function*(e,n={}){k.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return S(this,null,function*(){var r;yield this.preflight();let o=Z(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return Is(s)})}postMessages(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>b(h({},Z(o)),{metadata:o.metadata})))})}sendEvent(e,n){return S(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=O(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>b(h({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Z(b(h(h({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return S(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return S(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return S(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw k.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Z(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return S(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Z(n),{abortLatest:!0})).map(i=>b(h({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return S(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return S(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Z(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return S(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>b(h({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return S(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Z(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return S(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Z(e));return B(n)})}loginWithPassword(e,n){return S(this,null,function*(){yield this.preflight();let o=yield this.client.post("/apis/admin/session/login/",{username:e,password:n},{refreshTokenOn401:!1});return B(o)})}logout(){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/logout/",{},{refreshTokenOn401:!1})})}requestLoginByEmail(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return S(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return S(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return S(this,null,function*(){var d,l,c;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=u=>Z(u),i=(d=n==null?void 0:n.transcript)==null?void 0:d.map(u=>{var p;return h({source:u.source,text:u.text},(p=u.attachments)!=null&&p.length?{attachments:u.attachments.map(r)}:{})}),a=yield this.client.post(s,h({input:(l=n==null?void 0:n.input)!=null?l:{},conversation:i},(c=n==null?void 0:n.attachments)!=null&&c.length?{attachments:n.attachments.map(r)}:{}));return B(a)})}createAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Z(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(ji);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&k.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};Pt.exchangeTokenPromise=null;var st=Pt;var As=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import{combineReducers as QS,configureStore as ZS}from"@reduxjs/toolkit";import{createSlice as GS}from"@reduxjs/toolkit";var bu={startTime:null,stopTime:null},Cu=t=>t.handlingTime,Tu=GS({name:"handlingTime",initialState:bu,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase($,()=>bu)}}),{handlingTimeStart:wu,handlingTimeStop:Ls,handlingTimeReset:Eu}=Tu.actions,ku=Tu.reducer;var Ru=(t={})=>{let e=h({onAuthError:Nt(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var Pu=(t={})=>{let e,n=!0,o=h({getStyleSuggestions:Tt,debounce:500},t);return s=>r=>i=>{var g;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((g=l.conversation.current)==null?void 0:g.id)||!c)return d;let{text:p}=l.input;return p===a&&!n||(clearTimeout(e),p==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:p}))},t.debounce)),d}};function XS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var Iu=(t={})=>{let e=h({getTextSuggestions:he,getAutocompleteSuggestions:Fn,debounce:200,check:Re},t),n;return o=>s=>r=>{var f;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,u=(f=d.conversation.current)==null?void 0:f.id,p=r.type===Qo.toString();if(!u||!l&&!c)return a;let{input:g}=d;return XS(g,i)&&!p||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let y=dt(d);y===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Au=Tt.fulfilled.toString();function JS(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||o.push(...i.slice(0,a))}),o}var Lu=t=>e=>n=>o=>{var l;if(o.type!==Au){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=JS(s,i);o.type===Au&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var YS=QS({assistants:el,auth:Yi,conversation:sa,contentTypes:Fl,passwordlessToken:_c,entities:cd,handlingTime:ku,info:Ra,input:ya,settings:nl,profile:Wl,search:Na,styleSuggestions:Yd,ui:Ud,textSuggestions:wd});function Mu(t){return ZS({reducer:YS,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(Ru()).concat(Iu({debounce:200})).concat(Pu({debounce:500})).concat(Lu(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function Nu(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${ms(e)}\\b`,"gi"),s,r=null;for(;(s=o.exec(t))!==null&&!(s.index>n);)r={start:s.index,end:s.index+s[0].length};return r}var ex=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},tx=t=>e=>n=>o=>{var d,l,c,u,p,g;let s=e.getState(),r=ft("inlineSuggestions")(s),i=ft("autoSelectSuggestion")(s)||r;switch(o.type){case Nt.toString():{!o.payload&&t.emit("logout",void 0);break}case no.fulfilled.toString():{t.emit("logout",void 0);break}case fe.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{entities:o.payload}});break;case pt.toString():t.logSendMessage(o.payload);break;case Ro.toString():t.emit("call-to-action",{cue:o.payload});break;case se.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:m,currentExternalIdAtRequest:f}=(l=o.payload)!=null?l:{};(!m||!f||m===f)&&t.broadcast(Zs,o,!1)}break;case se.rejected.toString():break;default:break}let a=n(o);switch(o.type){case pt.toString():t.handleAfterSendMessage(o.payload);break;case Hn.toString():t.onUpdateShowTabHint(o.payload);break;case Ls.toString():t.logHandlingTime();break;case Ft.toString():t.broadcast(yo,o);break;case ut.toString():t.broadcast(yo,o);break;case Po.toString():e.dispatch(ut({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let m=s.assistants.cues.find(f=>f.code===o.meta.arg.data.assistantCode);t.emit("event",b(h({},o.meta.arg),{cue:m}));break}case ie.toString():{let{start:m,end:f}=s.input.selection;t.emit("select-suggestion",b(h({type:ex(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}})),r&&e.dispatch(Je([]));break}case Zd.toString():{let{keyword:m,suggestion:f,eventMetrics:y}=o.payload,{text:v,selection:x}=s.input,T=Nu(v,m,(c=x==null?void 0:x.end)!=null?c:v.length);if(!T)break;t.emit("select-suggestion",{text:f,type:"style",replace:T,suggestion:{text:f,source:"style"},eventMetrics:y});break}case lo.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case Je.toString():{i&&o.payload.length>0&&e.dispatch(co(0));break}case se.fulfilled.toString():{let{evaluationId:m,output:f,externalConversationId:y}=o.payload,v=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:m,assistantCode:v,assistantOutput:Xa(f),externalConversationId:y,evaluationStatus:"success"}}),!o.meta.arg.skipState){let x=e.getState().assistants.cues;t.emit("cues",x)}break}case se.rejected.toString():{let m=o.meta.arg.assistantCode,f=(g=o.meta.arg.externalConversationId)!=null?g:(p=e.getState().conversation.current)==null?void 0:p.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:m,assistantOutput:"",externalConversationId:f,evaluationStatus:"failed"}});break}default:break}return a},Ou=tx;import{createSelector as nx}from"@reduxjs/toolkit";function Si(t){return t.toISOString().replace("T"," ").replace("Z","")}var ox=(t,e)=>e.version,Du=nx([Ht,Ce,Cu,ox],(t,e,n,o)=>{if(!e)return k.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(k.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:Si(s),timeStop:Si(r)}});function _u(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}var $n=class extends Error{};function sx(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Ms=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new $n("Queued async function is outdated"));let s=sx();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function xi(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return xi(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?xi(s,e):null}function bi(t,e){return xi(t,e)}var rx={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},Fu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return k.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[rx[e]];return o&&o.length>0?o.map(a=>a.code):(k.warn(`No assistant set in profile for conversation event "${e}"`),[])};function Hu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function ix(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Ci(t){return ix(t)&&(Et(t)||ps(t))}var Uu,Pe=new Map,ax=["bottom","height","left","right","top","width"],Bu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:ax.some(n=>t[n]!==e[n]);function Ku(t){var n,o,s;if(t.ownerDocument===document)return[];let e=(s=(o=(n=t.ownerDocument)==null?void 0:n.defaultView)==null?void 0:o.frameElement)!=null?s:null;return e?[e,...Ku(e)]:[]}function Wu(t,e){return!t||!e?null:b(h({},t),{top:t.top+e.top,left:t.left+e.left})}var Ns=!1,zu=()=>{Ns=!0;let t=[];if(Pe.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Pe.delete(n);return}let o=n.getBoundingClientRect();Bu(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(Wu,e.rect):e.rect;Bu(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Pe.size===0){Ns=!1;return}Uu=window.requestAnimationFrame(zu)};function Ti(t,e){let n=Ku(t),o=[],s=n.map((r,i)=>Ti(r,a=>{o[i]=a;let d=Pe.get(t);if(!d)return;let l=o.reduce(Wu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Pe.has(t)){let i=Pe.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Pe.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Ns&&zu()},unobserve(){s.forEach(i=>i.unobserve());let r=Pe.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Pe.delete(t),Pe.size||(cancelAnimationFrame(Uu),Ns=!1)}}}}var Vu,Ie=new Map,ju=()=>{Ie.forEach((t,e)=>{if(!e.isConnected){Ie.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),Ie.size!==0&&(Vu=window.requestAnimationFrame(ju))};function $u(t,e){return{observe(){let n=Ie.size===0;Ie.has(t)?Ie.get(t).callbacks.push(e):Ie.set(t,{visible:void 0,callbacks:[e]}),n&&ju()},unobserve(){let n=Ie.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Ie.delete(t),Ie.size||cancelAnimationFrame(Vu)}}}}var wi=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function Ei(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function rn(t){return Number.parseFloat(t)}function Os(t){return Math.round(t*1e6)}function qu(t){return t/1e6}function ki(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=rn(t.width),r=rn(t.borderLeftWidth),i=rn(t.borderRightWidth),a=rn(t.paddingRight),d=qu(Os(s)-Os(r)-Os(i)),l=qu(Os(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function Ds(t,e={}){var c,u;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(c=e.position)!=null?c:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",vt(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};Ei(o,n,wi),ki(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=$u(t,()=>{Ei(o,n,wi),ki(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=Ti(t,p=>{if(p===null){e.onRemove&&e.onRemove(),n.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(Ei(o,n,wi),ki(o,t,n),r(),e.placement==="below"&&n.classList.add("below"),n.style.top=`${p.top}px`,n.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),f=rn(m.borderTopWidth),y=rn(m.borderBottomWidth),v=g.top+f-p.top,x=p.top+p.height+-(g.top+g.height-y);n.style.clipPath=`inset(${v}px 0px ${x}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(u=t.parentElement)==null||u.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}function lx(t){return t.offsetParent!==null}function Gu(t){if(!lx(t))return!1;let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function Ri(t,e,n=100){let o=Gu(t);e({isVisible:o});let s=setInterval(()=>{let r=Gu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Xu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){k.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as F,jsxs as dx}from"react/jsx-runtime";var Ju=Xu("showTabHint",!0),an=class an{constructor({deepdeskUrl:e,version:n=an.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=As}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new Ms;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new st(l,{token:s,fetch:r}),this.version=n,this.instanceId=an.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Ou({broadcast:(m,f,y)=>{this.broadcastEvents.send(m,f,y)},emit:(m,f)=>this.emit(m,f),handleAfterSendMessage:m=>this.handleAfterSendMessage(m),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:m=>this.logSendMessage(m),onUpdateShowTabHint:m=>Ju.update(m),sendEvent:(m,f)=>this.deepdeskApi.sendEvent(m,f)})]};this.store=Mu(c),this.broadcastEvents=new vu({debug:!0,deepdeskUrl:l,eventMap:Oa(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>S(this,null,function*(){var m;return(m=Q(this.state))!=null?m:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Hn(Ju.value())),this.store.dispatch(Io({locale:o,adminUrl:l,productName:i}));let u=[],p=m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Ya(m))};this.hasConversation()?f():u.push(f)};this.ws.on("assistants::direct_response",p),this.ws.on("assistants::user_notification",p),this.ws.on("assistants::response_chunk",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Za(m))};this.hasConversation()?f():u.push(f)}),this.ws.on("assistants::suggest_as_reply",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Ft([{text:m.payload.message,type:"text",source:"assistant",assistantCode:m.code,sourceLabel:m.name}]))};this.hasConversation()?f():u.push(f)});let g=this.whenConversationLoaded(()=>{var m;this.broadcastEvents.setExternalId((m=this.state.conversation.current)==null?void 0:m.externalId),u.forEach(f=>f()),u.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),u.length=0,g()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=ct(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(k.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(k.warn("Profile has not been loaded (yet)"),!0):(k.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(Q(this.state))e();else{let n=this.subscribe(Q,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Nt(null)),this.store.dispatch(Oe()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return S(this,null,function*(){return(yield this.store.dispatch(Oe())).payload})}isConversationSupported(e,n){return S(this,null,function*(){return(yield this.store.dispatch(js({externalId:e,options:n}))).payload})}createConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(ro(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return S(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(io({externalId:e,options:n}))).payload})}upsertConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch($s(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return S(this,null,function*(){yield this.store.dispatch(qs(e))})}updateConversation(e){return S(this,null,function*(){return(yield this.store.dispatch(ao(e))).payload})}resetConversation(){this.store.dispatch($()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Io(e))}setVisitorInfo(e){this.store.dispatch(Ta(e))}setCustomData(e){this.store.dispatch(wa(e))}setAgentInfo(e,n){return S(this,null,function*(){var s;yield this.store.dispatch(mn(h(h({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(ho,{showNicknameDialog:!0})})}setAgentSettings(e){return S(this,null,function*(){yield this.store.dispatch(Xs(e))})}getAgentSettings(){return S(this,null,function*(){return(yield this.store.dispatch(Js())).payload})}refresh(){return S(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(ie(e))}evaluateAssistant(e,n){return S(this,null,function*(){var c;let{input:o={},attachments:s=[],transcript:r,showCuesInWidget:i=!0,includeMetadata:a,externalConversationId:d}=n||{},l=yield this.store.dispatch(se({assistantCode:e,attachments:s,transcript:r,includeMetadata:a,input:o,externalConversationId:d,skipState:!i}));if(l.error)throw new Error(`Assistant evaluation failed: ${(c=l.payload)!=null?c:l.error.message}`);return l.payload.output})}evaluateConversationAssistant(e,n){return S(this,null,function*(){var c,u,g;yield this.loadProfileConfig();let o=this.state.profile.data;if(!o&&((c=this.state.conversation.current)!=null&&c.profileCode)&&(yield this.loadProfileConfig(),o=this.state.profile.data),!o){k.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=Fu(o,e),r=(u=n==null?void 0:n.showCuesInWidget)!=null?u:!0,p=n!=null?n:{},{showCuesInWidget:i}=p,a=O(p,["showCuesInWidget"]),d=(g=n==null?void 0:n.externalConversationId)!=null?g:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(m=>this.queues.push(m,()=>S(this,null,function*(){var y,v;let f=yield this.store.dispatch(se(h(b(h({assistantCode:m,includeMetadata:!0},a),{skipState:!r}),n!=null&&n.attachments&&(n==null?void 0:n.attachments.length)>0?{attachments:n==null?void 0:n.attachments}:{})));if(f.error)throw new Error(`Assistant evaluation failed: ${(y=f.payload)!=null?y:f.error.message}`);return{assistantCode:m,evaluationId:f.payload.evaluationId,output:f.payload.output,externalConversationId:(v=f.payload.externalConversationId)!=null?v:d}})).catch(f=>{if(f instanceof $n)return k.warn(`Queued assistant "${m}" was outdated and dropped`),null;throw f})));if(!r)return l.filter(m=>m!==null)})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,autoSelectSuggestion:d,showTextSuggestions:l,suggestionsPlacement:c}=this.settings,u=a||d,p=c==="inline"||c==="below"?"below":"above",g=s.length>0;if(this.store.dispatch(ca(Gs(e))),!Re(this.state)||e.key!=="Tab"&&!l)return;let m=()=>{n||!g||i&&(e.shiftKey||(this.store.dispatch(ga()),e.preventDefault()))},f=()=>{n||!g||u&&r<=0||i&&(e.shiftKey||(this.store.dispatch(ma()),e.preventDefault()))};switch(e.key){case"ArrowUp":p==="below"?f():m();break;case"ArrowDown":{p==="below"?m():f();break}case"Escape":{n||(this.store.dispatch(co(-1)),this.store.dispatch(tt({collapse:!0})),this.store.dispatch(Hd(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let y=_t(this.state);if(!y)return;this.store.dispatch(Hn(!1)),this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(u||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(u||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(tt({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(k.info("Start handling time"),this.store.dispatch(wu()))}handlingTimeStop(){this.state.handlingTime.startTime&&(k.info("Stop handling time"),this.store.dispatch(Ls()))}logSendMessage(e){let n=_u(this.state,{version:this.version});n&&(e&&(Object.assign(n,{text:e}),Object.assign(n,{lenTextTotal:e.length})),this.deepdeskApi.sendEvent("Send Message",{conversationId:this.conversationId(),data:n}),this.emit("send-message-event",n))}logHandlingTime(){let e=Du(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(Eu()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(pt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(ha()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){k.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),k.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Ea(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=Ds(n,o);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),[r,i]}createInlineContainer(e,n){var a;let o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.height="0px",o.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",o.appendChild(s);let r=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=Ds(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return vt(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),k.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(k.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(fa(o.metrics))):k.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Ci(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let p=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=p,d=O(p,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),vt(e),this.inputMediator=a||(Et(e)?new nn(e):new tn(e)),this.inputMediator.on("change",({plainText:g,rawHTML:m,suggestionTextStart:f})=>{this.store.dispatch(uo({text:g,html:m,suggestionTextStart:f}))}),this.inputMediator.on("keyup",g=>{this.store.dispatch(ua(Gs(g)))}),this.inputMediator.on("keydown",g=>{this.handleKeyDown(g)}),this.inputMediator.on("paste",({pastedText:g,selectionText:m})=>{this.store.dispatch(pa({text:g,selectionText:m}))}),this.inputMediator.on("cut",({selectionText:g})=>{this.store.dispatch(da(g))});let c;this.inputMediator.on("selection",g=>{clearTimeout(c),g===null?c=setTimeout(()=>{g!==null&&this.store.dispatch(po(g))},500):this.store.dispatch(po(g))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var g;(g=this.inputMediator)==null||g.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(es(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(es(!0))}),this.renderSuggestions(e,l),this.subscribe(ft("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(ft("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let u=this.renderOverlays(n);this.unmountHandlers.push(()=>{u.unmount()}),this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(po(this.inputMediator.getSelection())),this.store.dispatch(es(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=rt(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(We,{store:this.store,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(nc,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>S(this,null,function*(){try{yield this.store.dispatch(ba({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(ho,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){k.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=rt(s);r.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(ec,{})})}));let i=a=>{a?(s.style.display="block",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`):s.style.display="none"};return this.inputMediator.on("caretposition",i),{unmount:()=>{var a;(a=this.inputMediator)==null||a.off("caretposition",i),r.unmount(),s.remove()}}}renderAboveOrBelowSuggestions(e,n,o){let{customStyles:s,closestScrollSelector:r,appendOverlayTo:i}=n,a=r&&bi(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,u]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),p=rt(d);p.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Mc,{inputElement:e})})}));let g=rt(c);return g.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(pc,{onLogIn:()=>this.loginViaPopup().catch(m=>k.warn(m.message))})})})),{unmount(){p.unmount(),g.unmount(),l(),u()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&bi(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=rt(d);return c.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(_d,{onLogIn:()=>this.loginViaPopup().catch(u=>k.warn(u.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=rt(o);return s.render(F(We,{store:this.store,customStyles:n,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Ad,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&k.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r,signInViaPopup:i,ssoUrl:a}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let d;if(a)try{d={url:new URL(a,this.settings.adminUrl).toString()}}catch(l){k.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.widgetRoot=rt(e),this.widgetRoot.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(pu,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup(d).catch(l=>k.warn(l.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=rt(n);return i.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(mi,{children:dx(Ho,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Rn,children:[F(dn,{children:F(Uo,{title:o.title,emptyState:o.emptyState})}),F(gi,{children:F(Bo,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=Ri(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Hu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){var e;return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(e=this.state.conversation.current)!=null&&e.profileCode?(this.loadProfileConfigPromise=Promise.resolve().then(()=>S(this,null,function*(){yield this.store.dispatch(Ln()).unwrap();let n=et(this.state);n&&this.store.dispatch(Io({showSearch:n.search,showImageSearch:n.imageSearch,showEntitiesCommand:n.entitiesCommand,showSummaryCommand:!!n.summarizerAssistantNew,showKnowledgeSearch:!!n.knowledgeAssistantNew||!!n.knowledgeAssistant,recommendTextSuggestions:n.recommendTextSuggestions}))})).finally(()=>{et(this.state)||(this.loadProfileConfigPromise=null)}),this.loadProfileConfigPromise):Promise.resolve()}loginViaPopup(e){return S(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(oo());let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=g=>S(this,null,function*(){var m,f;if((m=g.data)!=null&&m.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((f=g.data)==null?void 0:f.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(hn),d=!0,s.port1.close(),n()}catch(y){console.error(y),o(y)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let u=g=>S(this,null,function*(){var m;if(g.origin===a.origin)switch((m=g.data)==null?void 0:m.type){case"deepdesk-popup-request-origin":{try{let f=JSON.stringify({type:"deepdesk-popup-parent-origin"});c==null||c.postMessage(f,a.origin)}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(f,a.origin,[s.port2])}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-error":{if(l(),g.data.message==="Platform account url mismatch"){let f=`Please contact your administrator: The platform account url (${g.data.targetOrigin}) is misconfigured as it differs from the origin of the page that opened the popup (${g.data.openerOrigin}).`;k.warn(f),this.store.dispatch(Vs(f)),o(new Error(f))}if(g.data.message==="Timeout"){let f="Please contact your administrator: Popup timed out. Check if the account's platform url is configured correctly.";k.warn(f),this.store.dispatch(Vs(f)),o(new Error(f))}o(new Error(g.data.message));break}}});window.addEventListener("message",u);let p=setInterval(()=>{c&&!c.closed||(l(),d||o(new Error("Popup closed by user")))},200);this.disposeHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}refreshTextSuggestions(){return S(this,null,function*(){this.isMounted&&(yield this.store.dispatch(Qo()))})}refreshWidgetSuggestions(){return S(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Mn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(fe());break;case"pinned-messages":case"sticky-messages":break;default:eo.includes(o)||this.store.dispatch(he(o))}})}catch(o){this.handleError(o)}})}};an.version="19.5.1-beta.0",an.count=0;var _s=an;function cx(t){return S(this,null,function*(){var s,r,i;let n=yield((s=t.fetch)!=null?s:window.fetch)(t.url),o=yield n.blob();return new File([o],t.name,{type:(i=(r=t.mimeType)!=null?r:n.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function ux(t,e){return S(this,null,function*(){let n=yield cx(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function px(t,e,n){return S(this,null,function*(){yield new st(t).authenticateWithKey(e,n)})}function gx(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function mx(o,s){return S(this,arguments,function*(t,e,n={}){var u,p;let{value:r}=t,{start:i,end:a}=(u=n.replace)!=null?u:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(p=n.selectionAfter)!=null?p:{start:i+e.length,end:i+e.length},c=()=>{if(n.setValue)return n.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function fx(o,s){return S(this,arguments,function*(t,e,n={}){let r=n.replace?Rt(t,n.replace.start,n.replace.end):Vn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
|
|
12
|
-
`).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let d=n.selectionAfter?Rt(t,n.selectionAfter.start,n.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function
|
|
13
|
-
`).forEach((n,o)=>{o>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=n.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(n.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(n.slice(r)))}),e}function
|
|
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 Od}from"react/jsx-runtime";var ey={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Dd=({className:t,color:e})=>Od("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Od("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:ey[e||"pink"]})});var _d={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var jr={};q(jr,{enUS:()=>ty,nlNL:()=>ny});var ty={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},ny={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as ry}from"react-redux";import{jsx as $r,jsxs as Fd}from"react/jsx-runtime";var Hd=({onLogIn:t})=>{let e=P(jr),n=E("floatingMenu"),o=E("productName"),s=ry(),r=sy(Q),i=C("FloatingMenu",_d);if(r===null||n===!1)return null;let a=()=>{r===!0?s(me(!0)):t()};return Fd("button",{type:"button",className:oy(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[$r("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),Fd("div",{className:i.icon,children:[$r(Dd,{className:i.logo,color:"pink"}),r===!1&&$r(Nd,{className:i.lock})]})]})};import{useEffect as Iy,useRef as Ay}from"react";import{useDispatch as Ly,useSelector as wt}from"react-redux";function Re(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input;return r.end<t.input.suggestionTextStart||r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import{createSlice as iy}from"@reduxjs/toolkit";var ay={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},es=({ui:t})=>t.overlayCollapsed,Bd=iy({name:"ui",initialState:ay,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:Hn,setInputFocus:ts,setOverlayCollapsed:tt,setOpenOverlayWhenTyping:Ud,setOverlayCollapsedUserOverwrite:Kd}=Bd.actions,Wd=Bd.reducer;var zd={styleRow:"dd-prYfH",styleSuggestion:"dd-JTmXy"};import{jsx as ns}from"react/jsx-runtime";var ly=({match:t,selected:e,styles:n})=>ns(M,{as:"button",selected:e,className:n.styleRow,"data-testid":"style-suggestion-item",title:t.suggestion,children:ns("span",{className:n.styleSuggestion,children:t.suggestion})}),dy=({matches:t,selectedIndex:e})=>{let n=C("StyleSuggestionList",zd);return ns(Y,{children:t.map((o,s)=>ns(ly,{match:o,selected:e===s,styles:n},`${o.keyword}-${s}`))})},os=dy;import{useMemo as wy}from"react";import{Interweave as Gd}from"interweave";import{useEffect as fy,useMemo as hy,useRef as yy,useState as vy}from"react";import{useDispatch as Sy,useSelector as Xd}from"react-redux";import{useEffect as cy}from"react";function Vd(t,e,n){cy(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var jd={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 $d,jsxs as uy}from"react/jsx-runtime";var qd=({title:t})=>uy("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[$d("title",{id:"closeTitle",children:t}),$d("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 qr={};q(qr,{enUS:()=>py,nlNL:()=>gy});var py={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},gy={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as Ke,jsxs as Jd}from"react/jsx-runtime";var xy=["search","personal-collection-search","search-autocomplete"];function by(t,e,n,o={}){var r;let s="";return xy.includes(e)?s=ql(Mr(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=Mr(t,n,o),o.placeholders===!0&&(s=Gl(s)),s}var Cy=()=>{},Ty=({selected:t,suggestion:e})=>{let n=P(qr),o=E("inlineSuggestions"),s=Xd(dt),[r,i]=vy(!1),a=E("enableSuggestionFeedback"),d=Xd(y=>y.input.text),l=Sy(),c=C("TextSuggestion",jd),p=yy(null),u=e.source==="assistant",g=a&&!u;fy(()=>{let y=setTimeout(()=>{l(ca({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(y)}},[e]),Vd(p,"click",()=>{l(ie({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let m=()=>{l(ut({source:e.source,text:e.text,assistantCode:e.assistantCode}))},f=hy(()=>by(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:Jd("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[Ke(M,{ref:p,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:Cy,children:e.source==="assistant"?Jd("div",{className:c.assistantContainer,children:[Ke(Gd,{containerTagName:"div",tagName:"span",className:c.formattedTextTruncated,content:f}),Ke("span",{className:c.assistantBadge,children:n("assistant")})]}):Ke(Gd,{containerTagName:"div",tagName:"span",className:c.formattedText,content:f})}),g&&r&&Ke("div",{className:c.actions,children:Ke(Jo,{source:"overlay",context:d,suggestion:e})}),u&&r&&Ke("div",{className:c.closeIconContainer,children:Ke("button",{type:"button",className:c.closeIcon,onClick:m,title:n("close"),children:Ke(qd,{title:n("close")})})})]})},Qd=Ty;import{jsx as ky}from"react/jsx-runtime";var Ey=({suggestions:t,selectedIndex:e,reverse:n})=>wy(()=>{let s=t.map((r,i)=>ky(Qd,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),ss=Ey;var Zd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{createAsyncThunk as Ry,createSlice as Py}from"@reduxjs/toolkit";var rs={list:{keywordMatches:[]},fetchState:"idle"},is=t=>t.styleSuggestions.list,Tt=Ry("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 rs.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),Yd=Py({name:"styleSuggestions",initialState:rs,reducers:{commitStyleSuggestion(t,e){let{keyword:n,suggestion:o}=e.payload;t.list.keywordMatches=t.list.keywordMatches.filter(s=>s.keyword.toLowerCase()!==n.toLowerCase()||s.suggestion!==o)}},extraReducers:t=>{t.addCase(Tt.pending,e=>{e.fetchState="loading"}).addCase(Tt.rejected,e=>{e.fetchState="error"}).addCase(Tt.fulfilled,(e,n)=>{e.fetchState="done",Xe(e.list,n.payload)||(e.list=n.payload)}).addCase(pt,e=>{e.list=rs.list}).addCase($,()=>rs)}}),{commitStyleSuggestion:ec}=Yd.actions,tc=Yd.reducer;var as=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 ls,jsxs as Ny}from"react/jsx-runtime";var My=()=>{var y;let t=Ay(null),e=C("InlineSuggestionsOverlay",Zd),n=wt(Re),o=Ly(),s=wt(Q),r=wt(Dt),i=wt(es),a=E("showTextSuggestions"),d=wt(ct),l=wt(gn),c=E("showStyleSuggestions"),p=E("showStyleSuggestionList"),u=wt(is),g=c&&p?as((y=u.keywordMatches)!=null?y:[]):[],m=g.length>0,f=a&&d.length>0;return yt(()=>{setTimeout(()=>{o(tt({collapse:!0,skipWhenInputFocus:!0}))})}),Iy(()=>{let v=t.current;if(!v||!v.parentElement)return;v.parentElement.style.left="0px";let x=v.getBoundingClientRect();v.parentElement.style.left=`${Math.min(window.innerWidth-4-x.right,0)}px`}),i||s!==!0||r===!1||!n&&!m||!f&&!m?null:ls("div",{className:e.root,"data-variant":"inline",children:Ny("div",{ref:t,className:e.paper,children:[m&&ls(os,{matches:g,selectedIndex:-1}),f&&ls(Y,{children:ls(ss,{suggestions:d,selectedIndex:l})})]})})},nc=My;import _y,{useState as Xr,useEffect as Fy}from"react";var oc={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 Hy}from"react-redux";var Gr={};q(Gr,{enUS:()=>Oy,nlNL:()=>Dy});var Oy={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."}]},Dy={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 By,jsx as ye,jsxs as ds}from"react/jsx-runtime";var sc=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=Xr(""),[i,a]=Xr(!1),[d,l]=Xr(!1),c=C("Nickname",oc),p=_y.useRef(null),u=Hy(v=>v.info.showNicknameDialog),g=P(Gr),m=E("adminUrl");Fy(()=>{o&&a(!0)},[o]);let f=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(g("nicknameDialogError")),p.current.reportValidity()},y=v=>{v.preventDefault();let x=s.trim(),T=v.currentTarget.querySelector("#nickname-input");if(!x){T.setCustomValidity(g("nicknameDialogError")),T.reportValidity();return}T.setCustomValidity(""),e(x)};return ds($t,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[ye("div",{className:c.titleWrapper,children:ye("h1",{className:c.title,children:g("title")})}),ds("form",{className:c.dialogContent,onSubmit:y,children:[ye("p",{children:g("nicknameDialogTitle")}),i&&o&&ye("div",{className:c.errorMessage,children:m?(()=>{let v=g("nicknameDialogSaveError",{account:m}),x=`${m}.deepdesk.com/admin/user-settings`,T=v.indexOf(x);if(T!==-1){let w=v.substring(0,T),A=v.substring(T+x.length);return ds(By,{children:[w,ye("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:x}),A]})}return v})():g("nicknameDialogSaveErrorWithoutLink")}),ye("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:g("nicknameDialogInputPlaceholder"),value:s,onChange:v=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(v.target.value)),r(v.target.value)},onBlur:f,ref:p}),d&&ye("div",{className:c.errorMessage,role:"alert",children:g("nicknameDialogEmojiError")}),ds("div",{className:c.buttonsWrapper,children:[o?ye("div",{className:c.closeButtonWrapper,children:ye("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:g("close")})}):null,ye("div",{className:c.buttonContinueWrapper,children:ye("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:g("nicknameDialogContinueButton")})})]})]})]})};import{Provider as Uy}from"react-redux";import{jsx as cs}from"react/jsx-runtime";var Ky=({children:t})=>{let n=E("locale").replace("-","");return cs(ur.Provider,{value:n,children:t})},Wy=({store:t,customStyles:e={},children:n})=>cs(Uy,{store:t,children:cs(Ky,{children:cs(ln.Provider,{value:e,children:n})})}),We=Wy;import ei from"classnames";import{useEffect as ev,useRef as tv,useState as nv}from"react";import{useDispatch as ov,useSelector as ze}from"react-redux";import{useState as zy}from"react";function rc(t,e){let[n,o]=zy(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return k.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){k.error(i)}}]}var ic=()=>/Mac/i.test(navigator.platform);import $y from"classnames";import{Fragment as qy,useCallback as Qr,useMemo as lc}from"react";var Jr={};q(Jr,{enUS:()=>Vy,nlNL:()=>jy});var Vy={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"}]}]},jy={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 ac={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as us,jsxs as dc}from"react/jsx-runtime";var Zr=(t,e,n)=>o=>us("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),Gy=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=P(Jr),i=oe(),a=C("Login",ac),d=E("productName"),l=E("signInViaPopup"),c=n&&!l,p=Qr(x=>{x.preventDefault(),o&&o(Number.parseInt(x.target.value,10))},[]),u=Qr(x=>{x.preventDefault(),i.send(Ut,!0)},[e]),g=lc(()=>x=>us("a",{onClick:w=>{w.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:x},"login"),[e]),m=Qr(x=>us("button",{type:"button",className:a.anchorButton,onClick:u,children:x},"prompt"),[u]),{min:f,hour:y,day:v}=lc(()=>({min:Zr(a,600,p),hour:Zr(a,3600,p),day:Zr(a,3600*12,p)}),[]);return dc("div",{className:$y(t,a.root),children:[r("loginPlease",{login:c?m:g,productName:d}),o&&dc(qy,{children:[us("br",{}),r("snooze",{min:f,hour:y,day:v})]})]})},ps=Gy;import{useDispatch as Xy}from"react-redux";var cc={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as uc,jsxs as Qy}from"react/jsx-runtime";var Jy=({title:t})=>{let e=C("SearchTrigger",cc),n=Xy(),o=V();return Qy("button",{type:"button",className:e.root,onClick:()=>{n(me(!0)),o("open search",{via:"autocomplete-overlay"})},children:[uc(Gt,{}),uc("span",{className:e.text,children:t})]})},pc=Jy;var Yr={};q(Yr,{enUS:()=>Zy,nlNL:()=>Yy});var Zy={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"}]},Yy={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 gc={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2",loginError:"dd-KCXeb",loginErrorMessage:"dd-Bv-BG",loginErrorDismiss:"dd-iSCjU"};import{jsx as X,jsxs as nt}from"react/jsx-runtime";var sv=({onLogIn:t})=>{var z;let e=C("SuggestionsOverlay",gc),n=P(Yr),o=ze(Re),s=ze(da),r=ov(),i=tv(null),a=E("searchTriggerKey"),d=E("productName"),l=ze(es),c=ze(Q),p=ze(Qi),u=ze(Dt),[g,m]=nv(null),f=E("showSearch"),y=E("showTextSuggestions"),v=E("adminUrl"),x=E("isEmbedded"),T=E("suggestionsPlacement"),[w,A]=rc("dd-snooze-until-ms",0),R=l||w>Date.now(),I=ze(ct),U=ze(gn),ce=E("showStyleSuggestions"),Ae=E("showStyleSuggestionList"),D=ze(is),K=ce&&Ae?as((z=D.keywordMatches)!=null?z:[]):[],be=K.length>0,J=I.filter(Le=>Le.source!=="gpt").length,it=()=>{R&&A(0),r(Kd(!R))},N=Le=>{let It=Date.now()+Le*1e3;A(It),k.info(`Snooze until: ${new Date(It)}`),r(tt({collapse:!0}))};return ev(()=>{J===0&&m(null)},[I,J]),yt(()=>{r(tt({collapse:!0,skipWhenInputFocus:!0}))}),c===null||u===!1?null:c===!1?nt("div",{ref:i,className:ei(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:e.triggersRight,children:X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),nt("div",{className:e.collapsible,children:[p&&nt("div",{className:e.loginError,children:[X("span",{className:e.loginErrorMessage,children:p}),X("button",{type:"button",className:e.loginErrorDismiss,onClick:()=>r(oo()),"aria-label":n("dismissError"),children:n("dismiss")})]}),X(ps,{loginUrl:v,isEmbedded:x,onLogIn:t,onSnooze:N})]})]}):!s||!o&&!be?null:nt("div",{ref:i,className:ei(e.root,{[e.isCollapsed]:R}),children:[!R&&nt("div",{className:e.triggers,children:[X("div",{style:{flex:1},children:f&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(n(ic()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>m(null),children:X(pc,{title:n("search")})})}),nt("div",{className:e.triggersRight,onFocus:()=>{},children:[X("div",{className:ei(!g&&e.hintsHidden,e.hints),children:g}),X(Lt,{className:e.toggleButton,title:n("collapse"),onClick:it,isCollapsed:!1})]})]}),X("div",{className:e.toggleButtonWrapper,children:X(Lt,{className:e.toggleButton,title:n("open",{productName:d}),onClick:it,isCollapsed:!0})}),(be||J>0&&y)&&nt("div",{className:e.collapsible,onFocus:()=>{},children:[be&&X(os,{matches:K,selectedIndex:-1}),J>0&&y&&X(Y,{children:X(ss,{suggestions:I,selectedIndex:U,reverse:T==="above"})})]})]})},mc=sv;import ii from"classnames";import{Interweave as Vv}from"interweave";import{useCallback as jv,useEffect as $v,useMemo as Nc,useRef as qv}from"react";import{connect as Gv}from"react-redux";import{useEffect as rv,useRef as iv,useState as av}from"react";function gs(t){return t.contentEditable==="true"}function lv(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 fc(t){let{selectionStart:e,selectionEnd:n}=gs(t)?lv(t):t;return[e,n]}function hc(t){let[,e]=av(),n=iv(null);return n.current=fc(t),rv(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=fc(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 yc(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Yn);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=o.indexOf(d,a);return s>l&&r<l+d.length?(n.selectionStart=l,n.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as dv}from"react";var cv=["div","span","mark","strong","b","i","u","em"];function ti(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(cv.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),dv(o,{children:ti(i,e,n+1)})]}return[...t,...e]}function Et(t){return t.tagName.toLowerCase()==="textarea"}var vc={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 yv from"classnames";import{Matcher as vv}from"interweave";import{useEffect as Sv,useMemo as xv}from"react";import{useEffect as uv,useRef as pv,useState as gv}from"react";function Sc(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function ms(t){let e=pv(null),[n,o]=gv(!1);return uv(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=Sc((p,u)=>{let g=e.current;if(!g)return;let m=p/r,f=u/r,y=g.getBoundingClientRect(),v=m>y.x&&m<y.x+y.width&&f>y.y&&f<y.y+y.height;v&&!s?(s=!0,o(!0)):!v&&s&&(s=!1,o(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=Sc(()=>{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 fs(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function hs(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function xc(t){return t!=null}import mv from"classnames";import{forwardRef as fv,useRef as hv}from"react";var Ve={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as bc}from"react/jsx-runtime";var ys=fv((s,o)=>{var r=s,{className:t,children:e}=r,n=O(r,["className","children"]);let i=hv(null),a=C("TabCompletion",Ve);return bc("div",b(h({ref:hs([i,o]),className:mv(t,a.popoverContentContainer)},n),{children:bc("div",{className:a.popoverContent,children:e})}))});import{jsx as Bn,jsxs as Tv}from"react/jsx-runtime";var bv=t=>e=>{let n=Cr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},Cv=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=C("TabCompletion",Ve),i=No(),a=xv(()=>bv(t.getBoundingClientRect()),[t]),[d,l]=ms(t);return Sv(()=>{l?i.open():i.close()},[l]),Tv("span",{children:[Bn("mark",{ref:hs([d,i.triggerRef]),className:yv(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&Bn(Wt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:Bn(ys,{style:n,children:Bn("div",{className:r.hintText,children:s})})})]})},vs=class extends vv{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${fs(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(xc);if(o.length===0)return null;let s=o.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(n,o){return Bn(Cv,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:n},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as wv}from"interweave";import Ev from"classnames";import{jsx as Cc}from"react/jsx-runtime";var kv=({inputElement:t,children:e})=>{let n=C("TabCompletion",Ve),[o,s]=ms(t);return Cc("mark",{ref:o,className:Ev(n.matchPlaceholder,{[n.hover]:s}),children:e})},Ss=class extends wv{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 Cc(kv,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import ri from"classnames";import{Matcher as _v}from"interweave";import{createRef as Fv,forwardRef as Hv,useCallback as Bv,useEffect as Ac,useRef as Lc,useState as Mc}from"react";import{useDispatch as Uv,useSelector as Kv}from"react-redux";import{jsx as Tc}from"react/jsx-runtime";var wc=()=>Tc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Tc("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 Rv,useEffect as kc,useMemo as Pv,useState as Rc}from"react";import{useDispatch as Iv,useSelector as Pc}from"react-redux";import Av from"lodash.debounce";var Ec={root:"dd-ky-Bv",content:"dd-kV5e1"};function xs(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 ni(t){return t.replace("https://www.","").replace("https://","")}import{jsx as kt,jsxs as oi}from"react/jsx-runtime";var Lv=3,Mv=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),Nv=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=Lv})=>{let r=C("LinkSearch",Ec),[i,a]=Rc(""),d=Iv(),l=Pc(Td("url")),c=Pc(Na("URL")),p=Pv(()=>c.map(Mv),[c]),[u,g]=Rc(p.length-1),m=E("fallbackImage"),f=T=>{let w=T.target;a(w.value)},y=(T,w)=>{T.stopPropagation(),T.preventDefault(),window.open(w,"_blank")},v=T=>{var R;let w=u-1<0?p.length-1:u-1,A=u+1===p.length?0:u+1;T.code==="Escape"&&(a(""),e()),T.code==="ArrowUp"&&g(w),T.code==="ArrowDown"&&g(A),T.code==="Enter"&&t(((R=p[u])==null?void 0:R.text)||i)},x=Rv(Av(T=>{d(gt({query:T,type:"URL",tags:["link-search"]}))},300),[]);return kc(()=>{i&&x(i)},[i]),kc(()=>()=>{d(fo())},[]),oi("div",{className:r.root,children:[kt(Y,{withDivider:!0,children:(i?p:l).slice(0,s).map((T,w)=>kt(M,{selected:u===w,onClick:()=>t(T.text),"data-testid":"linksearch-suggestion",children:oi(_,{children:[kt(_.Image,{src:xs(T,"small",m||void 0),title:T.title||T.text}),oi(_.Content,{className:r.content,cropText:!0,children:[kt(_.Title,{children:T.title||ni(T.text)}),T.title&&ni(T.text)]}),kt(M.Actions,{children:kt(M.ActionButton,{label:o,onClick:A=>y(A,T.text)})})]})},T.text))}),kt(In,{value:i,onChange:f,autoFocus:!0,placeholder:n,onKeyUp:v})]})},Ic=Nv;var si={};q(si,{enUS:()=>Ov,nlNL:()=>Dv});var Ov={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"}]},Dv={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}],addToPersonalCollection:[{type:0,value:"Toevoegen aan Personal Collection"}]};import{jsx as ve,jsxs as bs}from"react/jsx-runtime";var Wv=Hv((t,e)=>{let n=C("TabCompletion",Ve);return ve("mark",{ref:e,className:ri(n.matchSelection)},"selection-start")}),zv=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=P(si),i=C("TabCompletion",Ve),a=E("addToPersonalCollection"),d=Kv(Ze("/admin/personal-collection/new")),l=Lc(null),c=Lc(null),[p,u]=Mc(null),g=Uv(),m=No(document.activeElement===o),[f]=Mc(()=>document.createRange());m.triggerRef.current=f,Ac(()=>()=>f.detach(),[]),Ac(()=>{let v=t.current,x=l.current;!v||!x||(f.setStart(v,0),f.setEnd(x,0))},[t.current,l.current]),yt(()=>{m.close()});let y=Bv(v=>{let x=f.toString(),T=/^http(s?):\/\//.test(v)?v:`https://${v}`,w=`[${x}](${T})`;g(ie({text:w,suggestion:{text:w,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return bs("span",{children:[ve("mark",{ref:l,className:ri(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":m.opened?"true":"false",children:s}),m.opened&&ve(Wt,{className:i.popoverRoot,triggerRef:m.triggerRef,boundaryRef:e,position:"above",align:"start",children:bs(ys,{style:n,ref:c,children:[bs("div",{className:ri(i.selectionOptions,{[i.selectionOptionsIsHidden]:p!==null}),children:[bs("button",{type:"button",tabIndex:p===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>u("insertLink"),children:[ve(wc,{}),ve("span",{children:"\xA0"}),ve("span",{children:r("insertLink")})]}),a&&d&&ve("button",{type:"button",tabIndex:p===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>{let v=f.toString(),x=`${d}?text=${encodeURIComponent(v)}`;window.open(x,"_blank")},children:ve("span",{children:r("addToPersonalCollection")})})]}),p==="insertLink"&&ve(Ic,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:y,onDismiss:()=>{u(null),m.close()}})]})})]},"selection-end")},Cs=class extends _v{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=Fv(),this.foundIndex=0,n}match(n){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,s]=this.props.selection;if(o===s)return null;let r=this.foundIndex===0?o:s,i=r>=this.charCount&&r<=this.charCount+n.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=n.length,i?h({isStart:a},i):null}replaceWith(n,o){return o.isStart?ve(Wv,{ref:this.startRef}):ve(zv,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Xv}from"react-redux";import{jsx as Jt,jsxs as Zv}from"react/jsx-runtime";var Jv=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=C("TabCompletion",vc),c=E("insertLink"),p=E("addToPersonalCollection"),u=E("showMidSentenceSuggestions"),g=E("inlineSuggestions"),m=hc(a),f=qv(null),y=Xv(Q);$v(()=>{Et(a)&&m&&yc(a,m)},[m]);let v=jv(w=>{if(!s||!n)return w;let A=[Jt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Jt("span",{"data-testid":"tab-completion",className:ii(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&A.push(Jt("span",{className:ii(l.hint,l.resetIndent),children:Jt(Us,{keyCode:"tab"},"tabHint")},"tabHint")),ti(w,A)},[s,n,o]),x=Nc(()=>{let w=[];return(c||p)&&w.push(new Cs("selection")),w.push(new Ss("placeholders")),r&&w.push(new vs("keywords")),w},[g,c,p,r]),T=Nc(()=>{let w=window.getComputedStyle(a);return{"--dd-color":w.color,"--dd-font-size":w.fontSize,"--dd-font-family":w.fontFamily,"--dd-font-variant":w.fontVariant}},[]);return!t||!y?null:Zv("div",{ref:w=>{w!=null&&w.parentElement&&(f.current=w==null?void 0:w.parentElement)},className:l.root,style:T,children:[Jt(Vv,{tagName:"span",containerTagName:"div",className:ii(l.container,l.agentText),disableLineBreaks:Et(a),content:e||"\u200B",onAfterParse:v,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:T,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!u}),Jt("br",{})]},"tab-completion")},Qv=t=>{var v,x,T;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=_t({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:On(e.text),c=e.text.slice(e.suggestionTextStart,e.selection.end),p=a.indexOf(c)===0?a.slice(c.length):"",{showTabHint:u}=n,{isSupported:g}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:y}=o;return{showTabHint:u,showStyleSuggestions:y,showTabCompletion:m&&Re(t),content:l,tabText:p,source:d,keywordMatches:(T=(x=s.list)==null?void 0:x.keywordMatches)!=null?T:[],enabled:f&&g!==!1}},Oc=Gv(Qv)(Jv);import{Fragment as BS,useEffect as mi,useState as US}from"react";import{useDispatch as pu,useSelector as te}from"react-redux";import{createAsyncThunk as Dc,createSlice as Yv}from"@reduxjs/toolkit";var eS={token:null,interval:null},ai=Dc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>S(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),li=Dc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(ai()),setInterval(()=>o(ai()),n)}),_c=Yv({name:"passwordlessToken",initialState:eS,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(ai.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(li.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:Fc}=_c.actions,Hc=_c.reducer;import{createSelector as tS}from"@reduxjs/toolkit";function nS(t){return"buttonText"in t&&"eventName"in t}function Bc(t){if(t)return nS(t)?{label:t.buttonText,event:t.eventName,value:t.payload}:t}function oS(t){return t==null?void 0:t.map(e=>Bc(e))}function sS(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var Uc=tS([Xa,so],(t,e)=>(e?t.filter(s=>!s.externalConversationId||s.externalConversationId===e):t).map(s=>{var a;let r=Bc(s.callToAction),i=oS(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:sS(s.code),label:s.code,name:s.name,description:s.name}})}));import{useEffect as rS,useState as iS}from"react";import zc from"classnames";import{jsx as Kc}from"react/jsx-runtime";var Qt=()=>Kc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Kc("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 Wc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Zt,jsxs as Vc}from"react/jsx-runtime";var aS=({entities:t})=>{let e=C("EntitiesWidgetList",Wc),[n,o]=iS(void 0),s=V(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),Te(a.text),s("entity copied",{entity:a,type:"copy"}))};return rS(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:Zt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Vc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Zt("span",{className:e.entityText,children:a.text}),Vc("span",{className:e.iconWrapper,children:[Zt("span",{className:zc(e.icon),children:Zt(Qt,{})}),Zt("span",{className:zc(e.icon,n===d&&e.iconClicked),children:Zt(Qt,{})})]})]},a.text))})},jc=aS;import{jsx as $c}from"react/jsx-runtime";var qc=()=>$c("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:$c("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 gS}from"react";import{useDispatch as mS,useSelector as fS}from"react-redux";var Gc={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var Xc={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as dS}from"react/jsx-runtime";var lS=({size:t=12})=>{let e=C("LoadingSpinner",Xc);return dS("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},Jc=lS;import{jsx as Qc}from"react/jsx-runtime";var Zc=()=>Qc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:Qc("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 Yc,jsxs as cS}from"react/jsx-runtime";var eu=t=>cS("svg",b(h({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[Yc("title",{id:"checkTitle",children:"Check"}),Yc("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={};q(di,{enUS:()=>uS,nlNL:()=>pS});var uS={error:[{type:0,value:"Something went wrong"}]},pS={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as je,jsxs as tu}from"react/jsx-runtime";var hS=3e3,yS=({assistantOptions:t})=>{let e=C("OnDemandAssistants",Gc),n=P(di),o=gS(),s=mS(),r=vo(se),i=fS(Ul),a=V(),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,g,m)=>S(null,null,function*(){let f;if(t.transcript==="in-memory-transcript"){let y=m.dynamicThunkObject.conversationQuery;if(y){let v=yield y();f=Array.isArray(v)?v:void 0}}else Array.isArray(t.transcript)&&(f=t.transcript);return pr({transcript:f})})))}),p=u=>S(null,null,function*(){clearTimeout(o.current);let g=yield c();a("trigger on demand assistant",{assistantCode:u}),yield r.call(h(b(h({},t),{assistantCode:u}),g.length>0?{attachments:g}:{})),o.current=setTimeout(()=>r.reset(),hS)});return i.length===0?null:tu("div",{className:e.root,children:[d.map(({assistant:u,assistantName:g,displayName:m})=>je("button",{type:"button",className:e.button,disabled:r.state==="loading",onClick:()=>p(u),children:m||g},u)),l.length>0&&tu(W,{placement:"top-end",children:[je(W.Trigger,{className:e.trigger,disabled:r.state==="loading",children:je(qo,{"data-testid":"trigger"})}),je(W.Content,{className:e.nav,"data-testid":"popover",children:l.map(({assistant:u,assistantName:g,displayName:m})=>je(W.Button,{className:e.item,disabled:r.state==="loading",onClick:()=>p(u),children:m||g},u))})]}),r.state==="loading"&&je(Jc,{}),r.state==="done"&&je(eu,{"data-testid":"trigger-done"}),r.state==="error"&&je(gl,{trigger:je(Zc,{}),children:n("error")})]})},nu=yS;import{useDispatch as kS}from"react-redux";import{useEffect as ou,useRef as xS,useState as bS}from"react";var Un={};q(Un,{enUS:()=>vS,nlNL:()=>SS});var vS={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"}]},SS={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 ci={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",ctaMessage:"dd-ge8nB",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l",form:"dd-sPNU2",formInput:"dd-F3E4I",formSubmit:"dd-vw5S0",actionButton:"dd-cCWyJ",editableCue:"dd-nWSD-",inputSpace:"dd-DGYB1"};import{jsx as Se,jsxs as Ts}from"react/jsx-runtime";var CS=500,TS=100,wS=({content:t,onChange:e,onCopy:n})=>{let o=xS(null),s=C("WidgetCue",ci);return ou(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,TS),CS);r.style.setProperty("height",`${i}px`)},[t]),Se("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},ES=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s,onSourceClick:r})=>{var y;let i=C("WidgetCue",ci),a=P(Un),d=V(),l=E("hasKeyboardInput"),[c,p]=bS(t.text),u=v=>{let x=v?b(h({},t),{callToAction:v}):t;e&&e(c,x),n(t)},g=(v,x)=>{o&&o(v,t),x&&Qe(x,i.fadeup)},m=v=>{s&&s(v,t)},f=v=>{v.preventDefault(),v.stopPropagation(),n(t)};return ou(()=>{d("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),Ts(M,{"data-testid":"cue",children:[Se(_,{children:Ts(_.Content,{children:[t.title&&Se(_.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?a(t.rule.label):t.title}),t.message&&Se("p",{className:i.ctaMessage,children:t.message}),t.editable?Se(wS,{content:c,onCopy:()=>{let v=document.getSelection();v&&g(v.toString())},onChange:v=>{var x;return p((x=v.target.value)!=null?x:"")}}):Se(St,{content:t.text,sources:t.sources,onSourceClick:v=>r==null?void 0:r(v,t),useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:g,onUse:l?m:void 0})]})}),Ts(M.ButtonsContainer,{children:[Ts("div",{className:i.actions,children:[Se(M.Button,{onClick:v=>{var x;return g((x=ko(c,"reply")[0])!=null?x:c,v.target)},variant:"primary",children:a("copyCue")}),t.callToAction&&Se(M.Button,{onClick:()=>u(),variant:"primary",children:t.callToAction.label}),(y=t.callToActions)==null?void 0:y.map((v,x)=>Se(M.Button,{onClick:()=>u(v),variant:"primary",children:v.label},`${v.event}-${v.label}-${x}`)),Se(M.Button,{onClick:f,variant:"secondary",children:a("removeCue")})]}),Se(Lo,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackType:"assistant"})]})]})},su=ES;import{Fragment as PS,jsx as ui}from"react/jsx-runtime";var RS=({cues:t})=>{let e=kS(),n=oe(),o=P(Un),s=V(),r=c=>{e(Po({code:c.rule.label})),s("Assistant response closed",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text})},i=(c,p)=>{Te(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(Ro(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(De,{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 ui(PS,{children:t.map(c=>c.isLoading?ui(_o,{title:c.rule.label.startsWith("__")?o(c.rule.label):c.title},c.rule.id):ui(su,{cue:c,onCallToAction:a,onRemove:r,onCopy:i,onUse:d,onSourceClick:l},c.evaluationId))})},ru=RS;import{Fragment as IS,useEffect as AS}from"react";var iu={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as $e,jsxs as pi}from"react/jsx-runtime";function LS(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var au=({data:t,schema:e})=>{let n=C("WidgetCustomData",iu),o=s=>{Te(s)};return AS(()=>{k.info("Custom data",t,e)},[t]),$e("dl",{className:n.root,children:e.map(s=>{let r=LS(t,s.path);return pi(IS,{children:[$e("dt",{className:n.label,children:s.label}),$e("dd",{className:n.value,children:s.type==="boolean"&&r?$e("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?$e("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?pi("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r.join(", ")}),$e(Qt,{})]}):typeof r=="string"||typeof r=="number"?pi("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[$e("span",{className:n.copyButtonText,children:r}),$e(Qt,{})]}):"-"})]},s.label)})})};import{useCallback as NS}from"react";var MS=/(https?:\/\/[^\s]+)/,lu=t=>t.split(" ").find(e=>MS.test(e));import{jsx as Yt,jsxs as ws}from"react/jsx-runtime";var OS=({suggestion:t,lines:e,onUse:n})=>{var p;let o=t.text||t.url||t.message,s=lu(o),r=P(Dn),i=E("showImages"),a=E("fallbackImage"),d=E("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&n(o)},c=NS(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return ws(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[ws(_,{children:[i&&t.image&&Yt(_.Image,{src:xs(t,"small",a||void 0),title:t.title}),ws(_.Content,{children:[t.title&&Yt(_.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&Yt(M.Labels,{labels:t.searchKeywords}),Yt(_.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),ws(M.Actions,{children:[s&&Yt(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Yt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},du=OS;import{Fragment as _S,jsx as cu}from"react/jsx-runtime";var DS=({lines:t,suggestions:e})=>{let n=oe(),o=(s,r)=>{n.send(De,{text:s,suggestion:b(h({},r),{source:r.source,sourceText:r.text})})};return cu(_S,{children:e.map(s=>cu(du,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},uu=DS;var Kn={};q(Kn,{enUS:()=>FS,nlNL:()=>HS});var FS={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"}]},HS={waiting:[{type:0,value:"Laden\u2026"}],waitingForConversation:[{type:0,value:"Wachten op gesprek\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}],close:[{type:0,value:"Sluiten"}]};var en={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x"};import{jsx as L,jsxs as Wn}from"react/jsx-runtime";var gu=(t,e)=>{let n=te(Q);mi(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},KS=({onLogIn:t})=>{let e=C("Widget",en),n=E("isEmbedded"),o=E("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(ps,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},gi=({text:t})=>{let e=C("Widget",en);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},WS=()=>{let t=P(Kn),e=pu(),n=C("Widget",en),o=E("showSearch"),s=E("isEmbedded"),r=te(Ze("/admin/")),i=oe(),a=E("productName"),d=V();return gu(()=>{if(s)return e(li()),()=>{e(Fc())}},[e,s]),!o&&!r?null:Wn("div",{className:n.shortcutList,children:[o&&L(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:L(Gt,{}),onClick:()=>{i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&L(M.Button,{as:"a",target:"_blank",icon:L(qc,{}),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})})]})},zS=({title:t,content:e})=>{let n=P(Kn),[o,s]=US(!0);return o?L(Me,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:L(Y,{withDivider:!0,children:Wn(M,{children:[L(_,{children:L(_.Content,{children:L(St,{content:e})})}),L(M.ButtonsContainer,{children:L(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},VS=()=>{let t=pu(),e=te(Mn),n=te(Wl),o=te(Uc),s=te(Ca),r=te($o),i=te(Qo),a=te(et),d=te(Ce);return mi(()=>{s&&!n&&k.warn("Custom data provided, but no schema.")},[s,n]),gu(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):eo.includes(l)||t(he(l))})},[t,d,a]),mi(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&k.warn("Received cues, but cues are not configured in widget.")},[e,o]),L(BS,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:g,property:m})=>{var f,y;switch(l){case"entities":return r&&r.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(jc,{entities:r})},l);case"cues":return o&&o.length>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(ru,{cues:o})})},l);case"custom-data-banner":return s&&m&&s[m]&&L(zS,{title:c,content:String(s[m])},l);case"custom-data":return s&&g&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(au,{data:s,schema:g})})},l);default:return((y=(f=i[l])==null?void 0:f.suggestions)==null?void 0:y.length)>0&&L(Me,{type:l,title:c,"data-testid":`type-${l}`,children:L(Y,{withDivider:!0,children:L(uu,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},fi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.footer,children:t})},hi=({children:t})=>{let e=C("Widget",en);return L("div",{className:e.root,"data-testid":"widget",children:t})},jS=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"}})=>{let o=P(Kn),s=te(Dt),r=te(Q),i=te(so),a=te(et),d=te(Kl("knowledge-assist")),l=te(zl);return s===!1?L(gi,{text:o("notSupported")}):r===!1?L(KS,{onLogIn:t}):r===null?L(gi,{text:o("waiting")}):!i||!a?L(gi,{text:o("waitingForConversation")}):L(hi,{children:Wn(Bo,{initialQuestion:e.initialQuestion,assistantCode:l!=null?l:void 0,evaluateKnowledgeAssistFn:Rn,children:[Wn(dn,{children:[L(WS,{}),L(VS,{}),d&&L(Ko,{title:d.title,emptyState:e.emptyState})]}),Wn(fi,{children:[d&&L(Uo,{}),L(nu,{assistantOptions:n})]})]})})},mu=jS;function Vn(t){let e=new Range;return e.selectNodeContents(t),e}function fu(t,e,n){try{return Rt(t,e,n),!0}catch(o){return!1}}function Es(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function ks(t){return"tagName"in t&&t.tagName==="BR"}var zn=/[\u200B-\u200D\uFEFF]/g;function Rt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(d,l){let c=-1,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(zn,""),p=s+c.length,u=e>=s&&e<=p,g=n>=s&&n<=p;if(u){let m=i(l,e-s);m===0&&!g?o.setStartBefore(d):o.setStart(d,m)}g&&(o.setEnd(d,i(l,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(ks(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;Es(d)&&l&&!Es(l)&&!ks(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function Rs(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===t,g=p===n,m=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let f=p.textContent;g&&(a=l+f.substring(0,o).replace(zn,"").length),m&&(d=l+f.substring(0,r).replace(zn,"").length),l+=f.replace(zn,"").length;break}case Node.ELEMENT_NODE:{if(ks(p)&&p.nextSibling){l++;break}!u&&Es(p)&&p.previousSibling&&l++;for(let f=0;f<p.childNodes.length;f++){let y=g&&f===o,v=m&&f===r;if(y&&(a=l),v&&(d=l),d!==void 0||((!y||!i)&&c(p.childNodes[f]),m&&f===r-1&&(d=l),d!==void 0))break}m&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function Ps(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,g=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let m=u?o:0,f=g?r:void 0;d+=c.textContent.replace(zn,"").substring(m,f);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&ks(c)&&c.nextSibling){d+=`
|
|
10
|
+
`;break}!p&&!i&&a===1&&Es(c)&&c.previousSibling&&(d+=`
|
|
11
|
+
`);let m=u?o:0,f=g?Math.min(r,c.childNodes.length):c.childNodes.length;for(let y=m;y<f&&(l(c.childNodes[y]),a!==2);y++);break}default:break}g&&(a=2)}return l(t),d}var hu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(hu||{}),ot=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedSuggestionTextStart=0;this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedSuggestionTextStart=this.getSuggestionTextStart(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.getSuggestionTextStart(),r=this.cachedCaretPosition===null;if(!this.isActive)return;e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit");let i=e!==this.cachedText,a=n!==null&&n!==this.cachedHTML,d=s!==this.cachedSuggestionTextStart;if((i||a||d)&&(i?(this.cachedText=e,this.cachedHTML=n):a&&(this.cachedHTML=n),this.cachedSuggestionTextStart=s,r=!0,this.emit("change",{plainText:e,rawHTML:n,suggestionTextStart:s})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,r=!0,this.emit("selection",o)),!r)return;let l=this.getCaretPosition();Xe(l,this.cachedCaretPosition)||(this.cachedCaretPosition=l,this.emit("caretposition",l))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(hu).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 yu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var tn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),Ps(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!yu(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!yu(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return Rs(this.element,n);let o=this.lastKnownSelection;if(o&&fu(this.element,o.start,o.end))return o;let s=Vn(this.element);return s.collapse(!1),Rs(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return Ps(this.element,Rt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var $S=["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 vu(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",$S.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var nn=class extends ot{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return vu(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 Su(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 qS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var yi=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=Su(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()}},Si=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),k.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new vi(e,this.deepdeskUrl,{debug:!0}):new yi(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=qS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(k.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;k.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(b(h({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},xu=Si;function GS(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[GS(n)]:B(t[n])}),{}):t}function XS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Z(t){return Array.isArray(t)?t.map(Z):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>b(h({},e),{[XS(n)]:Z(t[n])}),{}):t}var on=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var jn=t=>new Promise(e=>{setTimeout(e,t)});var xe=class extends on{constructor(){super(...arguments);this.name="ClientError"}},Is=class extends on{constructor(){super(...arguments);this.name="ServerError"}},xi=new Map;function bu(t){return S(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(k.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var sn=class{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};this.refreshingToken=null;this.lastFailedRefreshAt=null;this.failedRefreshCooldown=1e4;var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",R=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:g=!0,retryOnError:m=I=>I instanceof TypeError,retryOnResponse:f=I=>I.status>=500,version:y=null}=R,v=O(R,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(xi.has(i)){o(xi.get(i));return}}let x=b(h({credentials:"include"},v),{headers:h({Accept:"application/json","Content-Type":"application/json"},v.headers)});!d&&this.csrfToken&&(x.headers=b(h({},x.headers),{"X-CSRFToken":this.csrfToken})),typeof y=="string"&&(x.headers=b(h({},x.headers),{"X-Deepdesk-API-Version":y}));let T=p,w=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let A=()=>S(this,null,function*(){return T--,a(i,x).then(I=>S(this,null,function*(){return f(I)&&!r.isAborted&&T>0?(yield jn(u),A()):I.status===401&&g===!0&&w===!1?(w=!0,yield this.refreshToken(),A()):I})).catch(I=>S(this,null,function*(){if(m(I)&&!r.isAborted&&T>0)return yield jn(u),A();throw I}))});A().then(I=>S(this,null,function*(){let U=yield bu(I);if(delete this.latestRequestByUrl[i],I.status>=500){s(new Is("Server Error",U));return}if(I.status===401){s(new xe("Unauthorized",U));return}if(I.status===403){s(new xe("Forbidden",U));return}if(I.status===404){s(new xe("Not Found",U));return}if(I.status>=400){s(new xe("Bad Request",U));return}l&&xi.set(i,U),o(U)})).catch(I=>{s(I)})})}validateToken(){return S(this,null,function*(){let e,n,o;try{({has_valid_access_token:e,is_logged_in:n,has_valid_refresh_token:o}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1}))}catch(s){return!1}if(!e){if(!o)return!1;try{yield this.refreshToken();let{is_logged_in:s}=yield this.get("/apis/admin/session/validate/",{refreshTokenOn401:!1});return s}catch(s){return!1}}return n})}refreshToken(){let e=Date.now();return this.lastFailedRefreshAt&&e-this.lastFailedRefreshAt<this.failedRefreshCooldown?Promise.reject(new xe("Unauthorized","Failed to refresh token")):this.refreshingToken?this.refreshingToken:(this.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).catch(n=>{throw(n==null?void 0:n.message)==="Unauthorized"&&(this.lastFailedRefreshAt=Date.now()),n}).finally(()=>{this.refreshingToken=null}),this.refreshingToken)}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,h({method:"POST",body:JSON.stringify(n)},o))}postWithStatus(e,n,o){return this.requestWithStatus(e,h({method:"POST",body:JSON.stringify(n)},o))}requestWithStatus(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,A=n,{useCache:d=!1,abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:u=!0,retryOnError:g=R=>R instanceof TypeError,retryOnResponse:m=R=>R.status>=500,version:f=null}=A,y=O(A,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]),v=b(h({credentials:"include"},y),{headers:h({Accept:"application/json","Content-Type":"application/json"},y.headers)});this.csrfToken&&(v.headers=b(h({},v.headers),{"X-CSRFToken":this.csrfToken})),typeof f=="string"&&(v.headers=b(h({},v.headers),{"X-Deepdesk-API-Version":f}));let x=c,T=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let w=()=>S(this,null,function*(){return x--,a(i,v).then(R=>S(this,null,function*(){return m(R)&&!r.isAborted&&x>0?(yield jn(p),w()):R.status===401&&u===!0&&T===!1?(T=!0,yield this.refreshToken(),w()):R})).catch(R=>S(this,null,function*(){if(g(R)&&!r.isAborted&&x>0)return yield jn(p),w();throw R}))});w().then(R=>S(this,null,function*(){let I=yield bu(R);if(delete this.latestRequestByUrl[i],R.status>=500){s(new Is("Server Error",I));return}if(R.status===401){s(new xe("Unauthorized",I));return}if(R.status===403){s(new xe("Forbidden",I));return}if(R.status===404){s(new xe("Not Found",I));return}if(R.status>=400){s(new xe("Bad Request",I));return}o({status:R.status,data:I})})).catch(R=>{delete this.latestRequestByUrl[i],s(R)})})}patch(e,n,o){return this.request(e,h({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,h({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,h({method:"DELETE"},n))}};var Cu;(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={}))})(Cu||(Cu={}));function As(t){return b(h({},B(t)),{metadata:t.metadata})}var Pt=class Pt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new sn(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>S(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return S(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(Pt.exchangeTokenPromise||(Pt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),Pt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return S(this,null,function*(){var o;yield this.preflight(),k.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(o=e.metadata)!=null?o:{}}));return As(n)})}upsertConversation(e){return S(this,null,function*(){var c;yield this.preflight(),k.info(`Upserting conversation for session ${e.externalId} and agent ${e.agentId}`);let{status:n,data:o}=yield this.client.postWithStatus("/api/v2/conversations",b(h({chat_start_time:new Date().toISOString()},Z(e)),{metadata:(c=e.metadata)!=null?c:{}}),{version:"v2"}),s=As(o);if(n===201)return s;let{agentId:r,agentName:i,agentEmail:a,agentNickname:d,metadata:l}=e;return this.updateConversation(s.id,{agentId:r,agentEmail:a,agentName:i,agentNickname:d,metadata:l})})}getMe(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Z(e))})}patchMe(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Z(e));return B(n)})}getProfile(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return S(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return S(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return S(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return S(this,arguments,function*(e,n={}){yield this.preflight(),k.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return k.info(`Successfully retrieved conversation ${i.id} for session ${e}`),As(i)})}isConversationSupported(o){return S(this,arguments,function*(e,n={}){k.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return S(this,null,function*(){var r;yield this.preflight();let o=Z(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return As(s)})}postMessages(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>b(h({},Z(o)),{metadata:o.metadata})))})}sendEvent(e,n){return S(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=O(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>b(h({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Z(b(h(h({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return S(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return S(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return S(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw k.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Z(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return S(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Z(n),{abortLatest:!0})).map(i=>b(h({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return S(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return S(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Z(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return S(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>b(h({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return S(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Z(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return S(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Z(e));return B(n)})}loginWithPassword(e,n){return S(this,null,function*(){yield this.preflight();let o=yield this.client.post("/apis/admin/session/login/",{username:e,password:n},{refreshTokenOn401:!1});return B(o)})}logout(){return S(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/logout/",{},{refreshTokenOn401:!1})})}requestLoginByEmail(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return S(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return S(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return S(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return S(this,null,function*(){var d,l,c;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=p=>Z(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 B(a)})}createAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return S(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return S(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Z(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(qi);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&k.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};Pt.exchangeTokenPromise=null;var st=Pt;var Ls=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import{combineReducers as YS,configureStore as ex}from"@reduxjs/toolkit";import{createSlice as JS}from"@reduxjs/toolkit";var Tu={startTime:null,stopTime:null},wu=t=>t.handlingTime,Eu=JS({name:"handlingTime",initialState:Tu,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($,()=>Tu)}}),{handlingTimeStart:ku,handlingTimeStop:Ms,handlingTimeReset:Ru}=Eu.actions,Pu=Eu.reducer;var Iu=(t={})=>{let e=h({onAuthError:Nt(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};var Au=(t={})=>{let e,n=!0,o=h({getStyleSuggestions:Tt,debounce:500},t);return s=>r=>i=>{var g;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((g=l.conversation.current)==null?void 0:g.id)||!c)return d;let{text:u}=l.input;return u===a&&!n||(clearTimeout(e),u==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:u}))},t.debounce)),d}};function QS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end&&t.suggestionTextStart===e.suggestionTextStart}var Lu=(t={})=>{let e=h({getTextSuggestions:he,getAutocompleteSuggestions:Fn,debounce:200,check:Re},t),n;return o=>s=>r=>{var f;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(f=d.conversation.current)==null?void 0:f.id,u=r.type===Zo.toString();if(!p||!l&&!c)return a;let{input:g}=d;return QS(g,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let y=dt(d);y===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(y))},u?0:e.debounce)),a}};var Mu=Tt.fulfilled.toString();function ZS(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 Nu=t=>e=>n=>o=>{var l;if(o.type!==Mu){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=ZS(s,i);o.type===Mu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var tx=YS({assistants:nl,auth:ta,conversation:ia,contentTypes:Bl,passwordlessToken:Hc,entities:pd,handlingTime:Pu,info:Ia,input:Sa,settings:sl,profile:Vl,search:Da,styleSuggestions:tc,ui:Wd,textSuggestions:kd});function Ou(t){return ex({reducer:tx,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(Iu()).concat(Lu({debounce:200})).concat(Au({debounce:500})).concat(Nu(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}function Du(t,e,n){if(e==="")return null;let o=new RegExp(`\\b${fs(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 nx=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},ox=t=>e=>n=>o=>{var d,l,c,p,u,g;let s=e.getState(),r=ft("inlineSuggestions")(s),i=ft("autoSelectSuggestion")(s)||r;switch(o.type){case Nt.toString():{!o.payload&&t.emit("logout",void 0);break}case no.fulfilled.toString():{t.emit("logout",void 0);break}case fe.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{entities:o.payload}});break;case pt.toString():t.logSendMessage(o.payload);break;case Ro.toString():t.emit("call-to-action",{cue:o.payload});break;case se.fulfilled.toString():if(!o.isBroadcasted){let{externalConversationId:m,currentExternalIdAtRequest:f}=(l=o.payload)!=null?l:{};(!m||!f||m===f)&&t.broadcast(Ys,o,!1)}break;case se.rejected.toString():break;default:break}let a=n(o);switch(o.type){case pt.toString():t.handleAfterSendMessage(o.payload);break;case Hn.toString():t.onUpdateShowTabHint(o.payload);break;case Ms.toString():t.logHandlingTime();break;case Ft.toString():t.broadcast(yo,o);break;case ut.toString():t.broadcast(yo,o);break;case Po.toString():e.dispatch(ut({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let m=s.assistants.cues.find(f=>f.code===o.meta.arg.data.assistantCode);t.emit("event",b(h({},o.meta.arg),{cue:m}));break}case ie.toString():{let{start:m,end:f}=s.input.selection;t.emit("select-suggestion",b(h({type:nx(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:m,end:f}:{start:0,end:f}})),r&&e.dispatch(Je([]));break}case ec.toString():{let{keyword:m,suggestion:f,eventMetrics:y}=o.payload,{text:v,selection:x}=s.input,T=Du(v,m,(c=x==null?void 0:x.end)!=null?c:v.length);if(!T)break;t.emit("select-suggestion",{text:f,type:"style",replace:T,suggestion:{text:f,source:"style"},eventMetrics:y});break}case lo.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case Je.toString():{i&&o.payload.length>0&&e.dispatch(co(0));break}case se.fulfilled.toString():{let{evaluationId:m,output:f,externalConversationId:y}=o.payload,v=o.meta.arg.assistantCode;if(t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:m,assistantCode:v,assistantOutput:Qa(f),externalConversationId:y,evaluationStatus:"success"}}),!o.meta.arg.skipState){let x=e.getState().assistants.cues;t.emit("cues",x)}break}case se.rejected.toString():{let m=o.meta.arg.assistantCode,f=(g=o.meta.arg.externalConversationId)!=null?g:(u=e.getState().conversation.current)==null?void 0:u.externalId;t.emit("event",{name:"Assistant evaluation completed",data:{evaluationId:"",assistantCode:m,assistantOutput:"",externalConversationId:f,evaluationStatus:"failed"}});break}default:break}return a},_u=ox;import{createSelector as sx}from"@reduxjs/toolkit";function bi(t){return t.toISOString().replace("T"," ").replace("Z","")}var rx=(t,e)=>e.version,Fu=sx([Ht,Ce,wu,rx],(t,e,n,o)=>{if(!e)return k.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(k.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:bi(s),timeStop:bi(r)}});function Hu(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}var $n=class extends Error{};function ix(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var Ns=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new $n("Queued async function is outdated"));let s=ix();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};function Ci(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return Ci(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Ci(s,e):null}function Ti(t,e){return Ci(t,e)}var ax={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},Bu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return k.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[ax[e]];return o&&o.length>0?o.map(a=>a.code):(k.warn(`No assistant set in profile for conversation event "${e}"`),[])};function Uu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function lx(t){return typeof t=="object"&&t!==null&&"tagName"in t}function wi(t){return lx(t)&&(Et(t)||gs(t))}var Wu,Pe=new Map,dx=["bottom","height","left","right","top","width"],Ku=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:dx.some(n=>t[n]!==e[n]);function zu(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,...zu(e)]:[]}function Vu(t,e){return!t||!e?null:b(h({},t),{top:t.top+e.top,left:t.left+e.left})}var Os=!1,ju=()=>{Os=!0;let t=[];if(Pe.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Pe.delete(n);return}let o=n.getBoundingClientRect();Ku(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(Vu,e.rect):e.rect;Ku(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Pe.size===0){Os=!1;return}Wu=window.requestAnimationFrame(ju)};function Ei(t,e){let n=zu(t),o=[],s=n.map((r,i)=>Ei(r,a=>{o[i]=a;let d=Pe.get(t);if(!d)return;let l=o.reduce(Vu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Pe.has(t)){let i=Pe.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Pe.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!Os&&ju()},unobserve(){s.forEach(i=>i.unobserve());let r=Pe.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Pe.delete(t),Pe.size||(cancelAnimationFrame(Wu),Os=!1)}}}}var $u,Ie=new Map,qu=()=>{Ie.forEach((t,e)=>{if(!e.isConnected){Ie.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),Ie.size!==0&&($u=window.requestAnimationFrame(qu))};function Gu(t,e){return{observe(){let n=Ie.size===0;Ie.has(t)?Ie.get(t).callbacks.push(e):Ie.set(t,{visible:void 0,callbacks:[e]}),n&&qu()},unobserve(){let n=Ie.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||Ie.delete(t),Ie.size||cancelAnimationFrame($u)}}}}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 Ri(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function rn(t){return Number.parseFloat(t)}function Ds(t){return Math.round(t*1e6)}function Xu(t){return t/1e6}function Pi(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=rn(t.width),r=rn(t.borderLeftWidth),i=rn(t.borderRightWidth),a=rn(t.paddingRight),d=Xu(Ds(s)-Ds(r)-Ds(i)),l=Xu(Ds(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function _s(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",vt(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};Ri(o,n,ki),Pi(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=Gu(t,()=>{Ri(o,n,ki),Pi(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=Ei(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(Ri(o,n,ki),Pi(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 g=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),f=rn(m.borderTopWidth),y=rn(m.borderBottomWidth),v=g.top+f-u.top,x=u.top+u.height+-(g.top+g.height-y);n.style.clipPath=`inset(${v}px 0px ${x}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(p=t.parentElement)==null||p.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}function cx(t){return t.offsetParent!==null}function Ju(t){if(!cx(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 Ii(t,e,n=100){let o=Ju(t);e({isVisible:o});let s=setInterval(()=>{let r=Ju(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Qu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){k.warn("[Deepdesk] SessionStorage is blocked by browser")}}});import{jsx as F,jsxs as ux}from"react/jsx-runtime";var Zu=Qu("showTabHint",!0),an=class an{constructor({deepdeskUrl:e,version:n=an.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=Ls}){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 Ns;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new st(l,{token:s,fetch:r}),this.version=n,this.instanceId=an.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[_u({broadcast:(m,f,y)=>{this.broadcastEvents.send(m,f,y)},emit:(m,f)=>this.emit(m,f),handleAfterSendMessage:m=>this.handleAfterSendMessage(m),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:m=>this.logSendMessage(m),onUpdateShowTabHint:m=>Zu.update(m),sendEvent:(m,f)=>this.deepdeskApi.sendEvent(m,f)})]};this.store=Ou(c),this.broadcastEvents=new xu({debug:!0,deepdeskUrl:l,eventMap:_a(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>S(this,null,function*(){var m;return(m=Q(this.state))!=null?m:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Hn(Zu.value())),this.store.dispatch(Io({locale:o,adminUrl:l,productName:i}));let p=[],u=m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(tl(m))};this.hasConversation()?f():p.push(f)};this.ws.on("assistants::direct_response",u),this.ws.on("assistants::user_notification",u),this.ws.on("assistants::response_chunk",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(el(m))};this.hasConversation()?f():p.push(f)}),this.ws.on("assistants::suggest_as_reply",m=>{if(!m.conversationId)return;let f=()=>{this.conversationId()===m.conversationId&&this.store.dispatch(Ft([{text:m.payload.message,type:"text",source:"assistant",assistantCode:m.code,sourceLabel:m.name}]))};this.hasConversation()?f():p.push(f)});let g=this.whenConversationLoaded(()=>{var m;this.broadcastEvents.setExternalId((m=this.state.conversation.current)==null?void 0:m.externalId),p.forEach(f=>f()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,g()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=ct(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(k.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(k.warn("Profile has not been loaded (yet)"),!0):(k.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(Q(this.state))e();else{let n=this.subscribe(Q,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Nt(null)),this.store.dispatch(Oe()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return S(this,null,function*(){return(yield this.store.dispatch(Oe())).payload})}isConversationSupported(e,n){return S(this,null,function*(){return(yield this.store.dispatch($s({externalId:e,options:n}))).payload})}createConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(ro(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return S(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(io({externalId:e,options:n}))).payload})}upsertConversation(e){return S(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(qs(b(h({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return S(this,null,function*(){yield this.store.dispatch(Gs(e))})}updateConversation(e){return S(this,null,function*(){return(yield this.store.dispatch(ao(e))).payload})}resetConversation(){this.store.dispatch($()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Io(e))}setVisitorInfo(e){this.store.dispatch(Ea(e))}setCustomData(e){this.store.dispatch(ka(e))}setAgentInfo(e,n){return S(this,null,function*(){var s;yield this.store.dispatch(mn(h(h({},e),n))),(s=this.state.info.agentInfo)!=null&&s.agentNickname||this.broadcastEvents.send(ho,{showNicknameDialog:!0})})}setAgentSettings(e){return S(this,null,function*(){yield this.store.dispatch(Js(e))})}getAgentSettings(){return S(this,null,function*(){return(yield this.store.dispatch(Qs())).payload})}refresh(){return S(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()}))}notifyExternalSuggestion(e){this.store.dispatch(ie(e))}evaluateAssistant(e,n){return S(this,null,function*(){var c;let{input:o={},attachments:s=[],transcript:r,showCuesInWidget:i=!0,includeMetadata:a,externalConversationId:d}=n||{},l=yield this.store.dispatch(se({assistantCode:e,attachments:s,transcript:r,includeMetadata:a,input:o,externalConversationId:d,skipState:!i}));if(l.error)throw new Error(`Assistant evaluation failed: ${(c=l.payload)!=null?c:l.error.message}`);return l.payload.output})}evaluateConversationAssistant(e,n){return S(this,null,function*(){var c,p,g;yield this.loadProfileConfig();let o=this.state.profile.data;if(!o&&((c=this.state.conversation.current)!=null&&c.profileCode)&&(yield this.loadProfileConfig(),o=this.state.profile.data),!o){k.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=Bu(o,e),r=(p=n==null?void 0:n.showCuesInWidget)!=null?p:!0,u=n!=null?n:{},{showCuesInWidget:i}=u,a=O(u,["showCuesInWidget"]),d=(g=n==null?void 0:n.externalConversationId)!=null?g:this.hasConversation()?this.externalId():"",l=yield Promise.all(s.map(m=>this.queues.push(m,()=>S(this,null,function*(){var y,v;let f=yield this.store.dispatch(se(h(b(h({assistantCode:m,includeMetadata:!0},a),{skipState:!r}),n!=null&&n.attachments&&(n==null?void 0:n.attachments.length)>0?{attachments:n==null?void 0:n.attachments}:{})));if(f.error)throw new Error(`Assistant evaluation failed: ${(y=f.payload)!=null?y:f.error.message}`);return{assistantCode:m,evaluationId:f.payload.evaluationId,output:f.payload.output,externalConversationId:(v=f.payload.externalConversationId)!=null?v:d}})).catch(f=>{if(f instanceof $n)return k.warn(`Queued assistant "${m}" was outdated and dropped`),null;throw f})));if(!r)return l.filter(m=>m!==null)})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,autoSelectSuggestion:d,showTextSuggestions:l,suggestionsPlacement:c}=this.settings,p=a||d,u=c==="inline"||c==="below"?"below":"above",g=s.length>0;if(this.store.dispatch(pa(Xs(e))),!Re(this.state)||e.key!=="Tab"&&!l)return;let m=()=>{n||!g||i&&(e.shiftKey||(this.store.dispatch(fa()),e.preventDefault()))},f=()=>{n||!g||p&&r<=0||i&&(e.shiftKey||(this.store.dispatch(ha()),e.preventDefault()))};switch(e.key){case"ArrowUp":u==="below"?f():m();break;case"ArrowDown":{u==="below"?m():f();break}case"Escape":{n||(this.store.dispatch(co(-1)),this.store.dispatch(tt({collapse:!0})),this.store.dispatch(Ud(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let y=_t(this.state);if(!y)return;this.store.dispatch(Hn(!1)),this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(p||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(p||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let y=_t(this.state);if(!y)return;this.store.dispatch(ie({text:y.text,suggestion:y,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(tt({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(k.info("Start handling time"),this.store.dispatch(ku()))}handlingTimeStop(){this.state.handlingTime.startTime&&(k.info("Stop handling time"),this.store.dispatch(Ms()))}logSendMessage(e){let n=Hu(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=Fu(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(Ru()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(pt((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){k.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),k.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Ra(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=_s(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]=_s(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return vt(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),k.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(k.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(ya(o.metrics))):k.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!wi(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let u=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=u,d=O(u,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),vt(e),this.inputMediator=a||(Et(e)?new nn(e):new tn(e)),this.inputMediator.on("change",({plainText:g,rawHTML:m,suggestionTextStart:f})=>{this.store.dispatch(uo({text:g,html:m,suggestionTextStart:f}))}),this.inputMediator.on("keyup",g=>{this.store.dispatch(ga(Xs(g)))}),this.inputMediator.on("keydown",g=>{this.handleKeyDown(g)}),this.inputMediator.on("paste",({pastedText:g,selectionText:m})=>{this.store.dispatch(ma({text:g,selectionText:m}))}),this.inputMediator.on("cut",({selectionText:g})=>{this.store.dispatch(ua(g))});let c;this.inputMediator.on("selection",g=>{clearTimeout(c),g===null?c=setTimeout(()=>{g!==null&&this.store.dispatch(po(g))},500):this.store.dispatch(po(g))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var g;(g=this.inputMediator)==null||g.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(ts(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(ts(!0))}),this.renderSuggestions(e,l),this.subscribe(ft("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(ft("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let p=this.renderOverlays(n);this.unmountHandlers.push(()=>{p.unmount()}),this.store.dispatch(uo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),suggestionTextStart:this.inputMediator.getSuggestionTextStart()})),this.store.dispatch(po(this.inputMediator.getSelection())),this.store.dispatch(ts(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=rt(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(We,{store:this.store,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(sc,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>S(this,null,function*(){try{yield this.store.dispatch(Ta({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(ho,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){k.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=rt(s);r.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(nc,{})})}));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&&Ti(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,p]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),u=rt(d);u.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Oc,{inputElement:e})})}));let g=rt(c);return g.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(mc,{onLogIn:()=>this.loginViaPopup().catch(m=>k.warn(m.message))})})})),{unmount(){u.unmount(),g.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&Ti(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=rt(d);return c.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Hd,{onLogIn:()=>this.loginViaPopup().catch(p=>k.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=rt(o);return s.render(F(We,{store:this.store,customStyles:n,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(Md,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&k.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r,signInViaPopup:i,ssoUrl:a}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r,signInViaPopup:i});let d;if(a)try{d={url:new URL(a,this.settings.adminUrl).toString()}}catch(l){k.warn(`Invalid ssoUrl '${a}' passed to renderWidget`)}this.widgetRoot=rt(e),this.widgetRoot.render(F(We,{store:this.store,customStyles:o,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(mu,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup(d).catch(l=>k.warn(l.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=rt(n);return i.render(F(We,{store:this.store,customStyles:s,children:F(_e,{broadcastEvents:this.broadcastEvents,children:F(hi,{children:ux(Bo,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Rn,children:[F(dn,{children:F(Ko,{title:o.title,emptyState:o.emptyState})}),F(fi,{children:F(Uo,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=Ii(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Uu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){var e;return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(e=this.state.conversation.current)!=null&&e.profileCode?(this.loadProfileConfigPromise=Promise.resolve().then(()=>S(this,null,function*(){yield this.store.dispatch(Ln()).unwrap();let n=et(this.state);n&&this.store.dispatch(Io({showSearch:n.search,showImageSearch:n.imageSearch,showEntitiesCommand:n.entitiesCommand,showSummaryCommand:!!n.summarizerAssistantNew,showKnowledgeSearch:!!n.knowledgeAssistantNew||!!n.knowledgeAssistant,recommendTextSuggestions:n.recommendTextSuggestions}))})).finally(()=>{et(this.state)||(this.loadProfileConfigPromise=null)}),this.loadProfileConfigPromise):Promise.resolve()}loginViaPopup(e){return S(this,null,function*(){return new Promise((n,o)=>{this.store.dispatch(oo());let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=g=>S(this,null,function*(){var m,f;if((m=g.data)!=null&&m.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((f=g.data)==null?void 0:f.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(hn),d=!0,s.port1.close(),n()}catch(y){console.error(y),o(y)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let p=g=>S(this,null,function*(){var m;if(g.origin===a.origin)switch((m=g.data)==null?void 0:m.type){case"deepdesk-popup-request-origin":{try{let f=JSON.stringify({type:"deepdesk-popup-parent-origin"});c==null||c.postMessage(f,a.origin)}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(f,a.origin,[s.port2])}catch(f){k.error("Error posting message to popup",f),o(f)}break}case"deepdesk-popup-error":{if(l(),g.data.message==="Platform account url mismatch"){let f=`Please contact your administrator: The platform account url (${g.data.targetOrigin}) is misconfigured as it differs from the origin of the page that opened the popup (${g.data.openerOrigin}).`;k.warn(f),this.store.dispatch(js(f)),o(new Error(f))}if(g.data.message==="Timeout"){let f="Please contact your administrator: Popup timed out. Check if the account's platform url is configured correctly.";k.warn(f),this.store.dispatch(js(f)),o(new Error(f))}o(new Error(g.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(Zo()))})}refreshWidgetSuggestions(){return S(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=Mn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(fe());break;case"pinned-messages":case"sticky-messages":break;default:eo.includes(o)||this.store.dispatch(he(o))}})}catch(o){this.handleError(o)}})}};an.version="19.5.1-beta.1",an.count=0;var Fs=an;function px(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 gx(t,e){return S(this,null,function*(){let n=yield px(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 mx(t,e,n){return S(this,null,function*(){yield new st(t).authenticateWithKey(e,n)})}function fx(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function hx(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 yx(o,s){return S(this,arguments,function*(t,e,n={}){let r=n.replace?Rt(t,n.replace.start,n.replace.end):Vn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
|
|
12
|
+
`).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let d=n.selectionAfter?Rt(t,n.selectionAfter.start,n.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function vx(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 Sx(t){let e=document.createDocumentFragment();return t.split(`
|
|
13
|
+
`).forEach((n,o)=>{o>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=n.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(n.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(n.slice(r)))}),e}function Yu(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):Yu(n,e)}function xx(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?vx(e):Sx(e);n?Yu(c.startContainer,p):(c.insertNode(p),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{_ as Card,tn as ContentEditableInput,st as DeepdeskAPI,Fs as DeepdeskSDK,sn as HTTPClient,ot as InputMediator,Mt as InputType,Us as KeyboardHint,Sp as Label,to as Locale,Me as Section,dn as SectionList,Ne as Sources,M as Suggestion,Y as SuggestionList,nn as TextAreaInput,Lt as ToggleButton,gx as attachFile,mx as authenticateWithKey,Vn as createFullRange,_s as createOverlayContainer,Rt as createRangeFromOffsets,On as escapeHTML,fx as formatTextMarkup,Rs as getRangeOffsets,Ps as getRangeText,xx as insertCKEditor,zo as isHTML,wi as isSupportedInputElement,tr as logEvent,yx as updateContentEditable,hx as updateTextArea,yt as useClickOutsideRoot,C as useStyles,Ii as waitForElementVisibilityChange};
|