@deepdesk/deepdesk-sdk 14.2.1-beta.7 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,12 +1,12 @@
1
1
  var li=Object.defineProperty,Bu=Object.defineProperties;var Ku=Object.getOwnPropertyDescriptors;var Io=Object.getOwnPropertySymbols;var di=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable;var ai=(t,e,o)=>e in t?li(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,h=(t,e)=>{for(var o in e||(e={}))di.call(e,o)&&ai(t,o,e[o]);if(Io)for(var o of Io(e))ci.call(e,o)&&ai(t,o,e[o]);return t},x=(t,e)=>Bu(t,Ku(e));var N=(t,e)=>{var o={};for(var n in t)di.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&Io)for(var n of Io(t))e.indexOf(n)<0&&ci.call(t,n)&&(o[n]=t[n]);return o};var J=(t,e)=>{for(var o in e)li(t,o,{get:e[o],enumerable:!0})};var g=(t,e,o)=>new Promise((n,s)=>{var r=d=>{try{a(o.next(d))}catch(l){s(l)}},i=d=>{try{a(o.throw(d))}catch(l){s(l)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(r,i);a((o=o.apply(t,e)).next())});import pi from"classnames";import ju,{createContext as $u,useContext as us,useEffect as qu,useState as Gu}from"react";import Uu,{useContext as zu}from"react";import Vu from"classnames";var Gt=Uu.createContext({});function S(t,e){let r=zu(Gt),{debug:o}=r,s=N(r,["debug"])[t];return Object.entries(e).reduce((i,[a,d])=>{let l=s==null?void 0:s[a];return x(h({},i),{[a]:Vu(d,l,o?`${t}__${a}`:!1)})},{})}var ui={root:"dd-4s9wq"};import{jsx as Po,jsxs as Wu}from"react/jsx-runtime";var Ao=()=>Wu("svg",{className:ui.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[Po("defs",{children:Po("style",{children:".cls-1 { fill: #b3b3b3; }"})}),Po("title",{children:"Failed loading image"}),Po("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 cs={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as ft}from"react/jsx-runtime";var Lo=$u(cs),Qu=({title:t,src:e})=>{let o=us(Lo),[n,s]=Gu(!1);return qu(()=>{s(!1)},[e]),ft("div",{className:o.imageWrapper,children:e&&!n?ft("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):ft(Ao,{})})},Xu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=us(Lo);return ft("div",{className:pi(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Zu=r=>{var i=r,{as:t="h1",cropText:e=!1,className:o,children:n}=i,s=N(i,["as","cropText","className","children"]);let a=us(Lo);return ju.createElement(t,h({className:pi(a.title,o,{[a.contentIsCropped]:e})},s),n)},Mo=({children:t})=>{let e=S("Card",cs);return ft("div",{className:e.root,children:ft(Lo.Provider,{value:e,children:t})})};Mo.Image=Qu;Mo.Content=Xu;Mo.Title=Zu;var B=Mo;import Ju from"classnames";var mi={root:"dd-llBx9"};import{jsx as tp}from"react/jsx-runtime";var Yu={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},ep=n=>{var s=n,{className:t,keyCode:e}=s,o=N(s,["className","keyCode"]);let r=S("KeyboardHint",mi);return tp("span",h({"data-key":Yu[e],className:Ju(t,r.root)},o))},ps=ep;import op from"classnames";var gi={root:"dd-e6HXZ"};import{jsx as sp}from"react/jsx-runtime";var np=n=>{var s=n,{className:t,children:e}=s,o=N(s,["className","children"]);let r=S("Label",gi);return sp("span",x(h({},o),{className:op(t,r.root),children:e}))},ms=np;var fi={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as gs,jsxs as ip}from"react/jsx-runtime";var rp=s=>{var r=s,{title:t,children:e,type:o}=r,n=N(r,["title","children","type"]);let i=S("Section",fi);return ip("section",x(h({},n),{className:i.root,"data-section-type":o,children:[t&&gs("div",{className:i.subTitleContainer,children:gs("span",{className:i.subtitle,children:t})}),gs("div",{className:i.suggestions,children:e})]}))},Te=rp;import ap from"classnames";import lp from"react";var hi={root:"dd-uoTXh"};import{jsx as cp}from"react/jsx-runtime";var dp=lp.forwardRef(({className:t,children:e},o)=>{let n=S("SectionList",hi);return cp("div",{ref:o,className:ap(n.root,t),children:e})}),fs=dp;import Qt from"classnames";import up,{createContext as pp,useCallback as mp,useContext as Ge}from"react";var hs={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",buttonWithIcon:"dd-MQVt5",buttonDisabled:"dd-agTuH"};import{jsx as ve,jsxs as yi}from"react/jsx-runtime";var Oe=pp(hs),gp=n=>{var s=n,{fixed:t,children:e}=s,o=N(s,["fixed","children"]);let r=Ge(Oe);return ve("div",x(h({},o),{className:Qt(r.actions,{[r.actionsIsFixed]:t}),children:e}))};function fp(a){var d=a,{as:t,className:e,icon:o,title:n,children:s,disabled:r}=d,i=N(d,["as","className","icon","title","children","disabled"]);let l=Ge(Oe);return yi(t||"button",x(h({type:"button",className:Qt(l.button,{[l.buttonWithIcon]:o,[l.buttonDisabled]:r},e),title:n,"aria-label":n},i),{children:[o,s]}))}var hp=({children:t})=>{let e=Ge(Oe);return ve("div",{className:e.buttonsContainer,children:t})},yp=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Ge(Oe);return yi("div",{className:Qt(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ve("ul",{className:r.dropdownList,children:s})]})},vp=({index:t,label:e,onClick:o})=>{let n=Ge(Oe);return ve("li",{className:n.dropdownItem,children:ve("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Sp=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Ge(Oe);return ve("button",{type:"button",className:Qt(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n!=null?n:i=>i.stopPropagation(),disabled:o,"aria-hidden":o,children:s})},xp=({labels:t})=>{let e=Ge(Oe);return ve("div",{className:e.labels,children:t.map(o=>ve("span",{className:e.label,children:o},o))})},De=up.forwardRef((a,i)=>{var d=a,{className:t,selected:e,onClick:o,children:n,as:s="div"}=d,r=N(d,["className","selected","onClick","children","as"]);let l=S("Suggestion",hs),c=mp(p=>{p.preventDefault(),o&&o(p)},[o]);return ve(s,x(h({},r),{ref:i,className:Qt(t,l.root,{[l.isSelected]:e,[l.isClickable]:!!o}),onClick:c,children:ve(Oe.Provider,{value:l,children:n})}))});De.Labels=xp;De.Actions=gp;De.ActionButton=Sp;De.DropdownButton=yp;De.DropdownItem=vp;De.ButtonsContainer=hp;De.Button=fp;var _=De;import bp from"classnames";var vi={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as wp}from"react/jsx-runtime";var Cp=({withDivider:t,children:e})=>{let o=S("SuggestionList",vi);return wp("div",{"data-testid":"suggestions-overlay-list",className:bp(o.root,{[o.isWithDivider]:t}),children:e})},se=Cp;import Tp from"classnames";var Si={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as ys}from"react/jsx-runtime";var Ep=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=S("ToggleButton",Si);return ys("button",{type:"button",className:Tp(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:ys("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:ys("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},ht=Ep;var xi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,No=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var bi=/x-deepdesk-(([a-z0-9\-_])+-version)/,Oo=["cues","custom-data"],_e=(y=>(y.SEARCH="search",y.TEMPLATE="template",y.ELASTIC_SEARCH="search-autocomplete",y.GPT="gpt",y.TRIE="trie",y.TRIE_WITH_TYPOS="trie-with-typos",y.SEMANTIC="semantic",y.TEXT_RECOMMENDATION="text_recommendation",y.URL_RECOMMENDATION="url_recommendation",y.LINK_RECOMMENDATION="link_recommendation",y.PERSONAL_COLLECTION="personal-collection",y.PERSONAL_COLLECTION_SEARCH="personal-collection-search",y.SEARCH_OVERLAY="search-overlay",y.SEARCH_PREVIEW="search-preview",y.SEARCH_URL="search-url",y))(_e||{}),Xt=(i=>(i.ENTER="enter",i.TAB="tab",i.ARROW="arrow",i.HOTKEY="hotkey",i.MOUSE="mouse",i.SPACE="space",i))(Xt||{});import{render as Wt,unmountComponentAtNode as as}from"react-dom";import{Fragment as Ff}from"react";import{createSlice as kp}from"@reduxjs/toolkit";import{useSelector as Rp}from"react-redux";var Do=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(Do||{});var Ip={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!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,inlineSuggestions:!1,floatingMenu:!1,enableSuggestionFeedback:!1,enableFeedbackForm:!1,adminUrl:void 0,productName:"Deepdesk",hasKeyboardInput:!0},Ci=kp({name:"settings",initialState:Ip,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s!="undefined"&&(t[n]=s)})}}}),{set:_o}=Ci.actions,vs=t=>e=>e.settings[t],k=t=>Rp(vs(t)),wi=Ci.reducer;import{useSelector as ka}from"react-redux";import{createAsyncThunk as Ss,createSlice as Pp}from"@reduxjs/toolkit";var Ap={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},Y=t=>t.auth.isLoggedIn,Ti=t=>t.auth.loginFetchState,Ei=t=>t.auth.verifyFetchState,ki=t=>t.auth.showLoginOverlay,Ee=Ss("auth/validate",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.isLoggedIn()})),Ri=Ss("auth/requestLogin",(o,n)=>g(void 0,[o,n],function*({email:t},e){let{deepdeskAPI:s}=e.extra;return s.requestLoginByEmail(t)})),Zt=Ss("auth/verifyLoginToken",(o,n)=>g(void 0,[o,n],function*({token:t},e){let{deepdeskAPI:s}=e.extra;return s.verifyLoginToken(t)})),Ii=Pp({name:"auth",initialState:Ap,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Ee.pending,e=>{e.loginFetchState="loading"}),t.addCase(Ee.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Ee.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Zt.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Zt.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Zt.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:yt,setShowLoginOverlay:Pi}=Ii.actions,Ai=Ii.reducer;import{createAction as Uo,createSlice as Bp}from"@reduxjs/toolkit";import{diffChars as Kp}from"diff";import{useSelector as Up}from"react-redux";function Li(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Fe(t,e,o=10){let n=typeof t,s=typeof e;if(o===0)throw new Error("Max depth deepEqual, possible circular references?");return n!==s?!1:t==null||n==="string"||n==="number"||n==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Fe(r,e[i],o-1)):Li(t)&&Li(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Fe(t[i],e[i],o-1)):!1}function Lp(t){return Math.max(...t.map(e=>e.length))}function Mp(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return x(h({},n),{[s]:r})}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function Mi(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<Lp(n);s++){let r=Mp(n.map(a=>a[s]),e),i=n.filter(a=>!r.includes(a[s]));if(i.length>=e)n=i;else return{text:n[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var Np=2;function Ni(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=Mi(t,Np);return o&&o.text!==e?o:t[0]}import{createAction as Dp,createAsyncThunk as vt,createSlice as _p}from"@reduxjs/toolkit";var Op={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},T=Op;var Oi={current:null,isSupported:null},H=Dp("resetConversation"),St=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},He=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},xt=t=>t.conversation.isSupported,xs=vt("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Fo=vt("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Ho=vt("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Bo=vt("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=He(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),bs=vt("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:d}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:d})})}),Ko=vt("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=He(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>h({},s)))}),Fp=[Fo.rejected,Ho.rejected,Bo.rejected,Ko.rejected].map(t=>t==null?void 0:t.toString()),Hp=_p({name:"conversation",initialState:Oi,reducers:{},extraReducers:t=>{t.addCase(xs.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Fo.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Ho.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(bs.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Bo.fulfilled,(e,o)=>{var n,s;e.current=o.payload,e.isSupported=(s=(n=o.payload)==null?void 0:n.hasActiveProfile)!=null?s:null}).addCase(Ko.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(H,()=>Oi).addMatcher(e=>Fp.includes(e.type),(e,o)=>{var n;throw T.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),Di=Hp.reducer;var Qe={text:"",html:null,selection:{start:0,end:0},beforeInputChange:null,mixedSuggestion:null,textSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Cs(t){let{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}=t;return{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}}var zo=Uo("input/replaceText"),Xe=Uo("input/sendMessage"),Vo=Uo("input/applyImageSuggestion"),ee=Uo("input/sendEvent"),_i=Bp({name:"input",initialState:Qe,reducers:{setInput(t,e){var r,i;let{beforeInputChange:o}=t,{text:n,html:s}=e.payload;if(t.text=n,t.html=s!=null?s:null,n==="")t.metrics=Qe.metrics,t.textSuggestions=[],t.mixedSuggestion=null;else if(o!==null&&t.text!==o.text){let{key:a,shiftKey:d,ctrlKey:l,metaKey:c,altKey:p}=o.keyDown;switch(a){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:u}=t,m=Kp(o.text,u);o.text.length-u.length>1&&t.metrics.deletions.push(...m.filter(f=>f.removed).map(f=>f.value)),t.metrics.numCharsDeleted+=o.text.length-u.length;break}case"Shift":case"Meta":case"Tab":break;case"C":case"V":case"X":case"c":case"v":case"x":if(l||c)break;default:if(!l&&!c&&!p){t.metrics.numCharsTyped+=1;let u=((r=o.selection)==null?void 0:r.start)!==void 0&&((i=o.selection)==null?void 0:i.end)!==void 0?o.text.substring(o.selection.start,o.selection.end):null;u&&u.length>0&&(t.metrics.numCharsDeleted+=u.length,t.metrics.deletions.push(u))}}t.metrics.agentStartedTypingTimestamp||(t.metrics.agentStartedTypingTimestamp=Date.now())}t.beforeInputChange=null},setSelection(t,e){e.payload!==null&&(Fe(t.selection,e.payload)||(t.selection=e.payload))},commitSuggestion(t,e){let o=e.payload,{text:n,suggestion:{source:s,abVariant:r,abTestName:i,trainingJobs:a,sourceText:d,searchTerm:l,text:c},eventMetrics:{inputType:p},replace:u}=o,m=s==="search"||s==="personal-collection-search",f=n.slice(t.text.substring(0,t.selection.start).length);(m||u==="selection")&&(f=n),o.suggestion.source==="search-overlay"&&(f=c),t.metrics.textSuggestions.push({text:f,source:s,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:o,suggestion:{source:n}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===o)||t.metrics.offeredTextSuggestions.push({text:o,source:n})},registerKeyDown(t,e){let{key:o}=e.payload;["Control","Meta","Shift","Alt"].includes(o)||(t.beforeInputChange={text:t.text,selection:t.selection,keyDown:e.payload})},registerKeyUp(t,e){},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics=x(h({},t.metrics),{numCharsCut:o.numCharsCut+n.length,cuts:[...o.cuts,n]})},registerPaste(t,e){let{metrics:o}=t,{text:n,selectionText:s}=e.payload,r=o.numCharsDeleted+(s&&s.length?s.length:0),i=s&&s.length?[...o.deletions,s]:o.deletions;t.metrics=x(h({},t.metrics),{numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]})},selectNextTextSuggestion(t){let e=t.textSuggestions.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 o=t.text.substring(0,t.selection.end),n=Ni(e.payload,o);t.mixedSuggestion=n!=null&&n.text.includes(o)?n:null},setMetrics(t,{payload:e}){t.metrics=e},resetMetrics(t){t.metrics=Qe.metrics}},extraReducers:t=>{t.addCase(H,e=>{e.mixedSuggestion=Qe.mixedSuggestion,e.textSuggestions=Qe.textSuggestions,e.selectedSuggestionIndex=Qe.selectedSuggestionIndex,e.metrics=Qe.metrics})}}),bt=t=>t.input.text.substring(0,t.input.selection.end),zp=t=>t.input.selection,Ct=t=>{let{mixedSuggestion:e,selectedSuggestionIndex:o,textSuggestions:n}=t.input;return o>-1?n[o]:e},Fi=()=>Up(zp),{commitSuggestion:pe,offeredTextSuggestion:Hi,registerCut:Bi,registerKeyDown:Ki,registerKeyUp:Ui,registerPaste:zi,selectNextTextSuggestion:Vi,selectPreviousTextSuggestion:Wi,selectTextSuggestionByIndex:Wo,setInput:jo,setMetrics:ji,setSelection:$o,setTextSuggestions:Be,resetMetrics:$i}=_i.actions,qi=_i.reducer;import{createAsyncThunk as $p,createSlice as qp}from"@reduxjs/toolkit";import{createAsyncThunk as ws,createSlice as Vp}from"@reduxjs/toolkit";var Wp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,platformVariables:void 0,fetchState:"idle"},Yt=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},jp=[["agentNickname","nickname"],["agentDefaultLocale","defaultLocale"],["agentEmail","email"]],Jt=ws("info/setAgentInfo",(t,e)=>g(void 0,null,function*(){var r,i,a;let{deepdeskAPI:o}=e.extra,n=yield o.getMe(),s=[];if(t.agentId&&t.skipSync!==!0&&s.push(o.postIdentity({externalId:t.agentId})),t.skipSync!==!0){let d=jp.reduce((l,[c,p])=>!n[p]&&c in t?x(h({},l),{[p]:t[c]}):l,{});Object.keys(d).length>0&&s.push(o.patchMe(d).then(l=>n=l))}return s.length>0&&(yield Promise.all(s)),{agentId:t.agentId,agentName:t.agentName,agentNickname:(r=n.nickname)!=null?r:t.agentNickname,agentEmail:(i=n.email)!=null?i:t.agentEmail,agentDefaultLocale:(a=n.defaultLocale)!=null?a:t.agentDefaultLocale,agentTimeZone:t.agentTimeZone}})),Ts=ws("info/setAgentSettings",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra,n=yield o.getMe(),s=h(h({},typeof n.uiConfig=="object"?n.uiConfig:{}),t);return yield o.patchMe({uiConfig:s}),s})),Es=ws("info/getAgentSettings",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;return(yield o.getMe()).uiConfig})),Gi=t=>t.info.agentInfo,Qi=t=>t.info.customData,Xi=Vp({name:"info",initialState:Wp,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}},extraReducers:t=>{t.addCase(Jt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo=h(h({},e.agentInfo),o.meta.arg)}).addCase(Jt.rejected,e=>{e.fetchState="error"}).addCase(Jt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo=o.payload}).addCase(Ts.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(Es.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(H,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Zi,setCustomData:Ji,setPlatformVariables:Yi}=Xi.actions,ea=Xi.reducer;function Q(t,e){return Object.entries(e).reduce((o,[n,s])=>o.replaceAll(n,s),t)}var qo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},ta=t=>t.search.isOpen,oa=t=>t.search.page,na=t=>t.search.list,sa=t=>t.search.aggregates;function ra(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var Ze=$p("search/getAll",(t,e)=>g(void 0,null,function*(){var d;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(d=n.conversation.current)==null?void 0:d.profileCode,{platformVariables:r}=n.info;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:i,aggregates:a}=yield o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Yt(n)});return{results:i.map(l=>x(h(h({},l),l.title&&r?{title:Q(l.title,r)}:{}),{text:Q(l.text,r!=null?r:{}),source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:a}})),ia=qp({name:"search",initialState:qo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=qo.fetchState,t.list=qo.list}},extraReducers:t=>{t.addCase(Ze.pending,e=>{e.fetchState="loading"}).addCase(Ze.rejected,(e,o)=>{e.fetchState="error",T.error(o.error)}).addCase(Ze.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(H,()=>qo)}}),{resetSearch:Go,setIsOpen:re,setPage:me}=ia.actions,aa=ia.reducer;var ks="SetCues",Rs="SetOutputs",wt="ShowLoginOverlay",eo="UserLoggedIn",Gp="UserLoggedOut",Ke="ApplySuggestion",Is="ApplyImageSuggestion",Qp="ShowCommandPalette",Xp=t=>({[ks]:e=>{t.dispatch(x(h({},e),{isBroadcasted:!0}))},[Rs]:e=>{t.dispatch(x(h({},e),{isBroadcasted:!0}))},[Qp]:e=>{t.dispatch(re(e.isOpen)),e.page&&t.dispatch(me(e.page))},[wt]:e=>{t.dispatch(Pi(e))},[eo]:()=>{t.dispatch(Ee())},[Gp]:()=>{t.dispatch(Ee())},[Is]:e=>{t.dispatch(Vo({suggestion:e.suggestion}))},[Ke]:e=>{t.dispatch(pe(x(h({},e),{eventMetrics:{inputType:"mouse"},replace:"selection"})))}}),la=Xp;import da,{useContext as Zp}from"react";import{jsx as Jp}from"react/jsx-runtime";var ca=da.createContext(null),Je=({broadcastEvents:t,children:e})=>{let o=da.useMemo(()=>t,[]);return Jp(ca.Provider,{value:o,children:e})},de=()=>{let t=Zp(ca);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Hs from"classnames";import{useCallback as Ta,useEffect as Cm,useMemo as wm,useState as Bs}from"react";import{useDispatch as Tm,useSelector as Em}from"react-redux";import{createContext as cm,useContext as um}from"react";var Ps=function(t,e){return Ps=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])},Ps(t,e)};function to(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ps(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var ie=function(){return ie=Object.assign||function(e){for(var o,n=1,s=arguments.length;n<s;n++){o=arguments[n];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},ie.apply(this,arguments)};function ua(t,e){var o={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(o[n[s]]=t[n[s]]);return o}function Qo(t,e,o){if(o||arguments.length===2)for(var n=0,s=e.length,r;n<s;n++)(r||!(n in e))&&(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return t.concat(r||Array.prototype.slice.call(e))}var Xo;(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"})(Xo||(Xo={}));var Zo=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ge;(function(t){t[t.literal=0]="literal",t[t.argument=1]="argument",t[t.number=2]="number",t[t.date=3]="date",t[t.time=4]="time",t[t.select=5]="select",t[t.plural=6]="plural",t[t.pound=7]="pound",t[t.tag=8]="tag"})(ge||(ge={}));var Jo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Jo||(Jo={}));function As(t){return t.type===ge.literal}function pa(t){return t.type===ge.argument}function Yo(t){return t.type===ge.number}function en(t){return t.type===ge.date}function tn(t){return t.type===ge.time}function on(t){return t.type===ge.select}function nn(t){return t.type===ge.plural}function ma(t){return t.type===ge.pound}function sn(t){return t.type===ge.tag}function rn(t){return!!(t&&typeof t=="object"&&t.type===Jo.number)}function oo(t){return!!(t&&typeof t=="object"&&t.type===Jo.dateTime)}function Ls(t){t.forEach(function(e){if(delete e.location,on(e)||nn(e))for(var o in e.options)delete e.options[o].location,Ls(e.options[o].value);else Yo(e)&&rn(e.style)||(en(e)||tn(e))&&oo(e.style)?delete e.style.location:sn(e)&&Ls(e.children)})}function ga(t,e){e===void 0&&(e={}),e=ie({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Zo(t,e).parse();if(o.err){var n=SyntaxError(Xo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||Ls(o.val),o.val}function an(t,e){var o=e&&e.cache?e.cache:sm,n=e&&e.serializer?e.serializer:nm,s=e&&e.strategy?e.strategy:em;return s(t,{cache:o,serializer:n})}function Yp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function fa(t,e,o,n){var s=Yp(n)?n:o(n),r=e.get(s);return typeof r=="undefined"&&(r=t.call(this,n),e.set(s,r)),r}function ha(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r=="undefined"&&(r=t.apply(this,n),e.set(s,r)),r}function Ms(t,e,o,n,s){return o.bind(e,t,n,s)}function em(t,e){var o=t.length===1?fa:ha;return Ms(t,this,o,e.cache.create(),e.serializer)}function tm(t,e){return Ms(t,this,ha,e.cache.create(),e.serializer)}function om(t,e){return Ms(t,this,fa,e.cache.create(),e.serializer)}var nm=function(){return JSON.stringify(arguments)};function Ns(){this.cache=Object.create(null)}Ns.prototype.get=function(t){return this.cache[t]};Ns.prototype.set=function(t,e){this.cache[t]=e};var sm={create:function(){return new Ns}},ln={variadic:tm,monadic:om};var Ye;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Ye||(Ye={}));var no=function(t){to(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var Os=function(t){to(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),Ye.INVALID_VALUE,r)||this}return e}(no);var ya=function(t){to(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Ye.INVALID_VALUE,s)||this}return e}(no);var va=function(t){to(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),Ye.MISSING_VALUE,n)||this}return e}(no);var Z;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(Z||(Z={}));function rm(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==Z.literal||o.type!==Z.literal?e.push(o):n.value+=o.value,e},[])}function im(t){return typeof t=="function"}function so(t,e,o,n,s,r,i){if(t.length===1&&As(t[0]))return[{type:Z.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(As(c)){a.push({type:Z.literal,value:c.value});continue}if(ma(c)){typeof r=="number"&&a.push({type:Z.literal,value:o.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new va(p,i);var u=s[p];if(pa(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?Z.literal:Z.object,value:u});continue}if(en(c)){var m=typeof c.style=="string"?n.date[c.style]:oo(c.style)?c.style.parsedOptions:void 0;a.push({type:Z.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(tn(c)){var m=typeof c.style=="string"?n.time[c.style]:oo(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:Z.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(Yo(c)){var m=typeof c.style=="string"?n.number[c.style]:rn(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:Z.literal,value:o.getNumberFormat(e,m).format(u)});continue}if(sn(c)){var f=c.children,y=c.value,v=s[y];if(!im(v))throw new ya(y,"function",i);var E=so(f,e,o,n,s,r),C=v(E.map(function(w){return w.value}));Array.isArray(C)||(C=[C]),a.push.apply(a,C.map(function(w){return{type:typeof w=="string"?Z.literal:Z.object,value:w}}))}if(on(c)){var b=c.options[u]||c.options.other;if(!b)throw new Os(c.value,u,Object.keys(c.options),i);a.push.apply(a,so(b.value,e,o,n,s));continue}if(nn(c)){var b=c.options["=".concat(u)];if(!b){if(!Intl.PluralRules)throw new no(`Intl.PluralRules is not available in this environment.
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
- `,Ye.MISSING_INTL_API,i);var P=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));b=c.options[P]||c.options.other}if(!b)throw new Os(c.value,u,Object.keys(c.options),i);a.push.apply(a,so(b.value,e,o,n,s,u-(c.offset||0)));continue}}return rm(a)}function am(t,e){return e?ie(ie(ie({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=ie(ie({},t[n]),e[n]||{}),o},{})):t}function lm(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=am(t[n],e[n]),o},ie({},t)):t}function Ds(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function dm(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.number),strategy:ln.variadic}),getDateTimeFormat:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.dateTime),strategy:ln.variadic}),getPluralRules:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.pluralRules),strategy:ln.variadic})}}var Sa=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==Z.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return so(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=o,this.resolvedLocale=t.resolveLocale(o),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=ua(i,["formatters"]);this.ast=t.__parse(e,ie(ie({},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=lm(t.formats,n),this.formatters=s&&s.formatters||dm(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 o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=ga,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 pm(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var mm="dummy",_s=cm(null);function I(t){var n;let e=um(_s);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=(n=t[e])!=null?n:{};return(s,r)=>{let i=pm(o,s);return i?new Sa(i).format(r):(e!==mm&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{useEffect as gm,useRef as fm}from"react";var xa={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as ba}from"react/jsx-runtime";var hm=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=fm(null),l=S("Dialog",xa),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&n()};return gm(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?ba("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:ba("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},dn=hm;import ym from"classnames";var Ca={root:"dd-ranhW"};import{jsx as Sm}from"react/jsx-runtime";var vm=n=>{var s=n,{className:t,value:e}=s,o=N(s,["className","value"]);let r=S("TextInput",Ca);return Sm("input",h({className:ym(t,r.root),type:"text",value:e},o))},ro=vm;var Fs={};J(Fs,{enUS:()=>xm,nlNL:()=>bm});var xm={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"}]},bm={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 wa={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 oe,jsxs as cn}from"react/jsx-runtime";var km=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Rm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=I(Fs),i=S("LoginTokenDialog",wa),a=Em(Ei),d=Tm(),l=k("productName"),[c,p]=Bs(t||""),[u,m]=Bs(0),[f,y]=Bs(""),v=Ta(P=>g(void 0,null,function*(){P.preventDefault(),d(Ri({email:c})),m(1)}),[o,c]),E=()=>{y(""),m(0)},C=Ta(P=>g(void 0,null,function*(){P.preventDefault();let w=km(P.target.elements.token.value);if(!w){y(r("verifyCodeError",{login:b}));return}d(Zt({token:w}))}),[o]),b=wm(()=>P=>oe("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:P},"back-button"),[]);return Cm(()=>{a==="error"&&y(r("verifyCodeError",{login:b})),a==="done"&&n()},[a]),oe(dn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:cn("div",{className:i.root,children:[oe("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&cn("form",{onSubmit:v,children:[oe("h2",{className:i.subtitle,children:r("requestCodeTitle")}),oe("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),oe(ro,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:P=>p(P.target.value)}),oe("div",{className:i.actions,children:oe("button",{type:"submit",className:Hs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&cn("form",{onSubmit:C,children:[oe("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),oe("p",{className:i.text,children:r("verifyCodeBody")}),oe(ro,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&oe("div",{className:i.errorMessage,children:f}),cn("div",{className:i.actions,children:[oe("button",{type:"button",className:Hs(i.button),onClick:E,children:r("back")}),oe("button",{type:"submit",className:Hs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ea=Rm;import{jsx as Pm}from"react/jsx-runtime";var Im=()=>{let t=ka(ki),e=ka(Gi),o=k("adminUrl"),n=de(),s=()=>n.send(wt,!1),r=()=>{n.send(wt,!1),n.send(eo)};return Pm(Ea,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Ra=Im;import Pf from"lodash.debounce";import{Fragment as Af,useCallback as zl,useEffect as Vl,useMemo as Lf,useState as bn}from"react";import{useDispatch as Mf,useSelector as nt}from"react-redux";import{createAction as Om,createAsyncThunk as Ks,createSlice as Dm}from"@reduxjs/toolkit";import{createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var Mm={data:null,fetchState:"idle"},Ia=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},io=Am("knowledgeAssistant/getKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null})),Nm=Lm({name:"knowledgeAssistant",initialState:Mm,reducers:{},extraReducers:t=>{t.addCase(io.pending,e=>{e.fetchState="loading"}).addCase(io.rejected,e=>{e.fetchState="error"}).addCase(io.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Pa=Nm.reducer;var Aa={cues:[],threads:{},fetchState:"idle"},La=t=>{var e;return(e=t.assistants)==null?void 0:e.cues},Us=t=>e=>{var o,n;return(n=(o=e.assistants)==null?void 0:o.threads[t])!=null?n:null},un=Om("assistants/callToAction"),Tt=Ks("assistants/getSummary",(t,e)=>g(void 0,null,function*(){var i,a,d;let n=e.getState().profile.data;if(!n)throw new Error("No Profile is loaded");let{summarizerAssistantNew:s}=n;if(!s){let{deepdeskAPI:l,dynamicThunkObject:c}=e.extra,p=e.getState(),u=(i=p.conversation.current)==null?void 0:i.sessionId,m=(d=(a=p.info)==null?void 0:a.agentInfo)==null?void 0:d.agentId;if(!c.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let f=c.conversationQuery,y=yield f(),v=yield l.getSummary(y,{externalConversationId:u,agentId:m,promptInstruction:n.summarizerPromptInstruction,model:n.summarizerModel});return v.summary?v.summary:Promise.reject(new Error("Summary is not provided"))}let r=yield e.dispatch(ke(h({assistantCode:s,expectFormat:"text",transcript:"in-memory-transcript",skipState:!0},t)));if(r.error)throw new Error(r.error.message);if(typeof r.payload!="string")throw T.warn("Unexpected summary output",r),new Error("Unexpected summary output");return r.payload})),_m=1,zs=Ks("assistants/evaluateKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){var p,u,m,f;let{threadId:o}=t,{onNewThreadId:n,input:s}=t,{deepdeskAPI:r}=e.extra,i=e.getState(),{platformVariables:a}=i.info;if(!i.profile.data)throw new Error("No Profile is loaded");let{knowledgeAssistantNew:d}=i.profile.data;if(!d){o||(o=_m++,n&&n(o));let y=(p=Us(o)(i))!=null?p:[],v=Ia(i),E=(u=i.conversation.current)==null?void 0:u.sessionId,C=(f=(m=i.info)==null?void 0:m.agentInfo)==null?void 0:f.agentId;if(!v)throw new Error("KnowledgeAssistant is not defined");let b=yield r.knowledgeAssist({customerInstruction:v.customerInstruction,doNotKnowAnswer:v.doNotKnowAnswer,question:s},y,v.code,{agentId:C,conversationId:E});return a&&(b.answer=Q(b.answer,a)),{threadId:o,question:s,answer:b}}o||(o=(yield r.createAssistantThread({assistantCode:d})).id,n&&n(o)),yield r.postMessageToAssistantThread({assistantCode:d,threadId:o,message:t.input});let l=yield e.dispatch(ke(x(h({assistantCode:d,expectFormat:"json-schema:knowledge-assist",skipState:!0},t),{input:{},threadId:o})));if(l.error)throw new Error(l.error.message);let c=l.payload;return{threadId:o,question:t.input,answer:{answer:Q(c.response,a!=null?a:{}),sources:c.sources}}})),ke=Ks("assistants/evaluate",(t,e)=>g(void 0,null,function*(){var m;let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra,{transcript:s,input:r={},expectFormat:i,threadId:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(m=d.conversation.current)==null?void 0:m.sessionId,p;if(s==="in-memory-transcript"){if(!n.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");p=yield n.conversationQuery()}else if(s==="stored-transcript"){if(!d.conversation.current)throw new Error("Can't include stored-transcript, no current conversation");p=d.conversation.current.messages.map(f=>({text:f.text,source:f.source}))}else Array.isArray(s)&&(p=s);if(t.includeTags){if(!d.conversation.current)throw new Error("Can't include tags, no current conversation");let{tags:f}=d.conversation.current;Object.assign(r,{tags:f})}let u=yield o.evaluateAssistant(t.assistantCode,{expectFormat:i,input:r,transcript:p,externalConversationId:c,threadId:a});if(!l)return u;switch(i){case"text":return Q(u,l);case"json-schema:cues":return u.map(f=>x(h({},f),{name:Q(f.name,l),response:Q(f.response,l)}));case"json-schema:knowledge-assist":{let f=u;return x(h({},f),{answer:Q(f.response,l)})}case"json-object":default:return u}})),Ma=Dm({name:"assistants",initialState:Aa,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(o=>o.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]}},extraReducers:t=>{t.addCase(ke.pending,(e,o)=>{o.meta.arg.skipState||(e.fetchState="loading")}).addCase(ke.rejected,(e,o)=>{o.meta.arg.skipState||(e.fetchState="error")}).addCase(ke.fulfilled,(e,o)=>{if(!o.meta.arg.skipState)switch(o.meta.arg.expectFormat){case"json-schema:cues":{let n=o.payload,s=n.map(i=>i.code),r=e.cues.filter(i=>!s.includes(i.code));e.fetchState="done",e.cues=[...n,...r];break}}}).addCase(zs.fulfilled,(e,o)=>{let r=o.payload,{threadId:n}=r,s=N(r,["threadId"]);e.threads[n]=[...e.threads[n]||[],s]}).addCase(H,()=>Aa)}}),{removeCueByCode:Na,resetCues:sw,removeThreadById:pn}=Ma.actions,Oa=Ma.reducer;import{createAsyncThunk as Fm,createSlice as Hm}from"@reduxjs/toolkit";var Bm={data:null,fetchState:"idle"},Da=t=>t.contentTypes.data,ao=Fm("contentTypes/getContentTypes",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Km=Hm({name:"contentTypes",initialState:Bm,reducers:{},extraReducers:t=>{t.addCase(ao.pending,e=>{e.fetchState="loading"}).addCase(ao.rejected,e=>{e.fetchState="error"}).addCase(ao.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),_a=Km.reducer;import{createAsyncThunk as Um,createSlice as zm}from"@reduxjs/toolkit";var Vm={data:null,fetchState:"idle"},Re=t=>t.profile.data,mn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Fa=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,lo=Um("profile/getProfile",(t,e)=>g(void 0,null,function*(){var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)})),Wm=zm({name:"profile",initialState:Vm,reducers:{},extraReducers:t=>{t.addCase(lo.pending,e=>{e.fetchState="loading"}).addCase(lo.rejected,e=>{e.fetchState="error"}).addCase(lo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ha=Wm.reducer;function Ie(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{useEffect as el,useState as hg,useRef as yg,useCallback as vg}from"react";import{useState as qm}from"react";import Vs from"classnames";var ae={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",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 Pe={};J(Pe,{enUS:()=>jm,nlNL:()=>$m});var jm={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"}]},$m={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 co,jsxs as Qm}from"react/jsx-runtime";var Gm=({src:t,title:e})=>{let o=S("CommandPalette",ae),[n,s]=qm("loading"),r=I(Pe);return Qm("div",{className:o.image,children:[co("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Vs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&co("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&co("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:co(Ao,{})}),e&&co("span",{className:o.imageTitle,children:e})]})},Ba=Gm;import Xm from"react";import Zm from"classnames";import{jsx as Ws,jsxs as Ka}from"react/jsx-runtime";function js({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=I(Pe),i=S("CommandPalette",ae);return Xm.Children.count(t)===0?null:Ka("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&Ka("div",{className:i.listHeader,children:[e&&Ws("h4",{className:i.listHeading,children:e}),n&&s&&Ws("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ws("div",{className:Zm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import gn from"classnames";import{Interweave as ig}from"interweave";import{useState as ag}from"react";var Jm=/[.*+?^${}()|[\]\\]/g,Ym=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function eg(t){return t.replace(Jm,"\\$&")}function tg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function og(t){return t.search(Ym)}function Ua(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${eg(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function za(t){return t.replace(No,'<mark data-type="placeholder">$1</mark>')}function uo(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function ng(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 $s(t,e,o={}){if(e){let n=tg(e.toLowerCase(),t.toLowerCase()),s=uo(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=og(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(xi).length>3||e.length>30?ng(e.trim(),n):0;return`${`${i>0?"\u2026":""}${uo(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var sg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function qs(t){return sg.test(t)}function Va(t){var o;let e=document.createElement("template");return e.innerHTML=t,(o=e.content.textContent)!=null?o:""}import Gs from"react";import{jsx as rg}from"react/jsx-runtime";var Wa=Gs.createContext(void 0);function Ue(){let t=Gs.useContext(Wa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ja=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Gs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return rg(Wa.Provider,{value:i,children:t})};import{jsx as et,jsxs as Qs}from"react/jsx-runtime";var lg=3,$a=({children:t})=>{let e=S("CommandPalette",ae);return et("div",{className:e.listItemActions,children:t})};function Xs(u){var m=u,{closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:d,styles:l,defaultSourcesAmount:c=lg}=m,p=N(m,["closeOnSelect","lineClamp","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var w;let f=I(Pe),[y,v]=ag(!1),{selected:E,onChangeOpen:C}=Ue(),b=S("CommandPalette",ae);function P(M){n(M),t&&C(!1)}return Qs("div",{className:gn(b.listItem,d===E&&b.listItemSelected),children:[et("button",x(h({type:"button",className:b.listItemAction,"aria-disabled":(w=p.disabled)!=null?w:!1,onClick:P,"data-command-palette-item":!0,"data-item-id":d},p),{children:Qs("div",{className:b.listItemContent,children:[typeof o=="string"?et("p",{className:gn(b.listItemText,b.truncate,l==null?void 0:l.title),children:o}):o,i&&et(ig,{tagName:"p",allowList:[],content:qs(i)?Va(i):i,className:gn(b.listItemDescription,l==null?void 0:l.description,e?b.lineClamp:b.truncate)})]})})),s,a&&a.length>0&&Qs("div",{className:b.sources,children:[et("span",{className:b.sourcesTitle,children:f("sources")}),a.slice(0,y?a.length:c).map(M=>et("a",{className:b.source,href:M.url,target:"_blank",title:M.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(M),children:M.name},M.url)),!y&&a.length>c&&et("button",{className:gn(b.source,b.sourceShowMore),type:"button",onClick:()=>v(!0),children:f("showMore",{amount:a.length-c})})]})]})}import{jsx as qa,jsxs as dg}from"react/jsx-runtime";var Ga=()=>dg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[qa("title",{id:"angleLeftTitle",children:"AngleLeft"}),qa("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 Qa,jsxs as Zs}from"react/jsx-runtime";function Js({children:t,title:e,id:o,onDismiss:n}){let s=I(Pe),r=S("CommandPalette",ae),{page:i}=Ue();return i!==o?null:Zs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Zs("div",{className:r.pageNav,children:[Zs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Qa(Ga,{}),s("back")]}),e&&Qa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as ug}from"react";import{jsx as Xa,jsxs as cg}from"react/jsx-runtime";var Et=()=>cg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Xa("path",{d:"M0 0h24v24H0z",fill:"none"}),Xa("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 kt,jsxs as Ys}from"react/jsx-runtime";function pg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=S("CommandPalette",ae);return Ys("div",{className:d.search,children:[kt("div",{className:d.searchIcon,children:kt(Et,{})}),Ys("div",{className:d.searchInputWrapper,children:[kt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&kt("div",{className:d.selectWrapper,children:Ys("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&kt("option",{children:n}),s.map(l=>kt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Za=ug(pg);import Ja from"classnames";import{jsx as gg,jsxs as fg}from"react/jsx-runtime";var mg=s=>{var r=s,{onClick:t,shortKeys:e,children:o}=r,n=N(r,["onClick","shortKeys","children"]);let i=S("CommandPalette",ae);return fg("button",x(h({type:"button"},n),{onClick:t,className:Ja(i.actionButton,n.className,{[i.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(a=>gg("span",{className:Ja(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Ya=mg;import{jsx as tl,jsxs as xg}from"react/jsx-runtime";var Sg="[data-command-palette-item]";function tt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u,updateDeps:m=[]}){let[f,y]=hg(),v=yg(null),E=()=>{s&&s(o),i(void 0),r(""),a(!1)},C=()=>{var O;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(O=v.current)==null||O.focus();return}if(u.length>0){r("");return}a(!1)},b=()=>{let O=P();O.length!==0&&y(O[0].dataset.itemId)},P=()=>Array.from(document.querySelectorAll(Sg)||[]),w=O=>document.querySelector(`[data-item-id=${O}]`),M=O=>{let K=w(O);K&&y(K.dataset.itemId)},A=O=>{let K=w(O);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!f)return;let O=P(),K=w(f);if(!K)return;let ue=O.indexOf(K),le=O[ue+1];le&&le.dataset.itemId?M(le.dataset.itemId):b()},q=()=>{if(!f)return;let O=P(),K=w(f);if(!K)return;let ue=O.indexOf(K),le=O[ue-1];le&&le.dataset.itemId?M(le.dataset.itemId):M(O[O.length-1].dataset.itemId)},ce=vg(O=>{switch(O.key){case"ArrowDown":{O.preventDefault(),U();break}case"ArrowUp":{O.preventDefault(),q();break}case"Enter":{if(f){let K=w(f);K==null||K.click()}break}}},[f]);return el(()=>{b()},[u,n,d,p,...m]),el(()=>{f&&A(f)},[f]),tl(dn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:C,onClose:E,onKeyDown:ce,children:xg(ja,{selected:f,setSelected:y,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&tl(Za,{ref:v,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}tt.Page=Js;tt.List=js;tt.Image=Ba;tt.ListItem=Xs;tt.ListItemActions=$a;tt.Button=Ya;var F=tt;import{useEffect as bg}from"react";function ol(t,e){bg(()=>{let o=n=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?n.metaKey:n.ctrlKey)&&n.key===t&&(n.preventDefault(),n.stopPropagation(),e())};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[])}import{useEffect as il,useRef as Ig}from"react";import{useSelector as Pg,useDispatch as Ag}from"react-redux";import{createAsyncThunk as Cg,createSlice as wg}from"@reduxjs/toolkit";var nl={data:null,fetchState:"idle"},fn=t=>{var r,i,a,d;let e=[],{visitorName:o}=(r=t.info.visitorInfo)!=null?r:{},{agentName:n,agentNickname:s}=(i=t.info.agentInfo)!=null?i:{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),(d=(a=t.entities.data)==null?void 0:a.filter(l=>!e.includes(l.text)))!=null?d:null},fe=Cg("entities/getEntities",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):o.getEntities(r)})),Tg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Eg=wg({name:"entities",initialState:nl,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,o)=>{e.fetchState="done",e.data=Tg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(H,()=>nl)}}),sl=Eg.reducer;var er={};J(er,{enUS:()=>kg,nlNL:()=>Rg});var kg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Rg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var rl={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as tr,jsxs as Mg}from"react/jsx-runtime";var Lg=({onCopy:t})=>{let e=Ig(null),o=S("EntitiesList",rl),n=Pg(fn),{setSelected:s}=Ue(),r=I(er),i=Ag();return il(()=>{i(fe())},[]),il(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Mg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&tr(F.List,{children:n.map((a,d)=>tr(F.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&tr("p",{className:o.empty,children:r("noResults")})]})},al=Lg;import jg,{useEffect as vl,useRef as $g}from"react";import{useDispatch as qg,useSelector as Gg}from"react-redux";import{useRef as Ng,useState as or}from"react";import{useDispatch as Og}from"react-redux";function ll(t,e){let o=Ng(t);o.current=t;let[n,s]=or(void 0),[r,i]=or(void 0),[a,d]=or("idle"),l=Og();return{error:r,state:a,data:n,call:p=>{d("loading"),l(o.current(p)).unwrap().then(u=>{s(u),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(u))}).catch(u=>{i(u),d("error"),e!=null&&e.onError&&(e==null||e.onError(u))})}}}import rr from"classnames";import{useState as Bg}from"react";import{jsx as dl}from"react/jsx-runtime";var nr=t=>dl("svg",x(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:dl("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 cl}from"react/jsx-runtime";var ul=t=>cl("svg",x(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:cl("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 Rt(t,e){var s;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",e.split(" ").forEach(r=>{o.classList.add(r)}),o.addEventListener("animationend",()=>o.remove()),(s=t.parentElement)==null||s.appendChild(o)}var sr={};J(sr,{enUS:()=>Dg,nlNL:()=>_g});var Dg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},_g={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as Hg}from"react-redux";import{createAsyncThunk as Fg}from"@reduxjs/toolkit";function pl(t){return Fg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,x(h({conversationId:n},s),{data:e.data}))})(t)}function It(){let t=Hg();return(e,o)=>g(this,null,function*(){yield t(pl({name:e,data:o}))})}var ml={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as gl}from"react-redux";var Pt=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e,r=s||window.location.origin;return n&&!o?null:n&&o?`${r}/apis/admin/session/passwordless/login/?token=${o}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as At,jsxs as Ug}from"react/jsx-runtime";var Kg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=S("FeedbackThumbs",ml),r=k("enableFeedbackForm"),i=gl(He),a=gl(Pt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),d=I(sr),l=It(),[c,p]=Bg(null),u=f=>{f.stopPropagation(),Rt(f.target,s.fadeup),p("up"),l(t,x(h({},e),{rating:"up"}))},m=f=>{f.stopPropagation(),Rt(f.target,s.fadedown),p("down"),l(t,x(h({},e),{rating:"down"}))};return Ug("div",{className:s.thumbs,children:[At(_.Button,{title:d("thumbsUp"),onClick:u,icon:At(ul,{}),className:rr(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?At(_.Button,{as:"a",title:d("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:At(nr,{}),className:rr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):At(_.Button,{title:d("thumbsDown"),onClick:m,icon:At(nr,{}),className:rr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},Lt=Kg;import{jsx as fl,jsxs as zg}from"react/jsx-runtime";var hl=()=>zg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[fl("title",{id:"paperPlaneTitle",children:"PaperPlane"}),fl("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});var ir={};J(ir,{enUS:()=>Vg,nlNL:()=>Wg});var Vg={use:[{type:0,value:"Use"}],loading:[{type:0,value:"Loading..."}],error:[{type:0,value:"Something went wrong, please try again later."}],anotherQuestion:[{type:0,value:"Send a message..."}],reset:[{type:0,value:"Reset conversation"}]},Wg={use:[{type:0,value:"Gebruik"}],loading:[{type:0,value:"Laden..."}],error:[{type:0,value:"Er ging iets mis, probeer het later opnieuw."}],anotherQuestion:[{type:0,value:"Stuur een bericht..."}],reset:[{type:0,value:"Reset gesprek"}]};var yl={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{jsx as he,jsxs as Sl}from"react/jsx-runtime";var Qg=({threadId:t,onNewThreadId:e,onUse:o,onResetQuestion:n,question:s})=>{var v;let[r,i]=jg.useState(""),{setSelected:a}=Ue(),d=$g(null),l=S("KnowledgeSearchStyles",yl),c=I(ir),p=qg(),u=(v=Gg(Us(t!=null?t:-1)))!=null?v:[],m=ll(E=>zs({input:E,threadId:t,onNewThreadId:C=>e(C)}),{onSuccess(E){p(ee({name:"knowledge assist question answered",data:{question:r||s,sources:E.answer.sources,answer:E.answer.answer,isFollowUpQuestion:u.length>=1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length}`),i("")}}),f=E=>g(void 0,null,function*(){E.preventDefault(),E.stopPropagation(),r!==""&&m.call(r)}),y=(E,C)=>{p(ee({name:"knowledge assist source viewed",data:{question:C,sourceViewed:E.url||E.name},options:{includeConversationData:!0}}))};return vl(()=>{var E;s&&m.state==="idle"?m.call(s):(E=d.current)==null||E.focus()},[d,m.state]),vl(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,u]),Sl("div",{className:l.root,children:[u.length>0&&he("div",{className:l.alignRight,children:he(F.Button,{onClick:n,children:c("reset")})}),u.map(({question:E,answer:C},b)=>he(F.List,{children:he(F.ListItem,{id:`knowledge-assist-${b}`,"data-testid":"knowledge-search-answer",description:C.answer,closeOnSelect:!0,onClick:()=>o(C.answer),onSourceClick:P=>y(P,E),sources:C.sources,styles:{title:l.question,description:l.answer},extra:he("div",{className:l.listItemFeedback,children:he(Lt,{feedbackText:C.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:h({question:E,isAgent:s!==E,isFollowUpQuestion:u.length>1},C)})}),children:E})},`${C.answer}_${b}`)),m.state==="loading"&&he("p",{className:l.status,children:c("loading")}),m.state==="error"&&he("p",{className:l.status,children:c("error")}),Sl("form",{className:l.form,onSubmit:f,children:[he("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:r,onFocus:()=>{a(void 0)},onChange:E=>{a(void 0),i(E.target.value)}}),he("button",{type:"submit",className:l.submit,disabled:m.state==="loading",children:he(hl,{})})]})]})},xl=Qg;import Xg,{useState as bl,useEffect as Cl,useMemo as Zg,useRef as wl,useCallback as Jg,useContext as Yg}from"react";import ef from"classnames";var ar={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as hn,jsxs as sf}from"react/jsx-runtime";var tf=0,Tl=Xg.createContext(null),of=()=>{let t=Yg(Tl);if(!t)throw new Error("Invalid DropdownContext");return t},El=({trigger:t,children:e,position:o="bottom"})=>{let n=Zg(()=>++tf,[]),s=wl(null),r=wl(null),i=S("Dropdown",ar),[a,d]=bl(!1),[l,c]=bl(o),p=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},u=Jg(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return Cl(()=>{let m=f=>{s.current&&!s.current.contains(f.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),Cl(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),hn(Tl.Provider,{value:{setIsOpen:d},children:sf("div",{ref:s,className:i.root,children:[hn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),hn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:ef(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function nf(s){var r=s,{as:t,children:e,onClick:o}=r,n=N(r,["as","children","onClick"]);let i=t||"button",a=S("Dropdown",ar),{setIsOpen:d}=of(),l=c=>{d(!1),o(c),c.stopPropagation()};return hn(i,x(h({type:"button",className:a.item,onClick:l},n),{children:e}))}El.Item=nf;var lr=El;import{jsx as kl}from"react/jsx-runtime";var Rl=t=>kl("svg",x(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:kl("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 ot={};J(ot,{enUS:()=>rf,nlNL:()=>af});var rf={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"}]},af={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 Il}from"react-redux";import{useDispatch as lf}from"react-redux";import{jsx as dr}from"react/jsx-runtime";var df=({suggestion:t,source:e,context:o})=>{let n=I(ot),s=Il(He),r=lf(),i=k("enableSuggestionFeedback"),a=`${t.text}`,d=Il(Pt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),l=()=>{r(ee({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!d?null:dr(lr,{trigger:dr(Rl,{"data-testid":"feedback-dropdown-trigger"}),children:dr(lr.Item,{as:"a",onClick:l,target:"_blank",href:d,children:n("giveFeedback")})})},yn=df;import{Fragment as pf,useEffect as ur,useRef as mf,useState as pr}from"react";import{useSelector as gf,useDispatch as ff}from"react-redux";var cr={};J(cr,{enUS:()=>cf,nlNL:()=>uf});var cf={copy:[{type:0,value:"Copy"}],error:[{type:0,value:"Could not generate a summary"}],loading:[{type:0,value:"Generating summary, this may take a few moments."}]},uf={copy:[{type:0,value:"Kopieer"}],error:[{type:0,value:"Kon helaas geen samenvatting genereren."}],loading:[{type:0,value:"Samenvatting wordt gemaakt, dit kan even duren."}]};var Pl={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import{jsx as Mt,jsxs as Al}from"react/jsx-runtime";var hf=({onCopy:t})=>{let e=mf(null),o=S("SummaryForm",Pl),[n,s]=pr(""),[r,i]=pr(""),[a,d]=pr(!1),l=gf(Re),c=I(cr),p=ff(),u=()=>{p(ee({name:"summary copied to clipboard",data:{originalText:n,finalText:r},options:{includeConversationData:!0}})),t(r)},m=()=>{let f=document.getSelection();f&&p(ee({name:"summary copied to clipboard",data:{originalText:n,finalText:f==null?void 0:f.toString(),assistant:l==null?void 0:l.summarizerAssistantNew},options:{includeConversationData:!0}}))};return ur(()=>{p(Tt({})).then(f=>{if(f.error){d(!0);return}s(f.payload||""),i(f.payload||"")})},[]),ur(()=>{e.current&&n&&e.current.focus()},[e,n]),ur(()=>{let f=y=>{y.key==="Enter"&&y.shiftKey&&u()};return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}},[r]),Mt("div",{className:o.root,tabIndex:-1,children:a?Mt("p",{className:o.error,children:c("error")}):Al(pf,{children:[Mt("div",{className:o.main,children:Mt("textarea",{placeholder:n?void 0:c("loading"),disabled:!n,className:o.textInput,ref:e,value:r,onCopy:m,onChange:f=>i(f.target.value)})}),Al("div",{className:o.actions,children:[Mt(Lt,{feedbackText:n||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:n}}),Mt(F.Button,{shortKeys:[8679,8629],onClick:u,children:c("copy")})]})]})})},Ll=hf;var po={};J(po,{enUS:()=>yf,nlNL:()=>vf});var yf={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"Link 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"}],summaryClipboard:[{type:0,value:"Summarize conversation"}],summaryTitle:[{type:0,value:"Conversation summary"}],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?"}]},vf={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:"Link 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"}],summaryClipboard:[{type:0,value:"Gesprek samenvatten"}],summaryTitle:[{type:0,value:"Gesprek samenvatting"}],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 wf}from"react";import{useDispatch as Tf,useSelector as Ef}from"react-redux";import{createAction as bf,createAsyncThunk as Dl,createSlice as Cf}from"@reduxjs/toolkit";var Sf=["{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}"],xf=new RegExp(Sf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Ml(t,e){let o=t.split(xf),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;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,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function Nl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var _l={suggestions:[],fetchState:"idle"},Ol={default:_l},Fl=t=>e=>{var o,n;return(n=(o=e.textSuggestions[t])==null?void 0:o.suggestions)!=null?n:[]},vn=t=>t.textSuggestions,Hl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},Sn=bf("textSuggestions/refresh"),ye=Dl("textSuggestions/recommendations",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,inlineSuggestions:a}=n.settings,d=bt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getTextSuggestions(s,Yt(n),t);if(r&&(l=l.map(p=>h(x(h({},p),{text:Q(p.text,r)}),p.title?{title:Q(p.title,r)}:{}))),t==="default"){let p=a?l.filter(Hl(d)):l;e.dispatch(Be(p.slice(0,i)))}return l})),mo=Dl("textSuggestions/autocompletions",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getAutocompleteSuggestions(s,x(h({},Yt(n)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Hl(t))),r&&(l=l.map(p=>x(h({},p),{text:Q(p.text,r)}))),a&&(l=l.map(p=>x(h({},p),{text:p.source!=="trie-with-typos"?Ml(p.text,t):p.text}))),l=Nl(l,i),e.dispatch(Be(l)),l})),Bl=Cf({name:"textSuggestions",initialState:Ol,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(ye.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||_l;return x(h({},e),{[n]:x(h({},s),{fetchState:"loading"})})}).addCase(ye.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ye.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(mo.pending,e=>{e.default.fetchState="loading"}).addCase(mo.rejected,e=>{e.default.fetchState="error"}).addCase(mo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(H,()=>Ol)}}),{setTextSuggestions:wk}=Bl.actions,Kl=Bl.reducer;import{jsx as xn,jsxs as Rf}from"react/jsx-runtime";var kf=({types:t,commands:e,onClick:o})=>{let n=Tf(),s=I(po),r=Ef(vn);return wf(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&n(ye(i))})},[]),Rf("div",{children:[e.length>0&&xn(F.List,{heading:s("commands"),children:e.map((i,a)=>xn(F.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return xn(F.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>xn(F.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>o(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},Ul=kf;import{jsx as ne,jsxs as gr}from"react/jsx-runtime";var Nf=200,Of=5,Df=4,mr=(t,e,o)=>t.slice(0,o?10:e.toLowerCase()==="image"?Df:Of),Wl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),_f=()=>{var si,ri,ii;let t=Mf(),e=de(),o=I(po),[n,s]=bn(!1),[r,i]=bn(""),[a,d]=bn(null),l=nt(oa),c=nt(Re),[p,u]=bn(),m=nt(Y),f=k("showSearch"),y=k("enableSuggestionFeedback"),v=k("showEntitiesCommand"),E=k("showSummaryCommand"),C=k("showKnowledgeSearch"),b=k("showImageSearch"),P=k("searchTriggerKey"),w=nt(Da),M=nt(na),A=nt(sa),U=nt(ta),q=((ii=(ri=(si=c==null?void 0:c.uiConfig)==null?void 0:si.search)==null?void 0:ri.initialTypes)==null?void 0:ii.filter(({isActive:R})=>R))||[],ce=Lf(()=>{let R=te=>mr(M.filter(V=>V.type===te.toUpperCase()),te,p),W=(w==null?void 0:w.map(te=>({value:te.code.toUpperCase(),label:`${te.name}s`,list:R(te.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(W.push({value:"PERSONAL",label:o("personalSuggestions"),list:R("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:o("urlSuggestions"),list:R("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:R("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),b&&W.push({value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:R("IMAGE"),listOrientation:"horizontal"}),q.length===0)return W;let qt=q.map(te=>W.find(V=>V.value.toLowerCase()===te.type)).filter(te=>!!te),ds=W.filter(te=>!qt.find(V=>V.value===te.value));return[...qt,...ds]},[w,q,b,p]),O=[{label:o("entitiesClipboard"),onClick:()=>t(me("entities")),shouldShow:v&&Wl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(me("summary")),shouldShow:E&&Wl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(me("knowledgeAssist")),shouldShow:C}].filter(R=>R.shouldShow).filter(()=>!p),K=zl(Pf((R,W)=>{t(Ze({query:R,type:W,tags:["search-overlay"],size:p?50:20}))},Nf),[p]),ue=zl((R,W)=>{switch(W.type){case"IMAGE":e.send(Is,{suggestion:W});break;default:e.send(Ke,{text:R,suggestion:W})}t(re(!1))},[t]),le=R=>{Ie(R.text),t(ee({name:"entity copied",data:{entity:R,type:"copy"}})),t(re(!1))},Fu=R=>{e.send(Ke,{text:R,suggestion:{source:"knowledge-assist",text:R}}),t(ee({name:"answer used",data:{originalText:R},options:{includeConversationData:!0}})),i(""),a&&t(pn(a)),t(me("search")),t(re(!1))},Hu=R=>{Ie(R),t(re(!1))};function $t(R){return W=>{n?window.confirm(o("warning"))&&(R(W),s(!1)):R(W)}}return Vl(()=>{r?K(r,p):t(Go())},[r,p]),Vl(()=>{m&&t(ao())},[m]),ol(P,()=>t(re(!0))),!f||!c?null:gr(F,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:$t(R=>t(re(R))),onChangeType:R=>u(R),onChangePage:$t(R=>t(me(R))),selectedType:p,search:r,page:l,isOpen:U,types:ce,updateDeps:[M],children:[gr(F.Page,{id:"search",children:[r.length===0&&ne(Ul,{types:q,commands:O,onClick:ue}),r.length>0&&gr(Af,{children:[O.length>0&&ne(F.List,{heading:o("commands"),children:O.map((R,W)=>ne(F.ListItem,{closeOnSelect:!1,onClick:R.onClick,id:`commands-${W}`,children:R.label},R.label))}),ce.map(({value:R,label:W,list:qt,lineClamp:ds,listOrientation:te})=>ne(F.List,{heading:W,orientation:te==="horizontal"?"horizontal":"vertical",onShowAll:()=>u(R),hasMore:!p&&A[R.toLowerCase()]>mr(qt,R,p).length,children:mr(qt,R,p).map(V=>ne(F.ListItem,{id:`${R}-${V.id}`,closeOnSelect:!1,lineClamp:ds,onClick:()=>ue(V.text,V),description:R!=="IMAGE"?V.title&&V.text:void 0,extra:y&&ne(F.ListItemActions,{children:ne(yn,{context:r,source:"search",suggestion:V})}),children:R==="IMAGE"?ne(F.Image,{title:V.title||V.text,src:V.image}):V.title||V.text},`${V.id}-${V.text}`))},R))]})]}),ne(F.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:$t(()=>{t(me("search"))}),children:ne(al,{onCopy:le})}),ne(F.Page,{id:"summary",title:o("summaryTitle"),onDismiss:$t(()=>{t(me("search"))}),children:ne(Ll,{onCopy:Hu})}),ne(F.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:$t(()=>{a&&t(pn(a)),t(me("search"))}),children:ne(xl,{threadId:a,onNewThreadId:R=>d(R),question:r,onUse:Fu,onResetQuestion:()=>{a&&t(pn(a)),i(""),d(null)}})})]})},jl=_f;import{jsx as $l,jsxs as Bf}from"react/jsx-runtime";var Hf=()=>{let t=k("showSearch"),e=k("isEmbedded");return Bf(Ff,{children:[t&&$l(jl,{}),e&&$l(Ra,{})]})},ql=Hf;import Vf from"classnames";import{useSelector as Wf}from"react-redux";import{jsx as fr}from"react/jsx-runtime";var Gl=({className:t})=>fr("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:fr("g",{children:fr("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
+ `,Ye.MISSING_INTL_API,i);var P=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));b=c.options[P]||c.options.other}if(!b)throw new Os(c.value,u,Object.keys(c.options),i);a.push.apply(a,so(b.value,e,o,n,s,u-(c.offset||0)));continue}}return rm(a)}function am(t,e){return e?ie(ie(ie({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=ie(ie({},t[n]),e[n]||{}),o},{})):t}function lm(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=am(t[n],e[n]),o},ie({},t)):t}function Ds(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function dm(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.number),strategy:ln.variadic}),getDateTimeFormat:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.dateTime),strategy:ln.variadic}),getPluralRules:an(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Qo([void 0],o,!1)))},{cache:Ds(t.pluralRules),strategy:ln.variadic})}}var Sa=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==Z.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return so(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=o,this.resolvedLocale=t.resolveLocale(o),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=ua(i,["formatters"]);this.ast=t.__parse(e,ie(ie({},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=lm(t.formats,n),this.formatters=s&&s.formatters||dm(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 o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=ga,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 pm(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var mm="dummy",_s=cm(null);function I(t){var n;let e=um(_s);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=(n=t[e])!=null?n:{};return(s,r)=>{let i=pm(o,s);return i?new Sa(i).format(r):(e!==mm&&console.warn(`${s} does not exist in messages of ${e}`),`[${s}]`)}}import{useEffect as gm,useRef as fm}from"react";var xa={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as ba}from"react/jsx-runtime";var hm=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=fm(null),l=S("Dialog",xa),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&n()};return gm(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?ba("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:ba("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},dn=hm;import ym from"classnames";var Ca={root:"dd-ranhW"};import{jsx as Sm}from"react/jsx-runtime";var vm=n=>{var s=n,{className:t,value:e}=s,o=N(s,["className","value"]);let r=S("TextInput",Ca);return Sm("input",h({className:ym(t,r.root),type:"text",value:e},o))},ro=vm;var Fs={};J(Fs,{enUS:()=>xm,nlNL:()=>bm});var xm={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"}]},bm={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 wa={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 oe,jsxs as cn}from"react/jsx-runtime";var km=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch(e){return t}},Rm=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=I(Fs),i=S("LoginTokenDialog",wa),a=Em(Ei),d=Tm(),l=k("productName"),[c,p]=Bs(t||""),[u,m]=Bs(0),[f,y]=Bs(""),v=Ta(P=>g(void 0,null,function*(){P.preventDefault(),d(Ri({email:c})),m(1)}),[o,c]),E=()=>{y(""),m(0)},C=Ta(P=>g(void 0,null,function*(){P.preventDefault();let w=km(P.target.elements.token.value);if(!w){y(r("verifyCodeError",{login:b}));return}d(Zt({token:w}))}),[o]),b=wm(()=>P=>oe("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:P},"back-button"),[]);return Cm(()=>{a==="error"&&y(r("verifyCodeError",{login:b})),a==="done"&&n()},[a]),oe(dn,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:cn("div",{className:i.root,children:[oe("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&cn("form",{onSubmit:v,children:[oe("h2",{className:i.subtitle,children:r("requestCodeTitle")}),oe("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),oe(ro,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:P=>p(P.target.value)}),oe("div",{className:i.actions,children:oe("button",{type:"submit",className:Hs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&cn("form",{onSubmit:C,children:[oe("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),oe("p",{className:i.text,children:r("verifyCodeBody")}),oe(ro,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&oe("div",{className:i.errorMessage,children:f}),cn("div",{className:i.actions,children:[oe("button",{type:"button",className:Hs(i.button),onClick:E,children:r("back")}),oe("button",{type:"submit",className:Hs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ea=Rm;import{jsx as Pm}from"react/jsx-runtime";var Im=()=>{let t=ka(ki),e=ka(Gi),o=k("adminUrl"),n=de(),s=()=>n.send(wt,!1),r=()=>{n.send(wt,!1),n.send(eo)};return Pm(Ea,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Ra=Im;import Pf from"lodash.debounce";import{Fragment as Af,useCallback as zl,useEffect as Vl,useMemo as Lf,useState as bn}from"react";import{useDispatch as Mf,useSelector as nt}from"react-redux";import{createAction as Om,createAsyncThunk as Ks,createSlice as Dm}from"@reduxjs/toolkit";import{createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var Mm={data:null,fetchState:"idle"},Ia=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},io=Am("knowledgeAssistant/getKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");let r=(i=n.profile.data)==null?void 0:i.knowledgeAssistant;return r?o.getKnowledgeAssistant(r):null})),Nm=Lm({name:"knowledgeAssistant",initialState:Mm,reducers:{},extraReducers:t=>{t.addCase(io.pending,e=>{e.fetchState="loading"}).addCase(io.rejected,e=>{e.fetchState="error"}).addCase(io.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Pa=Nm.reducer;var Aa={cues:[],threads:{},fetchState:"idle"},La=t=>{var e;return(e=t.assistants)==null?void 0:e.cues},Us=t=>e=>{var o,n;return(n=(o=e.assistants)==null?void 0:o.threads[t])!=null?n:null},un=Om("assistants/callToAction"),Tt=Ks("assistants/getSummary",(t,e)=>g(void 0,null,function*(){var i,a,d;let n=e.getState().profile.data;if(!n)throw new Error("No Profile is loaded");let{summarizerAssistantNew:s}=n;if(!s){let{deepdeskAPI:l,dynamicThunkObject:c}=e.extra,p=e.getState(),u=(i=p.conversation.current)==null?void 0:i.sessionId,m=(d=(a=p.info)==null?void 0:a.agentInfo)==null?void 0:d.agentId;if(!c.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let f=c.conversationQuery,y=yield f(),v=yield l.getSummary(y,{externalConversationId:u,agentId:m,promptInstruction:n.summarizerPromptInstruction,model:n.summarizerModel});return v.summary?v.summary:Promise.reject(new Error("Summary is not provided"))}let r=yield e.dispatch(ke(h({assistantCode:s,expectFormat:"text",transcript:"in-memory-transcript",skipState:!0},t)));if(r.error)throw new Error(r.error.message);if(typeof r.payload!="string")throw T.warn("Unexpected summary output",r),new Error("Unexpected summary output");return r.payload})),_m=1,zs=Ks("assistants/evaluateKnowledgeAssistant",(t,e)=>g(void 0,null,function*(){var p,u,m,f;let{threadId:o}=t,{onNewThreadId:n,input:s}=t,{deepdeskAPI:r}=e.extra,i=e.getState(),{platformVariables:a}=i.info;if(!i.profile.data)throw new Error("No Profile is loaded");let{knowledgeAssistantNew:d}=i.profile.data;if(!d){o||(o=_m++,n&&n(o));let y=(p=Us(o)(i))!=null?p:[],v=Ia(i),E=(u=i.conversation.current)==null?void 0:u.sessionId,C=(f=(m=i.info)==null?void 0:m.agentInfo)==null?void 0:f.agentId;if(!v)throw new Error("KnowledgeAssistant is not defined");let b=yield r.knowledgeAssist({customerInstruction:v.customerInstruction,doNotKnowAnswer:v.doNotKnowAnswer,question:s},y,v.code,{agentId:C,conversationId:E});return a&&(b.answer=Q(b.answer,a)),{threadId:o,question:s,answer:b}}o||(o=(yield r.createAssistantThread({assistantCode:d})).id,n&&n(o)),yield r.postMessageToAssistantThread({assistantCode:d,threadId:o,message:t.input});let l=yield e.dispatch(ke(x(h({assistantCode:d,expectFormat:"json-schema:knowledge-assist",skipState:!0},t),{input:{},threadId:o})));if(l.error)throw new Error(l.error.message);let c=l.payload;return{threadId:o,question:t.input,answer:{answer:Q(c.response,a!=null?a:{}),sources:c.sources}}})),ke=Ks("assistants/evaluate",(t,e)=>g(void 0,null,function*(){var m;let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra,{transcript:s,input:r={},expectFormat:i,threadId:a}=t,d=e.getState(),{platformVariables:l}=d.info,c=(m=d.conversation.current)==null?void 0:m.sessionId,p;if(s==="in-memory-transcript"){if(!n.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");p=yield n.conversationQuery()}else if(s==="stored-transcript"){if(!d.conversation.current)throw new Error("Can't include stored-transcript, no current conversation");p=d.conversation.current.messages.map(f=>({text:f.text,source:f.source}))}else Array.isArray(s)&&(p=s);if(t.includeTags){if(!d.conversation.current)throw new Error("Can't include tags, no current conversation");let{tags:f}=d.conversation.current;Object.assign(r,{tags:f})}let u=yield o.evaluateAssistant(t.assistantCode,{expectFormat:i,input:r,transcript:p,externalConversationId:c,threadId:a});if(!l)return u;switch(i){case"text":return Q(u,l);case"json-schema:cues":return u.map(f=>x(h({},f),{name:Q(f.name,l),response:Q(f.response,l)}));case"json-schema:knowledge-assist":{let f=u;return x(h({},f),{answer:Q(f.response,l)})}case"json-object":default:return u}})),Ma=Dm({name:"assistants",initialState:Aa,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(o=>o.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]}},extraReducers:t=>{t.addCase(ke.pending,(e,o)=>{o.meta.arg.skipState||(e.fetchState="loading")}).addCase(ke.rejected,(e,o)=>{o.meta.arg.skipState||(e.fetchState="error")}).addCase(ke.fulfilled,(e,o)=>{if(!o.meta.arg.skipState)switch(o.meta.arg.expectFormat){case"json-schema:cues":{let n=o.payload,s=n.map(i=>i.code),r=e.cues.filter(i=>!s.includes(i.code));e.fetchState="done",e.cues=[...n,...r];break}}}).addCase(zs.fulfilled,(e,o)=>{let r=o.payload,{threadId:n}=r,s=N(r,["threadId"]);e.threads[n]=[...e.threads[n]||[],s]}).addCase(H,()=>Aa)}}),{removeCueByCode:Na,resetCues:nw,removeThreadById:pn}=Ma.actions,Oa=Ma.reducer;import{createAsyncThunk as Fm,createSlice as Hm}from"@reduxjs/toolkit";var Bm={data:null,fetchState:"idle"},Da=t=>t.contentTypes.data,ao=Fm("contentTypes/getContentTypes",(t,e)=>g(void 0,null,function*(){return e.extra.deepdeskAPI.getContentTypes()})),Km=Hm({name:"contentTypes",initialState:Bm,reducers:{},extraReducers:t=>{t.addCase(ao.pending,e=>{e.fetchState="loading"}).addCase(ao.rejected,e=>{e.fetchState="error"}).addCase(ao.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),_a=Km.reducer;import{createAsyncThunk as Um,createSlice as zm}from"@reduxjs/toolkit";var Vm={data:null,fetchState:"idle"},Re=t=>t.profile.data,mn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Fa=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,lo=Um("profile/getProfile",(t,e)=>g(void 0,null,function*(){var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)})),Wm=zm({name:"profile",initialState:Vm,reducers:{},extraReducers:t=>{t.addCase(lo.pending,e=>{e.fetchState="loading"}).addCase(lo.rejected,e=>{e.fetchState="error"}).addCase(lo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ha=Wm.reducer;function Ie(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{useEffect as el,useState as hg,useRef as yg,useCallback as vg}from"react";import{useState as qm}from"react";import Vs from"classnames";var ae={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",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 Pe={};J(Pe,{enUS:()=>jm,nlNL:()=>$m});var jm={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"}]},$m={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 co,jsxs as Qm}from"react/jsx-runtime";var Gm=({src:t,title:e})=>{let o=S("CommandPalette",ae),[n,s]=qm("loading"),r=I(Pe);return Qm("div",{className:o.image,children:[co("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Vs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&co("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&co("span",{className:Vs(o.imageSrc,o.imageSrcStatus),children:co(Ao,{})}),e&&co("span",{className:o.imageTitle,children:e})]})},Ba=Gm;import Xm from"react";import Zm from"classnames";import{jsx as Ws,jsxs as Ka}from"react/jsx-runtime";function js({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=I(Pe),i=S("CommandPalette",ae);return Xm.Children.count(t)===0?null:Ka("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&Ka("div",{className:i.listHeader,children:[e&&Ws("h4",{className:i.listHeading,children:e}),n&&s&&Ws("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ws("div",{className:Zm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import gn from"classnames";import{Interweave as ig}from"interweave";import{useState as ag}from"react";var Jm=/[.*+?^${}()|[\]\\]/g,Ym=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function eg(t){return t.replace(Jm,"\\$&")}function tg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function og(t){return t.search(Ym)}function Ua(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${eg(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function za(t){return t.replace(No,'<mark data-type="placeholder">$1</mark>')}function uo(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function ng(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 $s(t,e,o={}){if(e){let n=tg(e.toLowerCase(),t.toLowerCase()),s=uo(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=og(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(xi).length>3||e.length>30?ng(e.trim(),n):0;return`${`${i>0?"\u2026":""}${uo(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var sg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function qs(t){return sg.test(t)}function Va(t){var o;let e=document.createElement("template");return e.innerHTML=t,(o=e.content.textContent)!=null?o:""}import Gs from"react";import{jsx as rg}from"react/jsx-runtime";var Wa=Gs.createContext(void 0);function Ue(){let t=Gs.useContext(Wa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ja=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Gs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return rg(Wa.Provider,{value:i,children:t})};import{jsx as et,jsxs as Qs}from"react/jsx-runtime";var lg=3,$a=({children:t})=>{let e=S("CommandPalette",ae);return et("div",{className:e.listItemActions,children:t})};function Xs(u){var m=u,{closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,extra:s,onSourceClick:r,description:i,sources:a,id:d,styles:l,defaultSourcesAmount:c=lg}=m,p=N(m,["closeOnSelect","lineClamp","children","onClick","extra","onSourceClick","description","sources","id","styles","defaultSourcesAmount"]);var w;let f=I(Pe),[y,v]=ag(!1),{selected:E,onChangeOpen:C}=Ue(),b=S("CommandPalette",ae);function P(M){n(M),t&&C(!1)}return Qs("div",{className:gn(b.listItem,d===E&&b.listItemSelected),children:[et("button",x(h({type:"button",className:b.listItemAction,"aria-disabled":(w=p.disabled)!=null?w:!1,onClick:P,"data-command-palette-item":!0,"data-item-id":d},p),{children:Qs("div",{className:b.listItemContent,children:[typeof o=="string"?et("p",{className:gn(b.listItemText,b.truncate,l==null?void 0:l.title),children:o}):o,i&&et(ig,{tagName:"p",allowList:[],content:qs(i)?Va(i):i,className:gn(b.listItemDescription,l==null?void 0:l.description,e?b.lineClamp:b.truncate)})]})})),s,a&&a.length>0&&Qs("div",{className:b.sources,children:[et("span",{className:b.sourcesTitle,children:f("sources")}),a.slice(0,y?a.length:c).map(M=>et("a",{className:b.source,href:M.url,target:"_blank",title:M.url,rel:"noopener noreferrer","data-testid":"source",onClick:()=>r&&r(M),children:M.name},M.url)),!y&&a.length>c&&et("button",{className:gn(b.source,b.sourceShowMore),type:"button",onClick:()=>v(!0),children:f("showMore",{amount:a.length-c})})]})]})}import{jsx as qa,jsxs as dg}from"react/jsx-runtime";var Ga=()=>dg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[qa("title",{id:"angleLeftTitle",children:"AngleLeft"}),qa("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 Qa,jsxs as Zs}from"react/jsx-runtime";function Js({children:t,title:e,id:o,onDismiss:n}){let s=I(Pe),r=S("CommandPalette",ae),{page:i}=Ue();return i!==o?null:Zs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Zs("div",{className:r.pageNav,children:[Zs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Qa(Ga,{}),s("back")]}),e&&Qa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as ug}from"react";import{jsx as Xa,jsxs as cg}from"react/jsx-runtime";var Et=()=>cg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Xa("path",{d:"M0 0h24v24H0z",fill:"none"}),Xa("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 kt,jsxs as Ys}from"react/jsx-runtime";function pg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=S("CommandPalette",ae);return Ys("div",{className:d.search,children:[kt("div",{className:d.searchIcon,children:kt(Et,{})}),Ys("div",{className:d.searchInputWrapper,children:[kt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&kt("div",{className:d.selectWrapper,children:Ys("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&kt("option",{children:n}),s.map(l=>kt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Za=ug(pg);import Ja from"classnames";import{jsx as gg,jsxs as fg}from"react/jsx-runtime";var mg=s=>{var r=s,{onClick:t,shortKeys:e,children:o}=r,n=N(r,["onClick","shortKeys","children"]);let i=S("CommandPalette",ae);return fg("button",x(h({type:"button"},n),{onClick:t,className:Ja(i.actionButton,n.className,{[i.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(a=>gg("span",{className:Ja(i.actionShortcut,a===8629&&i.actionShortcutFixKerning),children:typeof a=="number"?String.fromCharCode(a):a},a))]}))},Ya=mg;import{jsx as tl,jsxs as xg}from"react/jsx-runtime";var Sg="[data-command-palette-item]";function tt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u,updateDeps:m=[]}){let[f,y]=hg(),v=yg(null),E=()=>{s&&s(o),i(void 0),r(""),a(!1)},C=()=>{var O;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(O=v.current)==null||O.focus();return}if(u.length>0){r("");return}a(!1)},b=()=>{let O=P();O.length!==0&&y(O[0].dataset.itemId)},P=()=>Array.from(document.querySelectorAll(Sg)||[]),w=O=>document.querySelector(`[data-item-id=${O}]`),M=O=>{let K=w(O);K&&y(K.dataset.itemId)},A=O=>{let K=w(O);K&&K.scrollIntoView({behavior:"smooth"})},U=()=>{if(!f)return;let O=P(),K=w(f);if(!K)return;let ue=O.indexOf(K),le=O[ue+1];le&&le.dataset.itemId?M(le.dataset.itemId):b()},q=()=>{if(!f)return;let O=P(),K=w(f);if(!K)return;let ue=O.indexOf(K),le=O[ue-1];le&&le.dataset.itemId?M(le.dataset.itemId):M(O[O.length-1].dataset.itemId)},ce=vg(O=>{switch(O.key){case"ArrowDown":{O.preventDefault(),U();break}case"ArrowUp":{O.preventDefault(),q();break}case"Enter":{if(f){let K=w(f);K==null||K.click()}break}}},[f]);return el(()=>{b()},[u,n,d,p,...m]),el(()=>{f&&A(f)},[f]),tl(dn,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:C,onClose:E,onKeyDown:ce,children:xg(ja,{selected:f,setSelected:y,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&tl(Za,{ref:v,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}tt.Page=Js;tt.List=js;tt.Image=Ba;tt.ListItem=Xs;tt.ListItemActions=$a;tt.Button=Ya;var F=tt;import{useEffect as bg}from"react";function ol(t,e){bg(()=>{let o=n=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?n.metaKey:n.ctrlKey)&&n.key===t&&(n.preventDefault(),n.stopPropagation(),e())};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[])}import{useEffect as il,useRef as Ig}from"react";import{useSelector as Pg,useDispatch as Ag}from"react-redux";import{createAsyncThunk as Cg,createSlice as wg}from"@reduxjs/toolkit";var nl={data:null,fetchState:"idle"},fn=t=>{var r,i,a,d;let e=[],{visitorName:o}=(r=t.info.visitorInfo)!=null?r:{},{agentName:n,agentNickname:s}=(i=t.info.agentInfo)!=null?i:{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),(d=(a=t.entities.data)==null?void 0:a.filter(l=>!e.includes(l.text)))!=null?d:null},fe=Cg("entities/getEntities",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=yield s();return r.length===0?Promise.resolve([]):o.getEntities(r)})),Tg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Eg=wg({name:"entities",initialState:nl,reducers:{},extraReducers:t=>{t.addCase(fe.pending,e=>{e.fetchState="loading"}).addCase(fe.rejected,e=>{e.fetchState="error"}).addCase(fe.fulfilled,(e,o)=>{e.fetchState="done",e.data=Tg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(H,()=>nl)}}),sl=Eg.reducer;var er={};J(er,{enUS:()=>kg,nlNL:()=>Rg});var kg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Rg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var rl={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as tr,jsxs as Mg}from"react/jsx-runtime";var Lg=({onCopy:t})=>{let e=Ig(null),o=S("EntitiesList",rl),n=Pg(fn),{setSelected:s}=Ue(),r=I(er),i=Ag();return il(()=>{i(fe())},[]),il(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Mg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&tr(F.List,{children:n.map((a,d)=>tr(F.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&tr("p",{className:o.empty,children:r("noResults")})]})},al=Lg;import jg,{useEffect as vl,useRef as $g}from"react";import{useDispatch as qg,useSelector as Gg}from"react-redux";import{useRef as Ng,useState as or}from"react";import{useDispatch as Og}from"react-redux";function ll(t,e){let o=Ng(t);o.current=t;let[n,s]=or(void 0),[r,i]=or(void 0),[a,d]=or("idle"),l=Og();return{error:r,state:a,data:n,call:p=>{d("loading"),l(o.current(p)).unwrap().then(u=>{s(u),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(u))}).catch(u=>{i(u),d("error"),e!=null&&e.onError&&(e==null||e.onError(u))})}}}import rr from"classnames";import{useState as Bg}from"react";import{jsx as dl}from"react/jsx-runtime";var nr=t=>dl("svg",x(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:dl("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 cl}from"react/jsx-runtime";var ul=t=>cl("svg",x(h({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:cl("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 Rt(t,e){var s;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",e.split(" ").forEach(r=>{o.classList.add(r)}),o.addEventListener("animationend",()=>o.remove()),(s=t.parentElement)==null||s.appendChild(o)}var sr={};J(sr,{enUS:()=>Dg,nlNL:()=>_g});var Dg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},_g={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as Hg}from"react-redux";import{createAsyncThunk as Fg}from"@reduxjs/toolkit";function pl(t){return Fg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,x(h({conversationId:n},s),{data:e.data}))})(t)}function It(){let t=Hg();return(e,o)=>g(this,null,function*(){yield t(pl({name:e,data:o}))})}var ml={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as gl}from"react-redux";var Pt=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e,r=s||window.location.origin;return n&&!o?null:n&&o?`${r}/apis/admin/session/passwordless/login/?token=${o}&redirect=${encodeURIComponent(t)}`:`${r}${t}`};import{jsx as At,jsxs as Ug}from"react/jsx-runtime";var Kg=({eventName:t,eventData:e,feedbackType:o,feedbackText:n})=>{let s=S("FeedbackThumbs",ml),r=k("enableFeedbackForm"),i=gl(He),a=gl(Pt(`/admin/feedback?conversationId=${i}&type=${o}&text=${n}&data=${JSON.stringify(e)}`)),d=I(sr),l=It(),[c,p]=Bg(null),u=f=>{f.stopPropagation(),Rt(f.target,s.fadeup),p("up"),l(t,x(h({},e),{rating:"up"}))},m=f=>{f.stopPropagation(),Rt(f.target,s.fadedown),p("down"),l(t,x(h({},e),{rating:"down"}))};return Ug("div",{className:s.thumbs,children:[At(_.Button,{title:d("thumbsUp"),onClick:u,icon:At(ul,{}),className:rr(s.thumbsUp,c==="up"&&s.selected),disabled:!!c}),r&&a?At(_.Button,{as:"a",title:d("thumbsDown"),href:a,target:"_blank",rel:"noreferrer",onClick:m,icon:At(nr,{}),className:rr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c}):At(_.Button,{title:d("thumbsDown"),onClick:m,icon:At(nr,{}),className:rr(s.thumbsDown,c==="down"&&s.selected),disabled:!!c})]})},Lt=Kg;import{jsx as fl,jsxs as zg}from"react/jsx-runtime";var hl=()=>zg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[fl("title",{id:"paperPlaneTitle",children:"PaperPlane"}),fl("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});var ir={};J(ir,{enUS:()=>Vg,nlNL:()=>Wg});var Vg={use:[{type:0,value:"Use"}],loading:[{type:0,value:"Loading..."}],error:[{type:0,value:"Something went wrong, please try again later."}],anotherQuestion:[{type:0,value:"Send a message..."}],reset:[{type:0,value:"Reset conversation"}]},Wg={use:[{type:0,value:"Gebruik"}],loading:[{type:0,value:"Laden..."}],error:[{type:0,value:"Er ging iets mis, probeer het later opnieuw."}],anotherQuestion:[{type:0,value:"Stuur een bericht..."}],reset:[{type:0,value:"Reset gesprek"}]};var yl={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{jsx as he,jsxs as Sl}from"react/jsx-runtime";var Qg=({threadId:t,onNewThreadId:e,onUse:o,onResetQuestion:n,question:s})=>{var v;let[r,i]=jg.useState(""),{setSelected:a}=Ue(),d=$g(null),l=S("KnowledgeSearchStyles",yl),c=I(ir),p=qg(),u=(v=Gg(Us(t!=null?t:-1)))!=null?v:[],m=ll(E=>zs({input:E,threadId:t,onNewThreadId:C=>e(C)}),{onSuccess(E){p(ee({name:"knowledge assist question answered",data:{question:r||s,sources:E.answer.sources,answer:E.answer.answer,isFollowUpQuestion:u.length>=1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length}`),i("")}}),f=E=>g(void 0,null,function*(){E.preventDefault(),E.stopPropagation(),r!==""&&m.call(r)}),y=(E,C)=>{p(ee({name:"knowledge assist source viewed",data:{question:C,sourceViewed:E.url||E.name},options:{includeConversationData:!0}}))};return vl(()=>{var E;s&&m.state==="idle"?m.call(s):(E=d.current)==null||E.focus()},[d,m.state]),vl(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,u]),Sl("div",{className:l.root,children:[u.length>0&&he("div",{className:l.alignRight,children:he(F.Button,{onClick:n,children:c("reset")})}),u.map(({question:E,answer:C},b)=>he(F.List,{children:he(F.ListItem,{id:`knowledge-assist-${b}`,"data-testid":"knowledge-search-answer",description:C.answer,closeOnSelect:!0,onClick:()=>o(C.answer),onSourceClick:P=>y(P,E),sources:C.sources,styles:{title:l.question,description:l.answer},extra:he("div",{className:l.listItemFeedback,children:he(Lt,{feedbackText:C.answer,feedbackType:"knowledge-assist-answer",eventName:"knowledge assist feedback",eventData:h({question:E,isAgent:s!==E,isFollowUpQuestion:u.length>1},C)})}),children:E})},`${C.answer}_${b}`)),m.state==="loading"&&he("p",{className:l.status,children:c("loading")}),m.state==="error"&&he("p",{className:l.status,children:c("error")}),Sl("form",{className:l.form,onSubmit:f,children:[he("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:r,onFocus:()=>{a(void 0)},onChange:E=>{a(void 0),i(E.target.value)}}),he("button",{type:"submit",className:l.submit,disabled:m.state==="loading",children:he(hl,{})})]})]})},xl=Qg;import Xg,{useState as bl,useEffect as Cl,useMemo as Zg,useRef as wl,useCallback as Jg,useContext as Yg}from"react";import ef from"classnames";var ar={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as hn,jsxs as sf}from"react/jsx-runtime";var tf=0,Tl=Xg.createContext(null),of=()=>{let t=Yg(Tl);if(!t)throw new Error("Invalid DropdownContext");return t},El=({trigger:t,children:e,position:o="bottom"})=>{let n=Zg(()=>++tf,[]),s=wl(null),r=wl(null),i=S("Dropdown",ar),[a,d]=bl(!1),[l,c]=bl(o),p=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},u=Jg(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return Cl(()=>{let m=f=>{s.current&&!s.current.contains(f.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),Cl(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),hn(Tl.Provider,{value:{setIsOpen:d},children:sf("div",{ref:s,className:i.root,children:[hn("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),hn("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:ef(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function nf(s){var r=s,{as:t,children:e,onClick:o}=r,n=N(r,["as","children","onClick"]);let i=t||"button",a=S("Dropdown",ar),{setIsOpen:d}=of(),l=c=>{d(!1),o(c),c.stopPropagation()};return hn(i,x(h({type:"button",className:a.item,onClick:l},n),{children:e}))}El.Item=nf;var lr=El;import{jsx as kl}from"react/jsx-runtime";var Rl=t=>kl("svg",x(h({xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512"},t),{children:kl("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 ot={};J(ot,{enUS:()=>rf,nlNL:()=>af});var rf={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"}]},af={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 Il}from"react-redux";import{useDispatch as lf}from"react-redux";import{jsx as dr}from"react/jsx-runtime";var df=({suggestion:t,source:e,context:o})=>{let n=I(ot),s=Il(He),r=lf(),i=k("enableSuggestionFeedback"),a=`${t.text}`,d=Il(Pt(`/admin/feedback?conversationId=${s}&type=${e}&text=${a}&data=${JSON.stringify({context:o})}`)),l=()=>{r(ee({name:"suggestion feedback",data:{text:t.text,source:e,context:o},options:{includeConversationData:!0}}))};return!i||!d?null:dr(lr,{trigger:dr(Rl,{"data-testid":"feedback-dropdown-trigger"}),children:dr(lr.Item,{as:"a",onClick:l,target:"_blank",href:d,children:n("giveFeedback")})})},yn=df;import{Fragment as pf,useEffect as ur,useRef as mf,useState as pr}from"react";import{useSelector as gf,useDispatch as ff}from"react-redux";var cr={};J(cr,{enUS:()=>cf,nlNL:()=>uf});var cf={copy:[{type:0,value:"Copy"}],error:[{type:0,value:"Could not generate a summary"}],loading:[{type:0,value:"Generating summary, this may take a few moments."}]},uf={copy:[{type:0,value:"Kopieer"}],error:[{type:0,value:"Kon helaas geen samenvatting genereren."}],loading:[{type:0,value:"Samenvatting wordt gemaakt, dit kan even duren."}]};var Pl={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import{jsx as Mt,jsxs as Al}from"react/jsx-runtime";var hf=({onCopy:t})=>{let e=mf(null),o=S("SummaryForm",Pl),[n,s]=pr(""),[r,i]=pr(""),[a,d]=pr(!1),l=gf(Re),c=I(cr),p=ff(),u=()=>{p(ee({name:"summary copied to clipboard",data:{originalText:n,finalText:r},options:{includeConversationData:!0}})),t(r)},m=()=>{let f=document.getSelection();f&&p(ee({name:"summary copied to clipboard",data:{originalText:n,finalText:f==null?void 0:f.toString(),assistant:l==null?void 0:l.summarizerAssistantNew},options:{includeConversationData:!0}}))};return ur(()=>{p(Tt({})).then(f=>{if(f.error){d(!0);return}s(f.payload||""),i(f.payload||"")})},[]),ur(()=>{e.current&&n&&e.current.focus()},[e,n]),ur(()=>{let f=y=>{y.key==="Enter"&&y.shiftKey&&u()};return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}},[r]),Mt("div",{className:o.root,tabIndex:-1,children:a?Mt("p",{className:o.error,children:c("error")}):Al(pf,{children:[Mt("div",{className:o.main,children:Mt("textarea",{placeholder:n?void 0:c("loading"),disabled:!n,className:o.textInput,ref:e,value:r,onCopy:m,onChange:f=>i(f.target.value)})}),Al("div",{className:o.actions,children:[Mt(Lt,{feedbackText:n||"",feedbackType:"summary",eventName:"summary feedback",eventData:{summary:n}}),Mt(F.Button,{shortKeys:[8679,8629],onClick:u,children:c("copy")})]})]})})},Ll=hf;var po={};J(po,{enUS:()=>yf,nlNL:()=>vf});var yf={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"Link 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"}],summaryClipboard:[{type:0,value:"Summarize conversation"}],summaryTitle:[{type:0,value:"Conversation summary"}],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?"}]},vf={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:"Link 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"}],summaryClipboard:[{type:0,value:"Gesprek samenvatten"}],summaryTitle:[{type:0,value:"Gesprek samenvatting"}],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 wf}from"react";import{useDispatch as Tf,useSelector as Ef}from"react-redux";import{createAction as bf,createAsyncThunk as Dl,createSlice as Cf}from"@reduxjs/toolkit";var Sf=["{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}"],xf=new RegExp(Sf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Ml(t,e){let o=t.split(xf),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;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,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function Nl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var _l={suggestions:[],fetchState:"idle"},Ol={default:_l},Fl=t=>e=>{var o,n;return(n=(o=e.textSuggestions[t])==null?void 0:o.suggestions)!=null?n:[]},vn=t=>t.textSuggestions,Hl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},Sn=bf("textSuggestions/refresh"),ye=Dl("textSuggestions/recommendations",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,inlineSuggestions:a}=n.settings,d=bt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getTextSuggestions(s,Yt(n),t);if(r&&(l=l.map(p=>h(x(h({},p),{text:Q(p.text,r)}),p.title?{title:Q(p.title,r)}:{}))),t==="default"){let p=a?l.filter(Hl(d)):l;e.dispatch(Be(p.slice(0,i)))}return l})),mo=Dl("textSuggestions/autocompletions",(t,e)=>g(void 0,null,function*(){var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{platformVariables:r}=n.info,{textSuggestionsCount:i,deanonymize:a,inlineSuggestions:d}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=yield o.getAutocompleteSuggestions(s,x(h({},Yt(n)),{input:t}));if(!e.getState().input.text)throw new Error("Abort");return d&&(l=l.filter(Hl(t))),r&&(l=l.map(p=>x(h({},p),{text:Q(p.text,r)}))),a&&(l=l.map(p=>x(h({},p),{text:p.source!=="trie-with-typos"?Ml(p.text,t):p.text}))),l=Nl(l,i),e.dispatch(Be(l)),l})),Bl=Cf({name:"textSuggestions",initialState:Ol,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}}},extraReducers:t=>{t.addCase(ye.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||_l;return x(h({},e),{[n]:x(h({},s),{fetchState:"loading"})})}).addCase(ye.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ye.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(mo.pending,e=>{e.default.fetchState="loading"}).addCase(mo.rejected,e=>{e.default.fetchState="error"}).addCase(mo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(H,()=>Ol)}}),{setTextSuggestions:Ck}=Bl.actions,Kl=Bl.reducer;import{jsx as xn,jsxs as Rf}from"react/jsx-runtime";var kf=({types:t,commands:e,onClick:o})=>{let n=Tf(),s=I(po),r=Ef(vn);return wf(()=>{t.forEach(({type:i})=>{(!r[i]||r[i].suggestions.length===0)&&n(ye(i))})},[]),Rf("div",{children:[e.length>0&&xn(F.List,{heading:s("commands"),children:e.map((i,a)=>xn(F.ListItem,{id:`command-${a}`,closeOnSelect:!1,onClick:i.onClick,children:i.label},i.label))}),t.map(({type:i,title:a})=>{var d;return xn(F.List,{heading:a,orientation:"vertical",children:(d=r[i])==null?void 0:d.suggestions.map((l,c)=>xn(F.ListItem,{id:`${i}-${c}`,closeOnSelect:!1,description:l.title&&l.text,onClick:()=>o(l.text,l),"data-testid":"search-overlay-suggestion",children:l.title||l.text},`${l.id}-${l.text}`))},i)})]})},Ul=kf;import{jsx as ne,jsxs as gr}from"react/jsx-runtime";var Nf=200,Of=5,Df=4,mr=(t,e,o)=>t.slice(0,o?10:e.toLowerCase()==="image"?Df:Of),Wl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),_f=()=>{var si,ri,ii;let t=Mf(),e=de(),o=I(po),[n,s]=bn(!1),[r,i]=bn(""),[a,d]=bn(null),l=nt(oa),c=nt(Re),[p,u]=bn(),m=nt(Y),f=k("showSearch"),y=k("enableSuggestionFeedback"),v=k("showEntitiesCommand"),E=k("showSummaryCommand"),C=k("showKnowledgeSearch"),b=k("showImageSearch"),P=k("searchTriggerKey"),w=nt(Da),M=nt(na),A=nt(sa),U=nt(ta),q=((ii=(ri=(si=c==null?void 0:c.uiConfig)==null?void 0:si.search)==null?void 0:ri.initialTypes)==null?void 0:ii.filter(({isActive:R})=>R))||[],ce=Lf(()=>{let R=te=>mr(M.filter(V=>V.type===te.toUpperCase()),te,p),W=(w==null?void 0:w.map(te=>({value:te.code.toUpperCase(),label:`${te.name}s`,list:R(te.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[];if(W.push({value:"PERSONAL",label:o("personalSuggestions"),list:R("PERSONAL"),lineClamp:!1,listOrientation:"vertical"},{value:"URL",label:o("urlSuggestions"),list:R("URL"),lineClamp:!1,listOrientation:"vertical"},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:R("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical"}),b&&W.push({value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:R("IMAGE"),listOrientation:"horizontal"}),q.length===0)return W;let qt=q.map(te=>W.find(V=>V.value.toLowerCase()===te.type)).filter(te=>!!te),ds=W.filter(te=>!qt.find(V=>V.value===te.value));return[...qt,...ds]},[w,q,b,p]),O=[{label:o("entitiesClipboard"),onClick:()=>t(me("entities")),shouldShow:v&&Wl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(me("summary")),shouldShow:E&&Wl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(me("knowledgeAssist")),shouldShow:C}].filter(R=>R.shouldShow).filter(()=>!p),K=zl(Pf((R,W)=>{t(Ze({query:R,type:W,tags:["search-overlay"],size:p?50:20}))},Nf),[p]),ue=zl((R,W)=>{switch(W.type){case"IMAGE":e.send(Is,{suggestion:W});break;default:e.send(Ke,{text:R,suggestion:W})}t(re(!1))},[t]),le=R=>{Ie(R.text),t(ee({name:"entity copied",data:{entity:R,type:"copy"}})),t(re(!1))},Fu=R=>{e.send(Ke,{text:R,suggestion:{source:"knowledge-assist",text:R}}),t(ee({name:"answer used",data:{originalText:R},options:{includeConversationData:!0}})),i(""),a&&t(pn(a)),t(me("search")),t(re(!1))},Hu=R=>{Ie(R),t(re(!1))};function $t(R){return W=>{n?window.confirm(o("warning"))&&(R(W),s(!1)):R(W)}}return Vl(()=>{r?K(r,p):t(Go())},[r,p]),Vl(()=>{m&&t(ao())},[m]),ol(P,()=>t(re(!0))),!f||!c?null:gr(F,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:$t(R=>t(re(R))),onChangeType:R=>u(R),onChangePage:$t(R=>t(me(R))),selectedType:p,search:r,page:l,isOpen:U,types:ce,updateDeps:[M],children:[gr(F.Page,{id:"search",children:[r.length===0&&ne(Ul,{types:q,commands:O,onClick:ue}),r.length>0&&gr(Af,{children:[O.length>0&&ne(F.List,{heading:o("commands"),children:O.map((R,W)=>ne(F.ListItem,{closeOnSelect:!1,onClick:R.onClick,id:`commands-${W}`,children:R.label},R.label))}),ce.map(({value:R,label:W,list:qt,lineClamp:ds,listOrientation:te})=>ne(F.List,{heading:W,orientation:te==="horizontal"?"horizontal":"vertical",onShowAll:()=>u(R),hasMore:!p&&A[R.toLowerCase()]>mr(qt,R,p).length,children:mr(qt,R,p).map(V=>ne(F.ListItem,{id:`${R}-${V.id}`,closeOnSelect:!1,lineClamp:ds,onClick:()=>ue(V.text,V),description:R!=="IMAGE"?V.title&&V.text:void 0,extra:y&&ne(F.ListItemActions,{children:ne(yn,{context:r,source:"search",suggestion:V})}),children:R==="IMAGE"?ne(F.Image,{title:V.title||V.text,src:V.image}):V.title||V.text},`${V.id}-${V.text}`))},R))]})]}),ne(F.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:$t(()=>{t(me("search"))}),children:ne(al,{onCopy:le})}),ne(F.Page,{id:"summary",title:o("summaryTitle"),onDismiss:$t(()=>{t(me("search"))}),children:ne(Ll,{onCopy:Hu})}),ne(F.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:$t(()=>{a&&t(pn(a)),t(me("search"))}),children:ne(xl,{threadId:a,onNewThreadId:R=>d(R),question:r,onUse:Fu,onResetQuestion:()=>{a&&t(pn(a)),i(""),d(null)}})})]})},jl=_f;import{jsx as $l,jsxs as Bf}from"react/jsx-runtime";var Hf=()=>{let t=k("showSearch"),e=k("isEmbedded");return Bf(Ff,{children:[t&&$l(jl,{}),e&&$l(Ra,{})]})},ql=Hf;import Vf from"classnames";import{useSelector as Wf}from"react-redux";import{jsx as fr}from"react/jsx-runtime";var Gl=({className:t})=>fr("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:fr("g",{children:fr("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
4
4
  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
5
5
  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
6
6
  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
7
- 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 Ql}from"react/jsx-runtime";var Kf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Xl=({className:t,color:e})=>Ql("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ql("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:Kf[e||"pink"]})});var Zl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var hr={};J(hr,{enUS:()=>Uf,nlNL:()=>zf});var Uf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},zf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as jf}from"react-redux";import{jsx as yr,jsxs as Jl}from"react/jsx-runtime";var Yl=({onLogIn:t})=>{let e=I(hr),o=k("floatingMenu"),n=k("productName"),s=jf(),r=Wf(Y),i=S("FloatingMenu",Zl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(re(!0)):t()};return Jl("button",{className:Vf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[yr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Jl("div",{className:i.icon,children:[yr(Xl,{className:i.logo,color:"pink"}),r===!1&&yr(Gl,{className:i.lock})]})]})};import{useEffect as ch,useRef as uh}from"react";import{connect as ph,useDispatch as mh,useSelector as kn}from"react-redux";import{useEffect as $f}from"react";function st(t){$f(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function rt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function Se(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as qf}from"@reduxjs/toolkit";var Gf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Cn=({ui:t})=>t.overlayCollapsed,ed=qf({name:"ui",initialState:Gf,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:go,setInputFocus:wn,setOverlayCollapsed:ze,setOpenOverlayWhenTyping:td,setOverlayCollapsedUserOverwrite:od}=ed.actions,nd=ed.reducer;import{Fragment as ah,useMemo as lh}from"react";import{Interweave as Zf}from"interweave";import{useEffect as Jf,useMemo as Yf,useRef as eh}from"react";import{useDispatch as th,useSelector as id}from"react-redux";import{useEffect as Qf}from"react";function sd(t,e,o){Qf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var rd={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as Tn,jsxs as ih}from"react/jsx-runtime";var oh=["search","personal-collection-search","search-autocomplete"];function nh(t,e,o,n={}){var r;let s="";return oh.includes(e)?s=Ua($s(t,o,{stripAgentPart:!0}),(r=n.searchKeywords)!=null?r:[o]):s=$s(t,o,n),n.placeholders===!0&&(s=za(s)),s}var sh=()=>{},rh=({selected:t,suggestion:e})=>{let o=k("inlineSuggestions"),n=id(bt),s=k("enableSuggestionFeedback"),r=id(c=>c.input.text),i=th(),a=S("TextSuggestion",rd),d=eh(null);Jf(()=>{let c=setTimeout(()=>{i(Hi({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(c)}},[e]),sd(d,"click",()=>{i(pe({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Yf(()=>nh(e.text,e.source,n,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,n,e.searchKeywords]);return e.source==="gpt"&&!o?null:ih("div",{className:a.root,children:[Tn(_,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:sh,children:Tn(Zf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),s&&Tn("div",{className:a.actions,children:Tn(yn,{source:"overlay",context:r,suggestion:e})})]})},ad=rh;import{jsx as ld}from"react/jsx-runtime";var dh=({suggestions:t,selectedIndex:e,reverse:o})=>{let n=lh(()=>{let s=t.map((r,i)=>ld(ad,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return o?s.reverse():s},[t,e,o]);return ld(ah,{children:n})},En=dh;var dd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as Rn}from"react/jsx-runtime";var gh=({textSuggestions:t,selectedIndex:e})=>{let o=uh(null),n=S("InlineSuggestionsOverlay",dd),s=kn(Se),r=mh(),i=kn(Y),a=kn(xt),d=kn(Cn),l=k("showTextSuggestions");return st(()=>{setTimeout(()=>{r(ze({collapse:!0,skipWhenInputFocus:!0}))})}),ch(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),d||!s||!l||t.length===0||i!==!0||a===!1?null:Rn("div",{className:n.root,"data-variant":"inline",children:Rn("div",{ref:o,className:n.paper,children:Rn(se,{children:Rn(En,{suggestions:t,selectedIndex:e})})})})},fh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),cd=ph(fh)(gh);import{Provider as hh}from"react-redux";import{jsx as In}from"react/jsx-runtime";var yh=({children:t})=>{let o=k("locale").replace("-","");return In(_s.Provider,{value:o,children:t})},vh=({store:t,customStyles:e={},children:o})=>In(hh,{store:t,children:In(yh,{children:In(Gt.Provider,{value:e,children:o})})}),it=vh;import Cr from"classnames";import{useEffect as Ah,useRef as Lh,useState as Mh}from"react";import{connect as Nh,useDispatch as Oh,useSelector as Ln}from"react-redux";import{useState as Sh}from"react";function ud(t,e){let[o,n]=Sh(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return T.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){T.error(i)}}]}var pd=()=>/Mac/i.test(navigator.platform);import Ch from"classnames";import{Fragment as wh,useCallback as Sr,useMemo as gd}from"react";var vr={};J(vr,{enUS:()=>xh,nlNL:()=>bh});var xh={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"}]}]},bh={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 md={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Pn,jsxs as fd}from"react/jsx-runtime";var xr=(t,e,o)=>n=>Pn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Th=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=I(vr),i=de(),a=S("Login",md),d=k("productName"),l=Sr(v=>{v.preventDefault(),n&&n(parseInt(v.target.value,10))},[]),c=Sr(v=>{v.preventDefault(),i.send(wt,!0)},[e]),p=gd(()=>v=>Pn("a",{onClick:C=>{C.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:v},"login"),[e]),u=Sr(v=>Pn("button",{type:"button",className:a.anchorButton,onClick:c,children:v},"prompt"),[c]),{min:m,hour:f,day:y}=gd(()=>({min:xr(a,60*10,l),hour:xr(a,60*60,l),day:xr(a,60*60*12,l)}),[]);return fd("div",{className:Ch(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:d}),n&&fd(wh,{children:[Pn("br",{}),r("snooze",{min:m,hour:f,day:y})]})]})},An=Th;import{useDispatch as Eh}from"react-redux";var hd={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as yd,jsxs as Rh}from"react/jsx-runtime";var kh=({title:t})=>{let e=S("SearchTrigger",hd),o=Eh();return Rh("button",{type:"button",className:e.root,onClick:()=>o(re(!0)),children:[yd(Et,{}),yd("span",{className:e.text,children:t})]})},vd=kh;var br={};J(br,{enUS:()=>Ih,nlNL:()=>Ph});var Ih={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"}]},Ph={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"}]};var Sd={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"};import{jsx as X,jsxs as fo}from"react/jsx-runtime";var Dh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=S("SuggestionsOverlay",Sd),s=I(br),r=Ln(Se),i=Fi(),a=Oh(),d=Lh(null),l=k("searchTriggerKey"),c=k("productName"),p=Ln(Cn),u=Ln(Y),m=Ln(xt),[f,y]=Mh(null),v=k("showSearch"),E=k("showTextSuggestions"),C=k("adminUrl"),b=k("isEmbedded"),[P,w]=ud("dd-snooze-until-ms",0),M=p||P>Date.now(),A=t.filter(ce=>ce.source!=="gpt").length,U=()=>{M&&w(0),a(od(!M))},q=ce=>{let O=Date.now()+ce*1e3;w(O),T.info(`Snooze until: ${new Date(O)}`),a(ze({collapse:!0}))};return Ah(()=>{A===0&&y(null)},[t,A]),st(()=>{a(ze({collapse:!0,skipWhenInputFocus:!0}))}),u===null||m===!1?null:u===!1?fo("div",{ref:d,className:Cr(n.root,{[n.isCollapsed]:M}),children:[!M&&fo("div",{className:n.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:n.triggersRight,children:X(ht,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})})]}),X("div",{className:n.toggleButtonWrapper,children:X(ht,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),X("div",{className:n.collapsible,children:X(An,{loginUrl:C,isEmbedded:b,onLogIn:o,onSnooze:q})})]}):!i||!r?null:fo("div",{ref:d,className:Cr(n.root,{[n.isCollapsed]:M}),children:[!M&&fo("div",{className:n.triggers,children:[X("div",{style:{flex:1},children:v&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>y(s(pd()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>y(null),children:X(vd,{title:s("search")})})}),fo("div",{className:n.triggersRight,onFocus:()=>{},children:[X("div",{className:Cr(!f&&n.hintsHidden,n.hints),children:f}),X(ht,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})]})]}),X("div",{className:n.toggleButtonWrapper,children:X(ht,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),A>0&&E&&X("div",{className:n.collapsible,onFocus:()=>{},children:X(se,{children:X(En,{suggestions:t,selectedIndex:e,reverse:!0})})})]})},_h=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),xd=Nh(_h)(Dh);import Nr from"classnames";import{Interweave as Ny}from"interweave";import{useCallback as Oy,useEffect as Dy,useMemo as jd,useRef as _y}from"react";import{connect as Fy}from"react-redux";import{useEffect as Fh,useRef as Hh,useState as Bh}from"react";function Mn(t){return t.contentEditable==="true"}function Kh(t){let e=0,o=0,n=window.getSelection();if(n.rangeCount!==0){let s=n.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),o=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:o}}function bd(t){let{selectionStart:e,selectionEnd:o}=Mn(t)?Kh(t):t;return[e,o]}function Cd(t){let[,e]=Bh(),o=Hh(null);return o.current=bd(t),Fh(()=>{let n=()=>{var a;let[s,r]=(a=o.current)!=null?a:[],i=bd(t);(!i||s!==i[0]||r!==i[1])&&(o.current=i,e({}))};return t.addEventListener("keyup",n),t.addEventListener("click",n),t.addEventListener("focus",n),document.addEventListener("selectionchange",n),()=>{t.removeEventListener("keyup",n),t.removeEventListener("click",n),t.removeEventListener("focus",n),document.removeEventListener("selectionchange",n)}},[t]),o.current}function wd(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(No);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=n.indexOf(d,a);return s>l&&r<l+d.length?(o.selectionStart=l,o.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as Uh}from"react";var zh=["div","span","mark","strong","b","i","u","em"];function wr(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(zh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Uh(n,{children:wr(i,e,o+1)})]}return[...t,...e]}function at(t){return t.tagName.toLowerCase()==="textarea"}var Td={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 ly from"classnames";import{Matcher as dy}from"interweave";import{useEffect as cy,useMemo as uy}from"react";import{useEffect as Vh,useRef as Wh,useState as jh}from"react";function Ed(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Nn(t){let e=Wh(null),[o,n]=jh(!1);return Vh(()=>{var c;let s=!1,r=parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=Ed((p,u)=>{let m=e.current;if(!m)return;let f=p/r,y=u/r,v=m.getBoundingClientRect(),E=f>v.x&&f<v.x+v.width&&y>v.y&&y<v.y+v.height;E&&!s?(s=!0,n(!0)):!E&&s&&(s=!1,n(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=Ed(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,o]}function kd(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function On(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Rd(t){return t!=null}import Md from"classnames";import{createRef as ty,useCallback as Er,useMemo as oy,useRef as ny,useState as sy}from"react";import{useState as $h,useLayoutEffect as qh}from"react";var Gh=["bottom","height","left","right","top","width"],Qh=(t={},e={})=>Gh.some(o=>t[o]!==e[o]),Ae=new Map,Id,Pd=()=>{let t=[],e=[];Ae.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Qh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ae.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Id=window.requestAnimationFrame(Pd)};function Xh(t,e){return{observe(){let o=Ae.size===0;if(Ae.has(t)){let n=Ae.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ae.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Pd()},unobserve(){let o=Ae.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ae.delete(t),Ae.size||cancelAnimationFrame(Id)}}}}function Tr(t){let[e,o]=$h(null);return qh(()=>{if(!t.current)return;let n=Xh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Zh,useLayoutEffect as Jh,useState as Yh}from"react";import{createPortal as ey}from"react-dom";var Ad={root:"dd-r-dgo"};var Ld=({children:t,parentNode:e})=>{let[o,n]=Yh(null),s=Zh(Gt);return Jh(()=>{let r=document.createElement("div");return rt(r),r.classList.add(Ad.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),n(r),()=>{r.isConnected&&r.remove()}},[]),o?ey(t,o):null};var xe={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 kr}from"react/jsx-runtime";var Dn=(t=!1)=>{let[e,o]=sy(t),n=Er(()=>o(!0),[]),s=Er(()=>o(!1),[]),r=Er(()=>o(a=>!a),[]),i=ny(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Rr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Nt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:o=ty(),position:n="above",align:s="center",children:r,toStyle:i=Rr,parentNode:a}=c,d=N(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Tr(e),u=Tr(o),m=oy(()=>i(p,u,0),[p,u]);return kr(Ld,{parentNode:a,children:kr("div",x(h({className:Md(xe.ref,{[xe.positionAbove]:n==="above",[xe.positionBelow]:n==="below",[xe.positionLeft]:n==="left",[xe.positionRight]:n==="right",[xe.alignStart]:s==="start",[xe.alignCenter]:s==="center",[xe.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:kr("div",{className:Md(t,xe.root),children:r})}))})};import ry from"classnames";import{forwardRef as iy,useRef as ay}from"react";var Le={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 Nd}from"react/jsx-runtime";var _n=iy((s,n)=>{var r=s,{className:t,children:e}=r,o=N(r,["className","children"]);let i=ay(null),a=S("TabCompletion",Le);return Nd("div",x(h({ref:On([i,n]),className:ry(t,a.popoverContentContainer)},o),{children:Nd("div",{className:a.popoverContent,children:e})}))});import{jsx as ho,jsxs as gy}from"react/jsx-runtime";var py=t=>e=>{let o=Rr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},my=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=S("TabCompletion",Le),i=Dn(),a=uy(()=>py(t.getBoundingClientRect()),[t]),[d,l]=Nn(t);return cy(()=>{l?i.open():i.close()},[l]),gy("span",{children:[ho("mark",{ref:On([d,i.triggerRef]),className:ly(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ho(Nt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ho(_n,{style:o,children:ho("div",{className:r.hintText,children:s})})})]})},Fn=class extends dy{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(o,n){return n.keywordMatches&&n.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=n.keywordMatches.map(s=>x(h({},s),{keywordRegex:new RegExp(`\\b${kd(s.keyword)}\\b`,"i")})),this.keywordMatches=n.keywordMatches),this.usedKeywordMatches.clear(),o}match(o){let n=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=o.match(r.keywordRegex);if(!i)return null;let a=o.charAt(i.index-1),d=o.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(Rd);if(n.length===0)return null;let s=n.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(o,n){return ho(my,{inputElement:n.inputElement,suggestion:n.suggestion,inputStyle:n.inputStyle,boundaryRef:n.boundaryRef,children:o},`keyword_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import{Matcher as fy}from"interweave";import hy from"classnames";import{jsx as Od}from"react/jsx-runtime";var yy=({inputElement:t,children:e})=>{let o=S("TabCompletion",Le),[n,s]=Nn(t);return Od("mark",{ref:n,className:hy(o.matchPlaceholder,{[o.hover]:s}),children:e})},Hn=class extends fy{match(e){let o=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return o?{index:o.index,length:o[0].length,match:o[0],matchString:o[0],valid:!0}:null}replaceWith(e,o){return Od(yy,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Mr from"classnames";import{Matcher as ky}from"interweave";import{createRef as Ry,forwardRef as Iy,useCallback as Py,useEffect as zd,useRef as Vd,useState as Wd}from"react";import{useDispatch as Ay}from"react-redux";import{jsx as Dd}from"react/jsx-runtime";var _d=()=>Dd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Dd("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 vy,useEffect as Hd,useState as Bd}from"react";import{useDispatch as Sy,useSelector as Kd}from"react-redux";import xy from"lodash.debounce";var Fd={root:"dd-ky-Bv",content:"dd-kV5e1"};function Bn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch(r){return null}}function Ir(t){return t.replace("https://www.","").replace("https://","")}import{jsx as lt,jsxs as Pr}from"react/jsx-runtime";var by=3,Cy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),wy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=by})=>{let r=S("LinkSearch",Fd),[i,a]=Bd(""),d=Sy(),l=Kd(Fl("url")),c=Kd(ra("URL",Cy)),[p,u]=Bd(c.length-1),m=k("fallbackImage"),f=C=>{let b=C.target;a(b.value)},y=(C,b)=>{C.stopPropagation(),C.preventDefault(),window.open(b,"_blank")},v=C=>{var w;let b=p-1<0?c.length-1:p-1,P=p+1===c.length?0:p+1;C.code==="Escape"&&(a(""),e()),C.code==="ArrowUp"&&u(b),C.code==="ArrowDown"&&u(P),C.code==="Enter"&&t(((w=c[p])==null?void 0:w.text)||i)},E=vy(xy(C=>{d(Ze({query:C,type:"URL",tags:["link-search"]}))},300),[]);return Hd(()=>{i&&E(i)},[i]),Hd(()=>()=>{d(Go())},[]),Pr("div",{className:r.root,children:[lt(se,{withDivider:!0,children:(i?c:l).slice(0,s).map((C,b)=>lt(_,{selected:p===b,onClick:()=>t(C.text),"data-testid":"linksearch-suggestion",children:Pr(B,{children:[lt(B.Image,{src:Bn(C,"small",m||void 0),title:C.title||C.text}),Pr(B.Content,{className:r.content,cropText:!0,children:[lt(B.Title,{children:C.title||Ir(C.text)}),C.title&&Ir(C.text)]}),lt(_.Actions,{children:lt(_.ActionButton,{label:n,onClick:P=>y(P,C.text)})})]})},C.text))}),lt(ro,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:v})]})},Ud=wy;var Ar={};J(Ar,{enUS:()=>Ty,nlNL:()=>Ey});var Ty={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Ey={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as be,jsxs as Lr}from"react/jsx-runtime";var Ly=Iy((t,e)=>{let o=S("TabCompletion",Le);return be("mark",{ref:e,className:Mr(o.matchSelection)},"selection-start")}),My=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=I(Ar),i=S("TabCompletion",Le),a=Vd(null),d=Vd(null),[l,c]=Wd(null),p=Ay(),u=Dn(document.activeElement===n),[m]=Wd(()=>document.createRange());u.triggerRef.current=m,zd(()=>()=>m.detach(),[]),zd(()=>{let y=t.current,v=a.current;!y||!v||(m.setStart(y,0),m.setEnd(v,0))},[t.current,a.current]),st(()=>{u.close()});let f=Py(y=>{let v=m.toString(),E=/^http(s?):\/\//.test(y)?y:`https://${y}`;p(zo({text:`[${v}](${E})`,replace:"selection"}))},[]);return Lr("span",{children:[be("mark",{ref:a,className:Mr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&be(Nt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:Lr(_n,{style:o,ref:d,children:[be("div",{className:Mr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:Lr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[be(_d,{}),be("span",{children:"\xA0"}),be("span",{children:r("insertLink")})]})}),l==="insertLink"&&be(Ud,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},Kn=class extends ky{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(o,n){return this.props=n,this.charCount=0,this.startRef=Ry(),this.foundIndex=0,o}match(o){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[n,s]=this.props.selection;if(n===s)return null;let r=this.foundIndex===0?n:s,i=r>=this.charCount&&r<=this.charCount+o.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+=o.length,i?h({isStart:a},i):null}replaceWith(o,n){return n.isStart?be(Ly,{ref:this.startRef}):be(My,{inputElement:n.inputElement,startRef:this.startRef,boundaryRef:n.boundaryRef,inputStyle:n.inputStyle})}asTag(){return"mark"}};import{useSelector as Hy}from"react-redux";import{jsx as Ot,jsxs as Uy}from"react/jsx-runtime";var By=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=S("TabCompletion",Td),c=k("insertLink"),p=k("showMidSentenceSuggestions"),u=k("inlineSuggestions"),m=Cd(a),f=_y(null),y=Hy(Y);Dy(()=>{at(a)&&m&&wd(a,m)},[m]);let v=Oy(b=>{if(!s||!o)return b;let P=[Ot("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Ot("span",{"data-testid":"tab-completion",className:Nr(l.tabText,l.resetIndent),"data-source":d,children:o},"tabText")];return n&&P.push(Ot("span",{className:Nr(l.hint,l.resetIndent),children:Ot(ps,{keyCode:"tab"},"tabHint")})),wr(b,P)},[s,o,n]),E=jd(()=>{let b=[];return c&&b.push(new Kn("selection")),b.push(new Hn("placeholders")),r&&b.push(new Fn("keywords")),b},[u,c,r]),C=jd(()=>{let b=window.getComputedStyle(a);return{"--dd-color":b.color,"--dd-font-size":b.fontSize,"--dd-font-family":b.fontFamily,"--dd-font-variant":b.fontVariant}},[]);return!t||!y?null:Uy("div",{ref:b=>{b!=null&&b.parentElement&&(f.current=b==null?void 0:b.parentElement)},className:l.root,style:C,children:[Ot(Ny,{tagName:"span",containerTagName:"div",className:Nr(l.container,l.agentText),disableLineBreaks:at(a),content:e||"\u200B",onAfterParse:v,matchers:E,selection:m,keywordMatches:i,inputElement:a,inputStyle:C,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Ot("br",{})]})},Ky=t=>{var v,E,C;let{input:e,ui:o,settings:n,styleSuggestions:s,conversation:r}=t,i=Ct({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:uo(e.text),c=a.indexOf(e.text)===0?a.slice(e.text.length):"",{showTabHint:p}=o,{isSupported:u}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:y}=n;return{showTabHint:p,showStyleSuggestions:y,showTabCompletion:m&&Se(t),content:l,tabText:c,source:d,keywordMatches:(C=(E=s.list)==null?void 0:E.keywordMatches)!=null?C:[],enabled:f&&u!==!1}},$d=Fy(Ky)(By);import $v from"classnames";import{Fragment as qv,useEffect as zr}from"react";import{useDispatch as Qn,useSelector as j}from"react-redux";import{createAsyncThunk as yo,createSlice as zy}from"@reduxjs/toolkit";var qd={list:[],fetchState:"idle"},Qd=t=>t.autoflows.list||[],Gd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Me=yo("autoflows/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)})),Or=yo("autoflows/start",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.startAutoflowSession(t),yield o(Me(t.platformSessionId))})),Dr=yo("autoflows/stop",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.stopAutoflowSession(t.platformSessionId),yield o(Me(t.platformSessionId))})),Vy=zy({name:"autoflows",initialState:qd,reducers:{},extraReducers:t=>{t.addCase(Or.pending,(e,o)=>{let n=Gd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Dr.pending,(e,o)=>{let n=Gd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Me.pending,e=>{e.fetchState="loading"}),t.addCase(Me.rejected,e=>{e.fetchState="error"}),t.addCase(Me.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(H,()=>qd)}}),Xd=yo("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(Me(t))}),s.on("sessionCompleted",()=>{o(Me(t))})}),Zd=yo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Jd=Vy.reducer;import{createAsyncThunk as So,createSlice as Wy}from"@reduxjs/toolkit";var Yd={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},ec=t=>t.customMessages.list,tc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),oc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),nc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),vo=So("customMessages/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)})),Un=So("customMessages/send",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.sendCustomMessage(o,n)})),zn=So("customMessages/answer",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.answerCustomMessage(o,n)})),sc=Wy({name:"customMessages",initialState:Yd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(vo.pending,e=>{e.fetchState="loading"}).addCase(vo.rejected,e=>{e.fetchState="error"}).addCase(vo.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Un.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Un.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(zn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(zn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(H,()=>Yd)}}),rc=So("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(sc.actions.onCustomMessage(r))})}),ic=So("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),ac=sc.reducer;import{createAsyncThunk as lc,createSlice as jy}from"@reduxjs/toolkit";var $y={token:null,interval:null},_r=lc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;return{token:yield o.requestPasswordlessToken()}})),Fr=lc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(_r()),setInterval(()=>n(_r()),o)}),dc=jy({name:"passwordlessToken",initialState:$y,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(_r.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(Fr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:cc}=dc.actions,uc=dc.reducer;import{createAction as qy,createAsyncThunk as Gy,createSlice as Qy}from"@reduxjs/toolkit";var pc={excludeFromWidget:!1},Hr={cues:[],fetchState:"idle"},mc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Xy=qy("rules/resetCues"),dt=Gy("rules/evaluate",(t,e)=>g(void 0,null,function*(){var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info,a=(o=r.conversation.current)==null?void 0:o.id;if(!a)throw new Error("No current conversation to evaluate rules");if(!(yield s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(yield s.getRules()).filter(u=>u.isEnabled).some(u=>u.label===t.label))throw new Error(`No enabled rules found with label: ${t.label}`);let p=yield s.evaluateRule(t.label,a,h({tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0},t.params));return i&&(p=p.map(u=>x(h({},u),{title:Q(u.title,i),text:Q(u.text,i)}))),{cues:p,options:t.options}}catch(s){let r=s.message;return T.warn(r),e.rejectWithValue(r)}})),gc=Qy({name:"answer",initialState:Hr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(dt.pending,e=>{e.fetchState="loading"}).addCase(dt.rejected,e=>{e.fetchState="error"}).addCase(dt.fulfilled,(e,o)=>{var r;if((r=o.payload.options)!=null&&r.excludeFromWidget){e.fetchState="done";return}let n=o.payload.cues.map(i=>i.rule.id),s=e.cues.filter(i=>!n.includes(i.rule.id));e.fetchState="done",e.cues=[...o.payload.cues,...s]}).addCase(H,()=>Hr).addCase(Xy.toString(),()=>Hr)}}),{removeCue:fc}=gc.actions,hc=gc.reducer;function Zy(t){let e=0;for(let o=0;o<t.length;o++)e=(e<<5)-e+t.charCodeAt(o),e|=0;return e}var yc=t=>{let e=mc(t),n=La(t).map(s=>({text:s.response,title:s.name,callToAction:s.callToAction,rule:{id:Zy(s.code),label:s.code,name:s.name,description:s.name}}));return[...e,...n]};import{Fragment as av}from"react";import{connect as lv}from"react-redux";import sv from"classnames";import{Fragment as rv}from"react";import Jy from"classnames";var vc={root:"dd-uszkm"};import{jsx as ev}from"react/jsx-runtime";var Yy=({className:t,children:e})=>{let o=S("Unicode",vc);return ev("span",{className:Jy(t,o.root),children:e})},Sc=Yy;var xc={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var Br={};J(Br,{enUS:()=>tv,nlNL:()=>ov});var tv={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]},ov={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]};import{jsx as ct,jsxs as Vn}from"react/jsx-runtime";var iv=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=S("Autoflow",xc),a=I(Br),d=e==="Started"?"stop":"start",l=d==="start"?"\u25B6":d==="stop"?"\u25FC":"";return Vn(_,{className:sv(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[ct(B,{children:Vn(B.Content,{children:[Vn(B.Title,{children:[e&&ct("span",{className:i.stateBadge,children:a(e)}),o]}),ct("span",{children:n})]})}),ct(_.Actions,{fixed:e==="Started",children:ct(_.ActionButton,{primary:!0,className:d==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Vn(rv,{children:[ct(Sc,{children:l})," ",ct("span",{children:a(d)})]})})})]})},bc=iv;import{jsx as Cc}from"react/jsx-runtime";var dv=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},cv=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Cc(av,{children:t.map(s=>Cc(bc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||dv(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),uv=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},pv={onStartAutoflow:Or,onStopAutoflow:Dr},wc=lv(uv,pv)(cv);import mv from"classnames";import{useCallback as Tc}from"react";import{useDispatch as gv,useSelector as Wn}from"react-redux";var Ne={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as Ve,jsxs as jn}from"react/jsx-runtime";var fv=({suggestion:t})=>{let e=I(ot),o=gv(),n=Wn(tc(t.text)),s=Wn(oc(t.text)),r=Wn(nc(t.text)),i=Wn(St),{replyOptions:a}=t,d=Tc(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(Un({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Tc(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let p=parseInt(c.target.dataset.index,10),u=a[p];o(zn({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return jn(_,{onClick:d,className:mv(Ne.root,{[Ne.isUsed]:n,[Ne.hasError]:r}),children:[Ve(B,{children:jn(B.Content,{children:[jn(B.Title,{className:Ne.title,children:[t.text," ",Ve(ms,{className:Ne.label,children:"analyse tool"})," ",r&&Ve("span",{className:Ne.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Ve("ul",{className:Ne.quickReplies,children:a.map(c=>Ve("li",{className:Ne.quickReply,children:c.title},c.title))})]})}),jn(_.Actions,{fixed:r||n,children:[a&&a.length>0&&Ve(_.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,p)=>Ve(_.DropdownItem,{index:p,label:c.title,onClick:l},c.title))}),Ve(_.ActionButton,{primary:!0,disabled:n,onClick:d,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Ec=fv;import{useEffect as hv,useState as yv}from"react";import{useDispatch as vv}from"react-redux";import Ic from"classnames";import{jsx as kc}from"react/jsx-runtime";var xo=()=>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 Rc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Dt,jsxs as Pc}from"react/jsx-runtime";var Sv=({entities:t})=>{let e=S("EntitiesWidgetList",Rc),[o,n]=yv(void 0),s=vv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ie(a.text),s(ee({name:"entity copied",data:{entity:a,type:"copy"}})))};return hv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Dt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Pc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Dt("span",{className:e.entityText,children:a.text}),Pc("span",{className:e.iconWrapper,children:[Dt("span",{className:Ic(e.icon),children:Dt(xo,{})}),Dt("span",{className:Ic(e.icon,o===d&&e.iconClicked),children:Dt(xo,{})})]})]},a.text))})},Ac=Sv;import{jsx as Lc}from"react/jsx-runtime";var Mc=()=>Lc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Lc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as Nc}from"react/jsx-runtime";var Oc=()=>Nc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Nc("path",{d:"M543-340q16.595 0 28.798-12.202Q584-364.405 584-381t-12.202-28.798Q559.595-422 543-422t-28.798 12.202Q502-397.595 502-381t12.202 28.798Q526.405-340 543-340Zm-25-126h47q2-29 8.5-43t32.5-39q27-26 37.5-45.395Q654-612.79 654-639q0-45.882-31.5-74.941Q591-743 540-743q-38 0-68 20.5T428-665l45 19q11-25 27.5-38t39.5-13q29.778 0 48.389 17Q607-663 607-637q0 20-9 35t-32 32q-32 29-40 46.5t-8 57.5ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z"})});import{jsx as Dc}from"react/jsx-runtime";var _c=()=>Dc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Dc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as Nv}from"react-redux";import{useEffect as Lv}from"react";import xv from"dompurify";import{Fragment as Hc,useMemo as bv,useRef as Cv,useState as wv}from"react";import Tv from"snarkdown";var Fc={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 bo,jsxs as $n}from"react/jsx-runtime";function Ev(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 Kr(t){var o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(n=>n.remove()),(o=e.textContent)!=null?o:""}function kv(t){return t.replace(/\r\n/g,`
8
- `)}function Rv(t){return t.replace(new RegExp("(?<!\\]\\()(https?:\\/\\/[^\\s]+)","g"),"[$1]($1)")}var Iv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=S("Markdown",Fc),i=Cv(null),[a,d]=wv(null),l=bv(()=>{let y=Tv(Rv(kv(t)));return xv.sanitize(y).replaceAll("</code>",`${Ev(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=y=>{var C;let v=y.target,E=!!((C=i.current)!=null&&C.querySelector("code"));if(["A","BUTTON"].includes(v.tagName)){d(null);return}a||E&&v.tagName!=="CODE"||!E&&v!==i.current||(v.addEventListener("mouseleave",()=>d(null),{once:!0}),d(v))},p=()=>{if(!a)return;d(null);let y=a.querySelector("button");y&&(Rt(y,r.fadeup),n(Kr(a)))},u=y=>{let v=y.target;if(v.tagName==="A"){y.stopPropagation();return}"copyIcon"in v.dataset&&(Rt(v,r.fadeup),n(Kr(v.parentElement)))},m=()=>{!a||!s||(d(null),s(Kr(a)))},f=y=>{if(y===null)return;let v=y.getBoundingClientRect();v.left<0?y.style.transform=`translateX(${-v.left+2}px)`:v.right>window.innerWidth&&(y.style.transform=`translateX(${window.innerWidth-v.right-2}px)`)};return $n(Hc,{children:[a&&$n(Nt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[$n("div",{className:r.options,ref:f,children:[bo("button",{type:"button",className:r.option,onClick:p,children:o}),s&&$n(Hc,{children:[bo("div",{className:r.divider}),bo("button",{type:"button",className:r.option,onClick:m,children:e})]})]}),bo("div",{className:r.arrow})]}),bo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},Bc=Iv;var Ur={};J(Ur,{enUS:()=>Pv,nlNL:()=>Av});var Pv={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"}]},Av={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"}]};var Kc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as _t,jsxs as qn}from"react/jsx-runtime";var Mv=({cue:t,onCallToAction:e,onRemove:o,onCopy:n,onUse:s})=>{let r=S("WidgetCue",Kc),i=I(Ur),a=It(),d=k("hasKeyboardInput"),l=()=>{e&&e(t),o(t)},c=m=>{n&&n(m,t)},p=m=>{s&&s(m,t)},u=m=>{m.preventDefault(),m.stopPropagation(),o(t)};return Lv(()=>{a("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),qn(_,{"data-testid":"cue",children:[_t(B,{children:qn(B.Content,{children:[t.title&&_t(B.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.title}),_t(Bc,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:c,onUse:d?p:void 0})]})}),qn(_.ButtonsContainer,{children:[qn("div",{className:r.actions,children:[t.callToAction&&_t(_.Button,{onClick:l,children:t.callToAction.label}),_t(_.Button,{onClick:u,children:i("removeCue")})]}),_t(Lt,{eventName:"Assistant response feedback",eventData:{name:t.rule.name,group:t.rule.label,description:t.rule.description,cueText:t.text},feedbackText:t.text,feedbackType:"assistant"})]})]})},Uc=Mv;import{Fragment as Dv,jsx as zc}from"react/jsx-runtime";var Ov=({cues:t})=>{let e=Nv(),o=de(),n=It(),s=d=>{e(fc({id:d.rule.id})),e(Na({code:d.rule.label})),n("Assistant response closed",{name:d.rule.name,group:d.rule.label,description:d.rule.description,cueText:d.text})},r=(d,l)=>{Ie(d),n("Assistant response copied",{name:l.rule.name,group:l.rule.label,description:l.rule.description,copiedText:d})},i=d=>{d.callToAction&&(e(un(d)),n("Assistant call to action",{name:d.rule.name,group:d.rule.label,description:d.rule.description,eventName:d.callToAction.event,value:d.callToAction.value}))},a=(d,l)=>{o.send(Ke,{text:d,suggestion:{source:"cue",sourceText:d}}),n("Assistant response used",{name:l.rule.name,group:l.rule.label,description:l.rule.description,usedText:d})};return zc(Dv,{children:t.map(d=>zc(Uc,{cue:d,onCallToAction:i,onRemove:s,onCopy:r,onUse:a},d.rule.id))})},Vc=Ov;import{Fragment as _v,useEffect as Fv}from"react";var Wc={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 ut,jsxs as jc}from"react/jsx-runtime";function Hv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var $c=({data:t,schema:e})=>{let o=S("WidgetCustomData",Wc),n=s=>{Ie(s)};return Fv(()=>{T.info("Custom data",t,e)},[t]),ut("dl",{className:o.root,children:e.map(s=>{let r=Hv(t,s.path);return jc(_v,{children:[ut("dt",{className:o.label,children:s.label}),ut("dd",{className:o.value,children:s.type==="boolean"&&r?ut("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?ut("span",{className:o.isFalse,children:s.falseValue}):r?jc("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[ut("span",{className:o.copyButtonText,children:r}),ut(xo,{})]}):"-"})]},s.label)})})};import{useCallback as Kv}from"react";var Bv=/(https?:\/\/[^\s]+)/,qc=t=>t.split(" ").find(e=>Bv.test(e));import{jsx as Ft,jsxs as Gn}from"react/jsx-runtime";var Uv=({suggestion:t,lines:e,onUse:o})=>{var p;let n=t.text||t.url||t.message,s=qc(n),r=I(ot),i=k("showImages"),a=k("fallbackImage"),d=k("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&o(n)},c=Kv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Gn(_,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Gn(B,{children:[i&&t.image&&Ft(B.Image,{src:Bn(t,"small",a||void 0),title:t.title}),Gn(B.Content,{children:[t.title&&Ft(B.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&Ft(_.Labels,{labels:t.searchKeywords}),Ft(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Gn(_.Actions,{children:[s&&Ft(_.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Ft(_.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Gc=Uv;import{Fragment as Vv,jsx as Qc}from"react/jsx-runtime";var zv=({lines:t,suggestions:e})=>{let o=de(),n=(s,r)=>{o.send(Ke,{text:s,suggestion:x(h({},r),{source:r.source,sourceText:r.text})})};return Qc(Vv,{children:e.map(s=>Qc(Gc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Xc=zv;var Co={};J(Co,{enUS:()=>Wv,nlNL:()=>jv});var Wv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]},jv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]};var wo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as L,jsxs as Ht}from"react/jsx-runtime";var Xn=(t,e)=>{let o=j(Y);zr(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Gv=({onLogIn:t})=>{let e=S("Widget",wo),o=k("isEmbedded"),n=k("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(An,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Zc=({text:t})=>{let e=S("Widget",wo);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},Qv=()=>{let t=I(Co),e=Qn(),o=S("Widget",wo),n=k("showSearch"),s=k("showSummaryCommand"),r=k("showKnowledgeSearch"),i=k("isEmbedded"),a=j(Pt("/admin/")),d=de(),l=k("productName"),c=k("hasKeyboardInput"),p=n||s||r||a;return Xn(()=>{if(i)return e(Fr()),()=>{e(cc())}},[e,i]),!p||!c?null:L(Te,{title:t("actions"),type:"shortcuts",children:Ht("div",{className:o.shortcutList,children:[n&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0}),children:[L(Et,{}),t("linkSearch")]}),s&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[L(_c,{}),t("linkSummary")]}),r&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[L(Oc,{}),t("linkKnowledgeSearch")]}),a&&Ht("a",{className:o.shortcut,target:"_blank",href:a,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:l}),rel:"noreferrer",children:[L(Mc,{}),t("linkStudioLogin",{productName:l})]})]})})},Xv=()=>{let t=Qn(),e=k("showCustomMessages"),o=j(ec),n=j(St);return Xn(()=>(t(vo(n)),t(rc(n)),()=>{t(ic(n))}),[t,e,n]),!e||o.length===0?null:L(Te,{type:"custom-messages","data-testid":"custom-messages",children:L(se,{withDivider:!0,children:o.map(s=>L(Ec,{suggestion:s},s.text))})})},Zv=()=>{let t=I(Co),e=Qn(),o=k("showAutoflows"),n=j(Qd),s=j(St);return Xn(()=>(e(Me(s)),e(Xd(s)),()=>{e(Zd(s))}),[e,o,s]),!o||n.length===0?null:L(Te,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:L(se,{withDivider:!0,children:L(wc,{})})})},Jv=()=>{let t=Qn(),e=j(mn),o=j(Fa),n=j(yc),s=j(Qi),r=j(fn),i=j(vn),a=j(Re),d=j(He);return zr(()=>{!!s&&!o&&T.warn("Custom data provided, but no schema.")},[s,o]),Xn(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):Oo.includes(l)||t(ye(l))})},[t,d,a]),zr(()=>{n.length>0&&!e.some(l=>l.type==="cues")&&T.warn("Received cues, but cues are not configured in widget.")},[e,n]),L(qv,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m})=>{var f,y;switch(l){case"entities":return r&&r.length>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(Ac,{entities:r})},l);case"cues":return n&&n.length>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Vc,{cues:n})})},l);case"custom-data":return s&&m&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L($c,{data:s,schema:m})})},l);default:return((y=(f=i[l])==null?void 0:f.suggestions)==null?void 0:y.length)>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Xc,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Yv=({onLogIn:t})=>{let e=I(Co),o=S("Widget",wo),n=j(xt),s=j(Y),r=j(St),i=j(Re);return n===!1?L(Zc,{text:e("notSupported")}):s===!1?L(Gv,{onLogIn:t}):!i||!r||s===null?L(Zc,{text:e("waiting")}):L("div",{className:$v(o.root),"data-testid":"widget",children:Ht(fs,{className:o.sectionList,children:[L(Qv,{}),L(Xv,{}),L(Zv,{}),L(Jv,{})]})})},Jc=Yv;function Eo(t){let e=new Range;return e.selectNodeContents(t),e}function Yc(t,e,o){try{return pt(t,e,o),!0}catch(n){return!1}}function Zn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Jn(t){return"tagName"in t&&t.tagName==="BR"}var To=/[\u200B-\u200D\uFEFF]/g;function pt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;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(To,""),p=s+c.length,u=e>=s&&e<=p,m=o>=s&&o<=p;if(u){let f=i(l,e-s);f===0&&!m?n.setStartBefore(d):n.setStart(d,f)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Jn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Zn(d)&&l&&!Zn(l)&&!Jn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Yn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===t,m=p===o,f=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let y=p.textContent;m&&(a=l+y.substring(0,n).replace(To,"").length),f&&(d=l+y.substring(0,r).replace(To,"").length),l+=y.replace(To,"").length;break}case Node.ELEMENT_NODE:{if(Jn(p)&&p.nextSibling){l++;break}!u&&Zn(p)&&p.previousSibling&&l++;for(let y=0;y<p.childNodes.length;y++){let v=m&&y===n,E=f&&y===r;if(v&&(a=l),E&&(d=l),d!==void 0||((!v||!i)&&c(p.childNodes[y]),f&&y===r-1&&(d=l),d!==void 0))break}f&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function es(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let p=c===t,u=c===o,m=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let f=u?n:0,y=m?r:void 0;d+=c.textContent.replace(To,"").substring(f,y);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Jn(c)&&c.nextSibling){d+=`
7
+ 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 Ql}from"react/jsx-runtime";var Kf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Xl=({className:t,color:e})=>Ql("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ql("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:Kf[e||"pink"]})});var Zl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var hr={};J(hr,{enUS:()=>Uf,nlNL:()=>zf});var Uf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},zf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as jf}from"react-redux";import{jsx as yr,jsxs as Jl}from"react/jsx-runtime";var Yl=({onLogIn:t})=>{let e=I(hr),o=k("floatingMenu"),n=k("productName"),s=jf(),r=Wf(Y),i=S("FloatingMenu",Zl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(re(!0)):t()};return Jl("button",{className:Vf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[yr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Jl("div",{className:i.icon,children:[yr(Xl,{className:i.logo,color:"pink"}),r===!1&&yr(Gl,{className:i.lock})]})]})};import{useEffect as ch,useRef as uh}from"react";import{connect as ph,useDispatch as mh,useSelector as kn}from"react-redux";import{useEffect as $f}from"react";function st(t){$f(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function rt(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function Se(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as qf}from"@reduxjs/toolkit";var Gf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Cn=({ui:t})=>t.overlayCollapsed,ed=qf({name:"ui",initialState:Gf,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:go,setInputFocus:wn,setOverlayCollapsed:ze,setOpenOverlayWhenTyping:td,setOverlayCollapsedUserOverwrite:od}=ed.actions,nd=ed.reducer;import{Fragment as ah,useMemo as lh}from"react";import{Interweave as Zf}from"interweave";import{useEffect as Jf,useMemo as Yf,useRef as eh}from"react";import{useDispatch as th,useSelector as id}from"react-redux";import{useEffect as Qf}from"react";function sd(t,e,o){Qf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var rd={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as Tn,jsxs as ih}from"react/jsx-runtime";var oh=["search","personal-collection-search","search-autocomplete"];function nh(t,e,o,n={}){var r;let s="";return oh.includes(e)?s=Ua($s(t,o,{stripAgentPart:!0}),(r=n.searchKeywords)!=null?r:[o]):s=$s(t,o,n),n.placeholders===!0&&(s=za(s)),s}var sh=()=>{},rh=({selected:t,suggestion:e})=>{let o=k("inlineSuggestions"),n=id(bt),s=k("enableSuggestionFeedback"),r=id(c=>c.input.text),i=th(),a=S("TextSuggestion",rd),d=eh(null);Jf(()=>{let c=setTimeout(()=>{i(Hi({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(c)}},[e]),sd(d,"click",()=>{i(pe({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Yf(()=>nh(e.text,e.source,n,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,n,e.searchKeywords]);return e.source==="gpt"&&!o?null:ih("div",{className:a.root,children:[Tn(_,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:sh,children:Tn(Zf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),s&&Tn("div",{className:a.actions,children:Tn(yn,{source:"overlay",context:r,suggestion:e})})]})},ad=rh;import{jsx as ld}from"react/jsx-runtime";var dh=({suggestions:t,selectedIndex:e,reverse:o})=>{let n=lh(()=>{let s=t.map((r,i)=>ld(ad,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return o?s.reverse():s},[t,e,o]);return ld(ah,{children:n})},En=dh;var dd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as Rn}from"react/jsx-runtime";var gh=({textSuggestions:t,selectedIndex:e})=>{let o=uh(null),n=S("InlineSuggestionsOverlay",dd),s=kn(Se),r=mh(),i=kn(Y),a=kn(xt),d=kn(Cn),l=k("showTextSuggestions");return st(()=>{setTimeout(()=>{r(ze({collapse:!0,skipWhenInputFocus:!0}))})}),ch(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),d||!s||!l||t.length===0||i!==!0||a===!1?null:Rn("div",{className:n.root,"data-variant":"inline",children:Rn("div",{ref:o,className:n.paper,children:Rn(se,{children:Rn(En,{suggestions:t,selectedIndex:e})})})})},fh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),cd=ph(fh)(gh);import{Provider as hh}from"react-redux";import{jsx as In}from"react/jsx-runtime";var yh=({children:t})=>{let o=k("locale").replace("-","");return In(_s.Provider,{value:o,children:t})},vh=({store:t,customStyles:e={},children:o})=>In(hh,{store:t,children:In(yh,{children:In(Gt.Provider,{value:e,children:o})})}),it=vh;import Cr from"classnames";import{useEffect as Ah,useRef as Lh,useState as Mh}from"react";import{connect as Nh,useDispatch as Oh,useSelector as Ln}from"react-redux";import{useState as Sh}from"react";function ud(t,e){let[o,n]=Sh(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return T.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){T.error(i)}}]}var pd=()=>/Mac/i.test(navigator.platform);import Ch from"classnames";import{Fragment as wh,useCallback as Sr,useMemo as gd}from"react";var vr={};J(vr,{enUS:()=>xh,nlNL:()=>bh});var xh={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"}]}]},bh={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 md={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Pn,jsxs as fd}from"react/jsx-runtime";var xr=(t,e,o)=>n=>Pn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Th=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=I(vr),i=de(),a=S("Login",md),d=k("productName"),l=Sr(v=>{v.preventDefault(),n&&n(parseInt(v.target.value,10))},[]),c=Sr(v=>{v.preventDefault(),i.send(wt,!0)},[e]),p=gd(()=>v=>Pn("a",{onClick:C=>{C.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:v},"login"),[e]),u=Sr(v=>Pn("button",{type:"button",className:a.anchorButton,onClick:c,children:v},"prompt"),[c]),{min:m,hour:f,day:y}=gd(()=>({min:xr(a,60*10,l),hour:xr(a,60*60,l),day:xr(a,60*60*12,l)}),[]);return fd("div",{className:Ch(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:d}),n&&fd(wh,{children:[Pn("br",{}),r("snooze",{min:m,hour:f,day:y})]})]})},An=Th;import{useDispatch as Eh}from"react-redux";var hd={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as yd,jsxs as Rh}from"react/jsx-runtime";var kh=({title:t})=>{let e=S("SearchTrigger",hd),o=Eh();return Rh("button",{type:"button",className:e.root,onClick:()=>o(re(!0)),children:[yd(Et,{}),yd("span",{className:e.text,children:t})]})},vd=kh;var br={};J(br,{enUS:()=>Ih,nlNL:()=>Ph});var Ih={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"}]},Ph={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"}]};var Sd={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"};import{jsx as X,jsxs as fo}from"react/jsx-runtime";var Dh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=S("SuggestionsOverlay",Sd),s=I(br),r=Ln(Se),i=Fi(),a=Oh(),d=Lh(null),l=k("searchTriggerKey"),c=k("productName"),p=Ln(Cn),u=Ln(Y),m=Ln(xt),[f,y]=Mh(null),v=k("showSearch"),E=k("showTextSuggestions"),C=k("adminUrl"),b=k("isEmbedded"),[P,w]=ud("dd-snooze-until-ms",0),M=p||P>Date.now(),A=t.filter(ce=>ce.source!=="gpt").length,U=()=>{M&&w(0),a(od(!M))},q=ce=>{let O=Date.now()+ce*1e3;w(O),T.info(`Snooze until: ${new Date(O)}`),a(ze({collapse:!0}))};return Ah(()=>{A===0&&y(null)},[t,A]),st(()=>{a(ze({collapse:!0,skipWhenInputFocus:!0}))}),u===null||m===!1?null:u===!1?fo("div",{ref:d,className:Cr(n.root,{[n.isCollapsed]:M}),children:[!M&&fo("div",{className:n.triggers,children:[X("div",{style:{flex:1}}),X("div",{className:n.triggersRight,children:X(ht,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})})]}),X("div",{className:n.toggleButtonWrapper,children:X(ht,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),X("div",{className:n.collapsible,children:X(An,{loginUrl:C,isEmbedded:b,onLogIn:o,onSnooze:q})})]}):!i||!r?null:fo("div",{ref:d,className:Cr(n.root,{[n.isCollapsed]:M}),children:[!M&&fo("div",{className:n.triggers,children:[X("div",{style:{flex:1},children:v&&X("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>y(s(pd()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>y(null),children:X(vd,{title:s("search")})})}),fo("div",{className:n.triggersRight,onFocus:()=>{},children:[X("div",{className:Cr(!f&&n.hintsHidden,n.hints),children:f}),X(ht,{className:n.toggleButton,title:s("collapse"),onClick:U,isCollapsed:!1})]})]}),X("div",{className:n.toggleButtonWrapper,children:X(ht,{className:n.toggleButton,title:s("open",{productName:c}),onClick:U,isCollapsed:!0})}),A>0&&E&&X("div",{className:n.collapsible,onFocus:()=>{},children:X(se,{children:X(En,{suggestions:t,selectedIndex:e,reverse:!0})})})]})},_h=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),xd=Nh(_h)(Dh);import Nr from"classnames";import{Interweave as Ny}from"interweave";import{useCallback as Oy,useEffect as Dy,useMemo as jd,useRef as _y}from"react";import{connect as Fy}from"react-redux";import{useEffect as Fh,useRef as Hh,useState as Bh}from"react";function Mn(t){return t.contentEditable==="true"}function Kh(t){let e=0,o=0,n=window.getSelection();if(n.rangeCount!==0){let s=n.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),o=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:o}}function bd(t){let{selectionStart:e,selectionEnd:o}=Mn(t)?Kh(t):t;return[e,o]}function Cd(t){let[,e]=Bh(),o=Hh(null);return o.current=bd(t),Fh(()=>{let n=()=>{var a;let[s,r]=(a=o.current)!=null?a:[],i=bd(t);(!i||s!==i[0]||r!==i[1])&&(o.current=i,e({}))};return t.addEventListener("keyup",n),t.addEventListener("click",n),t.addEventListener("focus",n),document.addEventListener("selectionchange",n),()=>{t.removeEventListener("keyup",n),t.removeEventListener("click",n),t.removeEventListener("focus",n),document.removeEventListener("selectionchange",n)}},[t]),o.current}function wd(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(No);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=n.indexOf(d,a);return s>l&&r<l+d.length?(o.selectionStart=l,o.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as Uh}from"react";var zh=["div","span","mark","strong","b","i","u","em"];function wr(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(zh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Uh(n,{children:wr(i,e,o+1)})]}return[...t,...e]}function at(t){return t.tagName.toLowerCase()==="textarea"}var Td={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 ly from"classnames";import{Matcher as dy}from"interweave";import{useEffect as cy,useMemo as uy}from"react";import{useEffect as Vh,useRef as Wh,useState as jh}from"react";function Ed(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Nn(t){let e=Wh(null),[o,n]=jh(!1);return Vh(()=>{var c;let s=!1,r=parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=Ed((p,u)=>{let m=e.current;if(!m)return;let f=p/r,y=u/r,v=m.getBoundingClientRect(),E=f>v.x&&f<v.x+v.width&&y>v.y&&y<v.y+v.height;E&&!s?(s=!0,n(!0)):!E&&s&&(s=!1,n(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=Ed(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,o]}function kd(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function On(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Rd(t){return t!=null}import Md from"classnames";import{createRef as ty,useCallback as Er,useMemo as oy,useRef as ny,useState as sy}from"react";import{useState as $h,useLayoutEffect as qh}from"react";var Gh=["bottom","height","left","right","top","width"],Qh=(t={},e={})=>Gh.some(o=>t[o]!==e[o]),Ae=new Map,Id,Pd=()=>{let t=[],e=[];Ae.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Qh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ae.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),Id=window.requestAnimationFrame(Pd)};function Xh(t,e){return{observe(){let o=Ae.size===0;if(Ae.has(t)){let n=Ae.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ae.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Pd()},unobserve(){let o=Ae.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ae.delete(t),Ae.size||cancelAnimationFrame(Id)}}}}function Tr(t){let[e,o]=$h(null);return qh(()=>{if(!t.current)return;let n=Xh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Zh,useLayoutEffect as Jh,useState as Yh}from"react";import{createPortal as ey}from"react-dom";var Ad={root:"dd-r-dgo"};var Ld=({children:t,parentNode:e})=>{let[o,n]=Yh(null),s=Zh(Gt);return Jh(()=>{let r=document.createElement("div");return rt(r),r.classList.add(Ad.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),n(r),()=>{r.isConnected&&r.remove()}},[]),o?ey(t,o):null};var xe={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 kr}from"react/jsx-runtime";var Dn=(t=!1)=>{let[e,o]=sy(t),n=Er(()=>o(!0),[]),s=Er(()=>o(!1),[]),r=Er(()=>o(a=>!a),[]),i=ny(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Rr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Nt=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:o=ty(),position:n="above",align:s="center",children:r,toStyle:i=Rr,parentNode:a}=c,d=N(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Tr(e),u=Tr(o),m=oy(()=>i(p,u,0),[p,u]);return kr(Ld,{parentNode:a,children:kr("div",x(h({className:Md(xe.ref,{[xe.positionAbove]:n==="above",[xe.positionBelow]:n==="below",[xe.positionLeft]:n==="left",[xe.positionRight]:n==="right",[xe.alignStart]:s==="start",[xe.alignCenter]:s==="center",[xe.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:kr("div",{className:Md(t,xe.root),children:r})}))})};import ry from"classnames";import{forwardRef as iy,useRef as ay}from"react";var Le={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 Nd}from"react/jsx-runtime";var _n=iy((s,n)=>{var r=s,{className:t,children:e}=r,o=N(r,["className","children"]);let i=ay(null),a=S("TabCompletion",Le);return Nd("div",x(h({ref:On([i,n]),className:ry(t,a.popoverContentContainer)},o),{children:Nd("div",{className:a.popoverContent,children:e})}))});import{jsx as ho,jsxs as gy}from"react/jsx-runtime";var py=t=>e=>{let o=Rr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},my=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=S("TabCompletion",Le),i=Dn(),a=uy(()=>py(t.getBoundingClientRect()),[t]),[d,l]=Nn(t);return cy(()=>{l?i.open():i.close()},[l]),gy("span",{children:[ho("mark",{ref:On([d,i.triggerRef]),className:ly(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ho(Nt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ho(_n,{style:o,children:ho("div",{className:r.hintText,children:s})})})]})},Fn=class extends dy{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(o,n){return n.keywordMatches&&n.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=n.keywordMatches.map(s=>x(h({},s),{keywordRegex:new RegExp(`\\b${kd(s.keyword)}\\b`,"i")})),this.keywordMatches=n.keywordMatches),this.usedKeywordMatches.clear(),o}match(o){let n=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=o.match(r.keywordRegex);if(!i)return null;let a=o.charAt(i.index-1),d=o.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(Rd);if(n.length===0)return null;let s=n.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(o,n){return ho(my,{inputElement:n.inputElement,suggestion:n.suggestion,inputStyle:n.inputStyle,boundaryRef:n.boundaryRef,children:o},`keyword_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import{Matcher as fy}from"interweave";import hy from"classnames";import{jsx as Od}from"react/jsx-runtime";var yy=({inputElement:t,children:e})=>{let o=S("TabCompletion",Le),[n,s]=Nn(t);return Od("mark",{ref:n,className:hy(o.matchPlaceholder,{[o.hover]:s}),children:e})},Hn=class extends fy{match(e){let o=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return o?{index:o.index,length:o[0].length,match:o[0],matchString:o[0],valid:!0}:null}replaceWith(e,o){return Od(yy,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Mr from"classnames";import{Matcher as ky}from"interweave";import{createRef as Ry,forwardRef as Iy,useCallback as Py,useEffect as zd,useRef as Vd,useState as Wd}from"react";import{useDispatch as Ay}from"react-redux";import{jsx as Dd}from"react/jsx-runtime";var _d=()=>Dd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Dd("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 vy,useEffect as Hd,useState as Bd}from"react";import{useDispatch as Sy,useSelector as Kd}from"react-redux";import xy from"lodash.debounce";var Fd={root:"dd-ky-Bv",content:"dd-kV5e1"};function Bn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch(r){return null}}function Ir(t){return t.replace("https://www.","").replace("https://","")}import{jsx as lt,jsxs as Pr}from"react/jsx-runtime";var by=3,Cy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),wy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=by})=>{let r=S("LinkSearch",Fd),[i,a]=Bd(""),d=Sy(),l=Kd(Fl("url")),c=Kd(ra("URL",Cy)),[p,u]=Bd(c.length-1),m=k("fallbackImage"),f=C=>{let b=C.target;a(b.value)},y=(C,b)=>{C.stopPropagation(),C.preventDefault(),window.open(b,"_blank")},v=C=>{var w;let b=p-1<0?c.length-1:p-1,P=p+1===c.length?0:p+1;C.code==="Escape"&&(a(""),e()),C.code==="ArrowUp"&&u(b),C.code==="ArrowDown"&&u(P),C.code==="Enter"&&t(((w=c[p])==null?void 0:w.text)||i)},E=vy(xy(C=>{d(Ze({query:C,type:"URL",tags:["link-search"]}))},300),[]);return Hd(()=>{i&&E(i)},[i]),Hd(()=>()=>{d(Go())},[]),Pr("div",{className:r.root,children:[lt(se,{withDivider:!0,children:(i?c:l).slice(0,s).map((C,b)=>lt(_,{selected:p===b,onClick:()=>t(C.text),"data-testid":"linksearch-suggestion",children:Pr(B,{children:[lt(B.Image,{src:Bn(C,"small",m||void 0),title:C.title||C.text}),Pr(B.Content,{className:r.content,cropText:!0,children:[lt(B.Title,{children:C.title||Ir(C.text)}),C.title&&Ir(C.text)]}),lt(_.Actions,{children:lt(_.ActionButton,{label:n,onClick:P=>y(P,C.text)})})]})},C.text))}),lt(ro,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:v})]})},Ud=wy;var Ar={};J(Ar,{enUS:()=>Ty,nlNL:()=>Ey});var Ty={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Ey={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as be,jsxs as Lr}from"react/jsx-runtime";var Ly=Iy((t,e)=>{let o=S("TabCompletion",Le);return be("mark",{ref:e,className:Mr(o.matchSelection)},"selection-start")}),My=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=I(Ar),i=S("TabCompletion",Le),a=Vd(null),d=Vd(null),[l,c]=Wd(null),p=Ay(),u=Dn(document.activeElement===n),[m]=Wd(()=>document.createRange());u.triggerRef.current=m,zd(()=>()=>m.detach(),[]),zd(()=>{let y=t.current,v=a.current;!y||!v||(m.setStart(y,0),m.setEnd(v,0))},[t.current,a.current]),st(()=>{u.close()});let f=Py(y=>{let v=m.toString(),E=/^http(s?):\/\//.test(y)?y:`https://${y}`;p(zo({text:`[${v}](${E})`,replace:"selection"}))},[]);return Lr("span",{children:[be("mark",{ref:a,className:Mr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&be(Nt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:Lr(_n,{style:o,ref:d,children:[be("div",{className:Mr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:Lr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[be(_d,{}),be("span",{children:"\xA0"}),be("span",{children:r("insertLink")})]})}),l==="insertLink"&&be(Ud,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},Kn=class extends ky{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(o,n){return this.props=n,this.charCount=0,this.startRef=Ry(),this.foundIndex=0,o}match(o){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[n,s]=this.props.selection;if(n===s)return null;let r=this.foundIndex===0?n:s,i=r>=this.charCount&&r<=this.charCount+o.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+=o.length,i?h({isStart:a},i):null}replaceWith(o,n){return n.isStart?be(Ly,{ref:this.startRef}):be(My,{inputElement:n.inputElement,startRef:this.startRef,boundaryRef:n.boundaryRef,inputStyle:n.inputStyle})}asTag(){return"mark"}};import{useSelector as Hy}from"react-redux";import{jsx as Ot,jsxs as Uy}from"react/jsx-runtime";var By=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=S("TabCompletion",Td),c=k("insertLink"),p=k("showMidSentenceSuggestions"),u=k("inlineSuggestions"),m=Cd(a),f=_y(null),y=Hy(Y);Dy(()=>{at(a)&&m&&wd(a,m)},[m]);let v=Oy(b=>{if(!s||!o)return b;let P=[Ot("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Ot("span",{"data-testid":"tab-completion",className:Nr(l.tabText,l.resetIndent),"data-source":d,children:o},"tabText")];return n&&P.push(Ot("span",{className:Nr(l.hint,l.resetIndent),children:Ot(ps,{keyCode:"tab"},"tabHint")})),wr(b,P)},[s,o,n]),E=jd(()=>{let b=[];return c&&b.push(new Kn("selection")),b.push(new Hn("placeholders")),r&&b.push(new Fn("keywords")),b},[u,c,r]),C=jd(()=>{let b=window.getComputedStyle(a);return{"--dd-color":b.color,"--dd-font-size":b.fontSize,"--dd-font-family":b.fontFamily,"--dd-font-variant":b.fontVariant}},[]);return!t||!y?null:Uy("div",{ref:b=>{b!=null&&b.parentElement&&(f.current=b==null?void 0:b.parentElement)},className:l.root,style:C,children:[Ot(Ny,{tagName:"span",containerTagName:"div",className:Nr(l.container,l.agentText),disableLineBreaks:at(a),content:e||"\u200B",onAfterParse:v,matchers:E,selection:m,keywordMatches:i,inputElement:a,inputStyle:C,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Ot("br",{})]})},Ky=t=>{var v,E,C;let{input:e,ui:o,settings:n,styleSuggestions:s,conversation:r}=t,i=Ct({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(v=e.html)!=null?v:uo(e.text),c=a.indexOf(e.text)===0?a.slice(e.text.length):"",{showTabHint:p}=o,{isSupported:u}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:y}=n;return{showTabHint:p,showStyleSuggestions:y,showTabCompletion:m&&Se(t),content:l,tabText:c,source:d,keywordMatches:(C=(E=s.list)==null?void 0:E.keywordMatches)!=null?C:[],enabled:f&&u!==!1}},$d=Fy(Ky)(By);import jv from"classnames";import{Fragment as $v,useEffect as zr}from"react";import{useDispatch as Qn,useSelector as j}from"react-redux";import{createAsyncThunk as yo,createSlice as zy}from"@reduxjs/toolkit";var qd={list:[],fetchState:"idle"},Qd=t=>t.autoflows.list||[],Gd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Me=yo("autoflows/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)})),Or=yo("autoflows/start",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.startAutoflowSession(t),yield o(Me(t.platformSessionId))})),Dr=yo("autoflows/stop",(t,e)=>g(void 0,null,function*(){let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");yield n.stopAutoflowSession(t.platformSessionId),yield o(Me(t.platformSessionId))})),Vy=zy({name:"autoflows",initialState:qd,reducers:{},extraReducers:t=>{t.addCase(Or.pending,(e,o)=>{let n=Gd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Dr.pending,(e,o)=>{let n=Gd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Me.pending,e=>{e.fetchState="loading"}),t.addCase(Me.rejected,e=>{e.fetchState="error"}),t.addCase(Me.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(H,()=>qd)}}),Xd=yo("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(Me(t))}),s.on("sessionCompleted",()=>{o(Me(t))})}),Zd=yo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Jd=Vy.reducer;import{createAsyncThunk as So,createSlice as Wy}from"@reduxjs/toolkit";var Yd={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},ec=t=>t.customMessages.list,tc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),oc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),nc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),vo=So("customMessages/getAll",(t,e)=>g(void 0,null,function*(){let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)})),Un=So("customMessages/send",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.sendCustomMessage(o,n)})),zn=So("customMessages/answer",(t,e)=>g(void 0,null,function*(){let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");yield s.answerCustomMessage(o,n)})),sc=Wy({name:"customMessages",initialState:Yd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(vo.pending,e=>{e.fetchState="loading"}).addCase(vo.rejected,e=>{e.fetchState="error"}).addCase(vo.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Un.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Un.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(zn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(zn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(H,()=>Yd)}}),rc=So("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(sc.actions.onCustomMessage(r))})}),ic=So("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),ac=sc.reducer;import{createAsyncThunk as lc,createSlice as jy}from"@reduxjs/toolkit";var $y={token:null,interval:null},_r=lc("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>g(void 0,null,function*(){let{deepdeskAPI:o}=e.extra;return{token:yield o.requestPasswordlessToken()}})),Fr=lc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(_r()),setInterval(()=>n(_r()),o)}),dc=jy({name:"passwordlessToken",initialState:$y,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(_r.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(Fr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:cc}=dc.actions,uc=dc.reducer;import{createAction as qy,createAsyncThunk as Gy,createSlice as Qy}from"@reduxjs/toolkit";var pc={excludeFromWidget:!1},Hr={cues:[],fetchState:"idle"},mc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Xy=qy("rules/resetCues"),dt=Gy("rules/evaluate",(t,e)=>g(void 0,null,function*(){var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info,a=(o=r.conversation.current)==null?void 0:o.id;if(!a)throw new Error("No current conversation to evaluate rules");if(!(yield s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(yield s.getRules()).filter(u=>u.isEnabled).some(u=>u.label===t.label))throw new Error(`No enabled rules found with label: ${t.label}`);let p=yield s.evaluateRule(t.label,a,h({tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0},t.params));return i&&(p=p.map(u=>x(h({},u),{title:Q(u.title,i),text:Q(u.text,i)}))),{cues:p,options:t.options}}catch(s){let r=s.message;return T.warn(r),e.rejectWithValue(r)}})),gc=Qy({name:"answer",initialState:Hr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(dt.pending,e=>{e.fetchState="loading"}).addCase(dt.rejected,e=>{e.fetchState="error"}).addCase(dt.fulfilled,(e,o)=>{var r;if((r=o.payload.options)!=null&&r.excludeFromWidget){e.fetchState="done";return}let n=o.payload.cues.map(i=>i.rule.id),s=e.cues.filter(i=>!n.includes(i.rule.id));e.fetchState="done",e.cues=[...o.payload.cues,...s]}).addCase(H,()=>Hr).addCase(Xy.toString(),()=>Hr)}}),{removeCue:fc}=gc.actions,hc=gc.reducer;function Zy(t){let e=0;for(let o=0;o<t.length;o++)e=(e<<5)-e+t.charCodeAt(o),e|=0;return e}var yc=t=>{let e=mc(t),n=La(t).map(s=>({text:s.response,title:s.name,callToAction:s.callToAction,rule:{id:Zy(s.code),label:s.code,name:s.name,description:s.name}}));return[...e,...n]};import{Fragment as av}from"react";import{connect as lv}from"react-redux";import sv from"classnames";import{Fragment as rv}from"react";import Jy from"classnames";var vc={root:"dd-uszkm"};import{jsx as ev}from"react/jsx-runtime";var Yy=({className:t,children:e})=>{let o=S("Unicode",vc);return ev("span",{className:Jy(t,o.root),children:e})},Sc=Yy;var xc={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var Br={};J(Br,{enUS:()=>tv,nlNL:()=>ov});var tv={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]},ov={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]};import{jsx as ct,jsxs as Vn}from"react/jsx-runtime";var iv=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=S("Autoflow",xc),a=I(Br),d=e==="Started"?"stop":"start",l=d==="start"?"\u25B6":d==="stop"?"\u25FC":"";return Vn(_,{className:sv(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[ct(B,{children:Vn(B.Content,{children:[Vn(B.Title,{children:[e&&ct("span",{className:i.stateBadge,children:a(e)}),o]}),ct("span",{children:n})]})}),ct(_.Actions,{fixed:e==="Started",children:ct(_.ActionButton,{primary:!0,className:d==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Vn(rv,{children:[ct(Sc,{children:l})," ",ct("span",{children:a(d)})]})})})]})},bc=iv;import{jsx as Cc}from"react/jsx-runtime";var dv=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},cv=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Cc(av,{children:t.map(s=>Cc(bc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||dv(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),uv=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},pv={onStartAutoflow:Or,onStopAutoflow:Dr},wc=lv(uv,pv)(cv);import mv from"classnames";import{useCallback as Tc}from"react";import{useDispatch as gv,useSelector as Wn}from"react-redux";var Ne={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as Ve,jsxs as jn}from"react/jsx-runtime";var fv=({suggestion:t})=>{let e=I(ot),o=gv(),n=Wn(tc(t.text)),s=Wn(oc(t.text)),r=Wn(nc(t.text)),i=Wn(St),{replyOptions:a}=t,d=Tc(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(Un({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Tc(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let p=parseInt(c.target.dataset.index,10),u=a[p];o(zn({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return jn(_,{onClick:d,className:mv(Ne.root,{[Ne.isUsed]:n,[Ne.hasError]:r}),children:[Ve(B,{children:jn(B.Content,{children:[jn(B.Title,{className:Ne.title,children:[t.text," ",Ve(ms,{className:Ne.label,children:"analyse tool"})," ",r&&Ve("span",{className:Ne.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Ve("ul",{className:Ne.quickReplies,children:a.map(c=>Ve("li",{className:Ne.quickReply,children:c.title},c.title))})]})}),jn(_.Actions,{fixed:r||n,children:[a&&a.length>0&&Ve(_.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,p)=>Ve(_.DropdownItem,{index:p,label:c.title,onClick:l},c.title))}),Ve(_.ActionButton,{primary:!0,disabled:n,onClick:d,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Ec=fv;import{useEffect as hv,useState as yv}from"react";import{useDispatch as vv}from"react-redux";import Ic from"classnames";import{jsx as kc}from"react/jsx-runtime";var xo=()=>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 Rc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as Dt,jsxs as Pc}from"react/jsx-runtime";var Sv=({entities:t})=>{let e=S("EntitiesWidgetList",Rc),[o,n]=yv(void 0),s=vv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ie(a.text),s(ee({name:"entity copied",data:{entity:a,type:"copy"}})))};return hv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Dt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>Pc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Dt("span",{className:e.entityText,children:a.text}),Pc("span",{className:e.iconWrapper,children:[Dt("span",{className:Ic(e.icon),children:Dt(xo,{})}),Dt("span",{className:Ic(e.icon,o===d&&e.iconClicked),children:Dt(xo,{})})]})]},a.text))})},Ac=Sv;import{jsx as Lc}from"react/jsx-runtime";var Mc=()=>Lc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Lc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as Nc}from"react/jsx-runtime";var Oc=()=>Nc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Nc("path",{d:"M543-340q16.595 0 28.798-12.202Q584-364.405 584-381t-12.202-28.798Q559.595-422 543-422t-28.798 12.202Q502-397.595 502-381t12.202 28.798Q526.405-340 543-340Zm-25-126h47q2-29 8.5-43t32.5-39q27-26 37.5-45.395Q654-612.79 654-639q0-45.882-31.5-74.941Q591-743 540-743q-38 0-68 20.5T428-665l45 19q11-25 27.5-38t39.5-13q29.778 0 48.389 17Q607-663 607-637q0 20-9 35t-32 32q-32 29-40 46.5t-8 57.5ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z"})});import{jsx as Dc}from"react/jsx-runtime";var _c=()=>Dc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Dc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as Mv}from"react-redux";import{useEffect as Av}from"react";import xv from"dompurify";import{Fragment as Hc,useMemo as bv,useRef as Cv,useState as wv}from"react";import Tv from"snarkdown";var Fc={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 bo,jsxs as $n}from"react/jsx-runtime";function Ev(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 Kr(t){var o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(n=>n.remove()),(o=e.textContent)!=null?o:""}function kv(t){return t.replace(/\r\n/g,`
8
+ `)}var Rv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=S("Markdown",Fc),i=Cv(null),[a,d]=wv(null),l=bv(()=>{let y=Tv(kv(t));return xv.sanitize(y).replaceAll("</code>",`${Ev(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=y=>{var C;let v=y.target,E=!!((C=i.current)!=null&&C.querySelector("code"));if(["A","BUTTON"].includes(v.tagName)){d(null);return}a||E&&v.tagName!=="CODE"||!E&&v!==i.current||(v.addEventListener("mouseleave",()=>d(null),{once:!0}),d(v))},p=()=>{if(!a)return;d(null);let y=a.querySelector("button");y&&(Rt(y,r.fadeup),n(Kr(a)))},u=y=>{let v=y.target;if(v.tagName==="A"){y.stopPropagation();return}"copyIcon"in v.dataset&&(Rt(v,r.fadeup),n(Kr(v.parentElement)))},m=()=>{!a||!s||(d(null),s(Kr(a)))},f=y=>{if(y===null)return;let v=y.getBoundingClientRect();v.left<0?y.style.transform=`translateX(${-v.left+2}px)`:v.right>window.innerWidth&&(y.style.transform=`translateX(${window.innerWidth-v.right-2}px)`)};return $n(Hc,{children:[a&&$n(Nt,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[$n("div",{className:r.options,ref:f,children:[bo("button",{type:"button",className:r.option,onClick:p,children:o}),s&&$n(Hc,{children:[bo("div",{className:r.divider}),bo("button",{type:"button",className:r.option,onClick:m,children:e})]})]}),bo("div",{className:r.arrow})]}),bo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},Bc=Rv;var Ur={};J(Ur,{enUS:()=>Iv,nlNL:()=>Pv});var Iv={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"}]},Pv={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"}]};var Kc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as _t,jsxs as qn}from"react/jsx-runtime";var Lv=({cue:t,onCallToAction:e,onRemove:o,onCopy:n,onUse:s})=>{let r=S("WidgetCue",Kc),i=I(Ur),a=It(),d=k("hasKeyboardInput"),l=()=>{e&&e(t),o(t)},c=m=>{n&&n(m,t)},p=m=>{s&&s(m,t)},u=m=>{m.preventDefault(),m.stopPropagation(),o(t)};return Av(()=>{a("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),qn(_,{"data-testid":"cue",children:[_t(B,{children:qn(B.Content,{children:[t.title&&_t(B.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.title}),_t(Bc,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:c,onUse:d?p:void 0})]})}),qn(_.ButtonsContainer,{children:[qn("div",{className:r.actions,children:[t.callToAction&&_t(_.Button,{onClick:l,children:t.callToAction.label}),_t(_.Button,{onClick:u,children:i("removeCue")})]}),_t(Lt,{eventName:"Assistant response feedback",eventData:{name:t.rule.name,group:t.rule.label,description:t.rule.description,cueText:t.text},feedbackText:t.text,feedbackType:"assistant"})]})]})},Uc=Lv;import{Fragment as Ov,jsx as zc}from"react/jsx-runtime";var Nv=({cues:t})=>{let e=Mv(),o=de(),n=It(),s=d=>{e(fc({id:d.rule.id})),e(Na({code:d.rule.label})),n("Assistant response closed",{name:d.rule.name,group:d.rule.label,description:d.rule.description,cueText:d.text})},r=(d,l)=>{Ie(d),n("Assistant response copied",{name:l.rule.name,group:l.rule.label,description:l.rule.description,copiedText:d})},i=d=>{d.callToAction&&(e(un(d)),n("Assistant call to action",{name:d.rule.name,group:d.rule.label,description:d.rule.description,eventName:d.callToAction.event,value:d.callToAction.value}))},a=(d,l)=>{o.send(Ke,{text:d,suggestion:{source:"cue",sourceText:d}}),n("Assistant response used",{name:l.rule.name,group:l.rule.label,description:l.rule.description,usedText:d})};return zc(Ov,{children:t.map(d=>zc(Uc,{cue:d,onCallToAction:i,onRemove:s,onCopy:r,onUse:a},d.rule.id))})},Vc=Nv;import{Fragment as Dv,useEffect as _v}from"react";var Wc={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 ut,jsxs as jc}from"react/jsx-runtime";function Fv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var $c=({data:t,schema:e})=>{let o=S("WidgetCustomData",Wc),n=s=>{Ie(s)};return _v(()=>{T.info("Custom data",t,e)},[t]),ut("dl",{className:o.root,children:e.map(s=>{let r=Fv(t,s.path);return jc(Dv,{children:[ut("dt",{className:o.label,children:s.label}),ut("dd",{className:o.value,children:s.type==="boolean"&&r?ut("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?ut("span",{className:o.isFalse,children:s.falseValue}):r?jc("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[ut("span",{className:o.copyButtonText,children:r}),ut(xo,{})]}):"-"})]},s.label)})})};import{useCallback as Bv}from"react";var Hv=/(https?:\/\/[^\s]+)/,qc=t=>t.split(" ").find(e=>Hv.test(e));import{jsx as Ft,jsxs as Gn}from"react/jsx-runtime";var Kv=({suggestion:t,lines:e,onUse:o})=>{var p;let n=t.text||t.url||t.message,s=qc(n),r=I(ot),i=k("showImages"),a=k("fallbackImage"),d=k("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&o(n)},c=Bv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Gn(_,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[Gn(B,{children:[i&&t.image&&Ft(B.Image,{src:Bn(t,"small",a||void 0),title:t.title}),Gn(B.Content,{children:[t.title&&Ft(B.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&Ft(_.Labels,{labels:t.searchKeywords}),Ft(B.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Gn(_.Actions,{children:[s&&Ft(_.ActionButton,{onClick:c,label:r("visitUrl")}),d&&Ft(_.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Gc=Kv;import{Fragment as zv,jsx as Qc}from"react/jsx-runtime";var Uv=({lines:t,suggestions:e})=>{let o=de(),n=(s,r)=>{o.send(Ke,{text:s,suggestion:x(h({},r),{source:r.source,sourceText:r.text})})};return Qc(zv,{children:e.map(s=>Qc(Gc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Xc=Uv;var Co={};J(Co,{enUS:()=>Vv,nlNL:()=>Wv});var Vv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]},Wv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]};var wo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as L,jsxs as Ht}from"react/jsx-runtime";var Xn=(t,e)=>{let o=j(Y);zr(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},qv=({onLogIn:t})=>{let e=S("Widget",wo),o=k("isEmbedded"),n=k("adminUrl");return L("div",{className:e.loginText,children:L("div",{children:L(An,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Zc=({text:t})=>{let e=S("Widget",wo);return L("div",{className:e.stateText,children:L("div",{children:L("p",{children:t})})},"notification")},Gv=()=>{let t=I(Co),e=Qn(),o=S("Widget",wo),n=k("showSearch"),s=k("showSummaryCommand"),r=k("showKnowledgeSearch"),i=k("isEmbedded"),a=j(Pt("/admin/")),d=de(),l=k("productName"),c=k("hasKeyboardInput"),p=n||s||r||a;return Xn(()=>{if(i)return e(Fr()),()=>{e(cc())}},[e,i]),!p||!c?null:L(Te,{title:t("actions"),type:"shortcuts",children:Ht("div",{className:o.shortcutList,children:[n&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0}),children:[L(Et,{}),t("linkSearch")]}),s&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[L(_c,{}),t("linkSummary")]}),r&&Ht("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>d.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[L(Oc,{}),t("linkKnowledgeSearch")]}),a&&Ht("a",{className:o.shortcut,target:"_blank",href:a,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:l}),rel:"noreferrer",children:[L(Mc,{}),t("linkStudioLogin",{productName:l})]})]})})},Qv=()=>{let t=Qn(),e=k("showCustomMessages"),o=j(ec),n=j(St);return Xn(()=>(t(vo(n)),t(rc(n)),()=>{t(ic(n))}),[t,e,n]),!e||o.length===0?null:L(Te,{type:"custom-messages","data-testid":"custom-messages",children:L(se,{withDivider:!0,children:o.map(s=>L(Ec,{suggestion:s},s.text))})})},Xv=()=>{let t=I(Co),e=Qn(),o=k("showAutoflows"),n=j(Qd),s=j(St);return Xn(()=>(e(Me(s)),e(Xd(s)),()=>{e(Zd(s))}),[e,o,s]),!o||n.length===0?null:L(Te,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:L(se,{withDivider:!0,children:L(wc,{})})})},Zv=()=>{let t=Qn(),e=j(mn),o=j(Fa),n=j(yc),s=j(Qi),r=j(fn),i=j(vn),a=j(Re),d=j(He);return zr(()=>{!!s&&!o&&T.warn("Custom data provided, but no schema.")},[s,o]),Xn(()=>{e.forEach(({type:l})=>{l==="entities"?t(fe()):Oo.includes(l)||t(ye(l))})},[t,d,a]),zr(()=>{n.length>0&&!e.some(l=>l.type==="cues")&&T.warn("Received cues, but cues are not configured in widget.")},[e,n]),L($v,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m})=>{var f,y;switch(l){case"entities":return r&&r.length>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(Ac,{entities:r})},l);case"cues":return n&&n.length>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Vc,{cues:n})})},l);case"custom-data":return s&&m&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L($c,{data:s,schema:m})})},l);default:return((y=(f=i[l])==null?void 0:f.suggestions)==null?void 0:y.length)>0&&L(Te,{type:l,title:c,"data-testid":`type-${l}`,children:L(se,{withDivider:!0,children:L(Xc,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Jv=({onLogIn:t})=>{let e=I(Co),o=S("Widget",wo),n=j(xt),s=j(Y),r=j(St),i=j(Re);return n===!1?L(Zc,{text:e("notSupported")}):s===!1?L(qv,{onLogIn:t}):!i||!r||s===null?L(Zc,{text:e("waiting")}):L("div",{className:jv(o.root),"data-testid":"widget",children:Ht(fs,{className:o.sectionList,children:[L(Gv,{}),L(Qv,{}),L(Xv,{}),L(Zv,{})]})})},Jc=Jv;function Eo(t){let e=new Range;return e.selectNodeContents(t),e}function Yc(t,e,o){try{return pt(t,e,o),!0}catch(n){return!1}}function Zn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Jn(t){return"tagName"in t&&t.tagName==="BR"}var To=/[\u200B-\u200D\uFEFF]/g;function pt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;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(To,""),p=s+c.length,u=e>=s&&e<=p,m=o>=s&&o<=p;if(u){let f=i(l,e-s);f===0&&!m?n.setStartBefore(d):n.setStart(d,f)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Jn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Zn(d)&&l&&!Zn(l)&&!Jn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Yn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===t,m=p===o,f=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let y=p.textContent;m&&(a=l+y.substring(0,n).replace(To,"").length),f&&(d=l+y.substring(0,r).replace(To,"").length),l+=y.replace(To,"").length;break}case Node.ELEMENT_NODE:{if(Jn(p)&&p.nextSibling){l++;break}!u&&Zn(p)&&p.previousSibling&&l++;for(let y=0;y<p.childNodes.length;y++){let v=m&&y===n,E=f&&y===r;if(v&&(a=l),E&&(d=l),d!==void 0||((!v||!i)&&c(p.childNodes[y]),f&&y===r-1&&(d=l),d!==void 0))break}f&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function es(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let p=c===t,u=c===o,m=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let f=u?n:0,y=m?r:void 0;d+=c.textContent.replace(To,"").substring(f,y);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&Jn(c)&&c.nextSibling){d+=`
9
9
  `;break}!p&&!i&&a===1&&Zn(c)&&c.previousSibling&&(d+=`
10
- `);let f=u?n:0,y=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let v=f;v<y&&(l(c.childNodes[v]),a!==2);v++);break}default:break}m&&(a=2)}return l(t),d}var eu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(eu||{}),We=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}handleInteraction(){let e=this.getText(),o=this.getHTML(),n=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})):o!==null&&o!==this.cachedHTML&&(this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})),(n.start!==this.cachedSelection.start||n.end!==this.cachedSelection.end)&&(this.cachedSelection=n,s=!0,this.emit("selection",n)),!s))return;let r=this.getCaretPosition();Fe(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}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:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(eu).includes(o)||o.toLowerCase()==="z"&&(n||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 n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),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",o=>this.handlePaste(o)),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()})}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}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 tu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Bt=class extends We{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let o=new Range;return o.selectNodeContents(this.element),es(this.element,o)}getHTML(){return this.element.innerHTML||""}getRange(){var i;let o=this.getRootNode();if(o.activeElement!==this.element)return null;let n="getSelection"in o?o.getSelection():window.getSelection();if(!n)return null;let s="getComposedRanges"in n&&o instanceof ShadowRoot?(i=n.getComposedRanges(o))==null?void 0:i[0]:n.rangeCount>0?n.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 o=this.getRange();if(!o||!o.collapsed||!("getBoundingClientRect"in o))return null;let n=o.getBoundingClientRect();return!tu(n)&&(o.insertNode(this.element.ownerDocument.createTextNode("\u2060")),n=o.getBoundingClientRect(),o.deleteContents(),!tu(n))?null:{top:n.top+n.height,left:n.left}}getSelection(){let o=this.getRange();if(o)return Yn(this.element,o);let n=this.lastKnownSelection;if(n&&Yc(this.element,n.start,n.end))return n;let s=Eo(this.element);return s.collapse(!1),Yn(this.element,s)}getSelectedText(){let{start:o,end:n}=this.getSelection();return es(this.element,pt(this.element,o,n))}listen(){super.listen();let o=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)});o.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>o.disconnect());let n=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==n&&(n=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var eS=["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 ou(t,e){let o="mozInnerScreenX"in window,n=document.createElement("div");n.id="input-textarea-caret-position-mirror-div";let s=n.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",eS.forEach(function(c){s[c]=r[c]}),o?t.scrollHeight>parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",n.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",n.appendChild(a),i.appendChild(n);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+parseInt(r.borderLeftWidth)};return i.removeChild(n),l}var Kt=class extends We{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:o,selectionEnd:n}=this.element;return{start:o,end:n}}getSelectedText(){let o=this.getSelection();return o?this.getText().slice(o.start,o.end):""}getCaretPosition(){return ou(this.element,this.element.selectionEnd)}listen(){super.listen();let o=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=o==null?void 0:o.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=o==null?void 0:o.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let n=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function nu(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).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=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function tS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var Vr=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()}},Wr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.disposeHandlers=[];this.iframe=nu(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 o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},jr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),T.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Wr(e,this.deepdeskUrl,{debug:!0}):new Vr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=tS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(T.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;T.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(h({},s),{channel:this.sessionId}))}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},su=jr;function oS(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function D(t){return Array.isArray(t)?t.map(D):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>x(h({},e),{[oS(o)]:D(t[o])}),{}):t}function $r(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,o)=>x(h({},e),{[$r(o)]:z(t[o])}),{}):t}var Ut=class extends Error{constructor(o,n){super(o);this.body=n;this.name="CustomError"}};var qr=t=>new Promise(e=>{setTimeout(e,t)});var zt=class extends Ut{constructor(){super(...arguments);this.name="ClientError"}},Qr=class extends Ut{constructor(){super(...arguments);this.name="ServerError"}},Gr=new Map;function nS(t){return g(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=yield t.text();return o===""?null:(T.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))})}var je=class je{constructor(e="",o={}){this.baseUrl=e;this.options=o;this.latestRequestByUrl={};this.fetch=window.fetch.bind(window);o.fetch&&(this.fetch=o.fetch)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=o.method===void 0||o.method.toLowerCase()==="get",M=o,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=A=>A instanceof TypeError,retryOnResponse:y=A=>A.status>=500,version:v=null}=M,E=N(M,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l)if(d){if(Gr.has(i)){n(Gr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let C=x(h({credentials:"include"},E),{headers:h({Accept:"application/json","Content-Type":"application/json"},E.headers)});!d&&this.csrfToken&&(C.headers=x(h({},C.headers),{"X-CSRFToken":this.csrfToken})),typeof v=="string"&&(C.headers=x(h({},C.headers),{"X-Deepdesk-API-Version":v}));let b=p,P=!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 w=()=>g(this,null,function*(){return b--,a(i,C).then(A=>g(this,null,function*(){return y(A)&&!r.isAborted&&b>0?(yield qr(u),w()):A.status===401&&m===!0&&P===!1?(P=!0,yield this.refreshToken(),w()):A})).catch(A=>g(this,null,function*(){if(f(A)&&!r.isAborted&&b>0)return yield qr(u),w();throw A}))});w().then(A=>g(this,null,function*(){let U=yield nS(A);if(delete this.latestRequestByUrl[i],A.status>=500){s(new Qr("Server Error",U));return}else if(A.status===401){s(new zt("Unauthorized",U));return}else if(A.status===403){s(new zt("Forbidden",U));return}else if(A.status===404){s(new zt("Not Found",U));return}else if(A.status>=400){s(new zt("Bad Request",U));return}l&&Gr.set(i,U),n(U)})).catch(A=>{s(A)})})}validateToken(){return g(this,null,function*(){let{has_valid_access_token:e}=yield this.get("/auth/validate");if(!e)try{yield this.refreshToken()}catch(n){return!1}let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return!!o})}refreshToken(){return je.refreshingToken||(je.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{je.refreshingToken=null},1e3*60)})),je.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,h({method:"POST",body:JSON.stringify(o)},n))}patch(e,o,n){return this.request(e,h({method:"PATCH",body:JSON.stringify(o)},n))}put(e,o,n){return this.request(e,h({method:"PUT",body:JSON.stringify(o)},n))}delete(e,o){return this.request(e,h({method:"DELETE"},o))}};je.refreshingToken=null;var $e=je;var ru;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||(e.EventType={}))})(ru||(ru={}));function ts(t){return x(h({},D(t)),{tags:t.tags})}var mt=class mt{constructor(e,o={}){this.options=o;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new $e(e,{fetch:o.fetch}),this.client.patchFetch(n=>(s,r)=>g(this,null,function*(){let i=yield n(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return g(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(mt.exchangeTokenPromise||(mt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),mt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return g(this,null,function*(){yield this.preflight(),T.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=yield this.client.post("/api/conversations",x(h({},z(e)),{tags:e.tags}),{version:"v2"});return ts(o)})}getMe(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return D(e)})}postIdentity(e){return g(this,null,function*(){yield this.client.post("/apis/admin/session/me/identities/",z(e))})}patchMe(e){return g(this,null,function*(){let o=yield this.client.patch("/apis/admin/session/me/",z(e));return D(o)})}getProfile(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return D(o)})}getKnowledgeAssistant(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return D(o)})}getContentTypes(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return D(e)})}getAccount(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return D(e)})}getPlatformConfig(e){return g(this,null,function*(){let o=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:n}=yield this.client.get(o,{useCache:!0});return D(n)})}checkUserExists(e){return g(this,null,function*(){let{exists:o}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return o})}getConversationBySessionId(n){return g(this,arguments,function*(e,o={}){yield this.preflight(),T.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=o,i=yield this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return T.info(`Successfully retrieved conversation ${i.id} for session ${e}`),ts(i)})}isConversationSupported(n){return g(this,arguments,function*(e,o={}){T.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=o;return(yield this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"})).has_active_profile})}updateConversation(e,o){return g(this,null,function*(){let n=z(o);o.tags&&(n.tags=o.tags);let s=yield this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return ts(s)})}postMessages(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/messages`,o.map(s=>x(h({},z(s)),{tags:s.tags})),{version:"v2"})).map(s=>ts(s))})}sendEvent(e,o){return g(this,null,function*(){let i=o,{data:n}=i,s=N(i,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((a,[d,l])=>x(h({},a),{[d]:l}),{});return this.client.post("/api/events",z(x(h(h({},r),s),{data:n,name:e})),{version:"v2"})})}sendEventV1(e,o){return g(this,null,function*(){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>x(h({},s),{[r]:i}),{});return this.client.post("/api/events",{event:e,data:z(h(h({},o),n))},{version:"v1"})})}getEntities(e){return g(this,null,function*(){return(yield this.client.post("/api/entities",{messages:e.filter(n=>n.text)},{version:"v1"})).entities})}getTemporaryExchangeToken(){return g(this,null,function*(){return(yield this.client.get("/auth/exchange-token")).jwt})}exchangeTokenForAccessCookie(e){return g(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(o=>{throw T.warn(`Invalid token '${e}'`),o})})}authenticateWithKey(e,o){return g(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",z(o),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return g(this,arguments,function*(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(yield this.client.post(`/api/conversations/${e}/recommend/${n}`,z(o),{abortLatest:!0,version:"v1"})).map(i=>x(h({},D(i)),{text:i.text||i.url||i.message,source:n,type:n})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return g(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/autocomplete`,z(o),{abortLatest:!0,version:"v1"})).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 g(this,null,function*(){let o=yield this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0,version:"v1"});return D(o).map(n=>x(h({},n),{text:n.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return g(this,null,function*(){let o=yield this.client.post("/api/style-suggestions",z(e),{abortLatest:!0,version:"v1"});return D(o)})}search(e){return g(this,null,function*(){let o=yield this.client.post(`/api/profiles/${e.profile}/search`,z(e),{version:"v2"});return D(o)})}knowledgeAssist(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=yield this.client.post(`/api/knowledge-assist/assistants/${n}/search`,z({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(l=>({question:l.question,answer:l.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return D(d)})}requestLoginByEmail(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return D(o)})}requestPasswordlessToken(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return D(e.token)})}getCsrfToken(){return g(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return D(o)})}evaluateRule(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=new URLSearchParams;s.raiseForFailingConditions&&d.set("raise_for_failing_conditions","true");let l=yield this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${d.toString()}`,n,{version:"v2"});return l?D(l.cues):[]})}getSummary(n){return g(this,arguments,function*(e,o={}){let s=yield this.client.post("/api/summary",{conversation:{messages:e.filter(r=>r.text&&r.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model},{version:"v1"});return D(s)})}evaluateAssistant(e,o){return g(this,null,function*(){var a;let n=new URLSearchParams,{expectFormat:s="text"}=o||{};if(s.startsWith("json-schema:")){let d=s.replace("json-schema:","");n.append("expect_response_format","json-schema"),n.append("expect_response_format_schema",d)}else n.append("expect_response_format",s);o!=null&&o.externalConversationId&&n.append("external_conversation_id",o.externalConversationId);let r=o!=null&&o.threadId?`/api/v2/assistants/${e}/threads/${o==null?void 0:o.threadId}/evaluate?${n.toString()}`:`/api/v2/assistants/${e}/evaluate?${n.toString()}`,i=yield this.client.post(r,{input:(a=o==null?void 0:o.input)!=null?a:{},conversation:o==null?void 0:o.transcript});return D(i.output)})}createAssistantThread(e){return g(this,null,function*(){let{assistantCode:o}=e,n=yield this.client.post(`/apis/admin/assistants/${o}/threads/`,{});return D(n)})}postMessageToAssistantThread(e){return g(this,null,function*(){let{assistantCode:o,threadId:n,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${o}/threads/${n}/messages/`,{content:s,role:"user"});return D(r)})}getRules(){return g(this,null,function*(){let e=new URLSearchParams,o=yield this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{useCache:!0});return D(o)})}translateMessages(e){return g(this,null,function*(){let o=yield this.client.post("/api/translate",z(e),{version:"v2"});return D(o)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(bi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&T.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};mt.exchangeTokenPromise=null;var qe=mt;var ko=class{constructor(e,o){this.url=e;this.eventListeners={};this.options=h({timeout:25e3},o)}proxyEvent(e){this.eventSource.addEventListener($r(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,D(s))}catch(s){T.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var iu;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||(e.AutoflowSessionState={}))})(iu||(iu={}));var Ro=class{constructor(e,o={}){this.apiUrl=e;this.streams={};this.logger=T;this.client=new $e(e,o)}getCustomMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/suggestions`);return D(o.suggestions)})}sendCustomMessage(e,o){return g(this,null,function*(){let n=yield this.client.post(`/sessions/${e}/messages`,z(o));return D(n)})}answerCustomMessage(e,o){return g(this,null,function*(){yield this.client.post(`/sessions/${e}/answers`,z(o))})}getAutoflows(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/autoflows`);return D(o.autoflows)})}startAutoflowSession(e){return g(this,null,function*(){let o=yield this.client.post("/autoflow-sessions",z(e));return D(o)})}stopAutoflowSession(e){return g(this,null,function*(){yield this.client.delete(`/autoflow-sessions/${e}`)})}openStream(e){return this.streams[e]||(this.streams[e]=new ko(`${this.apiUrl}/sessions/${e}/events`),this.streams[e].connect()),this.streams[e]}closeStream(e){this.streams[e]||(this.streams[e].disconnect(),delete this.streams[e])}};import{combineReducers as cS,configureStore as uS}from"@reduxjs/toolkit";import{createSlice as sS}from"@reduxjs/toolkit";var au={startTime:null,stopTime:null},lu=sS({name:"handlingTime",initialState:au,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(H,()=>au)}}),{handlingTimeStart:du,handlingTimeStop:os,handlingTimeReset:cu}=lu.actions,uu=lu.reducer;var pu=(t={})=>{let e=h({onAuthError:yt(!1)},t);return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as rS,createSlice as iS}from"@reduxjs/toolkit";var ns={list:{keywordMatches:[]},fetchState:"idle"};var gt=rS("styleSuggestions/getAll",(o,n)=>g(void 0,[o,n],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 ns.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),aS=iS({name:"styleSuggestions",initialState:ns,reducers:{},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,e=>{e.fetchState="error"}).addCase(gt.fulfilled,(e,o)=>{e.fetchState="done",Fe(e.list,o.payload)||(e.list=o.payload)}).addCase(Xe,e=>{e.list=ns.list}).addCase(H,()=>ns)}}),mu=aS.reducer;var gu=(t={})=>{let e,o=!0,n=h({getStyleSuggestions:gt,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),d}};function lS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var fu=(t={})=>{let e=h({getTextSuggestions:ye,getAutocompleteSuggestions:mo,debounce:200,check:Se},t),o;return n=>s=>r=>{var y;let{input:i}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(y=d.conversation.current)==null?void 0:y.id,u=r.type===Sn.toString();if(!p||!l&&!c)return a;let{input:m}=d;return lS(m,i)&&!u||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let v=bt(d);v===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(v))},u?0:e.debounce)),a}};var hu=gt.fulfilled.toString();function dS(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.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||n.push(...i.slice(0,a))}),n}var yu=t=>e=>o=>n=>{var l;if(n.type!==hu){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=dS(s,i);n.type===hu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var pS=cS({assistants:Oa,auth:Ai,autoflows:Jd,conversation:Di,contentTypes:_a,customMessages:ac,passwordlessToken:uc,entities:sl,knowledgeAssistant:Pa,handlingTime:uu,info:ea,input:qi,settings:wi,profile:Ha,search:aa,styleSuggestions:mu,ui:nd,rules:hc,textSuggestions:Kl});function vu(t){return uS({reducer:pS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),pu(),fu({debounce:200}),gu({debounce:500}),yu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var mS=t=>{var e,o;return(o=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?o:"unknown"},gS=t=>e=>o=>n=>{var a,d,l,c,p,u,m;let s=e.getState(),r=vs("inlineSuggestions")(s);switch(n.type){case yt.toString():{!n.payload&&t.emit("logout",void 0);break}case fe.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:n.payload}});break;case ee.toString():t.sendEvent(n.payload.name,{conversationId:((d=n.payload.options)==null?void 0:d.includeConversationData)&&((l=s.conversation.current)==null?void 0:l.id),data:n.payload.data});break;case Xe.toString():t.logSendMessage(n.payload);break;case dt.fulfilled.toString():n.isBroadcasted||t.broadcast(ks,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;case un.toString():t.emit("call-to-action",{cue:n.payload});break;case ke.fulfilled.toString():n.isBroadcasted||t.broadcast(Rs,n,!1);break;default:break}let i=o(n);switch(n.type){case Xe.toString():t.handleAfterSendMessage(n.payload);break;case go.toString():t.onUpdateShowTabHint(n.payload);break;case os.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case zo.toString():{let{start:f,end:y}=s.input.selection;t.emit("replace",x(h({},n.payload),{replace:n.payload.replace==="selection"?{start:f,end:y}:{start:0,end:y}}));break}case pe.toString():{let{start:f,end:y}=s.input.selection;t.emit("select-suggestion",x(h({type:mS(n.payload.suggestion)},n.payload),{replace:n.payload.replace==="selection"?{start:f,end:y}:{start:0,end:y}})),r&&e.dispatch(Be([]));break}case Vo.toString():t.emit("select-image",n.payload),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case Be.toString():{r&&n.payload.length>0&&e.dispatch(Wo(0));break}case Tt.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{summary:n.payload,assistant:(m=e.getState().profile.data)==null?void 0:m.summarizerAssistantNew}});break}default:break}return i},Su=gS;function Xr(t){return t.toISOString().replace("T"," ").replace("Z","")}function xu(t,e){var r,i,a,d;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return T.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(T.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(d=t.info.agentInfo)==null?void 0:d.agentEmail,timeStart:Xr(n),timeStop:Xr(s)}}function bu(t,e,o){var U,q,ce,O;let n=(U=e.conversation.current)==null?void 0:U.id;if(!n)return T.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:d,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:u,cuts:m,deletions:f,textSuggestions:y,offeredTextSuggestions:v}}=e[t],E=s.length,b=y.reduce((K,{text:ue,searchTerm:le})=>K+ue.length-(le?le.length:0),0),P=c!=null?c:Date.now(),w=(Date.now()-P)/1e3+(p||0),M=r/w,A=y.reduce((K,{searchTerm:ue})=>K+(ue?ue.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:u,cuts:m,deletions:f,lenTextTyped:r+A,lenTextTotal:E,lenTextAssisted:b,lenTextPasted:i,lenTextCut:a,lenTextDeleted:d,timeTotalSeconds:w,charsPerSecond:M,numPastes:l,textSuggestionsV2:y,suggestionsCounters:[{source:"gpt",countOffered:v.filter(K=>K.source==="gpt").length}],agentId:(q=e.info.agentInfo)==null?void 0:q.agentId,agentName:(ce=e.info.agentInfo)==null?void 0:ce.agentName,agentEmail:(O=e.info.agentInfo)==null?void 0:O.agentEmail}}function Zr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Zr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Zr(s,e):null}function Cu(t,e){return Zr(t,e)}function wu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function fS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Jr(t){return fS(t)&&(at(t)||Mn(t))}var Eu,Ce=new Map,hS=["bottom","height","left","right","top","width"],Tu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:hS.some(o=>t[o]!==e[o]);function ku(t){var o,n,s;if(t.ownerDocument===document)return[];let e=(s=(n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)!=null?s:null;return e?[e,...ku(e)]:[]}function Ru(t,e){return!t||!e?null:x(h({},t),{top:t.top+e.top,left:t.left+e.left})}var ss=!1,Iu=()=>{ss=!0;let t=[];if(Ce.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),Ce.delete(o);return}let n=o.getBoundingClientRect();Tu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Ru,e.rect):e.rect;Tu(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),Ce.size===0){ss=!1;return}Eu=window.requestAnimationFrame(Iu)};function Yr(t,e){let o=ku(t),n=[],s=o.map((r,i)=>Yr(r,a=>{n[i]=a;let d=Ce.get(t);if(!d)return;let l=n.reduce(Ru,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Ce.has(t)){let i=Ce.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Ce.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!ss&&Iu()},unobserve(){s.forEach(i=>i.unobserve());let r=Ce.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Ce.delete(t),Ce.size||(cancelAnimationFrame(Eu),ss=!1)}}}}var Pu,we=new Map,Au=()=>{we.forEach((t,e)=>{if(!e.isConnected){we.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),we.size!==0&&(Pu=window.requestAnimationFrame(Au))};function Lu(t,e){return{observe(){let o=we.size===0;we.has(t)?we.get(t).callbacks.push(e):we.set(t,{visible:void 0,callbacks:[e]}),o&&Au()},unobserve(){let o=we.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||we.delete(t),we.size||cancelAnimationFrame(Pu)}}}}var ei=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function ti(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Vt(t){return parseFloat(t)}function rs(t){return Math.round(t*1e6)}function Mu(t){return t/1e6}function oi(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Vt(t.width),r=Vt(t.borderLeftWidth),i=Vt(t.borderRightWidth),a=Vt(t.paddingRight),d=Mu(rs(s)-rs(r)-rs(i)),l=Mu(rs(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function is(t,e={}){var c,p;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=(c=e.position)!=null?c:"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",rt(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};ti(n,o,ei),oi(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Lu(t,()=>{ti(n,o,ei),oi(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Yr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.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(),o.style.display="none",s=!0;return}if(ti(n,o,ei),oi(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),f=window.getComputedStyle(e.closestScrollElement),y=Vt(f.borderTopWidth),v=Vt(f.borderBottomWidth),E=m.top+y-u.top,C=u.top+u.height+-(m.top+m.height-v);o.style.clipPath=`inset(${E}px 0px ${C}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(p=t.parentElement)==null||p.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Nu=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch(n){return e}}catch(o){return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch(n){T.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function yS(t){return t.offsetParent!==null}function Ou(t){if(!yS(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 ni(t,e,o=100){let n=Ou(t);e({isVisible:n});let s=setInterval(()=>{let r=Ou(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as $}from"react/jsx-runtime";var Du=Nu("showTabHint",!0),jt=class jt{constructor({deepdeskUrl:e,brokerUrl:o,version:n=jt.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:d}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.widgetRoot=null;this.dynamicThunkObject={};this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new qe(l,{token:r,fetch:i}),this.version=n,this.instanceId=jt.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Su({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u)=>this.emit(p,u),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>Du.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new Ro(o)}),this.store=vu(c),this.broadcastEvents=new su({debug:!0,deepdeskUrl:l,eventMap:la(this.store),createCustomChannel:d}),this.store.dispatch(go(Du.value())),this.store.dispatch(_o({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=this.state.input.textSuggestions[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}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(T.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(T.warn("Profile has not been loaded (yet)"),!0):(T.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(yt(null)),this.store.dispatch(Ee()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();Y(n)&&Ti(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return g(this,null,function*(){return(yield this.store.dispatch(Ee())).payload})}isConversationSupported(e,o){return g(this,null,function*(){return(yield this.store.dispatch(xs({sessionId:e,options:o}))).payload})}createConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Fo(e))).payload})}getConversationBySessionId(e,o){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(yield this.store.dispatch(Ho({sessionId:e,options:o}))).payload})}upsertConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(bs(e))).payload})}postMessages(e){return g(this,null,function*(){return(yield this.store.dispatch(Ko(e))).payload})}updateConversation(e){return g(this,null,function*(){return(yield this.store.dispatch(Bo(e))).payload})}resetConversation(){this.store.dispatch(H()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(_o(e))}setVisitorInfo(e){this.store.dispatch(Zi(e))}setCustomData(e){this.store.dispatch(Ji(e))}setAgentInfo(e,o){return g(this,null,function*(){yield this.store.dispatch(Jt(h(h({},e),o)))})}setAgentSettings(e){return g(this,null,function*(){yield this.store.dispatch(Ts(e))})}getAgentSettings(){return g(this,null,function*(){return(yield this.store.dispatch(Es())).payload})}refresh(){return g(this,null,function*(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.store.dispatch(jo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}));let e=[];return this.store.dispatch(Sn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}notifyExternalSuggestion(e){this.store.dispatch(pe(e))}evaluateRule(s){return g(this,arguments,function*(e,o={},n=pc){return(yield this.store.dispatch(dt({label:e,params:o,options:n}))).payload.cues})}evaluateAssistant(e,o){return g(this,null,function*(){let c=o||{},{input:n={},transcript:s,showCuesInWidget:r=!0,includeTags:i,expectFormat:a}=c,d=N(c,["input","transcript","showCuesInWidget","includeTags","expectFormat"]);Object.assign(n,d);let l=yield this.store.dispatch(ke({assistantCode:e,expectFormat:a||"json-schema:cues",transcript:s,includeTags:i,input:n,skipState:!r}));if(l.error)throw new Error(l.error.message);return l.payload})}evaluateConversationAssistant(e,o){return g(this,null,function*(){yield this.loadProfileConfig();let n={accepted:"conversationAcceptedAssistant","new-message":"conversationNewMessageAssistant",ended:"conversationEndedAssistant"},s=this.state.profile.data[n[e]];if(!s){T.warn(`No assistant set in profile for conversation event "${e}"`);return}yield this.evaluateAssistant(s,h({transcript:"stored-transcript",includeTags:!0},o))})}getSummary(){return g(this,null,function*(){var o;if(!this.hasConversation())return T.warn("No conversation to create summary for."),null;(o=this.state.profile.data)!=null&&o.summarizerAssistantNew||T.warn("No profile loaded yet, or no summarizer assistant set in profile");let e=yield this.store.dispatch(Tt({}));if(e.error)throw new Error(e.error.message);return e.payload})}handleKeyDown(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d}=this.state.settings,l=a?"below":"above",c=s.length>0;if(!Se(this.state)||(this.store.dispatch(Ki(Cs(e))),e.key!=="Tab"&&!d))return;let p=()=>{o||!c||i&&(e.shiftKey||(this.store.dispatch(Vi()),e.preventDefault()))},u=()=>{o||!c||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Wi()),e.preventDefault()))};switch(e.key){case"ArrowUp":l==="below"?u():p();break;case"ArrowDown":{l==="below"?p():u();break}case"Escape":{o||(this.store.dispatch(Wo(-1)),this.store.dispatch(ze({collapse:!0})),this.store.dispatch(td(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let m=Ct(this.state);if(!m)return;this.store.dispatch(go(!1)),this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.state.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let m=Ct(this.state);if(!m)return;this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.state.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let m=Ct(this.state);if(!m)return;this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}o&&n&&this.store.dispatch(ze({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Be([]))}handlingTimeStart(){this.state.handlingTime.startTime||(T.info("Start handling time"),this.store.dispatch(du()))}handlingTimeStop(){this.state.handlingTime.startTime&&(T.info("Stop handling time"),this.store.dispatch(os()))}logSendMessage(e){let o=bu("input",this.state,{version:this.version});o&&(e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o))}logHandlingTime(){let e=xu(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(cu()))}notifySubmit(e={}){var o;this.shouldAbort()||(this.store.dispatch(Xe((o=e.text)!=null?o:this.state.input.text)),this.store.dispatch($i()))}emit(e,o){let n=this.eventListeners[e];n&&n.forEach(s=>{try{s(o)}catch(r){T.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),T.error(r)}})}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Yi(e))}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=is(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{as(r),i(),r.remove()}),r}createInlineContainer(e,o){var a;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.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",n.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]=is(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=o,d.style.zIndex="2",d.appendChild(n),this.unmountHandlers.push(()=>{as(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return rt(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{as(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),T.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(T.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(ji(n.metrics))):T.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Jr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:y,appendOverlayTo:v,inlineSuggestions:E,floatingMenu:C}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:E,floatingMenu:!!C}),o.automaticHandlingTime&&this.setupHandlingTime(e),rt(e),this.inputMediator=f||(at(e)?new Kt(e):new Bt(e)),this.inputMediator.on("change",({plainText:w,rawHTML:M})=>{this.store.dispatch(jo({text:w,html:M}))}),this.inputMediator.on("keyup",w=>{this.store.dispatch(Ui(Cs(w)))}),this.inputMediator.on("keydown",w=>{this.handleKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:M})=>{this.store.dispatch(zi({text:w,selectionText:M}))}),this.inputMediator.on("cut",({selectionText:w})=>{this.store.dispatch(Bi(w))});let b;this.inputMediator.on("selection",w=>{clearTimeout(b),w===null?b=setTimeout(()=>{w!==null&&this.store.dispatch($o(w))},500):this.store.dispatch($o(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(wn(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(wn(!0))});let P=y&&Cu(e,y)||void 0;if(E){let{customStyles:w,appendOverlayTo:M}=o,A=this.createInlineContainer(e,"deepdesk-caret");Wt($(it,{store:this.store,customStyles:w,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(cd,{})})}),A),this.inputMediator.on("caretposition",q=>{q?(A.style.display="block",A.style.top=`${q.top}px`,A.style.left=`${q.left}px`):A.style.display="none"});let U=this.overlayContainerFactory("floating-menu",P||e,{appendTo:typeof C=="object"&&"appendOverlayTo"in C?C.appendOverlayTo:M},w==null?void 0:w.floatingMenuRootNode);Wt($(it,{store:this.store,customStyles:w,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(Yl,{onLogIn:()=>this.loginViaPopup().catch(q=>T.warn(q.message))})})}),U)}else{let w=this.overlayContainerFactory("deepdesk-tab-completion",P||e,{appendTo:v,closestScrollElement:P,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),M=this.overlayContainerFactory("deepdesk-suggestions-overlay",P||e,{appendTo:v},n==null?void 0:n.suggestionsRootNode);Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$($d,{inputElement:e})})}),w),Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(xd,{onLogIn:()=>this.loginViaPopup().catch(A=>T.warn(A.message))})})}),M)}Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(ql,{})})}),this.createContainer("deepdesk-overlays")),this.store.dispatch(jo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch($o(this.inputMediator.getSelection())),this.store.dispatch(wn(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{var w;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&T.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(Jc,{onLogIn:()=>this.loginViaPopup().catch(i=>T.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&as(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ni(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){wu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>g(this,null,function*(){yield this.store.dispatch(lo());let e=Re(this.state);e&&(yield this.store.dispatch(io()),this.store.dispatch(_o({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew||e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistantNew||!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))})),this.loadProfileConfigPromise)}loginViaPopup(e){return g(this,null,function*(){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=m=>g(this,null,function*(){var f,y;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((y=m.data)==null?void 0:y.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(eo),d=!0,s.port1.close(),o()}catch(v){console.error(v),n(v)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=m=>g(this,null,function*(){var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let y=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(y,a.origin,[s.port2])}catch(y){T.error("Error posting message to popup",y),n(y)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&T.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}});window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}checkForTrialMode(e){return g(this,null,function*(){try{let{account:o}=yield this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(T.info("Trial is active"),!(yield this.deepdeskApi.checkUserExists(e)))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;T.info(n),this.shouldRender=!1}})}refreshWidgetSuggestions(){return g(this,null,function*(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=mn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(fe()):Oo.includes(n)||this.store.dispatch(ye(n))})}catch(n){this.handleError(n)}})}};jt.version="14.2.1-beta.7",jt.count=0;var ls=jt;function vS(t){return g(this,null,function*(){var s,r,i;let o=yield((s=t.fetch)!=null?s:window.fetch)(t.url),n=yield o.blob();return new File([n],t.name,{type:(i=(r=t.mimeType)!=null?r:o.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function SS(t,e){return g(this,null,function*(){let o=yield vS(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function xS(t,e,o){return g(this,null,function*(){yield new qe(t).authenticateWithKey(e,o)})}function bS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function CS(n,s){return g(this,arguments,function*(t,e,o={}){var p,u;let{value:r}=t,{start:i,end:a}=(p=o.replace)!=null?p:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(u=o.selectionAfter)!=null?u:{start:i+e.length,end:i+e.length},c=()=>{if(o.setValue)return o.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function wS(n,s){return g(this,arguments,function*(t,e,o={}){let r=o.replace?pt(t,o.replace.start,o.replace.end):Eo(t),i,a=()=>{if(o.setRange)return o.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),o.insertBRs!==!1?e.split(`
11
- `).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(o.selectionAfter!==!1){t.focus();let d=o.selectionAfter?pt(t,o.selectionAfter.start,o.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 TS(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 ES(t){let e=document.createDocumentFragment();return t.split(`
12
- `).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.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(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function _u(t,e){let o=t.parentElement;if(!o){console.warn("No insert point found");return}let{display:n}=window.getComputedStyle(o);n.includes("block")||n==="table-cell"?o==null||o.insertBefore(e,t.nextSibling):_u(o,e)}function kS(s,r){return g(this,arguments,function*(t,e,{isBlock:o,isHTML:n}={}){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=n?TS(e):ES(e);o?_u(c.startContainer,p):(c.insertNode(p),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{B as Card,Bt as ContentEditableInput,qe as DeepdeskAPI,ls as DeepdeskSDK,$e as HTTPClient,We as InputMediator,Xt as InputType,ps as KeyboardHint,ms as Label,Do as Locale,Te as Section,fs as SectionList,_e as Sources,_ as Suggestion,se as SuggestionList,Kt as TextAreaInput,ht as ToggleButton,SS as attachFile,xS as authenticateWithKey,Eo as createFullRange,is as createOverlayContainer,pt as createRangeFromOffsets,uo as escapeHTML,bS as formatTextMarkup,Yn as getRangeOffsets,es as getRangeText,kS as insertCKEditor,qs as isHTML,Jr as isSupportedInputElement,wS as updateContentEditable,CS as updateTextArea,st as useClickOutsideRoot,S as useStyles,ni as waitForElementVisibilityChange};
10
+ `);let f=u?n:0,y=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let v=f;v<y&&(l(c.childNodes[v]),a!==2);v++);break}default:break}m&&(a=2)}return l(t),d}var eu=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(eu||{}),We=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}handleInteraction(){let e=this.getText(),o=this.getHTML(),n=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})):o!==null&&o!==this.cachedHTML&&(this.cachedHTML=o,s=!0,this.emit("change",{plainText:e,rawHTML:o})),(n.start!==this.cachedSelection.start||n.end!==this.cachedSelection.end)&&(this.cachedSelection=n,s=!0,this.emit("selection",n)),!s))return;let r=this.getCaretPosition();Fe(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}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:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(eu).includes(o)||o.toLowerCase()==="z"&&(n||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 n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),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",o=>this.handlePaste(o)),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()})}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}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 tu(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Bt=class extends We{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let o=new Range;return o.selectNodeContents(this.element),es(this.element,o)}getHTML(){return this.element.innerHTML||""}getRange(){var i;let o=this.getRootNode();if(o.activeElement!==this.element)return null;let n="getSelection"in o?o.getSelection():window.getSelection();if(!n)return null;let s="getComposedRanges"in n&&o instanceof ShadowRoot?(i=n.getComposedRanges(o))==null?void 0:i[0]:n.rangeCount>0?n.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 o=this.getRange();if(!o||!o.collapsed||!("getBoundingClientRect"in o))return null;let n=o.getBoundingClientRect();return!tu(n)&&(o.insertNode(this.element.ownerDocument.createTextNode("\u2060")),n=o.getBoundingClientRect(),o.deleteContents(),!tu(n))?null:{top:n.top+n.height,left:n.left}}getSelection(){let o=this.getRange();if(o)return Yn(this.element,o);let n=this.lastKnownSelection;if(n&&Yc(this.element,n.start,n.end))return n;let s=Eo(this.element);return s.collapse(!1),Yn(this.element,s)}getSelectedText(){let{start:o,end:n}=this.getSelection();return es(this.element,pt(this.element,o,n))}listen(){super.listen();let o=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)});o.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>o.disconnect());let n=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==n&&(n=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var Yv=["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 ou(t,e){let o="mozInnerScreenX"in window,n=document.createElement("div");n.id="input-textarea-caret-position-mirror-div";let s=n.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",Yv.forEach(function(c){s[c]=r[c]}),o?t.scrollHeight>parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",n.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",n.appendChild(a),i.appendChild(n);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+parseInt(r.borderLeftWidth)};return i.removeChild(n),l}var Kt=class extends We{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:o,selectionEnd:n}=this.element;return{start:o,end:n}}getSelectedText(){let o=this.getSelection();return o?this.getText().slice(o.start,o.end):""}getCaretPosition(){return ou(this.element,this.element.selectionEnd)}listen(){super.listen();let o=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=o==null?void 0:o.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=o==null?void 0:o.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let n=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==n&&(n=this.element.disabled,this.emit(n?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function nu(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).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=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function eS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var Vr=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()}},Wr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.disposeHandlers=[];this.iframe=nu(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 o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},jr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),T.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Wr(e,this.deepdeskUrl,{debug:!0}):new Vr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=eS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(T.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;T.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(h({},s),{channel:this.sessionId}))}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},su=jr;function tS(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function D(t){return Array.isArray(t)?t.map(D):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>x(h({},e),{[tS(o)]:D(t[o])}),{}):t}function $r(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,o)=>x(h({},e),{[$r(o)]:z(t[o])}),{}):t}var Ut=class extends Error{constructor(o,n){super(o);this.body=n;this.name="CustomError"}};var qr=t=>new Promise(e=>{setTimeout(e,t)});var zt=class extends Ut{constructor(){super(...arguments);this.name="ClientError"}},Qr=class extends Ut{constructor(){super(...arguments);this.name="ServerError"}},Gr=new Map;function oS(t){return g(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=yield t.text();return o===""?null:(T.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))})}var je=class je{constructor(e="",o={}){this.baseUrl=e;this.options=o;this.latestRequestByUrl={};this.fetch=window.fetch.bind(window);o.fetch&&(this.fetch=o.fetch)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=o.method===void 0||o.method.toLowerCase()==="get",M=o,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=A=>A instanceof TypeError,retryOnResponse:y=A=>A.status>=500,version:v=null}=M,E=N(M,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l)if(d){if(Gr.has(i)){n(Gr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let C=x(h({credentials:"include"},E),{headers:h({Accept:"application/json","Content-Type":"application/json"},E.headers)});!d&&this.csrfToken&&(C.headers=x(h({},C.headers),{"X-CSRFToken":this.csrfToken})),typeof v=="string"&&(C.headers=x(h({},C.headers),{"X-Deepdesk-API-Version":v}));let b=p,P=!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 w=()=>g(this,null,function*(){return b--,a(i,C).then(A=>g(this,null,function*(){return y(A)&&!r.isAborted&&b>0?(yield qr(u),w()):A.status===401&&m===!0&&P===!1?(P=!0,yield this.refreshToken(),w()):A})).catch(A=>g(this,null,function*(){if(f(A)&&!r.isAborted&&b>0)return yield qr(u),w();throw A}))});w().then(A=>g(this,null,function*(){let U=yield oS(A);if(delete this.latestRequestByUrl[i],A.status>=500){s(new Qr("Server Error",U));return}else if(A.status===401){s(new zt("Unauthorized",U));return}else if(A.status===403){s(new zt("Forbidden",U));return}else if(A.status===404){s(new zt("Not Found",U));return}else if(A.status>=400){s(new zt("Bad Request",U));return}l&&Gr.set(i,U),n(U)})).catch(A=>{s(A)})})}validateToken(){return g(this,null,function*(){let{has_valid_access_token:e}=yield this.get("/auth/validate");if(!e)try{yield this.refreshToken()}catch(n){return!1}let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return!!o})}refreshToken(){return je.refreshingToken||(je.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{je.refreshingToken=null},1e3*60)})),je.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,h({method:"POST",body:JSON.stringify(o)},n))}patch(e,o,n){return this.request(e,h({method:"PATCH",body:JSON.stringify(o)},n))}put(e,o,n){return this.request(e,h({method:"PUT",body:JSON.stringify(o)},n))}delete(e,o){return this.request(e,h({method:"DELETE"},o))}};je.refreshingToken=null;var $e=je;var ru;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||(e.EventType={}))})(ru||(ru={}));function ts(t){return x(h({},D(t)),{tags:t.tags})}var mt=class mt{constructor(e,o={}){this.options=o;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new $e(e,{fetch:o.fetch}),this.client.patchFetch(n=>(s,r)=>g(this,null,function*(){let i=yield n(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return g(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(mt.exchangeTokenPromise||(mt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),mt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return g(this,null,function*(){yield this.preflight(),T.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=yield this.client.post("/api/conversations",x(h({},z(e)),{tags:e.tags}),{version:"v2"});return ts(o)})}getMe(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return D(e)})}postIdentity(e){return g(this,null,function*(){yield this.client.post("/apis/admin/session/me/identities/",z(e))})}patchMe(e){return g(this,null,function*(){let o=yield this.client.patch("/apis/admin/session/me/",z(e));return D(o)})}getProfile(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return D(o)})}getKnowledgeAssistant(e){return g(this,null,function*(){let o=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return D(o)})}getContentTypes(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return D(e)})}getAccount(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return D(e)})}getPlatformConfig(e){return g(this,null,function*(){let o=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:n}=yield this.client.get(o,{useCache:!0});return D(n)})}checkUserExists(e){return g(this,null,function*(){let{exists:o}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return o})}getConversationBySessionId(n){return g(this,arguments,function*(e,o={}){yield this.preflight(),T.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=o,i=yield this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return T.info(`Successfully retrieved conversation ${i.id} for session ${e}`),ts(i)})}isConversationSupported(n){return g(this,arguments,function*(e,o={}){T.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=o;return(yield this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"})).has_active_profile})}updateConversation(e,o){return g(this,null,function*(){let n=z(o);o.tags&&(n.tags=o.tags);let s=yield this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return ts(s)})}postMessages(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/messages`,o.map(s=>x(h({},z(s)),{tags:s.tags})),{version:"v2"})).map(s=>ts(s))})}sendEvent(e,o){return g(this,null,function*(){let i=o,{data:n}=i,s=N(i,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((a,[d,l])=>x(h({},a),{[d]:l}),{});return this.client.post("/api/events",z(x(h(h({},r),s),{data:n,name:e})),{version:"v2"})})}sendEventV1(e,o){return g(this,null,function*(){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>x(h({},s),{[r]:i}),{});return this.client.post("/api/events",{event:e,data:z(h(h({},o),n))},{version:"v1"})})}getEntities(e){return g(this,null,function*(){return(yield this.client.post("/api/entities",{messages:e.filter(n=>n.text)},{version:"v1"})).entities})}getTemporaryExchangeToken(){return g(this,null,function*(){return(yield this.client.get("/auth/exchange-token")).jwt})}exchangeTokenForAccessCookie(e){return g(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(o=>{throw T.warn(`Invalid token '${e}'`),o})})}authenticateWithKey(e,o){return g(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",z(o),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return g(this,arguments,function*(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(yield this.client.post(`/api/conversations/${e}/recommend/${n}`,z(o),{abortLatest:!0,version:"v1"})).map(i=>x(h({},D(i)),{text:i.text||i.url||i.message,source:n,type:n})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return g(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,o){return g(this,null,function*(){return(yield this.client.post(`/api/conversations/${e}/autocomplete`,z(o),{abortLatest:!0,version:"v1"})).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 g(this,null,function*(){let o=yield this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0,version:"v1"});return D(o).map(n=>x(h({},n),{text:n.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return g(this,null,function*(){let o=yield this.client.post("/api/style-suggestions",z(e),{abortLatest:!0,version:"v1"});return D(o)})}search(e){return g(this,null,function*(){let o=yield this.client.post(`/api/profiles/${e.profile}/search`,z(e),{version:"v2"});return D(o)})}knowledgeAssist(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=yield this.client.post(`/api/knowledge-assist/assistants/${n}/search`,z({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(l=>({question:l.question,answer:l.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return D(d)})}requestLoginByEmail(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return D(o)})}requestPasswordlessToken(){return g(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return D(e.token)})}getCsrfToken(){return g(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return g(this,null,function*(){let o=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return D(o)})}evaluateRule(r,i,a){return g(this,arguments,function*(e,o,n,s={}){let d=new URLSearchParams;s.raiseForFailingConditions&&d.set("raise_for_failing_conditions","true");let l=yield this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${d.toString()}`,n,{version:"v2"});return l?D(l.cues):[]})}getSummary(n){return g(this,arguments,function*(e,o={}){let s=yield this.client.post("/api/summary",{conversation:{messages:e.filter(r=>r.text&&r.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model},{version:"v1"});return D(s)})}evaluateAssistant(e,o){return g(this,null,function*(){var a;let n=new URLSearchParams,{expectFormat:s="text"}=o||{};if(s.startsWith("json-schema:")){let d=s.replace("json-schema:","");n.append("expect_response_format","json-schema"),n.append("expect_response_format_schema",d)}else n.append("expect_response_format",s);o!=null&&o.externalConversationId&&n.append("external_conversation_id",o.externalConversationId);let r=o!=null&&o.threadId?`/api/v2/assistants/${e}/threads/${o==null?void 0:o.threadId}/evaluate?${n.toString()}`:`/api/v2/assistants/${e}/evaluate?${n.toString()}`,i=yield this.client.post(r,{input:(a=o==null?void 0:o.input)!=null?a:{},conversation:o==null?void 0:o.transcript});return D(i.output)})}createAssistantThread(e){return g(this,null,function*(){let{assistantCode:o}=e,n=yield this.client.post(`/apis/admin/assistants/${o}/threads/`,{});return D(n)})}postMessageToAssistantThread(e){return g(this,null,function*(){let{assistantCode:o,threadId:n,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${o}/threads/${n}/messages/`,{content:s,role:"user"});return D(r)})}getRules(){return g(this,null,function*(){let e=new URLSearchParams,o=yield this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{useCache:!0});return D(o)})}translateMessages(e){return g(this,null,function*(){let o=yield this.client.post("/api/translate",z(e),{version:"v2"});return D(o)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(bi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&T.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};mt.exchangeTokenPromise=null;var qe=mt;var ko=class{constructor(e,o){this.url=e;this.eventListeners={};this.options=h({timeout:25e3},o)}proxyEvent(e){this.eventSource.addEventListener($r(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,D(s))}catch(s){T.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var iu;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||(e.AutoflowSessionState={}))})(iu||(iu={}));var Ro=class{constructor(e,o={}){this.apiUrl=e;this.streams={};this.logger=T;this.client=new $e(e,o)}getCustomMessages(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/suggestions`);return D(o.suggestions)})}sendCustomMessage(e,o){return g(this,null,function*(){let n=yield this.client.post(`/sessions/${e}/messages`,z(o));return D(n)})}answerCustomMessage(e,o){return g(this,null,function*(){yield this.client.post(`/sessions/${e}/answers`,z(o))})}getAutoflows(e){return g(this,null,function*(){let o=yield this.client.get(`/sessions/${e}/autoflows`);return D(o.autoflows)})}startAutoflowSession(e){return g(this,null,function*(){let o=yield this.client.post("/autoflow-sessions",z(e));return D(o)})}stopAutoflowSession(e){return g(this,null,function*(){yield this.client.delete(`/autoflow-sessions/${e}`)})}openStream(e){return this.streams[e]||(this.streams[e]=new ko(`${this.apiUrl}/sessions/${e}/events`),this.streams[e].connect()),this.streams[e]}closeStream(e){this.streams[e]||(this.streams[e].disconnect(),delete this.streams[e])}};import{combineReducers as dS,configureStore as cS}from"@reduxjs/toolkit";import{createSlice as nS}from"@reduxjs/toolkit";var au={startTime:null,stopTime:null},lu=nS({name:"handlingTime",initialState:au,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(H,()=>au)}}),{handlingTimeStart:du,handlingTimeStop:os,handlingTimeReset:cu}=lu.actions,uu=lu.reducer;var pu=(t={})=>{let e=h({onAuthError:yt(!1)},t);return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as sS,createSlice as rS}from"@reduxjs/toolkit";var ns={list:{keywordMatches:[]},fetchState:"idle"};var gt=sS("styleSuggestions/getAll",(o,n)=>g(void 0,[o,n],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 ns.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),iS=rS({name:"styleSuggestions",initialState:ns,reducers:{},extraReducers:t=>{t.addCase(gt.pending,e=>{e.fetchState="loading"}).addCase(gt.rejected,e=>{e.fetchState="error"}).addCase(gt.fulfilled,(e,o)=>{e.fetchState="done",Fe(e.list,o.payload)||(e.list=o.payload)}).addCase(Xe,e=>{e.list=ns.list}).addCase(H,()=>ns)}}),mu=iS.reducer;var gu=(t={})=>{let e,o=!0,n=h({getStyleSuggestions:gt,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),d}};function aS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var fu=(t={})=>{let e=h({getTextSuggestions:ye,getAutocompleteSuggestions:mo,debounce:200,check:Se},t),o;return n=>s=>r=>{var y;let{input:i}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(y=d.conversation.current)==null?void 0:y.id,u=r.type===Sn.toString();if(!p||!l&&!c)return a;let{input:m}=d;return aS(m,i)&&!u||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let v=bt(d);v===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(v))},u?0:e.debounce)),a}};var hu=gt.fulfilled.toString();function lS(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.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||n.push(...i.slice(0,a))}),n}var yu=t=>e=>o=>n=>{var l;if(n.type!==hu){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=lS(s,i);n.type===hu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var uS=dS({assistants:Oa,auth:Ai,autoflows:Jd,conversation:Di,contentTypes:_a,customMessages:ac,passwordlessToken:uc,entities:sl,knowledgeAssistant:Pa,handlingTime:uu,info:ea,input:qi,settings:wi,profile:Ha,search:aa,styleSuggestions:mu,ui:nd,rules:hc,textSuggestions:Kl});function vu(t){return cS({reducer:uS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),pu(),fu({debounce:200}),gu({debounce:500}),yu(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var pS=t=>{var e,o;return(o=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?o:"unknown"},mS=t=>e=>o=>n=>{var a,d,l,c,p,u,m;let s=e.getState(),r=vs("inlineSuggestions")(s);switch(n.type){case yt.toString():{!n.payload&&t.emit("logout",void 0);break}case fe.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:n.payload}});break;case ee.toString():t.sendEvent(n.payload.name,{conversationId:((d=n.payload.options)==null?void 0:d.includeConversationData)&&((l=s.conversation.current)==null?void 0:l.id),data:n.payload.data});break;case Xe.toString():t.logSendMessage(n.payload);break;case dt.fulfilled.toString():n.isBroadcasted||t.broadcast(ks,n,!1),(c=n.payload.options)!=null&&c.shouldEmit&&t.emit("cues",n.payload.cues);break;case un.toString():t.emit("call-to-action",{cue:n.payload});break;case ke.fulfilled.toString():n.isBroadcasted||t.broadcast(Rs,n,!1);break;default:break}let i=o(n);switch(n.type){case Xe.toString():t.handleAfterSendMessage(n.payload);break;case go.toString():t.onUpdateShowTabHint(n.payload);break;case os.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case zo.toString():{let{start:f,end:y}=s.input.selection;t.emit("replace",x(h({},n.payload),{replace:n.payload.replace==="selection"?{start:f,end:y}:{start:0,end:y}}));break}case pe.toString():{let{start:f,end:y}=s.input.selection;t.emit("select-suggestion",x(h({type:pS(n.payload.suggestion)},n.payload),{replace:n.payload.replace==="selection"?{start:f,end:y}:{start:0,end:y}})),r&&e.dispatch(Be([]));break}case Vo.toString():t.emit("select-image",n.payload),t.sendEvent("Image attached",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case Be.toString():{r&&n.payload.length>0&&e.dispatch(Wo(0));break}case Tt.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(u=s.conversation.current)==null?void 0:u.id,data:{summary:n.payload,assistant:(m=e.getState().profile.data)==null?void 0:m.summarizerAssistantNew}});break}default:break}return i},Su=mS;function Xr(t){return t.toISOString().replace("T"," ").replace("Z","")}function xu(t,e){var r,i,a,d;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return T.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(T.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(d=t.info.agentInfo)==null?void 0:d.agentEmail,timeStart:Xr(n),timeStop:Xr(s)}}function bu(t,e,o){var U,q,ce,O;let n=(U=e.conversation.current)==null?void 0:U.id;if(!n)return T.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:d,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:u,cuts:m,deletions:f,textSuggestions:y,offeredTextSuggestions:v}}=e[t],E=s.length,b=y.reduce((K,{text:ue,searchTerm:le})=>K+ue.length-(le?le.length:0),0),P=c!=null?c:Date.now(),w=(Date.now()-P)/1e3+(p||0),M=r/w,A=y.reduce((K,{searchTerm:ue})=>K+(ue?ue.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:u,cuts:m,deletions:f,lenTextTyped:r+A,lenTextTotal:E,lenTextAssisted:b,lenTextPasted:i,lenTextCut:a,lenTextDeleted:d,timeTotalSeconds:w,charsPerSecond:M,numPastes:l,textSuggestionsV2:y,suggestionsCounters:[{source:"gpt",countOffered:v.filter(K=>K.source==="gpt").length}],agentId:(q=e.info.agentInfo)==null?void 0:q.agentId,agentName:(ce=e.info.agentInfo)==null?void 0:ce.agentName,agentEmail:(O=e.info.agentInfo)==null?void 0:O.agentEmail}}function Zr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Zr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Zr(s,e):null}function Cu(t,e){return Zr(t,e)}function wu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function gS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Jr(t){return gS(t)&&(at(t)||Mn(t))}var Eu,Ce=new Map,fS=["bottom","height","left","right","top","width"],Tu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:fS.some(o=>t[o]!==e[o]);function ku(t){var o,n,s;if(t.ownerDocument===document)return[];let e=(s=(n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)!=null?s:null;return e?[e,...ku(e)]:[]}function Ru(t,e){return!t||!e?null:x(h({},t),{top:t.top+e.top,left:t.left+e.left})}var ss=!1,Iu=()=>{ss=!0;let t=[];if(Ce.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),Ce.delete(o);return}let n=o.getBoundingClientRect();Tu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Ru,e.rect):e.rect;Tu(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),Ce.size===0){ss=!1;return}Eu=window.requestAnimationFrame(Iu)};function Yr(t,e){let o=ku(t),n=[],s=o.map((r,i)=>Yr(r,a=>{n[i]=a;let d=Ce.get(t);if(!d)return;let l=n.reduce(Ru,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Ce.has(t)){let i=Ce.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Ce.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!ss&&Iu()},unobserve(){s.forEach(i=>i.unobserve());let r=Ce.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Ce.delete(t),Ce.size||(cancelAnimationFrame(Eu),ss=!1)}}}}var Pu,we=new Map,Au=()=>{we.forEach((t,e)=>{if(!e.isConnected){we.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),we.size!==0&&(Pu=window.requestAnimationFrame(Au))};function Lu(t,e){return{observe(){let o=we.size===0;we.has(t)?we.get(t).callbacks.push(e):we.set(t,{visible:void 0,callbacks:[e]}),o&&Au()},unobserve(){let o=we.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||we.delete(t),we.size||cancelAnimationFrame(Pu)}}}}var ei=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function ti(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Vt(t){return parseFloat(t)}function rs(t){return Math.round(t*1e6)}function Mu(t){return t/1e6}function oi(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Vt(t.width),r=Vt(t.borderLeftWidth),i=Vt(t.borderRightWidth),a=Vt(t.paddingRight),d=Mu(rs(s)-rs(r)-rs(i)),l=Mu(rs(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function is(t,e={}){var c,p;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=(c=e.position)!=null?c:"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",rt(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};ti(n,o,ei),oi(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Lu(t,()=>{ti(n,o,ei),oi(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Yr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.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(),o.style.display="none",s=!0;return}if(ti(n,o,ei),oi(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),f=window.getComputedStyle(e.closestScrollElement),y=Vt(f.borderTopWidth),v=Vt(f.borderBottomWidth),E=m.top+y-u.top,C=u.top+u.height+-(m.top+m.height-v);o.style.clipPath=`inset(${E}px 0px ${C}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(p=t.parentElement)==null||p.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Nu=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch(n){return e}}catch(o){return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch(n){T.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function hS(t){return t.offsetParent!==null}function Ou(t){if(!hS(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 ni(t,e,o=100){let n=Ou(t);e({isVisible:n});let s=setInterval(()=>{let r=Ou(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as $}from"react/jsx-runtime";var Du=Nu("showTabHint",!0),jt=class jt{constructor({deepdeskUrl:e,brokerUrl:o,version:n=jt.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:d}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.widgetRoot=null;this.dynamicThunkObject={};this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new qe(l,{token:r,fetch:i}),this.version=n,this.instanceId=jt.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Su({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u)=>this.emit(p,u),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>Du.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new Ro(o)}),this.store=vu(c),this.broadcastEvents=new su({debug:!0,deepdeskUrl:l,eventMap:la(this.store),createCustomChannel:d}),this.store.dispatch(go(Du.value())),this.store.dispatch(_o({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=this.state.input.textSuggestions[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}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(T.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(T.warn("Profile has not been loaded (yet)"),!0):(T.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(yt(null)),this.store.dispatch(Ee()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();Y(n)&&Ti(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return g(this,null,function*(){return(yield this.store.dispatch(Ee())).payload})}isConversationSupported(e,o){return g(this,null,function*(){return(yield this.store.dispatch(xs({sessionId:e,options:o}))).payload})}createConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(Fo(e))).payload})}getConversationBySessionId(e,o){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(yield this.store.dispatch(Ho({sessionId:e,options:o}))).payload})}upsertConversation(e){return g(this,null,function*(){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(yield this.store.dispatch(bs(e))).payload})}postMessages(e){return g(this,null,function*(){return(yield this.store.dispatch(Ko(e))).payload})}updateConversation(e){return g(this,null,function*(){return(yield this.store.dispatch(Bo(e))).payload})}resetConversation(){this.store.dispatch(H()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(_o(e))}setVisitorInfo(e){this.store.dispatch(Zi(e))}setCustomData(e){this.store.dispatch(Ji(e))}setAgentInfo(e,o){return g(this,null,function*(){yield this.store.dispatch(Jt(h(h({},e),o)))})}setAgentSettings(e){return g(this,null,function*(){yield this.store.dispatch(Ts(e))})}getAgentSettings(){return g(this,null,function*(){return(yield this.store.dispatch(Es())).payload})}refresh(){return g(this,null,function*(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.store.dispatch(jo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}));let e=[];return this.store.dispatch(Sn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}notifyExternalSuggestion(e){this.store.dispatch(pe(e))}evaluateRule(s){return g(this,arguments,function*(e,o={},n=pc){return(yield this.store.dispatch(dt({label:e,params:o,options:n}))).payload.cues})}evaluateAssistant(e,o){return g(this,null,function*(){let c=o||{},{input:n={},transcript:s,showCuesInWidget:r=!0,includeTags:i,expectFormat:a}=c,d=N(c,["input","transcript","showCuesInWidget","includeTags","expectFormat"]);Object.assign(n,d);let l=yield this.store.dispatch(ke({assistantCode:e,expectFormat:a||"json-schema:cues",transcript:s,includeTags:i,input:n,skipState:!r}));if(l.error)throw new Error(l.error.message);return l.payload})}evaluateConversationAssistant(e,o){return g(this,null,function*(){yield this.loadProfileConfig();let n={accepted:"conversationAcceptedAssistant","new-message":"conversationNewMessageAssistant",ended:"conversationEndedAssistant"},s=this.state.profile.data[n[e]];if(!s){T.warn(`No assistant set in profile for conversation event "${e}"`);return}yield this.evaluateAssistant(s,h({transcript:"stored-transcript",includeTags:!0},o))})}getSummary(){return g(this,null,function*(){var o;if(!this.hasConversation())return T.warn("No conversation to create summary for."),null;(o=this.state.profile.data)!=null&&o.summarizerAssistantNew||T.warn("No profile loaded yet, or no summarizer assistant set in profile");let e=yield this.store.dispatch(Tt({}));if(e.error)throw new Error(e.error.message);return e.payload})}handleKeyDown(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d}=this.state.settings,l=a?"below":"above",c=s.length>0;if(!Se(this.state)||(this.store.dispatch(Ki(Cs(e))),e.key!=="Tab"&&!d))return;let p=()=>{o||!c||i&&(e.shiftKey||(this.store.dispatch(Vi()),e.preventDefault()))},u=()=>{o||!c||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(Wi()),e.preventDefault()))};switch(e.key){case"ArrowUp":l==="below"?u():p();break;case"ArrowDown":{l==="below"?p():u();break}case"Escape":{o||(this.store.dispatch(Wo(-1)),this.store.dispatch(ze({collapse:!0})),this.store.dispatch(td(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let m=Ct(this.state);if(!m)return;this.store.dispatch(go(!1)),this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.state.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let m=Ct(this.state);if(!m)return;this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.state.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let m=Ct(this.state);if(!m)return;this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}o&&n&&this.store.dispatch(ze({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Be([]))}handlingTimeStart(){this.state.handlingTime.startTime||(T.info("Start handling time"),this.store.dispatch(du()))}handlingTimeStop(){this.state.handlingTime.startTime&&(T.info("Stop handling time"),this.store.dispatch(os()))}logSendMessage(e){let o=bu("input",this.state,{version:this.version});o&&(e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o))}logHandlingTime(){let e=xu(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(cu()))}notifySubmit(e={}){var o;this.shouldAbort()||(this.store.dispatch(Xe((o=e.text)!=null?o:this.state.input.text)),this.store.dispatch($i()))}emit(e,o){let n=this.eventListeners[e];n&&n.forEach(s=>{try{s(o)}catch(r){T.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),T.error(r)}})}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(Yi(e))}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=is(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{as(r),i(),r.remove()}),r}createInlineContainer(e,o){var a;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.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",n.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]=is(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=o,d.style.zIndex="2",d.appendChild(n),this.unmountHandlers.push(()=>{as(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return rt(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{as(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),T.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(T.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(ji(n.metrics))):T.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Jr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:y,appendOverlayTo:v,inlineSuggestions:E,floatingMenu:C}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:E,floatingMenu:!!C}),o.automaticHandlingTime&&this.setupHandlingTime(e),rt(e),this.inputMediator=f||(at(e)?new Kt(e):new Bt(e)),this.inputMediator.on("change",({plainText:w,rawHTML:M})=>{this.store.dispatch(jo({text:w,html:M}))}),this.inputMediator.on("keyup",w=>{this.store.dispatch(Ui(Cs(w)))}),this.inputMediator.on("keydown",w=>{this.handleKeyDown(w)}),this.inputMediator.on("paste",({pastedText:w,selectionText:M})=>{this.store.dispatch(zi({text:w,selectionText:M}))}),this.inputMediator.on("cut",({selectionText:w})=>{this.store.dispatch(Bi(w))});let b;this.inputMediator.on("selection",w=>{clearTimeout(b),w===null?b=setTimeout(()=>{w!==null&&this.store.dispatch($o(w))},500):this.store.dispatch($o(w))}),this.inputMediator.on("disabled",()=>{var w;(w=this.inputMediator)==null||w.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(wn(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(wn(!0))});let P=y&&Cu(e,y)||void 0;if(E){let{customStyles:w,appendOverlayTo:M}=o,A=this.createInlineContainer(e,"deepdesk-caret");Wt($(it,{store:this.store,customStyles:w,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(cd,{})})}),A),this.inputMediator.on("caretposition",q=>{q?(A.style.display="block",A.style.top=`${q.top}px`,A.style.left=`${q.left}px`):A.style.display="none"});let U=this.overlayContainerFactory("floating-menu",P||e,{appendTo:typeof C=="object"&&"appendOverlayTo"in C?C.appendOverlayTo:M},w==null?void 0:w.floatingMenuRootNode);Wt($(it,{store:this.store,customStyles:w,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(Yl,{onLogIn:()=>this.loginViaPopup().catch(q=>T.warn(q.message))})})}),U)}else{let w=this.overlayContainerFactory("deepdesk-tab-completion",P||e,{appendTo:v,closestScrollElement:P,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),M=this.overlayContainerFactory("deepdesk-suggestions-overlay",P||e,{appendTo:v},n==null?void 0:n.suggestionsRootNode);Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$($d,{inputElement:e})})}),w),Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(xd,{onLogIn:()=>this.loginViaPopup().catch(A=>T.warn(A.message))})})}),M)}Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(ql,{})})}),this.createContainer("deepdesk-overlays")),this.store.dispatch(jo({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch($o(this.inputMediator.getSelection())),this.store.dispatch(wn(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{var w;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((w=this.state.conversation.current)==null?void 0:w.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&T.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Wt($(it,{store:this.store,customStyles:n,children:$(Je,{broadcastEvents:this.broadcastEvents,children:$(Jc,{onLogIn:()=>this.loginViaPopup().catch(i=>T.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&as(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=ni(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){wu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>g(this,null,function*(){yield this.store.dispatch(lo());let e=Re(this.state);e&&(yield this.store.dispatch(io()),this.store.dispatch(_o({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew||e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistantNew||!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))})),this.loadProfileConfigPromise)}loginViaPopup(e){return g(this,null,function*(){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=m=>g(this,null,function*(){var f,y;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((y=m.data)==null?void 0:y.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(eo),d=!0,s.port1.close(),o()}catch(v){console.error(v),n(v)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=m=>g(this,null,function*(){var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let y=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(y,a.origin,[s.port2])}catch(y){T.error("Error posting message to popup",y),n(y)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&T.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}});window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}checkForTrialMode(e){return g(this,null,function*(){try{let{account:o}=yield this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(T.info("Trial is active"),!(yield this.deepdeskApi.checkUserExists(e)))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;T.info(n),this.shouldRender=!1}})}refreshWidgetSuggestions(){return g(this,null,function*(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=mn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(fe()):Oo.includes(n)||this.store.dispatch(ye(n))})}catch(n){this.handleError(n)}})}};jt.version="14.3.0",jt.count=0;var ls=jt;function yS(t){return g(this,null,function*(){var s,r,i;let o=yield((s=t.fetch)!=null?s:window.fetch)(t.url),n=yield o.blob();return new File([n],t.name,{type:(i=(r=t.mimeType)!=null?r:o.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function vS(t,e){return g(this,null,function*(){let o=yield yS(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function SS(t,e,o){return g(this,null,function*(){yield new qe(t).authenticateWithKey(e,o)})}function xS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function bS(n,s){return g(this,arguments,function*(t,e,o={}){var p,u;let{value:r}=t,{start:i,end:a}=(p=o.replace)!=null?p:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(u=o.selectionAfter)!=null?u:{start:i+e.length,end:i+e.length},c=()=>{if(o.setValue)return o.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function CS(n,s){return g(this,arguments,function*(t,e,o={}){let r=o.replace?pt(t,o.replace.start,o.replace.end):Eo(t),i,a=()=>{if(o.setRange)return o.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),o.insertBRs!==!1?e.split(`
11
+ `).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(o.selectionAfter!==!1){t.focus();let d=o.selectionAfter?pt(t,o.selectionAfter.start,o.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 wS(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 TS(t){let e=document.createDocumentFragment();return t.split(`
12
+ `).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.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(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function _u(t,e){let o=t.parentElement;if(!o){console.warn("No insert point found");return}let{display:n}=window.getComputedStyle(o);n.includes("block")||n==="table-cell"?o==null||o.insertBefore(e,t.nextSibling):_u(o,e)}function ES(s,r){return g(this,arguments,function*(t,e,{isBlock:o,isHTML:n}={}){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=n?wS(e):TS(e);o?_u(c.startContainer,p):(c.insertNode(p),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{B as Card,Bt as ContentEditableInput,qe as DeepdeskAPI,ls as DeepdeskSDK,$e as HTTPClient,We as InputMediator,Xt as InputType,ps as KeyboardHint,ms as Label,Do as Locale,Te as Section,fs as SectionList,_e as Sources,_ as Suggestion,se as SuggestionList,Kt as TextAreaInput,ht as ToggleButton,vS as attachFile,SS as authenticateWithKey,Eo as createFullRange,is as createOverlayContainer,pt as createRangeFromOffsets,uo as escapeHTML,xS as formatTextMarkup,Yn as getRangeOffsets,es as getRangeText,ES as insertCKEditor,qs as isHTML,Jr as isSupportedInputElement,CS as updateContentEditable,bS as updateTextArea,st as useClickOutsideRoot,S as useStyles,ni as waitForElementVisibilityChange};