@deepdesk/deepdesk-sdk 11.3.0 → 11.3.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,12 +1,12 @@
1
- var du=Object.defineProperty;var q=(t,e)=>{for(var o in e)du(t,o,{get:e[o],enumerable:!0})};import Vr from"classnames";import yu,{createContext as vu,useContext as Xn,useEffect as Su,useState as xu}from"react";import uu,{useContext as pu}from"react";import mu from"classnames";var Dt=uu.createContext({});function h(t,e){let{debug:o,...n}=pu(Dt),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let c=s[i];return{...r,[i]:mu(a,c,o?`${t}__${i}`:!1)}},{}):e}var zr={root:"qo"};import{jsx as ho,jsxs as fu}from"react/jsx-runtime";var yo=()=>fu("svg",{className:zr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[ho("defs",{children:ho("style",{children:".cls-1 { fill: #b3b3b3; }"})}),ho("title",{children:"Failed loading image"}),ho("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 qn={root:"Co",imageWrapper:"L",image:"So",content:"m",title:"Eo",contentIsCropped:"Go",lineClamp:"No"};import{jsx as st}from"react/jsx-runtime";var vo=vu(qn),bu=({title:t,src:e})=>{let o=Xn(vo),[n,s]=xu(!1);return Su(()=>{s(!1)},[e]),st("div",{className:o.imageWrapper,children:e&&!n?st("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):st(yo,{})})},Cu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Xn(vo);return st("div",{className:Vr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},wu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=Xn(vo);return yu.createElement(t,{className:Vr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},So=({children:t})=>{let e=h("Card",qn);return st("div",{className:e.root,children:st(vo.Provider,{value:e,children:t})})};So.Image=bu;So.Content=Cu;So.Title=wu;var D=So;import Eu from"classnames";var $r={root:"M"};import{jsx as Pu}from"react/jsx-runtime";var ku={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},Ru=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",$r);return Pu("span",{"data-key":ku[e],className:Eu(t,n.root),...o})},Zn=Ru;import Lu from"classnames";var Wr={root:"Ao"};import{jsx as Mu}from"react/jsx-runtime";var Au=({className:t,children:e,...o})=>{let n=h("Label",Wr);return Mu("span",{...o,className:Lu(t,n.root),children:e})},Qn=Au;var Gr={root:"Fo",subTitleContainer:"Ho",subtitle:"Lo",suggestions:"Mo"};import{jsx as Jn,jsxs as _u}from"react/jsx-runtime";var Ou=({title:t,children:e,type:o,...n})=>{let s=h("Section",Gr);return _u("section",{...n,className:s.root,"data-section-type":o,children:[t&&Jn("div",{className:s.subTitleContainer,children:Jn("span",{className:s.subtitle,children:t})}),Jn("div",{className:s.suggestions,children:e})]})},Pe=Ou;import Hu from"classnames";import Fu from"react";var jr={root:"Ro"};import{jsx as Ku}from"react/jsx-runtime";var Bu=Fu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",jr);return Ku("div",{ref:o,className:Hu(n.root,t),children:e})}),Yn=Bu;import Ht from"classnames";import ts,{createContext as zu,useCallback as Vu,useContext as rt}from"react";var es={fadein:"R",root:"e",isClickable:"T",isSelected:"To",actions:"U",actionsIsFixed:"Uo",actionButton:"t",dropdownList:"B",dropdownButton:"D",dropdownItem:"I",dropdownItemButton:"O",actionButtonIsPrimary:"Bo",actionButtonIsDisabled:"Do",labels:"Io",label:"Oo",iconButtons:"Xo",iconButton:"n"};import{jsx as ue,jsxs as Zr}from"react/jsx-runtime";var Ue=zu(es),$u=({fixed:t,children:e,...o})=>{let n=rt(Ue);return ue("div",{...o,className:Ht(n.actions,{[n.actionsIsFixed]:t}),children:e})};function qr(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type===Xr}var Xr=({className:t,icon:e,title:o,...n})=>{let s=rt(Ue);return ue("button",{type:"button",className:Ht(s.iconButton,t),title:o,"aria-label":o,...n,children:e})},Wu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=rt(Ue);return Zr("div",{className:Ht(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ue("ul",{className:r.dropdownList,children:s})]})},Gu=({index:t,label:e,onClick:o})=>{let n=rt(Ue);return ue("li",{className:n.dropdownItem,children:ue("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},ju=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=rt(Ue);return ue("button",{type:"button",className:Ht(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},qu=({labels:t})=>{let e=rt(Ue);return ue("div",{className:e.labels,children:t.map(o=>ue("span",{className:e.label,children:o},o))})},ze=ts.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",es),c=Vu(u=>{u.preventDefault(),o&&o(u)},[o]),l=ts.Children.toArray(n).filter(qr),d=ts.Children.toArray(n).filter(u=>!qr(u));return ue(s,{...r,ref:i,className:Ht(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:c,children:Zr(Ue.Provider,{value:a,children:[d,ue("div",{className:a.iconButtons,children:l})]})})});ze.Labels=qu;ze.Actions=$u;ze.ActionButton=ju;ze.DropdownButton=Wu;ze.DropdownItem=Gu;ze.IconButton=Xr;var A=ze;import Zu from"classnames";var Qr={root:"Jo",isWithDivider:"Ko"};import{jsx as Ju}from"react/jsx-runtime";var Qu=({withDivider:t,children:e})=>{let o=h("SuggestionList",Qr);return Ju("div",{"data-testid":"suggestions-overlay-list",className:Zu(o.root,{[o.isWithDivider]:t}),children:e})},te=Qu;import ep from"classnames";var Jr={root:"u",isCollapsed:"X"};import{jsx as os}from"react/jsx-runtime";var tp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",Jr);return os("button",{type:"button",className:ep(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:os("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:os("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},it=tp;var Yr=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,xo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ei=/x-deepdesk-(([a-z0-9\-_])+-version)/,Ie=(f=>(f.SEARCH="search",f.TEMPLATE="template",f.ELASTIC_SEARCH="search-autocomplete",f.GPT="gpt",f.TRIE="trie",f.TRIE_WITH_TYPOS="trie-with-typos",f.SEMANTIC="semantic",f.TEXT_RECOMMENDATION="text_recommendation",f.URL_RECOMMENDATION="url_recommendation",f.LINK_RECOMMENDATION="link_recommendation",f.PERSONAL_COLLECTION="personal-collection",f.PERSONAL_COLLECTION_SEARCH="personal-collection-search",f.SEARCH_OVERLAY="search-overlay",f.SEARCH_PREVIEW="search-preview",f.SEARCH_URL="search-url",f))(Ie||{}),at=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(at||{});import{render as Ot,unmountComponentAtNode as Wn}from"react-dom";import{Fragment as xf}from"react";import{createSlice as op}from"@reduxjs/toolkit";import{useSelector as np}from"react-redux";var bo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(bo||{});var sp={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,adminUrl:void 0,productName:"Deepdesk"},ti=op({name:"settings",initialState:sp,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:Co}=ti.actions,ns=t=>e=>e.settings[t],b=t=>np(ns(t)),oi=ti.reducer;import{useSelector as sa}from"react-redux";import{createAsyncThunk as ss,createSlice as rp}from"@reduxjs/toolkit";var ip={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},X=t=>t.auth.isLoggedIn,ni=t=>t.auth.loginFetchState,si=t=>t.auth.verifyFetchState,ri=t=>t.auth.showLoginOverlay,Se=ss("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),ii=ss("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ft=ss("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),ai=rp({name:"auth",initialState:ip,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Se.pending,e=>{e.loginFetchState="loading"}),t.addCase(Se.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Se.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Ft.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Ft.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Ft.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:lt,setShowLoginOverlay:li}=ai.actions,ci=ai.reducer;import{createAction as pt,createSlice as fp}from"@reduxjs/toolkit";import{diffChars as hp}from"diff";import{useSelector as yp}from"react-redux";function di(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Le(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)=>Le(r,e[i],o-1)):di(t)&&di(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Le(t[i],e[i],o-1)):!1}function ap(t){return Math.max(...t.map(e=>e.length))}function lp(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return{...n,[s]:r}}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function ui(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<ap(n);s++){let r=lp(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 cp=2;function rs(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=ui(t,cp);return o&&o.text!==e?o:t[0]}import{createAction as up,createAsyncThunk as ct,createSlice as pp}from"@reduxjs/toolkit";var dp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=dp;var pi={current:null,isSupported:null},M=up("resetConversation"),dt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},wo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},ut=t=>t.conversation.isSupported,is=ct("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),To=ct("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Eo=ct("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),ko=ct("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=wo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),as=ct("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:c}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:c})})}),Ro=ct("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=wo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),mp=[To.rejected,Eo.rejected,ko.rejected,Ro.rejected].map(t=>t==null?void 0:t.toString()),gp=pp({name:"conversation",initialState:pi,reducers:{},extraReducers:t=>{t.addCase(is.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(To.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Eo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(as.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(ko.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ro.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>pi).addMatcher(e=>mp.includes(e.type),(e,o)=>{var n;throw w.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),mi=gp.reducer;var Ae={text:"",html:null,selection:{start:0,end:0},stagedSuggestion:null,userCommitted:{text:"",selection:{start:0,end:0}},tabCompletionSuggestion:void 0,previousKeyDownEvent: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 gi(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 Io=pt("input/replaceText"),Lo=pt("input/keyDown"),Ve=pt("input/sendMessage"),Ao=pt("input/uiInputChange"),Mo=pt("input/applyImageSuggestion"),W=pt("input/sendEvent");function Po(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:c},eventMetrics:{inputType:l},replace:d}=t.stagedSuggestion,u=o==="search"||o==="personal-collection-search",p=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(u||d==="selection")&&(p=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(p=c),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:p,source:o,abVariant:n,abTestName:s,inputType:l,sourceText:i,trainingJobs:r||[],searchTerm:u?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var fi=fp({name:"input",initialState:Ae,reducers:{initialInput(t,e){let{text:o,selection:n,html:s}=e.payload;t.text=o,t.selection.start=(n==null?void 0:n.start)??o.length,t.selection.end=(n==null?void 0:n.end)??o.length,t.userCommitted.text=o,t.userCommitted.selection.start=(n==null?void 0:n.start)??o.length,t.userCommitted.selection.end=(n==null?void 0:n.end)??o.length,t.html=s||null},reset(t){Object.assign(t,{...Ae,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=rs(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Le(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Po(t)))},platformInput(t,e){let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end),t.text=o,t.html=n||null},userInput(t,e){var r,i,a,c;if(t.previousKeyDownEvent){let{key:l,shiftKey:d,ctrlKey:u,metaKey:p,altKey:m}=t.previousKeyDownEvent;switch(l){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,{text:f}=e.payload,y=hp(g,f);g.length-f.length>1&&t.metrics.deletions.push(...y.filter(k=>k.removed).map(k=>k.value)),t.metrics.numCharsDeleted+=g.length-f.length;break}case"C":case"V":case"X":if(!u&&!p){t.metrics.numCharsTyped+=1;let g=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}break;case"Shift":break;default:if(!u&&!p&&!m){t.metrics.numCharsTyped+=1;let g=((a=t.selection)==null?void 0:a.start)!==void 0&&((c=t.selection)==null?void 0:c.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Ae.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Po(t);let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end,t.userCommitted.selection.start=s.start,t.userCommitted.selection.end=s.end),t.text=o,t.html=n||null,t.userCommitted.text=o,t.previousKeyDownEvent=null},stageSuggestion(t,e){let{text:o}=e.payload;switch(t.stagedSuggestion=e.payload,t.tabCompletionSuggestion=void 0,e.payload.replace){case"selection":t.text=`${t.text.slice(0,t.selection.start)}${o}${t.text.slice(t.selection.end)}`,t.selection.end=t.selection.start+o.length,t.selection.start+=o.length;break;case"until-selection-end":t.text=`${o}${t.text.slice(t.selection.end)}`,t.selection.start=o.length,t.selection.end=o.length;break;default:throw new Error(`Unknown replace ${e.payload.replace}`)}e.payload.eventMetrics.inputType==="tab"&&Po(t)},commitSuggestion(t){Po(t)},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})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...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={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0)return;let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=rs(e.payload,o);t.tabCompletionSuggestion=n!=null&&n.text.includes(o)?n:void 0},setSelectedTextSuggestionIndex(t,e){t.selectedSuggestionIndex=e.payload},setMetrics(t,{payload:e}){t.metrics=e}},extraReducers:t=>{t.addCase(M,e=>{e.tabCompletionSuggestion=Ae.tabCompletionSuggestion,e.previousKeyDownEvent=Ae.previousKeyDownEvent,e.textSuggestions=Ae.textSuggestions,e.selectedSuggestionIndex=Ae.selectedSuggestionIndex,e.metrics=Ae.metrics})}}),mt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),vp=t=>t.input.selection,hi=()=>yp(vp),{userInput:yi,changeSelection:ls,initialInput:vi,nextTextSuggestionIndex:Si,offeredTextSuggestion:xi,previousTextSuggestionIndex:bi,registerCut:Ci,registerKeyDown:wi,registerPaste:Ti,reset:Ei,resetToCommitted:Bt,platformInput:ki,setSelectedTextSuggestionIndex:Me,setTextSuggestions:pe,stageSuggestion:me,commitSuggestion:xe,setMetrics:Ri}=fi.actions,Pi=fi.reducer;import{createAsyncThunk as Cp,createSlice as wp}from"@reduxjs/toolkit";import{createAsyncThunk as ds,createSlice as xp}from"@reduxjs/toolkit";function Sp(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function L(t){return Array.isArray(t)?t.map(L):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[Sp(o)]:L(t[o])}),{}):t}function cs(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function H(t){return Array.isArray(t)?t.map(H):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[cs(o)]:H(t[o])}),{}):t}var bp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Ut=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)||""}},Kt=ds("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),L(n))}),us=ds("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),ps=ds("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Ii=t=>t.info.agentInfo,Li=xp({name:"info",initialState:bp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Kt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Kt.rejected,e=>{e.fetchState="error"}).addCase(Kt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(us.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(ps.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ai}=Li.actions,Mi=Li.reducer;var No={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Ni=t=>t.search.isOpen,Oi=t=>t.search.page,_i=t=>t.search.list,Di=t=>t.search.aggregates;function Hi(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var $e=Cp("search/getAll",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(a=n.conversation.current)==null?void 0:a.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r,aggregates:i}=await o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Ut(n)});return{results:r.map(c=>({...c,source:`search-${c.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Fi=wp({name:"search",initialState:No,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=No.fetchState,t.list=No.list}},extraReducers:t=>{t.addCase($e.pending,e=>{e.fetchState="loading"}).addCase($e.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase($e.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(M,()=>No)}}),{resetSearch:Oo,setIsOpen:J,setPage:re}=Fi.actions,Bi=Fi.reducer;var ms="SetCues",gt="ShowLoginOverlay",zt="UserLoggedIn",Tp="UserLoggedOut",Ne="ApplySuggestion",gs="ApplyImageSuggestion",Ep="ShowCommandPalette",kp=t=>({[ms]:e=>{t.dispatch({...e,isBroadcasted:!0})},[Ep]:e=>{t.dispatch(J(e.isOpen)),e.page&&t.dispatch(re(e.page))},[gt]:e=>{t.dispatch(li(e))},[zt]:()=>{t.dispatch(Se())},[Tp]:()=>{t.dispatch(Se())},[gs]:e=>{t.dispatch(Mo({suggestion:e.suggestion}))},[Ne]:e=>{t.dispatch(me({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),Ki=kp;import Ui,{useContext as Rp}from"react";import{jsx as Pp}from"react/jsx-runtime";var zi=Ui.createContext(null),We=({broadcastEvents:t,children:e})=>{let o=Ui.useMemo(()=>t,[]);return Pp(zi.Provider,{value:o,children:e})},oe=()=>{let t=Rp(zi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Ts from"classnames";import{useCallback as oa,useEffect as tm,useMemo as om,useState as Es}from"react";import{useDispatch as nm,useSelector as sm}from"react-redux";import{createContext as Kp,useContext as Up}from"react";var fs=function(t,e){return fs=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])},fs(t,e)};function Vt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");fs(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var Y=function(){return Y=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},Y.apply(this,arguments)};function Vi(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 _o(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 Do;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Do||(Do={}));var Ho=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ie;(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"})(ie||(ie={}));var Fo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Fo||(Fo={}));function hs(t){return t.type===ie.literal}function $i(t){return t.type===ie.argument}function Bo(t){return t.type===ie.number}function Ko(t){return t.type===ie.date}function Uo(t){return t.type===ie.time}function zo(t){return t.type===ie.select}function Vo(t){return t.type===ie.plural}function Wi(t){return t.type===ie.pound}function $o(t){return t.type===ie.tag}function Wo(t){return!!(t&&typeof t=="object"&&t.type===Fo.number)}function $t(t){return!!(t&&typeof t=="object"&&t.type===Fo.dateTime)}function ys(t){t.forEach(function(e){if(delete e.location,zo(e)||Vo(e))for(var o in e.options)delete e.options[o].location,ys(e.options[o].value);else Bo(e)&&Wo(e.style)||(Ko(e)||Uo(e))&&$t(e.style)?delete e.style.location:$o(e)&&ys(e.children)})}function Gi(t,e){e===void 0&&(e={}),e=Y({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Ho(t,e).parse();if(o.err){var n=SyntaxError(Do[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||ys(o.val),o.val}function Go(t,e){var o=e&&e.cache?e.cache:Op,n=e&&e.serializer?e.serializer:Np,s=e&&e.strategy?e.strategy:Lp;return s(t,{cache:o,serializer:n})}function Ip(t){return t==null||typeof t=="number"||typeof t=="boolean"}function ji(t,e,o,n){var s=Ip(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function qi(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,n),e.set(s,r)),r}function vs(t,e,o,n,s){return o.bind(e,t,n,s)}function Lp(t,e){var o=t.length===1?ji:qi;return vs(t,this,o,e.cache.create(),e.serializer)}function Ap(t,e){return vs(t,this,qi,e.cache.create(),e.serializer)}function Mp(t,e){return vs(t,this,ji,e.cache.create(),e.serializer)}var Np=function(){return JSON.stringify(arguments)};function Ss(){this.cache=Object.create(null)}Ss.prototype.get=function(t){return this.cache[t]};Ss.prototype.set=function(t,e){this.cache[t]=e};var Op={create:function(){return new Ss}},jo={variadic:Ap,monadic:Mp};var Ge;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Ge||(Ge={}));var Wt=function(t){Vt(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 xs=function(t){Vt(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('", "'),'"'),Ge.INVALID_VALUE,r)||this}return e}(Wt);var Xi=function(t){Vt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Ge.INVALID_VALUE,s)||this}return e}(Wt);var Zi=function(t){Vt(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,'"'),Ge.MISSING_VALUE,n)||this}return e}(Wt);var G;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(G||(G={}));function _p(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==G.literal||o.type!==G.literal?e.push(o):n.value+=o.value,e},[])}function Dp(t){return typeof t=="function"}function Gt(t,e,o,n,s,r,i){if(t.length===1&&hs(t[0]))return[{type:G.literal,value:t[0].value}];for(var a=[],c=0,l=t;c<l.length;c++){var d=l[c];if(hs(d)){a.push({type:G.literal,value:d.value});continue}if(Wi(d)){typeof r=="number"&&a.push({type:G.literal,value:o.getNumberFormat(e).format(r)});continue}var u=d.value;if(!(s&&u in s))throw new Zi(u,i);var p=s[u];if($i(d)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?G.literal:G.object,value:p});continue}if(Ko(d)){var m=typeof d.style=="string"?n.date[d.style]:$t(d.style)?d.style.parsedOptions:void 0;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(Uo(d)){var m=typeof d.style=="string"?n.time[d.style]:$t(d.style)?d.style.parsedOptions:n.time.medium;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(Bo(d)){var m=typeof d.style=="string"?n.number[d.style]:Wo(d.style)?d.style.parsedOptions:void 0;m&&m.scale&&(p=p*(m.scale||1)),a.push({type:G.literal,value:o.getNumberFormat(e,m).format(p)});continue}if($o(d)){var g=d.children,f=d.value,y=s[f];if(!Dp(y))throw new Xi(f,"function",i);var k=Gt(g,e,o,n,s,r),v=y(k.map(function(x){return x.value}));Array.isArray(v)||(v=[v]),a.push.apply(a,v.map(function(x){return{type:typeof x=="string"?G.literal:G.object,value:x}}))}if(zo(d)){var S=d.options[p]||d.options.other;if(!S)throw new xs(d.value,p,Object.keys(d.options),i);a.push.apply(a,Gt(S.value,e,o,n,s));continue}if(Vo(d)){var S=d.options["=".concat(p)];if(!S){if(!Intl.PluralRules)throw new Wt(`Intl.PluralRules is not available in this environment.
1
+ var uu=Object.defineProperty;var q=(t,e)=>{for(var o in e)uu(t,o,{get:e[o],enumerable:!0})};import Vr from"classnames";import vu,{createContext as Su,useContext as Xn,useEffect as xu,useState as bu}from"react";import pu,{useContext as mu}from"react";import gu from"classnames";var Dt=pu.createContext({});function h(t,e){let{debug:o,...n}=mu(Dt),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let c=s[i];return{...r,[i]:gu(a,c,o?`${t}__${i}`:!1)}},{}):e}var zr={root:"qo"};import{jsx as ho,jsxs as hu}from"react/jsx-runtime";var yo=()=>hu("svg",{className:zr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[ho("defs",{children:ho("style",{children:".cls-1 { fill: #b3b3b3; }"})}),ho("title",{children:"Failed loading image"}),ho("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 qn={root:"Co",imageWrapper:"L",image:"So",content:"m",title:"Eo",contentIsCropped:"Go",lineClamp:"No"};import{jsx as st}from"react/jsx-runtime";var vo=Su(qn),Cu=({title:t,src:e})=>{let o=Xn(vo),[n,s]=bu(!1);return xu(()=>{s(!1)},[e]),st("div",{className:o.imageWrapper,children:e&&!n?st("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):st(yo,{})})},wu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Xn(vo);return st("div",{className:Vr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Tu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=Xn(vo);return vu.createElement(t,{className:Vr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},So=({children:t})=>{let e=h("Card",qn);return st("div",{className:e.root,children:st(vo.Provider,{value:e,children:t})})};So.Image=Cu;So.Content=wu;So.Title=Tu;var D=So;import ku from"classnames";var $r={root:"M"};import{jsx as Iu}from"react/jsx-runtime";var Ru={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},Pu=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",$r);return Iu("span",{"data-key":Ru[e],className:ku(t,n.root),...o})},Zn=Pu;import Au from"classnames";var Wr={root:"Ao"};import{jsx as Nu}from"react/jsx-runtime";var Mu=({className:t,children:e,...o})=>{let n=h("Label",Wr);return Nu("span",{...o,className:Au(t,n.root),children:e})},Qn=Mu;var Gr={root:"Fo",subTitleContainer:"Ho",subtitle:"Lo",suggestions:"Mo"};import{jsx as Jn,jsxs as Du}from"react/jsx-runtime";var _u=({title:t,children:e,type:o,...n})=>{let s=h("Section",Gr);return Du("section",{...n,className:s.root,"data-section-type":o,children:[t&&Jn("div",{className:s.subTitleContainer,children:Jn("span",{className:s.subtitle,children:t})}),Jn("div",{className:s.suggestions,children:e})]})},Pe=_u;import Fu from"classnames";import Bu from"react";var jr={root:"Ro"};import{jsx as Uu}from"react/jsx-runtime";var Ku=Bu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",jr);return Uu("div",{ref:o,className:Fu(n.root,t),children:e})}),Yn=Ku;import Ht from"classnames";import ts,{createContext as Vu,useCallback as $u,useContext as rt}from"react";var es={fadein:"R",root:"e",isClickable:"T",isSelected:"To",actions:"U",actionsIsFixed:"Uo",actionButton:"t",dropdownList:"B",dropdownButton:"D",dropdownItem:"I",dropdownItemButton:"O",actionButtonIsPrimary:"Bo",actionButtonIsDisabled:"Do",labels:"Io",label:"Oo",iconButtons:"Xo",iconButton:"n"};import{jsx as ue,jsxs as Zr}from"react/jsx-runtime";var Ue=Vu(es),Wu=({fixed:t,children:e,...o})=>{let n=rt(Ue);return ue("div",{...o,className:Ht(n.actions,{[n.actionsIsFixed]:t}),children:e})};function qr(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type===Xr}var Xr=({className:t,icon:e,title:o,...n})=>{let s=rt(Ue);return ue("button",{type:"button",className:Ht(s.iconButton,t),title:o,"aria-label":o,...n,children:e})},Gu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=rt(Ue);return Zr("div",{className:Ht(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ue("ul",{className:r.dropdownList,children:s})]})},ju=({index:t,label:e,onClick:o})=>{let n=rt(Ue);return ue("li",{className:n.dropdownItem,children:ue("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},qu=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=rt(Ue);return ue("button",{type:"button",className:Ht(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Xu=({labels:t})=>{let e=rt(Ue);return ue("div",{className:e.labels,children:t.map(o=>ue("span",{className:e.label,children:o},o))})},ze=ts.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",es),c=$u(u=>{u.preventDefault(),o&&o(u)},[o]),l=ts.Children.toArray(n).filter(qr),d=ts.Children.toArray(n).filter(u=>!qr(u));return ue(s,{...r,ref:i,className:Ht(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:c,children:Zr(Ue.Provider,{value:a,children:[d,ue("div",{className:a.iconButtons,children:l})]})})});ze.Labels=Xu;ze.Actions=Wu;ze.ActionButton=qu;ze.DropdownButton=Gu;ze.DropdownItem=ju;ze.IconButton=Xr;var A=ze;import Qu from"classnames";var Qr={root:"Jo",isWithDivider:"Ko"};import{jsx as Yu}from"react/jsx-runtime";var Ju=({withDivider:t,children:e})=>{let o=h("SuggestionList",Qr);return Yu("div",{"data-testid":"suggestions-overlay-list",className:Qu(o.root,{[o.isWithDivider]:t}),children:e})},te=Ju;import tp from"classnames";var Jr={root:"u",isCollapsed:"X"};import{jsx as os}from"react/jsx-runtime";var op=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",Jr);return os("button",{type:"button",className:tp(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:os("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:os("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},it=op;var Yr=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,xo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ei=/x-deepdesk-(([a-z0-9\-_])+-version)/,Ie=(f=>(f.SEARCH="search",f.TEMPLATE="template",f.ELASTIC_SEARCH="search-autocomplete",f.GPT="gpt",f.TRIE="trie",f.TRIE_WITH_TYPOS="trie-with-typos",f.SEMANTIC="semantic",f.TEXT_RECOMMENDATION="text_recommendation",f.URL_RECOMMENDATION="url_recommendation",f.LINK_RECOMMENDATION="link_recommendation",f.PERSONAL_COLLECTION="personal-collection",f.PERSONAL_COLLECTION_SEARCH="personal-collection-search",f.SEARCH_OVERLAY="search-overlay",f.SEARCH_PREVIEW="search-preview",f.SEARCH_URL="search-url",f))(Ie||{}),at=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(at||{});import{render as Ot,unmountComponentAtNode as Wn}from"react-dom";import{Fragment as bf}from"react";import{createSlice as np}from"@reduxjs/toolkit";import{useSelector as sp}from"react-redux";var bo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(bo||{});var rp={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,adminUrl:void 0,productName:"Deepdesk"},ti=np({name:"settings",initialState:rp,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:Co}=ti.actions,ns=t=>e=>e.settings[t],b=t=>sp(ns(t)),oi=ti.reducer;import{useSelector as sa}from"react-redux";import{createAsyncThunk as ss,createSlice as ip}from"@reduxjs/toolkit";var ap={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},X=t=>t.auth.isLoggedIn,ni=t=>t.auth.loginFetchState,si=t=>t.auth.verifyFetchState,ri=t=>t.auth.showLoginOverlay,Se=ss("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),ii=ss("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ft=ss("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),ai=ip({name:"auth",initialState:ap,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(Se.pending,e=>{e.loginFetchState="loading"}),t.addCase(Se.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(Se.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Ft.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Ft.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Ft.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:lt,setShowLoginOverlay:li}=ai.actions,ci=ai.reducer;import{createAction as pt,createSlice as hp}from"@reduxjs/toolkit";import{diffChars as yp}from"diff";import{useSelector as vp}from"react-redux";function di(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Le(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)=>Le(r,e[i],o-1)):di(t)&&di(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Le(t[i],e[i],o-1)):!1}function lp(t){return Math.max(...t.map(e=>e.length))}function cp(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return{...n,[s]:r}}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function ui(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<lp(n);s++){let r=cp(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 dp=2;function rs(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=ui(t,dp);return o&&o.text!==e?o:t[0]}import{createAction as pp,createAsyncThunk as ct,createSlice as mp}from"@reduxjs/toolkit";var up={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=up;var pi={current:null,isSupported:null},M=pp("resetConversation"),dt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},wo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},ut=t=>t.conversation.isSupported,is=ct("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),To=ct("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Eo=ct("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),ko=ct("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=wo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),as=ct("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:c}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:c})})}),Ro=ct("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=wo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),gp=[To.rejected,Eo.rejected,ko.rejected,Ro.rejected].map(t=>t==null?void 0:t.toString()),fp=mp({name:"conversation",initialState:pi,reducers:{},extraReducers:t=>{t.addCase(is.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(To.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Eo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(as.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(ko.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ro.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>pi).addMatcher(e=>gp.includes(e.type),(e,o)=>{var n;throw w.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),mi=fp.reducer;var Ae={text:"",html:null,selection:{start:0,end:0},stagedSuggestion:null,userCommitted:{text:"",selection:{start:0,end:0}},tabCompletionSuggestion:void 0,previousKeyDownEvent: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 gi(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 Io=pt("input/replaceText"),Lo=pt("input/keyDown"),Ve=pt("input/sendMessage"),Ao=pt("input/uiInputChange"),Mo=pt("input/applyImageSuggestion"),W=pt("input/sendEvent");function Po(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:c},eventMetrics:{inputType:l},replace:d}=t.stagedSuggestion,u=o==="search"||o==="personal-collection-search",p=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(u||d==="selection")&&(p=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(p=c),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:p,source:o,abVariant:n,abTestName:s,inputType:l,sourceText:i,trainingJobs:r||[],searchTerm:u?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var fi=hp({name:"input",initialState:Ae,reducers:{initialInput(t,e){let{text:o,selection:n,html:s}=e.payload;t.text=o,t.selection.start=(n==null?void 0:n.start)??o.length,t.selection.end=(n==null?void 0:n.end)??o.length,t.userCommitted.text=o,t.userCommitted.selection.start=(n==null?void 0:n.start)??o.length,t.userCommitted.selection.end=(n==null?void 0:n.end)??o.length,t.html=s||null},reset(t){Object.assign(t,{...Ae,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=rs(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Le(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Po(t)))},platformInput(t,e){let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end),t.text=o,t.html=n||null},userInput(t,e){var r,i,a,c;if(t.previousKeyDownEvent){let{key:l,shiftKey:d,ctrlKey:u,metaKey:p,altKey:m}=t.previousKeyDownEvent;switch(l){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,{text:f}=e.payload,y=yp(g,f);g.length-f.length>1&&t.metrics.deletions.push(...y.filter(k=>k.removed).map(k=>k.value)),t.metrics.numCharsDeleted+=g.length-f.length;break}case"C":case"V":case"X":if(!u&&!p){t.metrics.numCharsTyped+=1;let g=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}break;case"Shift":break;default:if(!u&&!p&&!m){t.metrics.numCharsTyped+=1;let g=((a=t.selection)==null?void 0:a.start)!==void 0&&((c=t.selection)==null?void 0:c.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Ae.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Po(t);let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end,t.userCommitted.selection.start=s.start,t.userCommitted.selection.end=s.end),t.text=o,t.html=n||null,t.userCommitted.text=o,t.previousKeyDownEvent=null},stageSuggestion(t,e){let{text:o}=e.payload;switch(t.stagedSuggestion=e.payload,t.tabCompletionSuggestion=void 0,e.payload.replace){case"selection":t.text=`${t.text.slice(0,t.selection.start)}${o}${t.text.slice(t.selection.end)}`,t.selection.end=t.selection.start+o.length,t.selection.start+=o.length;break;case"until-selection-end":t.text=`${o}${t.text.slice(t.selection.end)}`,t.selection.start=o.length,t.selection.end=o.length;break;default:throw new Error(`Unknown replace ${e.payload.replace}`)}e.payload.eventMetrics.inputType==="tab"&&Po(t)},commitSuggestion(t){Po(t)},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})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...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={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.tabCompletionSuggestion=void 0;return}let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=rs(e.payload,o);t.tabCompletionSuggestion=n!=null&&n.text.includes(o)?n:void 0},setSelectedTextSuggestionIndex(t,e){t.selectedSuggestionIndex=e.payload},setMetrics(t,{payload:e}){t.metrics=e}},extraReducers:t=>{t.addCase(M,e=>{e.tabCompletionSuggestion=Ae.tabCompletionSuggestion,e.previousKeyDownEvent=Ae.previousKeyDownEvent,e.textSuggestions=Ae.textSuggestions,e.selectedSuggestionIndex=Ae.selectedSuggestionIndex,e.metrics=Ae.metrics})}}),mt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),Sp=t=>t.input.selection,hi=()=>vp(Sp),{userInput:yi,changeSelection:ls,initialInput:vi,nextTextSuggestionIndex:Si,offeredTextSuggestion:xi,previousTextSuggestionIndex:bi,registerCut:Ci,registerKeyDown:wi,registerPaste:Ti,reset:Ei,resetToCommitted:Bt,platformInput:ki,setSelectedTextSuggestionIndex:Me,setTextSuggestions:pe,stageSuggestion:me,commitSuggestion:xe,setMetrics:Ri}=fi.actions,Pi=fi.reducer;import{createAsyncThunk as wp,createSlice as Tp}from"@reduxjs/toolkit";import{createAsyncThunk as ds,createSlice as bp}from"@reduxjs/toolkit";function xp(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function L(t){return Array.isArray(t)?t.map(L):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[xp(o)]:L(t[o])}),{}):t}function cs(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function H(t){return Array.isArray(t)?t.map(H):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[cs(o)]:H(t[o])}),{}):t}var Cp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Ut=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)||""}},Kt=ds("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),L(n))}),us=ds("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),ps=ds("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Ii=t=>t.info.agentInfo,Li=bp({name:"info",initialState:Cp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Kt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Kt.rejected,e=>{e.fetchState="error"}).addCase(Kt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(us.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(ps.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Ai}=Li.actions,Mi=Li.reducer;var No={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Ni=t=>t.search.isOpen,Oi=t=>t.search.page,_i=t=>t.search.list,Di=t=>t.search.aggregates;function Hi(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var $e=wp("search/getAll",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(a=n.conversation.current)==null?void 0:a.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r,aggregates:i}=await o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Ut(n)});return{results:r.map(c=>({...c,source:`search-${c.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Fi=Tp({name:"search",initialState:No,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=No.fetchState,t.list=No.list}},extraReducers:t=>{t.addCase($e.pending,e=>{e.fetchState="loading"}).addCase($e.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase($e.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(M,()=>No)}}),{resetSearch:Oo,setIsOpen:J,setPage:re}=Fi.actions,Bi=Fi.reducer;var ms="SetCues",gt="ShowLoginOverlay",zt="UserLoggedIn",Ep="UserLoggedOut",Ne="ApplySuggestion",gs="ApplyImageSuggestion",kp="ShowCommandPalette",Rp=t=>({[ms]:e=>{t.dispatch({...e,isBroadcasted:!0})},[kp]:e=>{t.dispatch(J(e.isOpen)),e.page&&t.dispatch(re(e.page))},[gt]:e=>{t.dispatch(li(e))},[zt]:()=>{t.dispatch(Se())},[Ep]:()=>{t.dispatch(Se())},[gs]:e=>{t.dispatch(Mo({suggestion:e.suggestion}))},[Ne]:e=>{t.dispatch(me({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),Ki=Rp;import Ui,{useContext as Pp}from"react";import{jsx as Ip}from"react/jsx-runtime";var zi=Ui.createContext(null),We=({broadcastEvents:t,children:e})=>{let o=Ui.useMemo(()=>t,[]);return Ip(zi.Provider,{value:o,children:e})},oe=()=>{let t=Pp(zi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Ts from"classnames";import{useCallback as oa,useEffect as om,useMemo as nm,useState as Es}from"react";import{useDispatch as sm,useSelector as rm}from"react-redux";import{createContext as Up,useContext as zp}from"react";var fs=function(t,e){return fs=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])},fs(t,e)};function Vt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");fs(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var Y=function(){return Y=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},Y.apply(this,arguments)};function Vi(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 _o(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 Do;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Do||(Do={}));var Ho=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var ie;(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"})(ie||(ie={}));var Fo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Fo||(Fo={}));function hs(t){return t.type===ie.literal}function $i(t){return t.type===ie.argument}function Bo(t){return t.type===ie.number}function Ko(t){return t.type===ie.date}function Uo(t){return t.type===ie.time}function zo(t){return t.type===ie.select}function Vo(t){return t.type===ie.plural}function Wi(t){return t.type===ie.pound}function $o(t){return t.type===ie.tag}function Wo(t){return!!(t&&typeof t=="object"&&t.type===Fo.number)}function $t(t){return!!(t&&typeof t=="object"&&t.type===Fo.dateTime)}function ys(t){t.forEach(function(e){if(delete e.location,zo(e)||Vo(e))for(var o in e.options)delete e.options[o].location,ys(e.options[o].value);else Bo(e)&&Wo(e.style)||(Ko(e)||Uo(e))&&$t(e.style)?delete e.style.location:$o(e)&&ys(e.children)})}function Gi(t,e){e===void 0&&(e={}),e=Y({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Ho(t,e).parse();if(o.err){var n=SyntaxError(Do[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||ys(o.val),o.val}function Go(t,e){var o=e&&e.cache?e.cache:_p,n=e&&e.serializer?e.serializer:Op,s=e&&e.strategy?e.strategy:Ap;return s(t,{cache:o,serializer:n})}function Lp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function ji(t,e,o,n){var s=Lp(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function qi(t,e,o){var n=Array.prototype.slice.call(arguments,3),s=o(n),r=e.get(s);return typeof r>"u"&&(r=t.apply(this,n),e.set(s,r)),r}function vs(t,e,o,n,s){return o.bind(e,t,n,s)}function Ap(t,e){var o=t.length===1?ji:qi;return vs(t,this,o,e.cache.create(),e.serializer)}function Mp(t,e){return vs(t,this,qi,e.cache.create(),e.serializer)}function Np(t,e){return vs(t,this,ji,e.cache.create(),e.serializer)}var Op=function(){return JSON.stringify(arguments)};function Ss(){this.cache=Object.create(null)}Ss.prototype.get=function(t){return this.cache[t]};Ss.prototype.set=function(t,e){this.cache[t]=e};var _p={create:function(){return new Ss}},jo={variadic:Mp,monadic:Np};var Ge;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(Ge||(Ge={}));var Wt=function(t){Vt(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 xs=function(t){Vt(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('", "'),'"'),Ge.INVALID_VALUE,r)||this}return e}(Wt);var Xi=function(t){Vt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),Ge.INVALID_VALUE,s)||this}return e}(Wt);var Zi=function(t){Vt(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,'"'),Ge.MISSING_VALUE,n)||this}return e}(Wt);var G;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(G||(G={}));function Dp(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==G.literal||o.type!==G.literal?e.push(o):n.value+=o.value,e},[])}function Hp(t){return typeof t=="function"}function Gt(t,e,o,n,s,r,i){if(t.length===1&&hs(t[0]))return[{type:G.literal,value:t[0].value}];for(var a=[],c=0,l=t;c<l.length;c++){var d=l[c];if(hs(d)){a.push({type:G.literal,value:d.value});continue}if(Wi(d)){typeof r=="number"&&a.push({type:G.literal,value:o.getNumberFormat(e).format(r)});continue}var u=d.value;if(!(s&&u in s))throw new Zi(u,i);var p=s[u];if($i(d)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?G.literal:G.object,value:p});continue}if(Ko(d)){var m=typeof d.style=="string"?n.date[d.style]:$t(d.style)?d.style.parsedOptions:void 0;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(Uo(d)){var m=typeof d.style=="string"?n.time[d.style]:$t(d.style)?d.style.parsedOptions:n.time.medium;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(p)});continue}if(Bo(d)){var m=typeof d.style=="string"?n.number[d.style]:Wo(d.style)?d.style.parsedOptions:void 0;m&&m.scale&&(p=p*(m.scale||1)),a.push({type:G.literal,value:o.getNumberFormat(e,m).format(p)});continue}if($o(d)){var g=d.children,f=d.value,y=s[f];if(!Hp(y))throw new Xi(f,"function",i);var k=Gt(g,e,o,n,s,r),v=y(k.map(function(x){return x.value}));Array.isArray(v)||(v=[v]),a.push.apply(a,v.map(function(x){return{type:typeof x=="string"?G.literal:G.object,value:x}}))}if(zo(d)){var S=d.options[p]||d.options.other;if(!S)throw new xs(d.value,p,Object.keys(d.options),i);a.push.apply(a,Gt(S.value,e,o,n,s));continue}if(Vo(d)){var S=d.options["=".concat(p)];if(!S){if(!Intl.PluralRules)throw new Wt(`Intl.PluralRules is not available in this environment.
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
- `,Ge.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:d.pluralType}).select(p-(d.offset||0));S=d.options[R]||d.options.other}if(!S)throw new xs(d.value,p,Object.keys(d.options),i);a.push.apply(a,Gt(S.value,e,o,n,s,p-(d.offset||0)));continue}}return _p(a)}function Hp(t,e){return e?Y(Y(Y({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=Y(Y({},t[n]),e[n]||{}),o},{})):t}function Fp(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Hp(t[n],e[n]),o},Y({},t)):t}function bs(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Bp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.number),strategy:jo.variadic}),getDateTimeFormat:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.dateTime),strategy:jo.variadic}),getPluralRules:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.pluralRules),strategy:jo.variadic})}}var Qi=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 d=r.formatToParts(l);if(d.length===1)return d[0].value;var u=d.reduce(function(p,m){return!p.length||m.type!==G.literal||typeof p[p.length-1]!="string"?p.push(m.value):p[p.length-1]+=m.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return Gt(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,c=Vi(i,["formatters"]);this.ast=t.__parse(e,Y(Y({},c),{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=Fp(t.formats,n),this.formatters=s&&s.formatters||Bp(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>"u")){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=Gi,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 zp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Vp="dummy",Cs=Kp(null);function E(t){let e=Up(Cs);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=zp(o,n);return r?new Qi(r).format(s):(e!==Vp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Wp,useRef as Gp}from"react";var Ji={root:"J",content:"Po"};import{jsx as Yi}from"react/jsx-runtime";var jp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let c=Gp(null),l=h("Dialog",Ji),d=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===c.current&&t&&n()};return Wp(()=>{var p,m;!c.current||!t||!e||(m=(p=c.current)==null?void 0:p.querySelector("input, textarea"))==null||m.focus()},[t,e,c]),t?Yi("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:c,onKeyDown:d,onMouseDown:u,children:Yi("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},qo=jp;import Xp from"classnames";var ea={root:"y"};import{jsx as Qp}from"react/jsx-runtime";var Zp=({className:t,value:e,...o})=>{let n=h("TextInput",ea);return Qp("input",{className:Xp(t,n.root),type:"text",value:e,...o})},jt=Zp;var ws={};q(ws,{enUS:()=>Jp,nlNL:()=>Yp});var Jp={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"}]},Yp={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 ta={root:"Qo",anchorButton:"Vo",errorMessage:"Wo",title:"Zo",subtitle:"_o",text:"oe",input:"ee",actions:"ie",button:"w",primaryButton:"re"};import{jsx as Z,jsxs as Xo}from"react/jsx-runtime";var rm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},im=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=E(ws),i=h("LoginTokenDialog",ta),a=sm(si),c=nm(),l=b("productName"),[d,u]=Es(t||""),[p,m]=Es(0),[g,f]=Es(""),y=oa(async R=>{R.preventDefault(),c(ii({email:d})),m(1)},[o,d]),k=()=>{f(""),m(0)},v=oa(async R=>{R.preventDefault();let x=rm(R.target.elements.token.value);if(!x){f(r("verifyCodeError",{login:S}));return}c(Ft({token:x}))},[o]),S=om(()=>R=>Z("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:k,children:R},"back-button"),[]);return tm(()=>{a==="error"&&f(r("verifyCodeError",{login:S})),a==="done"&&n()},[a]),Z(qo,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Xo("div",{className:i.root,children:[Z("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&Xo("form",{onSubmit:y,children:[Z("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Z("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),Z(jt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:R=>u(R.target.value)}),Z("div",{className:i.actions,children:Z("button",{type:"submit",className:Ts(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&Xo("form",{onSubmit:v,children:[Z("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Z("p",{className:i.text,children:r("verifyCodeBody")}),Z(jt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),g&&Z("div",{className:i.errorMessage,children:g}),Xo("div",{className:i.actions,children:[Z("button",{type:"button",className:Ts(i.button),onClick:k,children:r("back")}),Z("button",{type:"submit",className:Ts(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},na=im;import{jsx as lm}from"react/jsx-runtime";var am=()=>{let t=sa(ri),e=sa(Ii),o=b("adminUrl"),n=oe(),s=()=>n.send(gt,!1),r=()=>{n.send(gt,!1),n.send(zt)};return lm(na,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},ra=am;import mf from"lodash.debounce";import{Fragment as gf,useCallback as qs,useEffect as Xs,useState as Zs}from"react";import{useDispatch as ff,useSelector as Ze}from"react-redux";import{createAsyncThunk as cm,createSlice as dm}from"@reduxjs/toolkit";var um={data:null,fetchState:"idle"},ia=t=>t.contentTypes.data,qt=cm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),pm=dm({name:"contentTypes",initialState:um,reducers:{},extraReducers:t=>{t.addCase(qt.pending,e=>{e.fetchState="loading"}).addCase(qt.rejected,e=>{e.fetchState="error"}).addCase(qt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),aa=pm.reducer;function je(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 Ia,useState as Jm,useRef as Ym,useCallback as eg}from"react";import{useState as hm}from"react";import ks from"classnames";var ne={root:"te",list:"ne",listWrapper:"ae",listHorizontal:"K",page:"v",search:"P",pageNav:"pe",pageTitle:"de",pageBackButton:"Q",listHeader:"le",listHeading:"se",listMoreButton:"ce",listItem:"V",listItemContent:"a",listItemText:"xe",listItemDescription:"fe",listItemActions:"W",truncate:"ge",lineClamp:"be",listItemTitle:"he",listItemAction:"me",listItemPrimaryAction:"ue",listItemSelected:"ye",sources:"we",sourcesTitle:"ve",source:"ke",icon:"Z",searchIcon:"ze",searchInputWrapper:"je",searchInput:"k",select:"Ye",selectType:"qe",selectWrapper:"z",image:"Ce",imageSrc:"Se",imageSrcHidden:"Ee",imageSrcStatus:"Ge",imageTitle:"Ne",actions:"Ae",actionsWrapper:"Fe",actionsBar:"He",actionButton:"_",hasShortKeys:"Le",actionShortcut:"Me",actionShortcutFixKerning:"Re"};var qe={};q(qe,{enUS:()=>gm,nlNL:()=>fm});var gm={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"}]},fm={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"}]};import{jsx as Xt,jsxs as vm}from"react/jsx-runtime";var ym=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=hm("loading"),r=E(qe);return vm("div",{className:o.image,children:[Xt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:ks(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Xt("span",{className:ks(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Xt("span",{className:ks(o.imageSrc,o.imageSrcStatus),children:Xt(yo,{})}),e&&Xt("span",{className:o.imageTitle,children:e})]})},la=ym;import Sm from"react";import xm from"classnames";import{jsx as Rs,jsxs as ca}from"react/jsx-runtime";function Ps({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=E(qe),i=h("CommandPalette",ne);return Sm.Children.count(t)===0?null:ca("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ca("div",{className:i.listHeader,children:[e&&Rs("h4",{className:i.listHeading,children:e}),n&&s&&Rs("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Rs("div",{className:xm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Jo from"classnames";import{Interweave as $m}from"interweave";var bm=/[.*+?^${}()|[\]\\]/g,Cm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function wm(t){return t.replace(bm,"\\$&")}function Tm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Em(t){return t.search(Cm)}function da(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${wm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ua(t){return t.replace(xo,'<mark data-type="placeholder">$1</mark>')}function Zt(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function km(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 Is(t,e,o={}){if(e){let n=Tm(e.toLowerCase(),t.toLowerCase()),s=Zt(t.substring(n,t.length));if(o.stripAgentPart){let c=t.substring(0,n),l=Em(c);return`<span style="opacity: 0.5">${c.substring(l+1)}</span>${s}`}let i=e.split(Yr).length>3||e.length>30?km(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Zt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Rm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ls(t){return Rm.test(t)}function pa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Im,{useState as ma,useEffect as ga,useMemo as Lm,useRef as fa,useCallback as Am,useContext as Mm}from"react";import Nm from"classnames";var As={root:"Te",trigger:"oo",content:"Ue",contentOpen:"Be",contentTop:"De",contentBottom:"Ie",item:"eo"};import{jsx as Zo,jsxs as Hm}from"react/jsx-runtime";var Om=0,ha=Im.createContext(null),_m=()=>{let t=Mm(ha);if(!t)throw new Error("Invalid DropdownContext");return t},ya=({trigger:t,children:e,position:o="bottom"})=>{let n=Lm(()=>++Om,[]),s=fa(null),r=fa(null),i=h("Dropdown",As),[a,c]=ma(!1),[l,d]=ma(o),u=m=>{m.preventDefault(),m.stopPropagation(),c(!a)},p=Am(([m])=>{!m.isIntersecting&&a&&d(l==="top"?"bottom":"top")},[a]);return ga(()=>{let m=g=>{s.current&&!s.current.contains(g.target)&&c(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),ga(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),Zo(ha.Provider,{value:{setIsOpen:c},children:Hm("div",{ref:s,className:i.root,children:[Zo("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),Zo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Nm(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Dm({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",As),{setIsOpen:i}=_m(),a=c=>{i(!1),o(c),c.stopPropagation()};return Zo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}ya.Item=Dm;var Ms=ya;import{jsx as va}from"react/jsx-runtime";var Sa=t=>va("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:va("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 Xe={};q(Xe,{enUS:()=>Fm,nlNL:()=>Bm});var Fm={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"}]},Bm={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{jsx as Ns}from"react/jsx-runtime";var Km="%0d%0a%0d%0a%0d%0a",Um=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Km)}`},zm=({suggestion:t,onFeedback:e})=>{let o=E(Xe),n=b("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Ns(Ms,{trigger:Ns(Sa,{"data-testid":"feedback-dropdown-trigger"}),children:Ns(Ms.Item,{as:"a",href:Um(n,t),onClick:e,children:o("giveFeedback")})})},Qo=zm;import Os from"react";import{jsx as Vm}from"react/jsx-runtime";var xa=Os.createContext(void 0);function Oe(){let t=Os.useContext(xa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ba=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Os.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Vm(xa.Provider,{value:i,children:t})};import{jsx as _e,jsxs as _s}from"react/jsx-runtime";function Ds({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,extra:r,onSourceClick:i,description:a,sources:c,id:l,styles:d,...u}){let{selected:p,onChangeOpen:m}=Oe(),g=h("CommandPalette",ne);function f(y){n(y),t&&m(!1)}return _s("div",{className:Jo(g.listItem,l===p&&g.listItemSelected),children:[_e("button",{type:"button",className:Jo(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":u.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...u,children:_s("div",{className:g.listItemContent,children:[typeof o=="string"?_e("p",{className:Jo(g.listItemText,g.truncate,d==null?void 0:d.title),children:o}):o,a&&_e($m,{tagName:"p",allowList:[],content:Ls(a)?pa(a):a,className:Jo(g.listItemDescription,d==null?void 0:d.description,e?g.lineClamp:g.truncate)})]})}),r,s&&_e("div",{className:g.listItemActions,children:_e(Qo,{suggestion:String(o),onFeedback:s})}),c&&c.length>0&&_s("div",{className:g.sources,children:[_e("span",{className:g.sourcesTitle,children:"Sources"}),c.map(y=>y.url?_e("a",{className:g.source,href:y.url,target:"_blank",title:y.url,rel:"noopener noreferrer",onClick:()=>i&&i(y),children:y.name},y.url):_e("span",{className:g.source,children:y.name},y.name))]})]})}import{jsx as Ca,jsxs as Wm}from"react/jsx-runtime";var wa=()=>Wm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ca("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ca("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 Ta,jsxs as Hs}from"react/jsx-runtime";function Fs({children:t,title:e,id:o,onDismiss:n}){let s=E(qe),r=h("CommandPalette",ne),{page:i}=Oe();return i!==o?null:Hs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Hs("div",{className:r.pageNav,children:[Hs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Ta(wa,{}),s("back")]}),e&&Ta("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as jm}from"react";import{jsx as Ea,jsxs as Gm}from"react/jsx-runtime";var ft=()=>Gm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ea("path",{d:"M0 0h24v24H0z",fill:"none"}),Ea("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 ht,jsxs as Bs}from"react/jsx-runtime";function qm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let c=h("CommandPalette",ne);return Bs("div",{className:c.search,children:[ht("div",{className:c.searchIcon,children:ht(ft,{})}),Bs("div",{className:c.searchInputWrapper,children:[ht("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:c.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ht("div",{className:c.selectWrapper,children:Bs("select",{"data-testid":"command-palette-type-select",className:c.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&ht("option",{children:n}),s.map(l=>ht("option",{value:l.value,children:l.label},l.value))]})})]})]})}var ka=jm(qm);import Ra from"classnames";import{jsx as Zm,jsxs as Qm}from"react/jsx-runtime";var Xm=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return Qm("button",{type:"button",...n,onClick:t,className:Ra(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Zm("span",{className:Ra(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Pa=Xm;import{jsx as La,jsxs as og}from"react/jsx-runtime";var tg="[data-command-palette-item]";function yt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:c,types:l,children:d,isOpen:u,search:p}){let[m,g]=Jm(),f=Ym(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},k=()=>{var I;if(n!==o&&s){s(o);return}if(c&&i){i(void 0),(I=f.current)==null||I.focus();return}if(p.length>0){r("");return}a(!1)},v=()=>{let I=S();I.length!==0&&g(I[0].dataset.itemId)},S=()=>Array.from(document.querySelectorAll(tg)||[]),R=I=>document.querySelector(`[data-item-id=${I}]`),x=I=>{let O=R(I);O&&g(O.dataset.itemId)},T=I=>{let O=R(I);O&&O.scrollIntoView({behavior:"smooth"})},N=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),ee=I[V+1];ee&&ee.dataset.itemId?x(ee.dataset.itemId):v()},z=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),ee=I[V-1];ee&&ee.dataset.itemId?x(ee.dataset.itemId):x(I[I.length-1].dataset.itemId)},F=eg(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),N();break}case"ArrowUp":{I.preventDefault(),z();break}case"Enter":{if(m){let O=R(m);O==null||O.click()}break}}},[m]);return Ia(()=>{v()},[p,n,c,u]),Ia(()=>{m&&T(m)},[m]),La(qo,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:k,onClose:y,onKeyDown:F,children:og(ba,{selected:m,setSelected:g,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&La(ka,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:c,types:l,typePlaceholder:e}),d]})})}yt.Page=Fs;yt.List=Ps;yt.Image=la;yt.ListItem=Ds;yt.Button=Pa;var _=yt;import{useEffect as ng}from"react";function Aa(t,e){ng(()=>{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 _a,useRef as ug}from"react";import{useSelector as pg,useDispatch as mg}from"react-redux";import{createAsyncThunk as sg,createSlice as rg}from"@reduxjs/toolkit";var Ma={data:null,fetchState:"idle"},Yo=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=sg("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),ig=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),ag=rg({name:"entities",initialState:Ma,reducers:{},extraReducers:t=>{t.addCase(ae.pending,e=>{e.fetchState="loading"}).addCase(ae.rejected,e=>{e.fetchState="error"}).addCase(ae.fulfilled,(e,o)=>{e.fetchState="done",e.data=ig(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>Ma)}}),Na=ag.reducer;var Ks={};q(Ks,{enUS:()=>lg,nlNL:()=>cg});var lg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},cg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Oa={root:"Oe",empty:"Xe"};import{jsx as Us,jsxs as fg}from"react/jsx-runtime";var gg=({onCopy:t})=>{let e=ug(null),o=h("EntitiesList",Oa),n=pg(Yo),{setSelected:s}=Oe(),r=E(Ks),i=mg();return _a(()=>{i(ae())},[]),_a(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),fg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Us(_.List,{children:n.map((a,c)=>Us(_.ListItem,{id:`entity-${c}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Us("p",{className:o.empty,children:r("noResults")})]})},Da=gg;import{Fragment as Lg,useEffect as sn,useRef as Ag,useState as Mg}from"react";import{useSelector as $s,useDispatch as Ng}from"react-redux";import{createAsyncThunk as hg,createSlice as yg}from"@reduxjs/toolkit";var Ha={data:null,fetchState:"idle"},Fa=t=>t.summary.data,Ba=t=>t.summary.fetchState==="error",Ka=t=>t.summary.model,be=hg("summary/getSummary",async(t,e)=>{var d,u,p;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(p=(u=e.getState().info)==null?void 0:u.agentInfo)==null?void 0:p.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,c=await a();if(c.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(c,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),vg=yg({name:"summary",initialState:Ha,reducers:{},extraReducers:t=>{t.addCase(be.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(be.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(be.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(M,()=>Ha)}}),Ua=vg.reducer;var zs={};q(zs,{enUS:()=>Sg,nlNL:()=>xg});var Sg={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."}]},xg={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 za={root:"Je",actions:"Ke",main:"Pe",textInput:"io",loading:"Qe",error:"Ve"};import ja from"classnames";import{useState as Rg}from"react";import{jsx as Va}from"react/jsx-runtime";var en=t=>Va("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Va("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 $a}from"react/jsx-runtime";var tn=t=>$a("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:$a("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 Ce(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}var Vs={};q(Vs,{enUS:()=>Cg,nlNL:()=>wg});var Cg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},wg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as Eg}from"react-redux";import{createAsyncThunk as Tg}from"@reduxjs/toolkit";function Wa(t){return Tg("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,{conversationId:n,...s,data:e.data})})(t)}function vt(){let t=Eg();return async(e,o)=>{await t(Wa({name:e,data:o}))}}var Ga={fadeup:"j",fadedown:"Y",thumbs:"We",selected:"ro",thumbsUp:"Ze",thumbsDown:"_e"};import{jsx as on,jsxs as Ig}from"react/jsx-runtime";var Pg=({eventName:t,eventData:e})=>{let o=h("FeedbackThumbs",Ga),n=E(Vs),s=vt(),[r,i]=Rg(null),a=l=>{l.preventDefault(),l.stopPropagation(),Ce(l.target,o.fadeup),i("up"),s(t,{...e,rating:"up"})},c=l=>{l.preventDefault(),l.stopPropagation(),Ce(l.target,o.fadedown),i("down"),s(t,{...e,rating:"down"})};return Ig("div",{className:o.thumbs,children:[on(A.IconButton,{title:n("thumbsUp"),onClick:a,icon:on(tn,{}),className:ja(o.thumbsUp,r==="up"&&o.selected),disabled:!!r}),on(A.IconButton,{title:n("thumbsDown"),onClick:c,icon:on(en,{}),className:ja(o.thumbsDown,r==="down"&&o.selected),disabled:!!r})]})},nn=Pg;import{jsx as St,jsxs as qa}from"react/jsx-runtime";var Og=({onCopy:t})=>{let e=Ag(null),o=h("SummaryForm",za),[n,s]=Mg(""),r=E(zs),i=$s(Ka),a=$s(Fa),c=$s(Ba),l=Ng(),d=()=>{l(W({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},u=()=>{let p=document.getSelection();p&&l(W({name:"summary copied to clipboard",data:{originalText:a,finalText:p==null?void 0:p.toString(),model:i},options:{includeConversationData:!0}}))};return sn(()=>{l(be())},[]),sn(()=>{s(a||"")},[a]),sn(()=>{e.current&&a&&e.current.focus()},[e,a]),sn(()=>{let p=m=>{m.key==="Enter"&&m.shiftKey&&d()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),St("div",{className:o.root,tabIndex:-1,children:c?St("p",{className:o.error,children:r("error")}):qa(Lg,{children:[St("div",{className:o.main,children:St("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:u,onChange:p=>s(p.target.value)})}),qa("div",{className:o.actions,children:[St(nn,{eventName:"summary feedback",eventData:{summary:a}}),St(_.Button,{shortKeys:[8679,8629],onClick:d,children:r("copy")})]})]})})},Xa=Og;var Qt={};q(Qt,{enUS:()=>_g,nlNL:()=>Dg});var _g={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?"}]},Dg={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 Xg,{useEffect as js,useRef as Zg}from"react";import{useDispatch as Qg,useSelector as sl}from"react-redux";var Ws={};q(Ws,{enUS:()=>Hg,nlNL:()=>Fg});var Hg={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"}]},Fg={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 Za={root:"to",title:"oi",empty:"ei",status:"ii",form:"no",input:"ao",submit:"ri",question:"ti",answer:"ni",alignRight:"ai",listItemFeedback:"pi"};import{createAction as $g,createAsyncThunk as Wg,createSlice as Gg}from"@reduxjs/toolkit";import{createAsyncThunk as Kg,createSlice as Ug}from"@reduxjs/toolkit";var zg={data:null,fetchState:"idle"},Qa=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Jt=Kg("knowledgeAssistant/getKnowledgeAssistant",async(t,e)=>{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}),Vg=Ug({name:"knowledgeAssistant",initialState:zg,reducers:{},extraReducers:t=>{t.addCase(Jt.pending,e=>{e.fetchState="loading"}).addCase(Jt.rejected,e=>{e.fetchState="error"}).addCase(Jt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ja=Vg.reducer;var Gs={data:[],fetchState:"idle"},Ya=t=>{var e;return(e=t.answer)==null?void 0:e.data},el=t=>t.answer.fetchState,bt=$g("answer/resetKnowledgeSearch"),xt=Wg("answer/getAnswer",async(t,e)=>{var c,l,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Qa(e.getState()),r=(c=e.getState().conversation.current)==null?void 0:c.sessionId,i=(d=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),jg=Gg({name:"answer",initialState:Gs,reducers:{},extraReducers:t=>{t.addCase(xt.pending,e=>{e.fetchState="loading"}).addCase(xt.rejected,e=>{e.fetchState="error"}).addCase(xt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>Gs).addCase(bt,()=>Gs)}}),tl=jg.reducer;import{jsx as ol,jsxs as qg}from"react/jsx-runtime";var nl=()=>qg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[ol("title",{id:"paperPlaneTitle",children:"PaperPlane"}),ol("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"})]});import{jsx as le,jsxs as rl}from"react/jsx-runtime";var Jg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Xg.useState(""),{setSelected:r}=Oe(),i=Zg(null),a=h("KnowledgeSearchStyles",Za),c=E(Ws),l=Qg(),d=sl(Ya),u=sl(el),p=async g=>{g.preventDefault(),g.stopPropagation(),n!==""&&l(xt(n))},m=(g,f)=>{l(W({name:"knowledge assist source viewed",data:{question:f,sourceViewed:g.url||g.name},options:{includeConversationData:!0}}))};return js(()=>{var g;o&&u==="idle"?l(xt(o)):(g=i.current)==null||g.focus()},[i,u]),js(()=>{u==="done"&&(l(W({name:"knowledge assist question answered",data:{question:n||o,sources:d[d.length-1].answer.sources,answer:d[d.length-1].answer.answer,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),r(`knowledge-assist-${d.length-1}`),s(""))},[u,d]),js(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),rl("div",{className:a.root,children:[d.length>0&&le("div",{className:a.alignRight,children:le(_.Button,{onClick:e,children:c("reset")})}),d.map(({question:g,answer:f},y)=>le(_.List,{children:le(_.ListItem,{id:`knowledge-assist-${y}`,"data-testid":"knowledge-search-answer",description:f.answer,closeOnSelect:!0,onClick:()=>t(f.answer),onSourceClick:k=>m(k,g),sources:f.sources,styles:{title:a.question,description:a.answer},extra:le("div",{className:a.listItemFeedback,children:le(nn,{eventName:"knowledge assist feedback",eventData:{question:g,isAgent:o!==g,isFollowUpQuestion:d.length>1,...f}})}),children:g})},`${f.answer}_${y}`)),u==="loading"&&le("p",{className:a.status,children:c("loading")}),u==="error"&&le("p",{className:a.status,children:c("error")}),rl("form",{className:a.form,onSubmit:p,children:[le("input",{ref:i,placeholder:c("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:g=>{r(void 0),s(g.target.value)}}),le("button",{type:"submit",className:a.submit,children:le(nl,{})})]})]})},il=Jg;import{createAsyncThunk as Yg,createSlice as ef}from"@reduxjs/toolkit";var tf={data:null,fetchState:"idle"},we=t=>t.profile.data,rn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Yt=Yg("profile/getProfile",async(t,e)=>{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)}),of=ef({name:"profile",initialState:tf,reducers:{},extraReducers:t=>{t.addCase(Yt.pending,e=>{e.fetchState="loading"}).addCase(Yt.rejected,e=>{e.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),al=of.reducer;import{useEffect as lf}from"react";import{useDispatch as cf}from"react-redux";import{createAction as rf,createAsyncThunk as ul,createSlice as af}from"@reduxjs/toolkit";var nf=["{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}"],sf=new RegExp(nf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function ll(t,e){let o=t.split(sf),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],c=r===o.length-2;n+=i.length;let l=n;if(c){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let d=l===-1?e.slice(n):e.slice(n,l);s.push(d),n=l}return s.join("")}function cl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var pl={suggestions:[],fetchState:"idle"},dl={default:pl},ml=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},an=t=>t.textSuggestions,gl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},ln=rf("textSuggestions/refresh"),ce=ul("textSuggestions/recommendations",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=mt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getTextSuggestions(s,Ut(n),t);if(t==="default"){let d=i?c.filter(gl(a)):c;e.dispatch(pe(d.slice(0,r)))}return c}),eo=ul("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getAutocompleteSuggestions(s,{...Ut(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(c=c.filter(gl(t))),i&&(c=c.map(d=>({...d,text:d.source!=="trie-with-typos"?ll(d.text,t):d.text}))),c=cl(c,r),e.dispatch(pe(c)),c}),fl=af({name:"textSuggestions",initialState:dl,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}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||pl;return{...e,[n]:{...s,fetchState:"loading"}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(eo.pending,e=>{e.default.fetchState="loading"}).addCase(eo.rejected,e=>{e.default.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>dl)}}),{setTextSuggestions:R1,setSuggestionState:P1}=fl.actions,hl=fl.reducer;import{useSelector as yl}from"react-redux";import{jsx as cn,jsxs as uf}from"react/jsx-runtime";var df=({commands:t,onClick:e})=>{var a,c,l;let o=cf(),n=E(Qt),s=yl(we),r=yl(an),i=((l=(c=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:c.initialTypes)==null?void 0:l.filter(({isActive:d})=>d))||[];return lf(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(ce(d))})},[]),uf("div",{children:[t.length>0&&cn(_.List,{heading:n("commands"),children:t.map((d,u)=>cn(_.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:u})=>{var p;return cn(_.List,{heading:u,orientation:"vertical",children:(p=r[d])==null?void 0:p.suggestions.map((m,g)=>cn(_.ListItem,{id:`${d}-${g}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},d)})]})},vl=df;import{jsx as se,jsxs as Qs}from"react/jsx-runtime";var hf=200,yf=5,vf=4,Sl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Sf=()=>{let t=ff(),e=oe(),o=E(Qt),[n,s]=Zs(!1),[r,i]=Zs(""),a=Ze(Oi),c=Ze(we),[l,d]=Zs(),u=Ze(X),p=b("showSearch"),m=b("showEntitiesCommand"),g=b("showSummaryCommand"),f=b("showKnowledgeSearch"),y=b("showImageSearch"),k=b("searchTriggerKey"),v=Ze(ia),S=Ze(_i),R=Ze(Di),x=Ze(Ni),T=C=>jn(S.filter($=>$.type===C.toUpperCase()),C),N=[{value:"PERSONAL",label:o("personalSuggestions"),list:T("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:T("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:T("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:T("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(C=>C.shouldShow),z=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:m&&Sl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:g&&Sl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:f}].filter(C=>C.shouldShow),F=(v==null?void 0:v.map(C=>({value:C.code.toUpperCase(),label:`${C.name}s`,list:T(C.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],I=qs(mf((C,$)=>{t($e({query:C,type:$,tags:["search-overlay"],size:l?50:20}))},hf),[l]),O=qs((C,$)=>{switch($.type){case"IMAGE":e.send(gs,{suggestion:$});break;default:e.send(Ne,{text:C,suggestion:$})}t(J(!1))},[t]),V=C=>{je(C.text),t(W({name:"entity copied",data:{entity:C,type:"copy"}})),t(J(!1))},ee=qs(C=>{t(W({name:"suggestion feedback",data:{text:C.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),iu=C=>{e.send(Ne,{text:C,suggestion:{source:"knowledge-assist",text:C}}),t(W({name:"answer used",data:{originalText:C},options:{includeConversationData:!0}})),i(""),t(re("search")),t(bt()),t(J(!1))},au=C=>{je(C),t(J(!1))};function jn(C,$){return C.slice(0,l?10:$.toLowerCase()==="image"?vf:yf)}function _t(C){return $=>{n?window.confirm(o("warning"))&&(C($),s(!1)):C($)}}return Xs(()=>{r?I(r,l):t(Oo())},[r,l]),Xs(()=>{a==="search"&&t(bt())},[a]),Xs(()=>{u&&t(qt())},[u]),Aa(k,()=>t(J(!0))),!p||!c?null:Qs(_,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:_t(C=>t(J(C))),onChangeType:C=>d(C),onChangePage:_t(C=>t(re(C))),selectedType:l,search:r,page:a,isOpen:x,types:[...F,...N],children:[Qs(_.Page,{id:"search",children:[r.length===0&&se(vl,{commands:z,onClick:O}),r.length>0&&Qs(gf,{children:[z.length>0&&se(_.List,{heading:o("commands"),children:z.map((C,$)=>se(_.ListItem,{closeOnSelect:!1,onClick:C.onClick,id:`commands-${$}`,children:C.label},C.label))}),[...F,...N].map(({value:C,label:$,list:Ur,lineClamp:lu,listOrientation:cu})=>se(_.List,{heading:$,orientation:cu==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(C),hasMore:!l&&R[C.toLowerCase()]>jn(Ur,C).length,children:jn(Ur,C).map(Q=>se(_.ListItem,{id:`${C}-${Q.id}`,closeOnSelect:!1,lineClamp:lu,onClick:()=>O(Q.text,Q),description:C!=="IMAGE"?Q.title&&Q.text:void 0,onFeedback:C!=="IMAGE"?()=>ee(Q):void 0,children:C==="IMAGE"?se(_.Image,{title:Q.title||Q.text,src:Q.image}):Q.title||Q.text},`${Q.id}-${Q.text}`))},C))]})]}),se(_.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:_t(()=>{t(re("search"))}),children:se(Da,{onCopy:V})}),se(_.Page,{id:"summary",title:o("summaryTitle"),onDismiss:_t(()=>{t(re("search"))}),children:se(Xa,{onCopy:au})}),se(_.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:_t(()=>{t(bt()),t(re("search"))}),children:se(il,{question:r,onUse:iu,onResetQuestion:()=>{t(bt()),i("")}})})]})},xl=Sf;import{jsx as bl,jsxs as Cf}from"react/jsx-runtime";var bf=()=>{let t=b("showSearch"),e=b("isEmbedded");return Cf(xf,{children:[t&&bl(xl,{}),e&&bl(ra,{})]})},Cl=bf;import Rf from"classnames";import{useSelector as Pf}from"react-redux";import{jsx as Js}from"react/jsx-runtime";var wl=({className:t})=>Js("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:Js("g",{children:Js("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
+ `,Ge.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:d.pluralType}).select(p-(d.offset||0));S=d.options[R]||d.options.other}if(!S)throw new xs(d.value,p,Object.keys(d.options),i);a.push.apply(a,Gt(S.value,e,o,n,s,p-(d.offset||0)));continue}}return Dp(a)}function Fp(t,e){return e?Y(Y(Y({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=Y(Y({},t[n]),e[n]||{}),o},{})):t}function Bp(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Fp(t[n],e[n]),o},Y({},t)):t}function bs(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Kp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.number),strategy:jo.variadic}),getDateTimeFormat:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.dateTime),strategy:jo.variadic}),getPluralRules:Go(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,_o([void 0],o,!1)))},{cache:bs(t.pluralRules),strategy:jo.variadic})}}var Qi=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 d=r.formatToParts(l);if(d.length===1)return d[0].value;var u=d.reduce(function(p,m){return!p.length||m.type!==G.literal||typeof p[p.length-1]!="string"?p.push(m.value):p[p.length-1]+=m.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return Gt(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,c=Vi(i,["formatters"]);this.ast=t.__parse(e,Y(Y({},c),{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=Bp(t.formats,n),this.formatters=s&&s.formatters||Kp(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>"u")){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=Gi,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 Vp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var $p="dummy",Cs=Up(null);function E(t){let e=zp(Cs);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=Vp(o,n);return r?new Qi(r).format(s):(e!==$p&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Gp,useRef as jp}from"react";var Ji={root:"J",content:"Po"};import{jsx as Yi}from"react/jsx-runtime";var qp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let c=jp(null),l=h("Dialog",Ji),d=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===c.current&&t&&n()};return Gp(()=>{var p,m;!c.current||!t||!e||(m=(p=c.current)==null?void 0:p.querySelector("input, textarea"))==null||m.focus()},[t,e,c]),t?Yi("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:c,onKeyDown:d,onMouseDown:u,children:Yi("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},qo=qp;import Zp from"classnames";var ea={root:"y"};import{jsx as Jp}from"react/jsx-runtime";var Qp=({className:t,value:e,...o})=>{let n=h("TextInput",ea);return Jp("input",{className:Zp(t,n.root),type:"text",value:e,...o})},jt=Qp;var ws={};q(ws,{enUS:()=>Yp,nlNL:()=>em});var Yp={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"}]},em={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 ta={root:"Qo",anchorButton:"Vo",errorMessage:"Wo",title:"Zo",subtitle:"_o",text:"oe",input:"ee",actions:"ie",button:"w",primaryButton:"re"};import{jsx as Z,jsxs as Xo}from"react/jsx-runtime";var im=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},am=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=E(ws),i=h("LoginTokenDialog",ta),a=rm(si),c=sm(),l=b("productName"),[d,u]=Es(t||""),[p,m]=Es(0),[g,f]=Es(""),y=oa(async R=>{R.preventDefault(),c(ii({email:d})),m(1)},[o,d]),k=()=>{f(""),m(0)},v=oa(async R=>{R.preventDefault();let x=im(R.target.elements.token.value);if(!x){f(r("verifyCodeError",{login:S}));return}c(Ft({token:x}))},[o]),S=nm(()=>R=>Z("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:k,children:R},"back-button"),[]);return om(()=>{a==="error"&&f(r("verifyCodeError",{login:S})),a==="done"&&n()},[a]),Z(qo,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Xo("div",{className:i.root,children:[Z("h1",{className:i.title,children:r("promptTitle",{productName:l})}),p===0&&Xo("form",{onSubmit:y,children:[Z("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Z("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),Z(jt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:R=>u(R.target.value)}),Z("div",{className:i.actions,children:Z("button",{type:"submit",className:Ts(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&Xo("form",{onSubmit:v,children:[Z("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Z("p",{className:i.text,children:r("verifyCodeBody")}),Z(jt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),g&&Z("div",{className:i.errorMessage,children:g}),Xo("div",{className:i.actions,children:[Z("button",{type:"button",className:Ts(i.button),onClick:k,children:r("back")}),Z("button",{type:"submit",className:Ts(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},na=am;import{jsx as cm}from"react/jsx-runtime";var lm=()=>{let t=sa(ri),e=sa(Ii),o=b("adminUrl"),n=oe(),s=()=>n.send(gt,!1),r=()=>{n.send(gt,!1),n.send(zt)};return cm(na,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},ra=lm;import gf from"lodash.debounce";import{Fragment as ff,useCallback as qs,useEffect as Xs,useState as Zs}from"react";import{useDispatch as hf,useSelector as Ze}from"react-redux";import{createAsyncThunk as dm,createSlice as um}from"@reduxjs/toolkit";var pm={data:null,fetchState:"idle"},ia=t=>t.contentTypes.data,qt=dm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),mm=um({name:"contentTypes",initialState:pm,reducers:{},extraReducers:t=>{t.addCase(qt.pending,e=>{e.fetchState="loading"}).addCase(qt.rejected,e=>{e.fetchState="error"}).addCase(qt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),aa=mm.reducer;function je(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 Ia,useState as Ym,useRef as eg,useCallback as tg}from"react";import{useState as ym}from"react";import ks from"classnames";var ne={root:"te",list:"ne",listWrapper:"ae",listHorizontal:"K",page:"v",search:"P",pageNav:"pe",pageTitle:"de",pageBackButton:"Q",listHeader:"le",listHeading:"se",listMoreButton:"ce",listItem:"V",listItemContent:"a",listItemText:"xe",listItemDescription:"fe",listItemActions:"W",truncate:"ge",lineClamp:"be",listItemTitle:"he",listItemAction:"me",listItemPrimaryAction:"ue",listItemSelected:"ye",sources:"we",sourcesTitle:"ve",source:"ke",icon:"Z",searchIcon:"ze",searchInputWrapper:"je",searchInput:"k",select:"Ye",selectType:"qe",selectWrapper:"z",image:"Ce",imageSrc:"Se",imageSrcHidden:"Ee",imageSrcStatus:"Ge",imageTitle:"Ne",actions:"Ae",actionsWrapper:"Fe",actionsBar:"He",actionButton:"_",hasShortKeys:"Le",actionShortcut:"Me",actionShortcutFixKerning:"Re"};var qe={};q(qe,{enUS:()=>fm,nlNL:()=>hm});var fm={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"}]},hm={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"}]};import{jsx as Xt,jsxs as Sm}from"react/jsx-runtime";var vm=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=ym("loading"),r=E(qe);return Sm("div",{className:o.image,children:[Xt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:ks(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Xt("span",{className:ks(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Xt("span",{className:ks(o.imageSrc,o.imageSrcStatus),children:Xt(yo,{})}),e&&Xt("span",{className:o.imageTitle,children:e})]})},la=vm;import xm from"react";import bm from"classnames";import{jsx as Rs,jsxs as ca}from"react/jsx-runtime";function Ps({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=E(qe),i=h("CommandPalette",ne);return xm.Children.count(t)===0?null:ca("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ca("div",{className:i.listHeader,children:[e&&Rs("h4",{className:i.listHeading,children:e}),n&&s&&Rs("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Rs("div",{className:bm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Jo from"classnames";import{Interweave as Wm}from"interweave";var Cm=/[.*+?^${}()|[\]\\]/g,wm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Tm(t){return t.replace(Cm,"\\$&")}function Em(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function km(t){return t.search(wm)}function da(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Tm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ua(t){return t.replace(xo,'<mark data-type="placeholder">$1</mark>')}function Zt(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function Rm(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 Is(t,e,o={}){if(e){let n=Em(e.toLowerCase(),t.toLowerCase()),s=Zt(t.substring(n,t.length));if(o.stripAgentPart){let c=t.substring(0,n),l=km(c);return`<span style="opacity: 0.5">${c.substring(l+1)}</span>${s}`}let i=e.split(Yr).length>3||e.length>30?Rm(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Zt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Pm=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ls(t){return Pm.test(t)}function pa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Lm,{useState as ma,useEffect as ga,useMemo as Am,useRef as fa,useCallback as Mm,useContext as Nm}from"react";import Om from"classnames";var As={root:"Te",trigger:"oo",content:"Ue",contentOpen:"Be",contentTop:"De",contentBottom:"Ie",item:"eo"};import{jsx as Zo,jsxs as Fm}from"react/jsx-runtime";var _m=0,ha=Lm.createContext(null),Dm=()=>{let t=Nm(ha);if(!t)throw new Error("Invalid DropdownContext");return t},ya=({trigger:t,children:e,position:o="bottom"})=>{let n=Am(()=>++_m,[]),s=fa(null),r=fa(null),i=h("Dropdown",As),[a,c]=ma(!1),[l,d]=ma(o),u=m=>{m.preventDefault(),m.stopPropagation(),c(!a)},p=Mm(([m])=>{!m.isIntersecting&&a&&d(l==="top"?"bottom":"top")},[a]);return ga(()=>{let m=g=>{s.current&&!s.current.contains(g.target)&&c(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),ga(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),Zo(ha.Provider,{value:{setIsOpen:c},children:Fm("div",{ref:s,className:i.root,children:[Zo("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),Zo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Om(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Hm({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",As),{setIsOpen:i}=Dm(),a=c=>{i(!1),o(c),c.stopPropagation()};return Zo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}ya.Item=Hm;var Ms=ya;import{jsx as va}from"react/jsx-runtime";var Sa=t=>va("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:va("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 Xe={};q(Xe,{enUS:()=>Bm,nlNL:()=>Km});var Bm={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"}]},Km={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{jsx as Ns}from"react/jsx-runtime";var Um="%0d%0a%0d%0a%0d%0a",zm=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Um)}`},Vm=({suggestion:t,onFeedback:e})=>{let o=E(Xe),n=b("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Ns(Ms,{trigger:Ns(Sa,{"data-testid":"feedback-dropdown-trigger"}),children:Ns(Ms.Item,{as:"a",href:zm(n,t),onClick:e,children:o("giveFeedback")})})},Qo=Vm;import Os from"react";import{jsx as $m}from"react/jsx-runtime";var xa=Os.createContext(void 0);function Oe(){let t=Os.useContext(xa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ba=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Os.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return $m(xa.Provider,{value:i,children:t})};import{jsx as _e,jsxs as _s}from"react/jsx-runtime";function Ds({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,extra:r,onSourceClick:i,description:a,sources:c,id:l,styles:d,...u}){let{selected:p,onChangeOpen:m}=Oe(),g=h("CommandPalette",ne);function f(y){n(y),t&&m(!1)}return _s("div",{className:Jo(g.listItem,l===p&&g.listItemSelected),children:[_e("button",{type:"button",className:Jo(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":u.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...u,children:_s("div",{className:g.listItemContent,children:[typeof o=="string"?_e("p",{className:Jo(g.listItemText,g.truncate,d==null?void 0:d.title),children:o}):o,a&&_e(Wm,{tagName:"p",allowList:[],content:Ls(a)?pa(a):a,className:Jo(g.listItemDescription,d==null?void 0:d.description,e?g.lineClamp:g.truncate)})]})}),r,s&&_e("div",{className:g.listItemActions,children:_e(Qo,{suggestion:String(o),onFeedback:s})}),c&&c.length>0&&_s("div",{className:g.sources,children:[_e("span",{className:g.sourcesTitle,children:"Sources"}),c.map(y=>y.url?_e("a",{className:g.source,href:y.url,target:"_blank",title:y.url,rel:"noopener noreferrer",onClick:()=>i&&i(y),children:y.name},y.url):_e("span",{className:g.source,children:y.name},y.name))]})]})}import{jsx as Ca,jsxs as Gm}from"react/jsx-runtime";var wa=()=>Gm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ca("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ca("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 Ta,jsxs as Hs}from"react/jsx-runtime";function Fs({children:t,title:e,id:o,onDismiss:n}){let s=E(qe),r=h("CommandPalette",ne),{page:i}=Oe();return i!==o?null:Hs("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Hs("div",{className:r.pageNav,children:[Hs("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Ta(wa,{}),s("back")]}),e&&Ta("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as qm}from"react";import{jsx as Ea,jsxs as jm}from"react/jsx-runtime";var ft=()=>jm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ea("path",{d:"M0 0h24v24H0z",fill:"none"}),Ea("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 ht,jsxs as Bs}from"react/jsx-runtime";function Xm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let c=h("CommandPalette",ne);return Bs("div",{className:c.search,children:[ht("div",{className:c.searchIcon,children:ht(ft,{})}),Bs("div",{className:c.searchInputWrapper,children:[ht("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:c.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ht("div",{className:c.selectWrapper,children:Bs("select",{"data-testid":"command-palette-type-select",className:c.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&ht("option",{children:n}),s.map(l=>ht("option",{value:l.value,children:l.label},l.value))]})})]})]})}var ka=qm(Xm);import Ra from"classnames";import{jsx as Qm,jsxs as Jm}from"react/jsx-runtime";var Zm=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return Jm("button",{type:"button",...n,onClick:t,className:Ra(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Qm("span",{className:Ra(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Pa=Zm;import{jsx as La,jsxs as ng}from"react/jsx-runtime";var og="[data-command-palette-item]";function yt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:c,types:l,children:d,isOpen:u,search:p}){let[m,g]=Ym(),f=eg(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},k=()=>{var I;if(n!==o&&s){s(o);return}if(c&&i){i(void 0),(I=f.current)==null||I.focus();return}if(p.length>0){r("");return}a(!1)},v=()=>{let I=S();I.length!==0&&g(I[0].dataset.itemId)},S=()=>Array.from(document.querySelectorAll(og)||[]),R=I=>document.querySelector(`[data-item-id=${I}]`),x=I=>{let O=R(I);O&&g(O.dataset.itemId)},T=I=>{let O=R(I);O&&O.scrollIntoView({behavior:"smooth"})},N=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),ee=I[V+1];ee&&ee.dataset.itemId?x(ee.dataset.itemId):v()},z=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),ee=I[V-1];ee&&ee.dataset.itemId?x(ee.dataset.itemId):x(I[I.length-1].dataset.itemId)},F=tg(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),N();break}case"ArrowUp":{I.preventDefault(),z();break}case"Enter":{if(m){let O=R(m);O==null||O.click()}break}}},[m]);return Ia(()=>{v()},[p,n,c,u]),Ia(()=>{m&&T(m)},[m]),La(qo,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:k,onClose:y,onKeyDown:F,children:ng(ba,{selected:m,setSelected:g,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&La(ka,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:c,types:l,typePlaceholder:e}),d]})})}yt.Page=Fs;yt.List=Ps;yt.Image=la;yt.ListItem=Ds;yt.Button=Pa;var _=yt;import{useEffect as sg}from"react";function Aa(t,e){sg(()=>{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 _a,useRef as pg}from"react";import{useSelector as mg,useDispatch as gg}from"react-redux";import{createAsyncThunk as rg,createSlice as ig}from"@reduxjs/toolkit";var Ma={data:null,fetchState:"idle"},Yo=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=rg("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),ag=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),lg=ig({name:"entities",initialState:Ma,reducers:{},extraReducers:t=>{t.addCase(ae.pending,e=>{e.fetchState="loading"}).addCase(ae.rejected,e=>{e.fetchState="error"}).addCase(ae.fulfilled,(e,o)=>{e.fetchState="done",e.data=ag(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>Ma)}}),Na=lg.reducer;var Ks={};q(Ks,{enUS:()=>cg,nlNL:()=>dg});var cg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},dg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Oa={root:"Oe",empty:"Xe"};import{jsx as Us,jsxs as hg}from"react/jsx-runtime";var fg=({onCopy:t})=>{let e=pg(null),o=h("EntitiesList",Oa),n=mg(Yo),{setSelected:s}=Oe(),r=E(Ks),i=gg();return _a(()=>{i(ae())},[]),_a(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),hg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Us(_.List,{children:n.map((a,c)=>Us(_.ListItem,{id:`entity-${c}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Us("p",{className:o.empty,children:r("noResults")})]})},Da=fg;import{Fragment as Ag,useEffect as sn,useRef as Mg,useState as Ng}from"react";import{useSelector as $s,useDispatch as Og}from"react-redux";import{createAsyncThunk as yg,createSlice as vg}from"@reduxjs/toolkit";var Ha={data:null,fetchState:"idle"},Fa=t=>t.summary.data,Ba=t=>t.summary.fetchState==="error",Ka=t=>t.summary.model,be=yg("summary/getSummary",async(t,e)=>{var d,u,p;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(p=(u=e.getState().info)==null?void 0:u.agentInfo)==null?void 0:p.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,c=await a();if(c.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(c,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),Sg=vg({name:"summary",initialState:Ha,reducers:{},extraReducers:t=>{t.addCase(be.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(be.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(be.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(M,()=>Ha)}}),Ua=Sg.reducer;var zs={};q(zs,{enUS:()=>xg,nlNL:()=>bg});var xg={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."}]},bg={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 za={root:"Je",actions:"Ke",main:"Pe",textInput:"io",loading:"Qe",error:"Ve"};import ja from"classnames";import{useState as Pg}from"react";import{jsx as Va}from"react/jsx-runtime";var en=t=>Va("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Va("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 $a}from"react/jsx-runtime";var tn=t=>$a("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:$a("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 Ce(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}var Vs={};q(Vs,{enUS:()=>wg,nlNL:()=>Tg});var wg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Tg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as kg}from"react-redux";import{createAsyncThunk as Eg}from"@reduxjs/toolkit";function Wa(t){return Eg("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,{conversationId:n,...s,data:e.data})})(t)}function vt(){let t=kg();return async(e,o)=>{await t(Wa({name:e,data:o}))}}var Ga={fadeup:"j",fadedown:"Y",thumbs:"We",selected:"ro",thumbsUp:"Ze",thumbsDown:"_e"};import{jsx as on,jsxs as Lg}from"react/jsx-runtime";var Ig=({eventName:t,eventData:e})=>{let o=h("FeedbackThumbs",Ga),n=E(Vs),s=vt(),[r,i]=Pg(null),a=l=>{l.preventDefault(),l.stopPropagation(),Ce(l.target,o.fadeup),i("up"),s(t,{...e,rating:"up"})},c=l=>{l.preventDefault(),l.stopPropagation(),Ce(l.target,o.fadedown),i("down"),s(t,{...e,rating:"down"})};return Lg("div",{className:o.thumbs,children:[on(A.IconButton,{title:n("thumbsUp"),onClick:a,icon:on(tn,{}),className:ja(o.thumbsUp,r==="up"&&o.selected),disabled:!!r}),on(A.IconButton,{title:n("thumbsDown"),onClick:c,icon:on(en,{}),className:ja(o.thumbsDown,r==="down"&&o.selected),disabled:!!r})]})},nn=Ig;import{jsx as St,jsxs as qa}from"react/jsx-runtime";var _g=({onCopy:t})=>{let e=Mg(null),o=h("SummaryForm",za),[n,s]=Ng(""),r=E(zs),i=$s(Ka),a=$s(Fa),c=$s(Ba),l=Og(),d=()=>{l(W({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},u=()=>{let p=document.getSelection();p&&l(W({name:"summary copied to clipboard",data:{originalText:a,finalText:p==null?void 0:p.toString(),model:i},options:{includeConversationData:!0}}))};return sn(()=>{l(be())},[]),sn(()=>{s(a||"")},[a]),sn(()=>{e.current&&a&&e.current.focus()},[e,a]),sn(()=>{let p=m=>{m.key==="Enter"&&m.shiftKey&&d()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),St("div",{className:o.root,tabIndex:-1,children:c?St("p",{className:o.error,children:r("error")}):qa(Ag,{children:[St("div",{className:o.main,children:St("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:u,onChange:p=>s(p.target.value)})}),qa("div",{className:o.actions,children:[St(nn,{eventName:"summary feedback",eventData:{summary:a}}),St(_.Button,{shortKeys:[8679,8629],onClick:d,children:r("copy")})]})]})})},Xa=_g;var Qt={};q(Qt,{enUS:()=>Dg,nlNL:()=>Hg});var Dg={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?"}]},Hg={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 Zg,{useEffect as js,useRef as Qg}from"react";import{useDispatch as Jg,useSelector as sl}from"react-redux";var Ws={};q(Ws,{enUS:()=>Fg,nlNL:()=>Bg});var Fg={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"}]},Bg={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 Za={root:"to",title:"oi",empty:"ei",status:"ii",form:"no",input:"ao",submit:"ri",question:"ti",answer:"ni",alignRight:"ai",listItemFeedback:"pi"};import{createAction as Wg,createAsyncThunk as Gg,createSlice as jg}from"@reduxjs/toolkit";import{createAsyncThunk as Ug,createSlice as zg}from"@reduxjs/toolkit";var Vg={data:null,fetchState:"idle"},Qa=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Jt=Ug("knowledgeAssistant/getKnowledgeAssistant",async(t,e)=>{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}),$g=zg({name:"knowledgeAssistant",initialState:Vg,reducers:{},extraReducers:t=>{t.addCase(Jt.pending,e=>{e.fetchState="loading"}).addCase(Jt.rejected,e=>{e.fetchState="error"}).addCase(Jt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ja=$g.reducer;var Gs={data:[],fetchState:"idle"},Ya=t=>{var e;return(e=t.answer)==null?void 0:e.data},el=t=>t.answer.fetchState,bt=Wg("answer/resetKnowledgeSearch"),xt=Gg("answer/getAnswer",async(t,e)=>{var c,l,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Qa(e.getState()),r=(c=e.getState().conversation.current)==null?void 0:c.sessionId,i=(d=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),qg=jg({name:"answer",initialState:Gs,reducers:{},extraReducers:t=>{t.addCase(xt.pending,e=>{e.fetchState="loading"}).addCase(xt.rejected,e=>{e.fetchState="error"}).addCase(xt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>Gs).addCase(bt,()=>Gs)}}),tl=qg.reducer;import{jsx as ol,jsxs as Xg}from"react/jsx-runtime";var nl=()=>Xg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[ol("title",{id:"paperPlaneTitle",children:"PaperPlane"}),ol("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"})]});import{jsx as le,jsxs as rl}from"react/jsx-runtime";var Yg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Zg.useState(""),{setSelected:r}=Oe(),i=Qg(null),a=h("KnowledgeSearchStyles",Za),c=E(Ws),l=Jg(),d=sl(Ya),u=sl(el),p=async g=>{g.preventDefault(),g.stopPropagation(),n!==""&&l(xt(n))},m=(g,f)=>{l(W({name:"knowledge assist source viewed",data:{question:f,sourceViewed:g.url||g.name},options:{includeConversationData:!0}}))};return js(()=>{var g;o&&u==="idle"?l(xt(o)):(g=i.current)==null||g.focus()},[i,u]),js(()=>{u==="done"&&(l(W({name:"knowledge assist question answered",data:{question:n||o,sources:d[d.length-1].answer.sources,answer:d[d.length-1].answer.answer,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),r(`knowledge-assist-${d.length-1}`),s(""))},[u,d]),js(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),rl("div",{className:a.root,children:[d.length>0&&le("div",{className:a.alignRight,children:le(_.Button,{onClick:e,children:c("reset")})}),d.map(({question:g,answer:f},y)=>le(_.List,{children:le(_.ListItem,{id:`knowledge-assist-${y}`,"data-testid":"knowledge-search-answer",description:f.answer,closeOnSelect:!0,onClick:()=>t(f.answer),onSourceClick:k=>m(k,g),sources:f.sources,styles:{title:a.question,description:a.answer},extra:le("div",{className:a.listItemFeedback,children:le(nn,{eventName:"knowledge assist feedback",eventData:{question:g,isAgent:o!==g,isFollowUpQuestion:d.length>1,...f}})}),children:g})},`${f.answer}_${y}`)),u==="loading"&&le("p",{className:a.status,children:c("loading")}),u==="error"&&le("p",{className:a.status,children:c("error")}),rl("form",{className:a.form,onSubmit:p,children:[le("input",{ref:i,placeholder:c("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:g=>{r(void 0),s(g.target.value)}}),le("button",{type:"submit",className:a.submit,children:le(nl,{})})]})]})},il=Yg;import{createAsyncThunk as ef,createSlice as tf}from"@reduxjs/toolkit";var of={data:null,fetchState:"idle"},we=t=>t.profile.data,rn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Yt=ef("profile/getProfile",async(t,e)=>{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)}),nf=tf({name:"profile",initialState:of,reducers:{},extraReducers:t=>{t.addCase(Yt.pending,e=>{e.fetchState="loading"}).addCase(Yt.rejected,e=>{e.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),al=nf.reducer;import{useEffect as cf}from"react";import{useDispatch as df}from"react-redux";import{createAction as af,createAsyncThunk as ul,createSlice as lf}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}"],rf=new RegExp(sf.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function ll(t,e){let o=t.split(rf),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],c=r===o.length-2;n+=i.length;let l=n;if(c){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let d=l===-1?e.slice(n):e.slice(n,l);s.push(d),n=l}return s.join("")}function cl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var pl={suggestions:[],fetchState:"idle"},dl={default:pl},ml=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},an=t=>t.textSuggestions,gl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},ln=af("textSuggestions/refresh"),ce=ul("textSuggestions/recommendations",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=mt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getTextSuggestions(s,Ut(n),t);if(t==="default"){let d=i?c.filter(gl(a)):c;e.dispatch(pe(d.slice(0,r)))}return c}),eo=ul("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getAutocompleteSuggestions(s,{...Ut(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(c=c.filter(gl(t))),i&&(c=c.map(d=>({...d,text:d.source!=="trie-with-typos"?ll(d.text,t):d.text}))),c=cl(c,r),e.dispatch(pe(c)),c}),fl=lf({name:"textSuggestions",initialState:dl,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}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(ce.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||pl;return{...e,[n]:{...s,fetchState:"loading"}}}).addCase(ce.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(ce.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(eo.pending,e=>{e.default.fetchState="loading"}).addCase(eo.rejected,e=>{e.default.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>dl)}}),{setTextSuggestions:R1,setSuggestionState:P1}=fl.actions,hl=fl.reducer;import{useSelector as yl}from"react-redux";import{jsx as cn,jsxs as pf}from"react/jsx-runtime";var uf=({commands:t,onClick:e})=>{var a,c,l;let o=df(),n=E(Qt),s=yl(we),r=yl(an),i=((l=(c=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:c.initialTypes)==null?void 0:l.filter(({isActive:d})=>d))||[];return cf(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(ce(d))})},[]),pf("div",{children:[t.length>0&&cn(_.List,{heading:n("commands"),children:t.map((d,u)=>cn(_.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:u})=>{var p;return cn(_.List,{heading:u,orientation:"vertical",children:(p=r[d])==null?void 0:p.suggestions.map((m,g)=>cn(_.ListItem,{id:`${d}-${g}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},d)})]})},vl=uf;import{jsx as se,jsxs as Qs}from"react/jsx-runtime";var yf=200,vf=5,Sf=4,Sl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),xf=()=>{let t=hf(),e=oe(),o=E(Qt),[n,s]=Zs(!1),[r,i]=Zs(""),a=Ze(Oi),c=Ze(we),[l,d]=Zs(),u=Ze(X),p=b("showSearch"),m=b("showEntitiesCommand"),g=b("showSummaryCommand"),f=b("showKnowledgeSearch"),y=b("showImageSearch"),k=b("searchTriggerKey"),v=Ze(ia),S=Ze(_i),R=Ze(Di),x=Ze(Ni),T=C=>jn(S.filter($=>$.type===C.toUpperCase()),C),N=[{value:"PERSONAL",label:o("personalSuggestions"),list:T("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:T("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:T("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:T("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(C=>C.shouldShow),z=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:m&&Sl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:g&&Sl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:f}].filter(C=>C.shouldShow),F=(v==null?void 0:v.map(C=>({value:C.code.toUpperCase(),label:`${C.name}s`,list:T(C.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],I=qs(gf((C,$)=>{t($e({query:C,type:$,tags:["search-overlay"],size:l?50:20}))},yf),[l]),O=qs((C,$)=>{switch($.type){case"IMAGE":e.send(gs,{suggestion:$});break;default:e.send(Ne,{text:C,suggestion:$})}t(J(!1))},[t]),V=C=>{je(C.text),t(W({name:"entity copied",data:{entity:C,type:"copy"}})),t(J(!1))},ee=qs(C=>{t(W({name:"suggestion feedback",data:{text:C.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),au=C=>{e.send(Ne,{text:C,suggestion:{source:"knowledge-assist",text:C}}),t(W({name:"answer used",data:{originalText:C},options:{includeConversationData:!0}})),i(""),t(re("search")),t(bt()),t(J(!1))},lu=C=>{je(C),t(J(!1))};function jn(C,$){return C.slice(0,l?10:$.toLowerCase()==="image"?Sf:vf)}function _t(C){return $=>{n?window.confirm(o("warning"))&&(C($),s(!1)):C($)}}return Xs(()=>{r?I(r,l):t(Oo())},[r,l]),Xs(()=>{a==="search"&&t(bt())},[a]),Xs(()=>{u&&t(qt())},[u]),Aa(k,()=>t(J(!0))),!p||!c?null:Qs(_,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:_t(C=>t(J(C))),onChangeType:C=>d(C),onChangePage:_t(C=>t(re(C))),selectedType:l,search:r,page:a,isOpen:x,types:[...F,...N],children:[Qs(_.Page,{id:"search",children:[r.length===0&&se(vl,{commands:z,onClick:O}),r.length>0&&Qs(ff,{children:[z.length>0&&se(_.List,{heading:o("commands"),children:z.map((C,$)=>se(_.ListItem,{closeOnSelect:!1,onClick:C.onClick,id:`commands-${$}`,children:C.label},C.label))}),[...F,...N].map(({value:C,label:$,list:Ur,lineClamp:cu,listOrientation:du})=>se(_.List,{heading:$,orientation:du==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(C),hasMore:!l&&R[C.toLowerCase()]>jn(Ur,C).length,children:jn(Ur,C).map(Q=>se(_.ListItem,{id:`${C}-${Q.id}`,closeOnSelect:!1,lineClamp:cu,onClick:()=>O(Q.text,Q),description:C!=="IMAGE"?Q.title&&Q.text:void 0,onFeedback:C!=="IMAGE"?()=>ee(Q):void 0,children:C==="IMAGE"?se(_.Image,{title:Q.title||Q.text,src:Q.image}):Q.title||Q.text},`${Q.id}-${Q.text}`))},C))]})]}),se(_.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:_t(()=>{t(re("search"))}),children:se(Da,{onCopy:V})}),se(_.Page,{id:"summary",title:o("summaryTitle"),onDismiss:_t(()=>{t(re("search"))}),children:se(Xa,{onCopy:lu})}),se(_.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:_t(()=>{t(bt()),t(re("search"))}),children:se(il,{question:r,onUse:au,onResetQuestion:()=>{t(bt()),i("")}})})]})},xl=xf;import{jsx as bl,jsxs as wf}from"react/jsx-runtime";var Cf=()=>{let t=b("showSearch"),e=b("isEmbedded");return wf(bf,{children:[t&&bl(xl,{}),e&&bl(ra,{})]})},Cl=Cf;import Pf from"classnames";import{useSelector as If}from"react-redux";import{jsx as Js}from"react/jsx-runtime";var wl=({className:t})=>Js("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:Js("g",{children:Js("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 Tl}from"react/jsx-runtime";var wf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},El=({className:t,color:e})=>Tl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Tl("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:wf[e||"pink"]})});var kl={root:"q",text:"C",isLoggedIn:"di",isLoggedOut:"po",icon:"li",logo:"si",lock:"ci"};var Ys={};q(Ys,{enUS:()=>Ef,nlNL:()=>kf});var Ef={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},kf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as If}from"react-redux";import{jsx as er,jsxs as Rl}from"react/jsx-runtime";var Pl=({onLogIn:t})=>{let e=E(Ys),o=b("floatingMenu"),n=b("productName"),s=If(),r=Pf(X),i=h("FloatingMenu",kl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(J(!0)):t()};return Rl("button",{className:Rf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[er("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Rl("div",{className:i.icon,children:[er(El,{className:i.logo,color:"pink"}),r===!1&&er(wl,{className:i.lock})]})]})};import{useEffect as Qf,useRef as Jf}from"react";import{connect as Yf,useDispatch as eh,useSelector as mn}from"react-redux";import{useEffect as Lf}from"react";function Ct(t){Lf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Qe(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function wt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;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 Af}from"@reduxjs/toolkit";var Mf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var dn=({ui:t})=>t.overlayCollapsed;var Il=Af({name:"ui",initialState:Mf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(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:to,setInputHasFocus:tr,setOverlayCollapsed:De,setOpenOverlayWhenTyping:Ll,setOverlayCollapsedUserOverwrite:Al}=Il.actions,Ml=Il.reducer;import{Fragment as jf,useMemo as qf}from"react";import{Interweave as Df}from"interweave";import{useEffect as Hf,useMemo as Ff,useRef as Bf}from"react";import{useDispatch as Kf,useSelector as Uf}from"react-redux";import{useEffect as Nf}from"react";function Nl(t,e,o){Nf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Ol={root:"xi",actions:"fi",badge:"gi",formattedText:"do"};import{jsx as un,jsxs as Gf}from"react/jsx-runtime";var zf=["search","personal-collection-search","search-autocomplete"];function Vf(t,e,o,n={}){let s="";return zf.includes(e)?s=da(Is(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Is(t,o,n),n.placeholders===!0&&(s=ua(s)),s}var $f=()=>{},Wf=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Uf(mt),i=Kf(),a=h("TextSuggestion",Ol),c=Bf(null);Hf(()=>{let d=setTimeout(()=>{i(xi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),Nl(c,"click",()=>{i(Me(t)),i(me({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Ff(()=>Vf(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:Gf("div",{className:a.root,onMouseEnter:()=>i(Me(t)),children:[un(A,{ref:c,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:$f,children:un(Df,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&un("div",{className:a.actions,children:un(Qo,{onFeedback:()=>n(o),suggestion:o.text})})]})},_l=Wf;import{jsx as Dl}from"react/jsx-runtime";var Xf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=qf(()=>{let r=e.map((i,a)=>Dl(_l,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return Dl(jf,{children:s})},pn=Xf;var Hl={root:"bi",paper:"hi"};import{jsx as gn}from"react/jsx-runtime";var th=({textSuggestions:t,selectedIndex:e})=>{let o=Jf(null),n=h("InlineSuggestionsOverlay",Hl),s=mn(wt),r=eh(),i=mn(X),a=mn(ut),c=mn(dn),l=b("showTextSuggestions");return Ct(()=>{setTimeout(()=>{r(De({collapse:!0,skipWhenInputFocus:!0}))})}),Qf(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),c||!s||!l||t.length===0||i!==!0||a===!1?null:gn("div",{className:n.root,"data-variant":"inline",children:gn("div",{ref:o,className:n.paper,children:gn(te,{children:gn(pn,{suggestions:t,selectedIndex:e})})})})},oh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Fl=Yf(oh)(th);import{Provider as nh}from"react-redux";import{jsx as fn}from"react/jsx-runtime";var sh=({children:t})=>{let o=b("locale").replace("-","");return fn(Cs.Provider,{value:o,children:t})},rh=({store:t,customStyles:e={},children:o})=>fn(nh,{store:t,children:fn(sh,{children:fn(Dt.Provider,{value:e,children:o})})}),Je=rh;import ir from"classnames";import{useEffect as xh,useRef as bh,useState as Ch}from"react";import{connect as wh,useDispatch as Th,useSelector as oo}from"react-redux";import{useState as ih}from"react";function Bl(t,e){let[o,n]=ih(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Kl=()=>/Mac/i.test(navigator.platform);import dh from"classnames";import{Fragment as uh,useCallback as nr,useMemo as zl}from"react";var or={};q(or,{enUS:()=>ah,nlNL:()=>lh});var ah={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"}]}]},lh={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 Ul={root:"mi",anchor:"ui",anchorButton:"yi"};import{jsx as hn,jsxs as Vl}from"react/jsx-runtime";var sr=(t,e,o)=>n=>hn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),ph=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=E(or),i=oe(),a=h("Login",Ul),c=b("productName"),l=nr(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=nr(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=zl(()=>y=>hn("a",{onClick:v=>{v.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),p=nr(y=>hn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:m,hour:g,day:f}=zl(()=>({min:sr(a,60*10,l),hour:sr(a,60*60,l),day:sr(a,60*60*12,l)}),[]);return Vl("div",{className:dh(t,a.root),children:[r("loginPlease",{login:o?p:u,productName:c}),n&&Vl(uh,{children:[hn("br",{}),r("snooze",{min:m,hour:g,day:f})]})]})},yn=ph;import{useDispatch as gh}from"react-redux";var $l={root:"lo",text:"wi"};import{jsx as Wl,jsxs as hh}from"react/jsx-runtime";var fh=({title:t})=>{let e=h("SearchTrigger",$l),o=gh();return hh("button",{type:"button",className:e.root,onClick:()=>o(J(!0)),children:[Wl(ft,{}),Wl("span",{className:e.text,children:t})]})},Gl=fh;var rr={};q(rr,{enUS:()=>yh,nlNL:()=>vh});var yh={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"}]},vh={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 jl={root:"vi",isInline:"S",toggleButton:"ki",toggleButtonWrapper:"E",toggleButtonWrapperHidden:"zi",isCollapsed:"so",collapsible:"ji",hints:"co",hintsHidden:"Yi",triggers:"xo",triggersRight:"qi"};import{jsx as U,jsxs as no}from"react/jsx-runtime";var Eh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",jl),s=E(rr),r=oo(wt),i=hi(),a=Th(),c=bh(null),l=b("searchTriggerKey"),d=b("productName"),u=oo(dn),p=oo(X),m=oo(ut),[g,f]=Ch(null),y=b("showSearch"),k=b("showTextSuggestions"),v=b("adminUrl"),S=b("isEmbedded"),[R,x]=Bl("dd-snooze-until-ms",0),T=u||R>Date.now(),N=oo(V=>V.input.text),z=t.filter(V=>V.source!=="gpt").length,F=()=>{T&&x(0),a(Al(!T))},I=V=>{a(W({name:"suggestion feedback",data:{text:V.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=V=>{let ee=Date.now()+V*1e3;x(ee),w.info(`Snooze until: ${new Date(ee)}`),a(De({collapse:!0}))};return xh(()=>{z===0&&f(null)},[t,z]),Ct(()=>{a(De({collapse:!0,skipWhenInputFocus:!0}))}),p===null||m===!1?null:p===!1?no("div",{ref:c,className:ir(n.root,{[n.isCollapsed]:T}),children:[!T&&no("div",{className:n.triggers,children:[U("div",{style:{flex:1}}),U("div",{className:n.triggersRight,children:U(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),U("div",{className:n.toggleButtonWrapper,children:U(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U("div",{className:n.collapsible,children:U(yn,{loginUrl:v,isEmbedded:S,onLogIn:o,onSnooze:O})})]}):!i||!r?null:no("div",{ref:c,className:ir(n.root,{[n.isCollapsed]:T}),children:[!T&&no("div",{className:n.triggers,children:[U("div",{style:{flex:1},children:y&&U("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(Kl()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>f(null),children:U(Gl,{title:s("search")})})}),no("div",{className:n.triggersRight,onFocus:()=>{},children:[U("div",{className:ir(!g&&n.hintsHidden,n.hints),children:g}),U(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),U("div",{className:n.toggleButtonWrapper,children:U(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),z>0&&k&&U("div",{className:n.collapsible,onFocus:()=>{},children:U(te,{children:U(pn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},kh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),ql=wh(kh)(Eh);import yr from"classnames";import{Interweave as Ry}from"interweave";import{useCallback as Py,useEffect as Iy,useMemo as vc,useRef as Ly}from"react";import{connect as Ay}from"react-redux";import{useEffect as Rh,useRef as Ph,useState as Ih}from"react";function vn(t){return t.contentEditable==="true"}function Lh(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 Xl(t){let{selectionStart:e,selectionEnd:o}=vn(t)?Lh(t):t;return[e,o]}function Zl(t){let[,e]=Ih(),o=Ph(null);return o.current=Xl(t),Rh(()=>{let n=()=>{let[s,r]=o.current??[],i=Xl(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 Ql(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(xo);if(!i||i.length===0)return;let a=0;i.find(c=>{let l=n.indexOf(c,a);return s>l&&r<l+c.length?(o.selectionStart=l,o.selectionEnd=l+c.length,!0):(a=l+c.length,!1)})}import{cloneElement as Ah}from"react";var Mh=["div","span","mark","strong","b","i","u","em"];function ar(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(Mh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Ah(n,{children:ar(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var de={root:"Ci",container:"Si",agentText:"fo",tabText:"go",hint:"G",matchSelection:"bo",focus:"Ei",resetIndent:"Gi",matchKeyword:"p",matchPlaceholder:"d",hover:"ho",hintText:"Ni",popover:"Ai",popoverRoot:"Fi",popoverContentContainer:"mo",popoverContent:"Hi",selectionOptions:"Li",selectionOptionsIsHidden:"Mi",selectionOptionsButton:"Ri",caret:"Ti",popoverSuggestionsRoot:"Ui",suggestionsOverlayInputStyles:"Bi"};import ty from"classnames";import{Matcher as oy}from"interweave";import{useEffect as ny,useMemo as sy}from"react";import{useEffect as Oh,useRef as _h,useState as Dh}from"react";function Jl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Sn(t){let e=_h(null),[o,n]=Dh(!1);return Oh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Jl((d,u)=>{let p=e.current;if(!p)return;let m=d/r,g=u/r,f=p.getBoundingClientRect(),y=m>f.x&&m<f.x+f.width&&g>f.y&&g<f.y+f.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[c,l]=Jl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",c),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",c)}},[e]),[e,o]}function Yl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function xn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ec(t){return t!=null}import rc from"classnames";import{createRef as qh,useCallback as cr,useMemo as Xh,useRef as Zh,useState as Qh}from"react";import{useState as Hh,useLayoutEffect as Fh}from"react";var Bh=["bottom","height","left","right","top","width"],Kh=(t={},e={})=>Bh.some(o=>t[o]!==e[o]),Te=new Map,tc,oc=()=>{let t=[],e=[];Te.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Kh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Te.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),tc=window.requestAnimationFrame(oc)};function Uh(t,e){return{observe(){let o=Te.size===0;if(Te.has(t)){let n=Te.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Te.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&oc()},unobserve(){let o=Te.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Te.delete(t),Te.size||cancelAnimationFrame(tc)}}}}function lr(t){let[e,o]=Hh(null);return Fh(()=>{if(!t.current)return;let n=Uh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Vh,useLayoutEffect as $h,useState as Wh}from"react";import{createPortal as Gh}from"react-dom";var nc={root:"Di"};var sc=({children:t,parentNode:e})=>{let[o,n]=Wh(null),s=Vh(Dt);return $h(()=>{let r=document.createElement("div");return Qe(r),r.classList.add(nc.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?Gh(t,o):null};var ge={ref:"Ii",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as dr}from"react/jsx-runtime";var bn=(t=!1)=>{let[e,o]=Qh(t),n=cr(()=>o(!0),[]),s=cr(()=>o(!1),[]),r=cr(()=>o(a=>!a),[]),i=Zh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function ur(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 Tt=({className:t,triggerRef:e,boundaryRef:o=qh(),position:n="above",align:s="center",children:r,toStyle:i=ur,parentNode:a,...c})=>{let l=lr(e),d=lr(o),u=Xh(()=>i(l,d,0),[l,d]);return dr(sc,{parentNode:a,children:dr("div",{className:rc(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...c,role:"dialog",children:dr("div",{className:rc(t,ge.root),children:r})})})};import Jh from"classnames";import{forwardRef as Yh,useRef as ey}from"react";import{jsx as ic}from"react/jsx-runtime";var Cn=Yh(({className:t,children:e,...o},n)=>{let s=ey(null),r=h("TabCompletion",de);return ic("div",{ref:xn([s,n]),className:Jh(t,r.popoverContentContainer),...o,children:ic("div",{className:r.popoverContent,children:e})})});import{jsx as so,jsxs as ay}from"react/jsx-runtime";var ry=t=>e=>{let o=ur(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},iy=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",de),i=bn(),a=sy(()=>ry(t.getBoundingClientRect()),[t]),[c,l]=Sn(t);return ny(()=>{l?i.open():i.close()},[l]),ay("span",{children:[so("mark",{ref:xn([c,i.triggerRef]),className:ty(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&so(Tt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:so(Cn,{style:o,children:so("div",{className:r.hintText,children:s})})})]})},wn=class extends oy{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${Yl(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(ec);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return so(iy,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as ly}from"interweave";import cy from"classnames";import{jsx as ac}from"react/jsx-runtime";var dy=({inputElement:t,children:e})=>{let o=h("TabCompletion",de),[n,s]=Sn(t);return ac("mark",{ref:n,className:cy(o.matchPlaceholder,{[o.hover]:s}),children:e})},Tn=class extends ly{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 ac(dy,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import hr from"classnames";import{Matcher as xy}from"interweave";import{createRef as by,forwardRef as Cy,useCallback as wy,useEffect as fc,useRef as hc,useState as yc}from"react";import{useDispatch as Ty}from"react-redux";import{jsx as lc}from"react/jsx-runtime";var cc=()=>lc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:lc("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 py,useEffect as uc,useState as pc}from"react";import{useDispatch as my,useSelector as mc}from"react-redux";import gy from"lodash.debounce";var dc={root:"Oi",content:"Xi"};function En(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{return null}}function pr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Ye,jsxs as mr}from"react/jsx-runtime";var fy=3,hy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),yy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=fy})=>{let r=h("LinkSearch",dc),[i,a]=pc(""),c=my(),l=mc(ml("url")),d=mc(Hi("URL",hy)),[u,p]=pc(d.length-1),m=b("fallbackImage"),g=v=>{let S=v.target;a(S.value)},f=(v,S)=>{v.stopPropagation(),v.preventDefault(),window.open(S,"_blank")},y=v=>{var x;let S=u-1<0?d.length-1:u-1,R=u+1===d.length?0:u+1;v.code==="Escape"&&(a(""),e()),v.code==="ArrowUp"&&p(S),v.code==="ArrowDown"&&p(R),v.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},k=py(gy(v=>{c($e({query:v,type:"URL",tags:["link-search"]}))},300),[]);return uc(()=>{i&&k(i)},[i]),uc(()=>()=>{c(Oo())},[]),mr("div",{className:r.root,children:[Ye(te,{withDivider:!0,children:(i?d:l).slice(0,s).map((v,S)=>Ye(A,{selected:u===S,onClick:()=>t(v.text),"data-testid":"linksearch-suggestion",children:mr(D,{children:[Ye(D.Image,{src:En(v,"small",m||void 0),title:v.title||v.text}),mr(D.Content,{className:r.content,cropText:!0,children:[Ye(D.Title,{children:v.title||pr(v.text)}),v.title&&pr(v.text)]}),Ye(A.Actions,{children:Ye(A.ActionButton,{label:n,onClick:R=>f(R,v.text)})})]})},v.text))}),Ye(jt,{value:i,onChange:g,autoFocus:!0,placeholder:o,onKeyUp:y})]})},gc=yy;var gr={};q(gr,{enUS:()=>vy,nlNL:()=>Sy});var vy={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Sy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as fe,jsxs as fr}from"react/jsx-runtime";var Ey=Cy((t,e)=>{let o=h("TabCompletion",de);return fe("mark",{ref:e,className:hr(o.matchSelection)},"selection-start")}),ky=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=E(gr),i=h("TabCompletion",de),a=hc(null),c=hc(null),[l,d]=yc(null),u=Ty(),p=bn(document.activeElement===n),[m]=yc(()=>document.createRange());p.triggerRef.current=m,fc(()=>()=>m.detach(),[]),fc(()=>{let f=t.current,y=a.current;!f||!y||(m.setStart(f,0),m.setEnd(y,0))},[t.current,a.current]),Ct(()=>{p.close()});let g=wy(f=>{let y=m.toString(),k=/^http(s?):\/\//.test(f)?f:`https://${f}`;u(Io({text:`[${y}](${k})`,replace:"selection"}))},[]);return fr("span",{children:[fe("mark",{ref:a,className:hr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&fe(Tt,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:fr(Cn,{style:o,ref:c,children:[fe("div",{className:hr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:fr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[fe(cc,{}),fe("span",{children:"\xA0"}),fe("span",{children:r("insertLink")})]})}),l==="insertLink"&&fe(gc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:g,onDismiss:()=>{d(null),p.close()}})]})})]},"selection-end")},kn=class extends xy{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=by(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?fe(Ey,{ref:this.startRef}):fe(ky,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as My}from"react-redux";import{jsx as Et,jsxs as _y}from"react/jsx-runtime";var Ny=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:c})=>{let l=h("TabCompletion",de),d=b("insertLink"),u=b("showMidSentenceSuggestions"),p=b("inlineSuggestions"),m=Zl(a),g=Ly(null),f=My(X);Iy(()=>{He(a)&&m&&Ql(a,m)},[m]);let y=Py(S=>{if(!s||!o)return S;let R=[Et("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Et("span",{"data-testid":"tab-completion",className:yr(l.tabText,l.resetIndent),"data-source":c,children:o},"tabText")];return n&&R.push(Et("span",{className:yr(l.hint,l.resetIndent),children:Et(Zn,{keyCode:"tab"},"tabHint")})),ar(S,R)},[s,o,n]),k=vc(()=>{let S=[];return d&&S.push(new kn("selection")),S.push(new Tn("placeholders")),r&&S.push(new wn("keywords")),S},[p,d,r]),v=vc(()=>{let S=window.getComputedStyle(a);return{"--dd-color":S.color,"--dd-font-size":S.fontSize,"--dd-font-family":S.fontFamily,"--dd-font-variant":S.fontVariant}},[]);return!t||!f?null:_y("div",{ref:S=>{S!=null&&S.parentElement&&(g.current=S==null?void 0:S.parentElement)},className:l.root,style:v,children:[Et(Ry,{tagName:"span",containerTagName:"div",className:yr(l.container,l.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:y,matchers:k,selection:m,keywordMatches:i,inputElement:a,inputStyle:v,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!u}),Et("br",{})]})},Oy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",c=t.html??Zt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:p,visible:m,showStyleSuggestions:g}=o;return{showTabHint:d,showStyleSuggestions:g,showTabCompletion:p,content:c,tabText:l,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:m&&u!==!1}},Sc=Ay(Oy)(Ny);import Wv from"classnames";import{Fragment as Gv,useEffect as jv}from"react";import{useDispatch as Nn,useSelector as j}from"react-redux";import{createAsyncThunk as ro,createSlice as Dy}from"@reduxjs/toolkit";var xc={list:[],fetchState:"idle"},Cc=t=>t.autoflows.list||[],bc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ee=ro("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),vr=ro("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(Ee(t.platformSessionId))}),Sr=ro("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(Ee(t.platformSessionId))}),Hy=Dy({name:"autoflows",initialState:xc,reducers:{},extraReducers:t=>{t.addCase(vr.pending,(e,o)=>{let n=bc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Sr.pending,(e,o)=>{let n=bc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ee.pending,e=>{e.fetchState="loading"}),t.addCase(Ee.rejected,e=>{e.fetchState="error"}),t.addCase(Ee.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>xc)}}),wc=ro("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(Ee(t))}),s.on("sessionCompleted",()=>{o(Ee(t))})}),Tc=ro("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Ec=Hy.reducer;import{createAsyncThunk as ao,createSlice as Fy}from"@reduxjs/toolkit";var kc={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Rc=t=>t.customMessages.list,Pc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Ic=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Lc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),io=ao("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Rn=ao("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Pn=ao("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),Ac=Fy({name:"customMessages",initialState:kc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},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.list=o.payload||[]}).addCase(Rn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Rn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Pn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Pn.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(M,()=>kc)}}),Mc=ao("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(Ac.actions.onCustomMessage(r))})}),Nc=ao("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Oc=Ac.reducer;import{createAsyncThunk as _c,createSlice as By}from"@reduxjs/toolkit";var Ky={token:null,accountUrl:null,interval:null},Dc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},xr=_c("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),br=_c("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(xr()),setInterval(()=>n(xr()),o)}),Hc=By({name:"passwordlessToken",initialState:Ky,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(xr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(br.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Fc}=Hc.actions,Bc=Hc.reducer;import{createAction as Uy,createAsyncThunk as zy,createSlice as Vy}from"@reduxjs/toolkit";var Cr={cues:[],fetchState:"idle"},Kc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},$y=Uy("rules/resetCues"),et=zy("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(d=>d.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return w.info(s.message),[]}}),Uc=Vy({name:"answer",initialState:Cr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(et.pending,e=>{e.fetchState="loading"}).addCase(et.rejected,e=>{e.fetchState="error"}).addCase(et.fulfilled,(e,o)=>{let n=o.payload.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload,...s]}).addCase(M,()=>Cr).addCase($y.toString(),()=>Cr)}}),{removeCue:zc}=Uc.actions,Vc=Uc.reducer;import{Fragment as ov}from"react";import{connect as nv}from"react-redux";import Yy from"classnames";import{Fragment as ev}from"react";import Gy from"classnames";var $c={root:"Ji"};import{jsx as qy}from"react/jsx-runtime";var jy=({className:t,children:e})=>{let o=h("Unicode",$c);return qy("span",{className:Gy(t,o.root),children:e})},Wc=jy;var Gc={isDisabled:"Ki",buttonStart:"Pi",root:"Qi",buttonStop:"uo",stateBadge:"h",isCompleted:"Vi",isStarted:"Wi",isAborted:"Zi"};var wr={};q(wr,{enUS:()=>Zy,nlNL:()=>Qy});var Zy={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"}]},Qy={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 tt,jsxs as In}from"react/jsx-runtime";var tv=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Gc),a=E(wr),c=e==="Started"?"stop":"start",l=c==="start"?"\u25B6":c==="stop"?"\u25FC":"";return In(A,{className:Yy(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[tt(D,{children:In(D.Content,{children:[In(D.Title,{children:[e&&tt("span",{className:i.stateBadge,children:a(e)}),o]}),tt("span",{children:n})]})}),tt(A.Actions,{fixed:e==="Started",children:tt(A.ActionButton,{primary:!0,className:c==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:In(ev,{children:[tt(Wc,{children:l})," ",tt("span",{children:a(c)})]})})})]})},jc=tv;import{jsx as qc}from"react/jsx-runtime";var sv=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},rv=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>qc(ov,{children:t.map(s=>qc(jc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||sv(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),iv=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},av={onStartAutoflow:vr,onStopAutoflow:Sr},Xc=nv(iv,av)(rv);import cv from"classnames";import{useCallback as Zc}from"react";import{useDispatch as dv,useSelector as Ln}from"react-redux";var ke={root:"yo",title:"wo",isUsed:"_i",quickReplies:"or",quickReply:"er",hasError:"ir",label:"rr",errorIcon:"tr"};import{jsx as Fe,jsxs as An}from"react/jsx-runtime";var uv=({suggestion:t})=>{let e=E(Xe),o=dv(),n=Ln(Pc(t.text)),s=Ln(Ic(t.text)),r=Ln(Lc(t.text)),i=Ln(dt),{replyOptions:a}=t,c=Zc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(Rn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Zc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),p=a[u];o(Pn({platformSessionId:i,reply:p,suggestion:t}))},[t,n,o,i]);return An(A,{onClick:c,className:cv(ke.root,{[ke.isUsed]:n,[ke.hasError]:r}),children:[Fe(D,{children:An(D.Content,{children:[An(D.Title,{className:ke.title,children:[t.text," ",Fe(Qn,{className:ke.label,children:"analyse tool"})," ",r&&Fe("span",{className:ke.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Fe("ul",{className:ke.quickReplies,children:a.map(d=>Fe("li",{className:ke.quickReply,children:d.title},d.title))})]})}),An(A.Actions,{fixed:r||n,children:[a&&a.length>0&&Fe(A.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>Fe(A.DropdownItem,{index:u,label:d.title,onClick:l},d.title))}),Fe(A.ActionButton,{primary:!0,disabled:n,onClick:c,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Qc=uv;import{useEffect as mv,useState as gv}from"react";import{useDispatch as fv}from"react-redux";import ed from"classnames";import{jsx as Jc}from"react/jsx-runtime";var Tr=()=>Jc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Jc("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 Yc={root:"nr",entity:"r",entityText:"ar",iconWrapper:"pr",icon:"dr",iconClicked:"lr"};import{jsx as kt,jsxs as td}from"react/jsx-runtime";var hv=({entities:t})=>{let e=h("EntitiesWidgetList",Yc),[o,n]=gv(void 0),s=fv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),je(a.text),s(W({name:"entity copied",data:{entity:a,type:"copy"}})))};return mv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:kt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,c)=>td("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[kt("span",{className:e.entityText,children:a.text}),td("span",{className:e.iconWrapper,children:[kt("span",{className:ed(e.icon),children:kt(Tr,{})}),kt("span",{className:ed(e.icon,o===c&&e.iconClicked),children:kt(Tr,{})})]})]},a.text))})},od=hv;import{jsx as nd}from"react/jsx-runtime";var sd=()=>nd("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nd("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 rd}from"react/jsx-runtime";var id=()=>rd("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:rd("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 ad}from"react/jsx-runtime";var ld=()=>ad("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:ad("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 Ov}from"react-redux";import fd from"classnames";import{useEffect as Av,useState as Mv}from"react";import{jsx as cd,jsxs as yv}from"react/jsx-runtime";var dd=({className:t})=>yv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[cd("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),cd("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import Sv from"dompurify";import{Fragment as xv,useMemo as bv,useRef as Cv,useState as wv}from"react";import Tv from"snarkdown";var ud={fadeup:"N",root:"i",popover:"sr",options:"vo",copyIcon:"A",option:"ko",divider:"cr"};import{jsx as lo,jsxs as pd}from"react/jsx-runtime";function Ev(t){return`<button type="button" 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 Er(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function kv(t){return t.replace(/\r\n/g,`
8
- `)}var Rv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",ud),i=Cv(null),[a,c]=wv(null),l=bv(()=>{let g=Tv(kv(t));return Sv.sanitize(g).replace(/<\/code>/g,`${Ev(r.copyIcon)}</code>`)},[t]),d=g=>{var k;let f=g.target,y=!!((k=i.current)!=null&&k.querySelector("code"));a||y&&f.tagName!=="CODE"||!y&&f!==i.current||(f.addEventListener("mouseleave",()=>c(null),{once:!0}),c(f))},u=()=>{if(!a)return;c(null);let g=a.querySelector("button");g&&(Ce(g,r.fadeup),n(Er(a)))},p=g=>{g.target.tagName.toLowerCase()==="button"&&(Ce(g.target,r.fadeup),n(Er(g.target.parentElement)))},m=()=>{a&&(c(null),s(Er(a)))};return pd(xv,{children:[a&&lo(Tt,{triggerRef:{current:a},parentNode:a,className:r.popover,children:pd("div",{className:r.options,children:[lo("button",{type:"button",className:r.option,onClick:u,children:o}),lo("div",{className:r.divider}),lo("button",{type:"button",className:r.option,onClick:m,children:e})]})}),lo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:d,onClick:p})]})},md=Rv;var kr={};q(kr,{enUS:()=>Pv,nlNL:()=>Iv});var Pv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Iv={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var gd={fadeup:"F",fadedown:"H",selected:"zo",thumbsUp:"xr",thumbsDown:"fr"};import{jsx as Re,jsxs as hd}from"react/jsx-runtime";var Nv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",gd),a=E(kr),c=vt(),[l,d]=Mv(null),u=y=>{o&&o(y,t)},p=y=>{n&&n(y,t)},m=y=>{y.preventDefault(),y.stopPropagation(),e(t)},g=y=>{y.preventDefault(),y.stopPropagation(),Ce(y.target,i.fadeup),d("up"),s(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Ce(y.target,i.fadedown),d("down"),r(t)};return Av(()=>{c("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),hd(A,{"data-testid":"cue",children:[Re(D,{children:hd(D.Content,{children:[t.title&&Re(D.Title,{"data-testid":"widget-cue-title",children:t.title}),Re(md,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:p})]})}),Re(A.IconButton,{title:a("thumbsUp"),onClick:g,icon:Re(tn,{}),className:fd(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Re(A.IconButton,{title:a("thumbsDown"),onClick:f,icon:Re(en,{}),className:fd(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Re(A.IconButton,{title:a("removeCue"),onClick:m,icon:Re(dd,{})})]})},yd=Nv;import{Fragment as Dv,jsx as vd}from"react/jsx-runtime";var _v=({cues:t})=>{let e=Ov(),o=oe(),n=vt(),s=l=>{e(zc({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description})},r=(l,d)=>{je(l),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:l})},i=(l,d)=>{o.send(Ne,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up"})},c=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down"})};return vd(Dv,{children:t.map(l=>vd(yd,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:c,onThumbsUp:a},l.rule.id))})},Sd=_v;import{useCallback as Fv}from"react";var Hv=/(https?:\/\/[^\s]+)/,xd=t=>t.split(" ").find(e=>Hv.test(e));import{jsx as Rt,jsxs as Mn}from"react/jsx-runtime";var Bv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=xd(n),r=E(Xe),i=b("showImages"),a=b("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),o(n)},l=Fv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Mn(A,{onClick:c,"data-testid":"edit-suggestion",children:[Mn(D,{children:[i&&t.image&&Rt(D.Image,{src:En(t,"small",a||void 0),title:t.title}),Mn(D.Content,{children:[t.title&&Rt(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&Rt(A.Labels,{labels:t.searchKeywords}),Rt(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Mn(A.Actions,{children:[s&&Rt(A.ActionButton,{onClick:l,label:r("visitUrl")}),Rt(A.ActionButton,{primary:!0,onClick:c,label:r("useSuggestion")})]})]})},bd=Bv;import{Fragment as Uv,jsx as Cd}from"react/jsx-runtime";var Kv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ne,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Cd(Uv,{children:e.map(s=>Cd(bd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},wd=Kv;var co={};q(co,{enUS:()=>zv,nlNL:()=>Vv});var zv={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"}]},Vv={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 uo={root:"gr",loginText:"br",stateText:"jo",sectionList:"hr",shortcutList:"mr",shortcut:"ur",link:"Yo"};import{jsx as P,jsxs as Pt}from"react/jsx-runtime";var On=(t,e)=>{let o=j(X);jv(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},qv=({onLogIn:t})=>{let e=h("Widget",uo),o=b("isEmbedded"),n=b("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(yn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Td=({text:t})=>{let e=h("Widget",uo);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Xv=()=>{let t=E(co),e=Nn(),o=h("Widget",uo),n=b("showSearch"),s=b("showSummaryCommand"),r=b("showKnowledgeSearch"),i=j(Dc("/admin/")),a=oe(),c=b("productName"),l=n||s||r||i;return On(()=>(e(br()),()=>{e(Fc())}),[e]),l?P(Pe,{title:t("actions"),type:"shortcuts",children:Pt("div",{className:o.shortcutList,children:[n&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search",title:t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[P(ft,{}),t("linkSearch")]}),s&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary",title:t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P(ld,{}),t("linkSummary")]}),r&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist",title:t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(id,{}),t("linkKnowledgeSearch")]}),i&&Pt("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login",title:t("linkStudioLogin",{productName:c}),rel:"noreferrer",children:[P(sd,{}),t("linkStudioLogin",{productName:c})]})]})}):null},Zv=()=>{let t=Nn(),e=b("showCustomMessages"),o=j(Rc),n=j(dt);return On(()=>(t(io(n)),t(Mc(n)),()=>{t(Nc(n))}),[t,e,n]),!e||o.length===0?null:P(Pe,{type:"custom-messages","data-testid":"custom-messages",children:P(te,{withDivider:!0,children:o.map(s=>P(Qc,{suggestion:s},s.text))})})},Qv=()=>{let t=E(co),e=Nn(),o=b("showAutoflows"),n=j(Cc),s=j(dt);return On(()=>(e(Ee(s)),e(wc(s)),()=>{e(Tc(s))}),[e,o,s]),!o||n.length===0?null:P(Pe,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:P(te,{withDivider:!0,children:P(Xc,{})})})},Jv=()=>{let t=Nn(),e=j(rn),o=j(Kc),n=j(Yo),s=j(an),r=j(we),i=j(wo);return On(()=>{e.forEach(({type:a})=>{a==="entities"?t(ae()):["cues"].includes(a)||t(ce(a))})},[t,i,r]),P(Gv,{children:e.map(({type:a,title:c,amount:l,lines:d})=>{var u,p;switch(a){case"entities":return n&&n.length>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(od,{entities:n})},a);case"cues":return o&&o.length>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(te,{withDivider:!0,children:P(Sd,{cues:o})})},a);default:return((p=(u=s[a])==null?void 0:u.suggestions)==null?void 0:p.length)>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(te,{withDivider:!0,children:P(wd,{lines:d,contentType:a,suggestions:s[a].suggestions.slice(0,l)||[]})})},a)}})})},Yv=({onLogIn:t})=>{let e=E(co),o=h("Widget",uo),n=j(ut),s=j(X),r=j(dt),i=j(we);return n===!1?P(Td,{text:e("notSupported")}):s===!1?P(qv,{onLogIn:t}):!i||!r||s===null?P(Td,{text:e("waiting")}):P("div",{className:Wv(o.root),"data-testid":"widget",children:Pt(Yn,{className:o.sectionList,children:[P(Xv,{}),P(Zv,{}),P(Qv,{}),P(Jv,{})]})})},Ed=Yv;function mo(t){let e=new Range;return e.selectNodeContents(t),e}function kd(t,e,o){try{return ot(t,e,o),!0}catch{return!1}}function _n(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Dn(t){return"tagName"in t&&t.tagName==="BR"}var po=/[\u200B-\u200D\uFEFF]/g;function ot(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(c,l){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(c))return l;for(let p=0;p<=c.length;p++)if(u.test(c[p])||d++,d===l)return p;throw new Error("Offset out of range")}function a(c){switch(c.nodeType){case Node.TEXT_NODE:{let l=c.textContent,d=l.replace(po,""),u=s+d.length,p=e>=s&&e<=u,m=o>=s&&o<=u;if(p){let g=i(l,e-s);g===0&&!m?n.setStartBefore(c):n.setStart(c,g)}m&&(n.setEnd(c,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Dn(c)&&(s===e&&n.setStartBefore(c),s++,s===o)){n.setEndAfter(c),r=!0;return}for(let d=0;d<c.childNodes.length&&(a(c.childNodes[d]),!r);d++);let l=c.lastChild;_n(c)&&l&&!_n(l)&&!Dn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Hn(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,c,l=0;function d(u){let p=u===o,m=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let g=u.textContent;p&&(a=l+g.substring(0,n).replace(po,"").length),m&&(c=l+g.substring(0,r).replace(po,"").length),l+=g.replace(po,"").length;break}case Node.ELEMENT_NODE:{let g=u.nextSibling===null;Dn(u)&&!g&&l++;for(let f=0;f<u.childNodes.length;f++){let y=p&&f===n,k=m&&f===r;if(y&&(a=l),k&&(c=l),c!==void 0||((!y||!i)&&d(u.childNodes[f]),m&&f===r-1&&(c=l),c!==void 0))break}!m&&_n(u)&&!g&&l++,m&&(c=l);break}default:break}}if(d(t),c===void 0)throw new Error("Could not determine start and end");return{start:a??c,end:c}}function Fn(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}=e,i=-1,a="";function c(l){let d=l===o,u=l===s;switch(d&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=d?n:0,m=u?r:void 0,g=l.textContent.replace(po,"");p===0&&m===void 0?a+=g:a+=g.substring(p,m);break}case Node.ELEMENT_NODE:{let p=l.nextSibling===null;i===0&&Dn(l)&&!p&&(a+=`
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 Tl}from"react/jsx-runtime";var Tf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},El=({className:t,color:e})=>Tl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Tl("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:Tf[e||"pink"]})});var kl={root:"q",text:"C",isLoggedIn:"di",isLoggedOut:"po",icon:"li",logo:"si",lock:"ci"};var Ys={};q(Ys,{enUS:()=>kf,nlNL:()=>Rf});var kf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},Rf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as Lf}from"react-redux";import{jsx as er,jsxs as Rl}from"react/jsx-runtime";var Pl=({onLogIn:t})=>{let e=E(Ys),o=b("floatingMenu"),n=b("productName"),s=Lf(),r=If(X),i=h("FloatingMenu",kl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(J(!0)):t()};return Rl("button",{className:Pf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[er("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Rl("div",{className:i.icon,children:[er(El,{className:i.logo,color:"pink"}),r===!1&&er(wl,{className:i.lock})]})]})};import{useEffect as Jf,useRef as Yf}from"react";import{connect as eh,useDispatch as th,useSelector as mn}from"react-redux";import{useEffect as Af}from"react";function Ct(t){Af(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Qe(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function wt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;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 Mf}from"@reduxjs/toolkit";var Nf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var dn=({ui:t})=>t.overlayCollapsed;var Il=Mf({name:"ui",initialState:Nf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(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:to,setInputHasFocus:tr,setOverlayCollapsed:De,setOpenOverlayWhenTyping:Ll,setOverlayCollapsedUserOverwrite:Al}=Il.actions,Ml=Il.reducer;import{Fragment as qf,useMemo as Xf}from"react";import{Interweave as Hf}from"interweave";import{useEffect as Ff,useMemo as Bf,useRef as Kf}from"react";import{useDispatch as Uf,useSelector as zf}from"react-redux";import{useEffect as Of}from"react";function Nl(t,e,o){Of(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Ol={root:"xi",actions:"fi",badge:"gi",formattedText:"do"};import{jsx as un,jsxs as jf}from"react/jsx-runtime";var Vf=["search","personal-collection-search","search-autocomplete"];function $f(t,e,o,n={}){let s="";return Vf.includes(e)?s=da(Is(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Is(t,o,n),n.placeholders===!0&&(s=ua(s)),s}var Wf=()=>{},Gf=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=zf(mt),i=Uf(),a=h("TextSuggestion",Ol),c=Kf(null);Ff(()=>{let d=setTimeout(()=>{i(xi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),Nl(c,"click",()=>{i(Me(t)),i(me({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Bf(()=>$f(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:jf("div",{className:a.root,onMouseEnter:()=>i(Me(t)),children:[un(A,{ref:c,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Wf,children:un(Hf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&un("div",{className:a.actions,children:un(Qo,{onFeedback:()=>n(o),suggestion:o.text})})]})},_l=Gf;import{jsx as Dl}from"react/jsx-runtime";var Zf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Xf(()=>{let r=e.map((i,a)=>Dl(_l,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return Dl(qf,{children:s})},pn=Zf;var Hl={root:"bi",paper:"hi"};import{jsx as gn}from"react/jsx-runtime";var oh=({textSuggestions:t,selectedIndex:e})=>{let o=Yf(null),n=h("InlineSuggestionsOverlay",Hl),s=mn(wt),r=th(),i=mn(X),a=mn(ut),c=mn(dn),l=b("showTextSuggestions");return Ct(()=>{setTimeout(()=>{r(De({collapse:!0,skipWhenInputFocus:!0}))})}),Jf(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),c||!s||!l||t.length===0||i!==!0||a===!1?null:gn("div",{className:n.root,"data-variant":"inline",children:gn("div",{ref:o,className:n.paper,children:gn(te,{children:gn(pn,{suggestions:t,selectedIndex:e})})})})},nh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Fl=eh(nh)(oh);import{Provider as sh}from"react-redux";import{jsx as fn}from"react/jsx-runtime";var rh=({children:t})=>{let o=b("locale").replace("-","");return fn(Cs.Provider,{value:o,children:t})},ih=({store:t,customStyles:e={},children:o})=>fn(sh,{store:t,children:fn(rh,{children:fn(Dt.Provider,{value:e,children:o})})}),Je=ih;import ir from"classnames";import{useEffect as bh,useRef as Ch,useState as wh}from"react";import{connect as Th,useDispatch as Eh,useSelector as oo}from"react-redux";import{useState as ah}from"react";function Bl(t,e){let[o,n]=ah(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Kl=()=>/Mac/i.test(navigator.platform);import uh from"classnames";import{Fragment as ph,useCallback as nr,useMemo as zl}from"react";var or={};q(or,{enUS:()=>lh,nlNL:()=>ch});var lh={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"}]}]},ch={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 Ul={root:"mi",anchor:"ui",anchorButton:"yi"};import{jsx as hn,jsxs as Vl}from"react/jsx-runtime";var sr=(t,e,o)=>n=>hn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),mh=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=E(or),i=oe(),a=h("Login",Ul),c=b("productName"),l=nr(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=nr(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=zl(()=>y=>hn("a",{onClick:v=>{v.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),p=nr(y=>hn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:m,hour:g,day:f}=zl(()=>({min:sr(a,60*10,l),hour:sr(a,60*60,l),day:sr(a,60*60*12,l)}),[]);return Vl("div",{className:uh(t,a.root),children:[r("loginPlease",{login:o?p:u,productName:c}),n&&Vl(ph,{children:[hn("br",{}),r("snooze",{min:m,hour:g,day:f})]})]})},yn=mh;import{useDispatch as fh}from"react-redux";var $l={root:"lo",text:"wi"};import{jsx as Wl,jsxs as yh}from"react/jsx-runtime";var hh=({title:t})=>{let e=h("SearchTrigger",$l),o=fh();return yh("button",{type:"button",className:e.root,onClick:()=>o(J(!0)),children:[Wl(ft,{}),Wl("span",{className:e.text,children:t})]})},Gl=hh;var rr={};q(rr,{enUS:()=>vh,nlNL:()=>Sh});var vh={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"}]},Sh={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 jl={root:"vi",isInline:"S",toggleButton:"ki",toggleButtonWrapper:"E",toggleButtonWrapperHidden:"zi",isCollapsed:"so",collapsible:"ji",hints:"co",hintsHidden:"Yi",triggers:"xo",triggersRight:"qi"};import{jsx as U,jsxs as no}from"react/jsx-runtime";var kh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",jl),s=E(rr),r=oo(wt),i=hi(),a=Eh(),c=Ch(null),l=b("searchTriggerKey"),d=b("productName"),u=oo(dn),p=oo(X),m=oo(ut),[g,f]=wh(null),y=b("showSearch"),k=b("showTextSuggestions"),v=b("adminUrl"),S=b("isEmbedded"),[R,x]=Bl("dd-snooze-until-ms",0),T=u||R>Date.now(),N=oo(V=>V.input.text),z=t.filter(V=>V.source!=="gpt").length,F=()=>{T&&x(0),a(Al(!T))},I=V=>{a(W({name:"suggestion feedback",data:{text:V.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=V=>{let ee=Date.now()+V*1e3;x(ee),w.info(`Snooze until: ${new Date(ee)}`),a(De({collapse:!0}))};return bh(()=>{z===0&&f(null)},[t,z]),Ct(()=>{a(De({collapse:!0,skipWhenInputFocus:!0}))}),p===null||m===!1?null:p===!1?no("div",{ref:c,className:ir(n.root,{[n.isCollapsed]:T}),children:[!T&&no("div",{className:n.triggers,children:[U("div",{style:{flex:1}}),U("div",{className:n.triggersRight,children:U(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),U("div",{className:n.toggleButtonWrapper,children:U(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U("div",{className:n.collapsible,children:U(yn,{loginUrl:v,isEmbedded:S,onLogIn:o,onSnooze:O})})]}):!i||!r?null:no("div",{ref:c,className:ir(n.root,{[n.isCollapsed]:T}),children:[!T&&no("div",{className:n.triggers,children:[U("div",{style:{flex:1},children:y&&U("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(Kl()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>f(null),children:U(Gl,{title:s("search")})})}),no("div",{className:n.triggersRight,onFocus:()=>{},children:[U("div",{className:ir(!g&&n.hintsHidden,n.hints),children:g}),U(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),U("div",{className:n.toggleButtonWrapper,children:U(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),z>0&&k&&U("div",{className:n.collapsible,onFocus:()=>{},children:U(te,{children:U(pn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},Rh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),ql=Th(Rh)(kh);import yr from"classnames";import{Interweave as Py}from"interweave";import{useCallback as Iy,useEffect as Ly,useMemo as vc,useRef as Ay}from"react";import{connect as My}from"react-redux";import{useEffect as Ph,useRef as Ih,useState as Lh}from"react";function vn(t){return t.contentEditable==="true"}function Ah(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 Xl(t){let{selectionStart:e,selectionEnd:o}=vn(t)?Ah(t):t;return[e,o]}function Zl(t){let[,e]=Lh(),o=Ih(null);return o.current=Xl(t),Ph(()=>{let n=()=>{let[s,r]=o.current??[],i=Xl(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 Ql(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(xo);if(!i||i.length===0)return;let a=0;i.find(c=>{let l=n.indexOf(c,a);return s>l&&r<l+c.length?(o.selectionStart=l,o.selectionEnd=l+c.length,!0):(a=l+c.length,!1)})}import{cloneElement as Mh}from"react";var Nh=["div","span","mark","strong","b","i","u","em"];function ar(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(Nh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Mh(n,{children:ar(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var de={root:"Ci",container:"Si",agentText:"fo",tabText:"go",hint:"G",matchSelection:"bo",focus:"Ei",resetIndent:"Gi",matchKeyword:"p",matchPlaceholder:"d",hover:"ho",hintText:"Ni",popover:"Ai",popoverRoot:"Fi",popoverContentContainer:"mo",popoverContent:"Hi",selectionOptions:"Li",selectionOptionsIsHidden:"Mi",selectionOptionsButton:"Ri",caret:"Ti",popoverSuggestionsRoot:"Ui",suggestionsOverlayInputStyles:"Bi"};import oy from"classnames";import{Matcher as ny}from"interweave";import{useEffect as sy,useMemo as ry}from"react";import{useEffect as _h,useRef as Dh,useState as Hh}from"react";function Jl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Sn(t){let e=Dh(null),[o,n]=Hh(!1);return _h(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Jl((d,u)=>{let p=e.current;if(!p)return;let m=d/r,g=u/r,f=p.getBoundingClientRect(),y=m>f.x&&m<f.x+f.width&&g>f.y&&g<f.y+f.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[c,l]=Jl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",c),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",c)}},[e]),[e,o]}function Yl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function xn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ec(t){return t!=null}import rc from"classnames";import{createRef as Xh,useCallback as cr,useMemo as Zh,useRef as Qh,useState as Jh}from"react";import{useState as Fh,useLayoutEffect as Bh}from"react";var Kh=["bottom","height","left","right","top","width"],Uh=(t={},e={})=>Kh.some(o=>t[o]!==e[o]),Te=new Map,tc,oc=()=>{let t=[],e=[];Te.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Uh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Te.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),tc=window.requestAnimationFrame(oc)};function zh(t,e){return{observe(){let o=Te.size===0;if(Te.has(t)){let n=Te.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Te.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&oc()},unobserve(){let o=Te.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Te.delete(t),Te.size||cancelAnimationFrame(tc)}}}}function lr(t){let[e,o]=Fh(null);return Bh(()=>{if(!t.current)return;let n=zh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as $h,useLayoutEffect as Wh,useState as Gh}from"react";import{createPortal as jh}from"react-dom";var nc={root:"Di"};var sc=({children:t,parentNode:e})=>{let[o,n]=Gh(null),s=$h(Dt);return Wh(()=>{let r=document.createElement("div");return Qe(r),r.classList.add(nc.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?jh(t,o):null};var ge={ref:"Ii",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as dr}from"react/jsx-runtime";var bn=(t=!1)=>{let[e,o]=Jh(t),n=cr(()=>o(!0),[]),s=cr(()=>o(!1),[]),r=cr(()=>o(a=>!a),[]),i=Qh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function ur(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 Tt=({className:t,triggerRef:e,boundaryRef:o=Xh(),position:n="above",align:s="center",children:r,toStyle:i=ur,parentNode:a,...c})=>{let l=lr(e),d=lr(o),u=Zh(()=>i(l,d,0),[l,d]);return dr(sc,{parentNode:a,children:dr("div",{className:rc(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...c,role:"dialog",children:dr("div",{className:rc(t,ge.root),children:r})})})};import Yh from"classnames";import{forwardRef as ey,useRef as ty}from"react";import{jsx as ic}from"react/jsx-runtime";var Cn=ey(({className:t,children:e,...o},n)=>{let s=ty(null),r=h("TabCompletion",de);return ic("div",{ref:xn([s,n]),className:Yh(t,r.popoverContentContainer),...o,children:ic("div",{className:r.popoverContent,children:e})})});import{jsx as so,jsxs as ly}from"react/jsx-runtime";var iy=t=>e=>{let o=ur(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},ay=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",de),i=bn(),a=ry(()=>iy(t.getBoundingClientRect()),[t]),[c,l]=Sn(t);return sy(()=>{l?i.open():i.close()},[l]),ly("span",{children:[so("mark",{ref:xn([c,i.triggerRef]),className:oy(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&so(Tt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:so(Cn,{style:o,children:so("div",{className:r.hintText,children:s})})})]})},wn=class extends ny{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${Yl(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(ec);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return so(ay,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as cy}from"interweave";import dy from"classnames";import{jsx as ac}from"react/jsx-runtime";var uy=({inputElement:t,children:e})=>{let o=h("TabCompletion",de),[n,s]=Sn(t);return ac("mark",{ref:n,className:dy(o.matchPlaceholder,{[o.hover]:s}),children:e})},Tn=class extends cy{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 ac(uy,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import hr from"classnames";import{Matcher as by}from"interweave";import{createRef as Cy,forwardRef as wy,useCallback as Ty,useEffect as fc,useRef as hc,useState as yc}from"react";import{useDispatch as Ey}from"react-redux";import{jsx as lc}from"react/jsx-runtime";var cc=()=>lc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:lc("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 my,useEffect as uc,useState as pc}from"react";import{useDispatch as gy,useSelector as mc}from"react-redux";import fy from"lodash.debounce";var dc={root:"Oi",content:"Xi"};function En(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{return null}}function pr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Ye,jsxs as mr}from"react/jsx-runtime";var hy=3,yy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),vy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=hy})=>{let r=h("LinkSearch",dc),[i,a]=pc(""),c=gy(),l=mc(ml("url")),d=mc(Hi("URL",yy)),[u,p]=pc(d.length-1),m=b("fallbackImage"),g=v=>{let S=v.target;a(S.value)},f=(v,S)=>{v.stopPropagation(),v.preventDefault(),window.open(S,"_blank")},y=v=>{var x;let S=u-1<0?d.length-1:u-1,R=u+1===d.length?0:u+1;v.code==="Escape"&&(a(""),e()),v.code==="ArrowUp"&&p(S),v.code==="ArrowDown"&&p(R),v.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},k=my(fy(v=>{c($e({query:v,type:"URL",tags:["link-search"]}))},300),[]);return uc(()=>{i&&k(i)},[i]),uc(()=>()=>{c(Oo())},[]),mr("div",{className:r.root,children:[Ye(te,{withDivider:!0,children:(i?d:l).slice(0,s).map((v,S)=>Ye(A,{selected:u===S,onClick:()=>t(v.text),"data-testid":"linksearch-suggestion",children:mr(D,{children:[Ye(D.Image,{src:En(v,"small",m||void 0),title:v.title||v.text}),mr(D.Content,{className:r.content,cropText:!0,children:[Ye(D.Title,{children:v.title||pr(v.text)}),v.title&&pr(v.text)]}),Ye(A.Actions,{children:Ye(A.ActionButton,{label:n,onClick:R=>f(R,v.text)})})]})},v.text))}),Ye(jt,{value:i,onChange:g,autoFocus:!0,placeholder:o,onKeyUp:y})]})},gc=vy;var gr={};q(gr,{enUS:()=>Sy,nlNL:()=>xy});var Sy={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},xy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as fe,jsxs as fr}from"react/jsx-runtime";var ky=wy((t,e)=>{let o=h("TabCompletion",de);return fe("mark",{ref:e,className:hr(o.matchSelection)},"selection-start")}),Ry=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=E(gr),i=h("TabCompletion",de),a=hc(null),c=hc(null),[l,d]=yc(null),u=Ey(),p=bn(document.activeElement===n),[m]=yc(()=>document.createRange());p.triggerRef.current=m,fc(()=>()=>m.detach(),[]),fc(()=>{let f=t.current,y=a.current;!f||!y||(m.setStart(f,0),m.setEnd(y,0))},[t.current,a.current]),Ct(()=>{p.close()});let g=Ty(f=>{let y=m.toString(),k=/^http(s?):\/\//.test(f)?f:`https://${f}`;u(Io({text:`[${y}](${k})`,replace:"selection"}))},[]);return fr("span",{children:[fe("mark",{ref:a,className:hr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&fe(Tt,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:fr(Cn,{style:o,ref:c,children:[fe("div",{className:hr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:fr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[fe(cc,{}),fe("span",{children:"\xA0"}),fe("span",{children:r("insertLink")})]})}),l==="insertLink"&&fe(gc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:g,onDismiss:()=>{d(null),p.close()}})]})})]},"selection-end")},kn=class extends by{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=Cy(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?fe(ky,{ref:this.startRef}):fe(Ry,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Ny}from"react-redux";import{jsx as Et,jsxs as Dy}from"react/jsx-runtime";var Oy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:c})=>{let l=h("TabCompletion",de),d=b("insertLink"),u=b("showMidSentenceSuggestions"),p=b("inlineSuggestions"),m=Zl(a),g=Ay(null),f=Ny(X);Ly(()=>{He(a)&&m&&Ql(a,m)},[m]);let y=Iy(S=>{if(!s||!o)return S;let R=[Et("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Et("span",{"data-testid":"tab-completion",className:yr(l.tabText,l.resetIndent),"data-source":c,children:o},"tabText")];return n&&R.push(Et("span",{className:yr(l.hint,l.resetIndent),children:Et(Zn,{keyCode:"tab"},"tabHint")})),ar(S,R)},[s,o,n]),k=vc(()=>{let S=[];return d&&S.push(new kn("selection")),S.push(new Tn("placeholders")),r&&S.push(new wn("keywords")),S},[p,d,r]),v=vc(()=>{let S=window.getComputedStyle(a);return{"--dd-color":S.color,"--dd-font-size":S.fontSize,"--dd-font-family":S.fontFamily,"--dd-font-variant":S.fontVariant}},[]);return!t||!f?null:Dy("div",{ref:S=>{S!=null&&S.parentElement&&(g.current=S==null?void 0:S.parentElement)},className:l.root,style:v,children:[Et(Py,{tagName:"span",containerTagName:"div",className:yr(l.container,l.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:y,matchers:k,selection:m,keywordMatches:i,inputElement:a,inputStyle:v,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!u}),Et("br",{})]})},_y=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",c=t.html??Zt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:p,visible:m,showStyleSuggestions:g}=o;return{showTabHint:d,showStyleSuggestions:g,showTabCompletion:p,content:c,tabText:l,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:m&&u!==!1}},Sc=My(_y)(Oy);import Gv from"classnames";import{Fragment as jv,useEffect as qv}from"react";import{useDispatch as Nn,useSelector as j}from"react-redux";import{createAsyncThunk as ro,createSlice as Hy}from"@reduxjs/toolkit";var xc={list:[],fetchState:"idle"},Cc=t=>t.autoflows.list||[],bc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ee=ro("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),vr=ro("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(Ee(t.platformSessionId))}),Sr=ro("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(Ee(t.platformSessionId))}),Fy=Hy({name:"autoflows",initialState:xc,reducers:{},extraReducers:t=>{t.addCase(vr.pending,(e,o)=>{let n=bc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Sr.pending,(e,o)=>{let n=bc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ee.pending,e=>{e.fetchState="loading"}),t.addCase(Ee.rejected,e=>{e.fetchState="error"}),t.addCase(Ee.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>xc)}}),wc=ro("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(Ee(t))}),s.on("sessionCompleted",()=>{o(Ee(t))})}),Tc=ro("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Ec=Fy.reducer;import{createAsyncThunk as ao,createSlice as By}from"@reduxjs/toolkit";var kc={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Rc=t=>t.customMessages.list,Pc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Ic=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Lc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),io=ao("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Rn=ao("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Pn=ao("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),Ac=By({name:"customMessages",initialState:kc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},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.list=o.payload||[]}).addCase(Rn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Rn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Pn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Pn.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(M,()=>kc)}}),Mc=ao("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(Ac.actions.onCustomMessage(r))})}),Nc=ao("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Oc=Ac.reducer;import{createAsyncThunk as _c,createSlice as Ky}from"@reduxjs/toolkit";var Uy={token:null,accountUrl:null,interval:null},Dc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},xr=_c("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),br=_c("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(xr()),setInterval(()=>n(xr()),o)}),Hc=Ky({name:"passwordlessToken",initialState:Uy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(xr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(br.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Fc}=Hc.actions,Bc=Hc.reducer;import{createAction as zy,createAsyncThunk as Vy,createSlice as $y}from"@reduxjs/toolkit";var Cr={cues:[],fetchState:"idle"},Kc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Wy=zy("rules/resetCues"),et=Vy("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(d=>d.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return w.info(s.message),[]}}),Uc=$y({name:"answer",initialState:Cr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(et.pending,e=>{e.fetchState="loading"}).addCase(et.rejected,e=>{e.fetchState="error"}).addCase(et.fulfilled,(e,o)=>{let n=o.payload.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload,...s]}).addCase(M,()=>Cr).addCase(Wy.toString(),()=>Cr)}}),{removeCue:zc}=Uc.actions,Vc=Uc.reducer;import{Fragment as nv}from"react";import{connect as sv}from"react-redux";import ev from"classnames";import{Fragment as tv}from"react";import jy from"classnames";var $c={root:"Ji"};import{jsx as Xy}from"react/jsx-runtime";var qy=({className:t,children:e})=>{let o=h("Unicode",$c);return Xy("span",{className:jy(t,o.root),children:e})},Wc=qy;var Gc={isDisabled:"Ki",buttonStart:"Pi",root:"Qi",buttonStop:"uo",stateBadge:"h",isCompleted:"Vi",isStarted:"Wi",isAborted:"Zi"};var wr={};q(wr,{enUS:()=>Qy,nlNL:()=>Jy});var Qy={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"}]},Jy={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 tt,jsxs as In}from"react/jsx-runtime";var ov=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Gc),a=E(wr),c=e==="Started"?"stop":"start",l=c==="start"?"\u25B6":c==="stop"?"\u25FC":"";return In(A,{className:ev(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[tt(D,{children:In(D.Content,{children:[In(D.Title,{children:[e&&tt("span",{className:i.stateBadge,children:a(e)}),o]}),tt("span",{children:n})]})}),tt(A.Actions,{fixed:e==="Started",children:tt(A.ActionButton,{primary:!0,className:c==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:In(tv,{children:[tt(Wc,{children:l})," ",tt("span",{children:a(c)})]})})})]})},jc=ov;import{jsx as qc}from"react/jsx-runtime";var rv=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},iv=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>qc(nv,{children:t.map(s=>qc(jc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||rv(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),av=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},lv={onStartAutoflow:vr,onStopAutoflow:Sr},Xc=sv(av,lv)(iv);import dv from"classnames";import{useCallback as Zc}from"react";import{useDispatch as uv,useSelector as Ln}from"react-redux";var ke={root:"yo",title:"wo",isUsed:"_i",quickReplies:"or",quickReply:"er",hasError:"ir",label:"rr",errorIcon:"tr"};import{jsx as Fe,jsxs as An}from"react/jsx-runtime";var pv=({suggestion:t})=>{let e=E(Xe),o=uv(),n=Ln(Pc(t.text)),s=Ln(Ic(t.text)),r=Ln(Lc(t.text)),i=Ln(dt),{replyOptions:a}=t,c=Zc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(Rn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Zc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),p=a[u];o(Pn({platformSessionId:i,reply:p,suggestion:t}))},[t,n,o,i]);return An(A,{onClick:c,className:dv(ke.root,{[ke.isUsed]:n,[ke.hasError]:r}),children:[Fe(D,{children:An(D.Content,{children:[An(D.Title,{className:ke.title,children:[t.text," ",Fe(Qn,{className:ke.label,children:"analyse tool"})," ",r&&Fe("span",{className:ke.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Fe("ul",{className:ke.quickReplies,children:a.map(d=>Fe("li",{className:ke.quickReply,children:d.title},d.title))})]})}),An(A.Actions,{fixed:r||n,children:[a&&a.length>0&&Fe(A.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>Fe(A.DropdownItem,{index:u,label:d.title,onClick:l},d.title))}),Fe(A.ActionButton,{primary:!0,disabled:n,onClick:c,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Qc=pv;import{useEffect as gv,useState as fv}from"react";import{useDispatch as hv}from"react-redux";import ed from"classnames";import{jsx as Jc}from"react/jsx-runtime";var Tr=()=>Jc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Jc("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 Yc={root:"nr",entity:"r",entityText:"ar",iconWrapper:"pr",icon:"dr",iconClicked:"lr"};import{jsx as kt,jsxs as td}from"react/jsx-runtime";var yv=({entities:t})=>{let e=h("EntitiesWidgetList",Yc),[o,n]=fv(void 0),s=hv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),je(a.text),s(W({name:"entity copied",data:{entity:a,type:"copy"}})))};return gv(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:kt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,c)=>td("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[kt("span",{className:e.entityText,children:a.text}),td("span",{className:e.iconWrapper,children:[kt("span",{className:ed(e.icon),children:kt(Tr,{})}),kt("span",{className:ed(e.icon,o===c&&e.iconClicked),children:kt(Tr,{})})]})]},a.text))})},od=yv;import{jsx as nd}from"react/jsx-runtime";var sd=()=>nd("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nd("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 rd}from"react/jsx-runtime";var id=()=>rd("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:rd("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 ad}from"react/jsx-runtime";var ld=()=>ad("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:ad("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 _v}from"react-redux";import fd from"classnames";import{useEffect as Mv,useState as Nv}from"react";import{jsx as cd,jsxs as vv}from"react/jsx-runtime";var dd=({className:t})=>vv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[cd("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),cd("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import xv from"dompurify";import{Fragment as bv,useMemo as Cv,useRef as wv,useState as Tv}from"react";import Ev from"snarkdown";var ud={fadeup:"N",root:"i",popover:"sr",options:"vo",copyIcon:"A",option:"ko",divider:"cr"};import{jsx as lo,jsxs as pd}from"react/jsx-runtime";function kv(t){return`<button type="button" 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 Er(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function Rv(t){return t.replace(/\r\n/g,`
8
+ `)}var Pv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",ud),i=wv(null),[a,c]=Tv(null),l=Cv(()=>{let g=Ev(Rv(t));return xv.sanitize(g).replace(/<\/code>/g,`${kv(r.copyIcon)}</code>`)},[t]),d=g=>{var k;let f=g.target,y=!!((k=i.current)!=null&&k.querySelector("code"));a||y&&f.tagName!=="CODE"||!y&&f!==i.current||(f.addEventListener("mouseleave",()=>c(null),{once:!0}),c(f))},u=()=>{if(!a)return;c(null);let g=a.querySelector("button");g&&(Ce(g,r.fadeup),n(Er(a)))},p=g=>{g.target.tagName.toLowerCase()==="button"&&(Ce(g.target,r.fadeup),n(Er(g.target.parentElement)))},m=()=>{a&&(c(null),s(Er(a)))};return pd(bv,{children:[a&&lo(Tt,{triggerRef:{current:a},parentNode:a,className:r.popover,children:pd("div",{className:r.options,children:[lo("button",{type:"button",className:r.option,onClick:u,children:o}),lo("div",{className:r.divider}),lo("button",{type:"button",className:r.option,onClick:m,children:e})]})}),lo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:d,onClick:p})]})},md=Pv;var kr={};q(kr,{enUS:()=>Iv,nlNL:()=>Lv});var Iv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Lv={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var gd={fadeup:"F",fadedown:"H",selected:"zo",thumbsUp:"xr",thumbsDown:"fr"};import{jsx as Re,jsxs as hd}from"react/jsx-runtime";var Ov=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",gd),a=E(kr),c=vt(),[l,d]=Nv(null),u=y=>{o&&o(y,t)},p=y=>{n&&n(y,t)},m=y=>{y.preventDefault(),y.stopPropagation(),e(t)},g=y=>{y.preventDefault(),y.stopPropagation(),Ce(y.target,i.fadeup),d("up"),s(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Ce(y.target,i.fadedown),d("down"),r(t)};return Mv(()=>{c("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),hd(A,{"data-testid":"cue",children:[Re(D,{children:hd(D.Content,{children:[t.title&&Re(D.Title,{"data-testid":"widget-cue-title",children:t.title}),Re(md,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:p})]})}),Re(A.IconButton,{title:a("thumbsUp"),onClick:g,icon:Re(tn,{}),className:fd(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Re(A.IconButton,{title:a("thumbsDown"),onClick:f,icon:Re(en,{}),className:fd(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Re(A.IconButton,{title:a("removeCue"),onClick:m,icon:Re(dd,{})})]})},yd=Ov;import{Fragment as Hv,jsx as vd}from"react/jsx-runtime";var Dv=({cues:t})=>{let e=_v(),o=oe(),n=vt(),s=l=>{e(zc({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description})},r=(l,d)=>{je(l),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:l})},i=(l,d)=>{o.send(Ne,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up"})},c=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down"})};return vd(Hv,{children:t.map(l=>vd(yd,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:c,onThumbsUp:a},l.rule.id))})},Sd=Dv;import{useCallback as Bv}from"react";var Fv=/(https?:\/\/[^\s]+)/,xd=t=>t.split(" ").find(e=>Fv.test(e));import{jsx as Rt,jsxs as Mn}from"react/jsx-runtime";var Kv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=xd(n),r=E(Xe),i=b("showImages"),a=b("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),o(n)},l=Bv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Mn(A,{onClick:c,"data-testid":"edit-suggestion",children:[Mn(D,{children:[i&&t.image&&Rt(D.Image,{src:En(t,"small",a||void 0),title:t.title}),Mn(D.Content,{children:[t.title&&Rt(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&Rt(A.Labels,{labels:t.searchKeywords}),Rt(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Mn(A.Actions,{children:[s&&Rt(A.ActionButton,{onClick:l,label:r("visitUrl")}),Rt(A.ActionButton,{primary:!0,onClick:c,label:r("useSuggestion")})]})]})},bd=Kv;import{Fragment as zv,jsx as Cd}from"react/jsx-runtime";var Uv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ne,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Cd(zv,{children:e.map(s=>Cd(bd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},wd=Uv;var co={};q(co,{enUS:()=>Vv,nlNL:()=>$v});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"}]},$v={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 uo={root:"gr",loginText:"br",stateText:"jo",sectionList:"hr",shortcutList:"mr",shortcut:"ur",link:"Yo"};import{jsx as P,jsxs as Pt}from"react/jsx-runtime";var On=(t,e)=>{let o=j(X);qv(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Xv=({onLogIn:t})=>{let e=h("Widget",uo),o=b("isEmbedded"),n=b("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(yn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Td=({text:t})=>{let e=h("Widget",uo);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Zv=()=>{let t=E(co),e=Nn(),o=h("Widget",uo),n=b("showSearch"),s=b("showSummaryCommand"),r=b("showKnowledgeSearch"),i=j(Dc("/admin/")),a=oe(),c=b("productName"),l=n||s||r||i;return On(()=>(e(br()),()=>{e(Fc())}),[e]),l?P(Pe,{title:t("actions"),type:"shortcuts",children:Pt("div",{className:o.shortcutList,children:[n&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search",title:t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[P(ft,{}),t("linkSearch")]}),s&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary",title:t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P(ld,{}),t("linkSummary")]}),r&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist",title:t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(id,{}),t("linkKnowledgeSearch")]}),i&&Pt("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login",title:t("linkStudioLogin",{productName:c}),rel:"noreferrer",children:[P(sd,{}),t("linkStudioLogin",{productName:c})]})]})}):null},Qv=()=>{let t=Nn(),e=b("showCustomMessages"),o=j(Rc),n=j(dt);return On(()=>(t(io(n)),t(Mc(n)),()=>{t(Nc(n))}),[t,e,n]),!e||o.length===0?null:P(Pe,{type:"custom-messages","data-testid":"custom-messages",children:P(te,{withDivider:!0,children:o.map(s=>P(Qc,{suggestion:s},s.text))})})},Jv=()=>{let t=E(co),e=Nn(),o=b("showAutoflows"),n=j(Cc),s=j(dt);return On(()=>(e(Ee(s)),e(wc(s)),()=>{e(Tc(s))}),[e,o,s]),!o||n.length===0?null:P(Pe,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:P(te,{withDivider:!0,children:P(Xc,{})})})},Yv=()=>{let t=Nn(),e=j(rn),o=j(Kc),n=j(Yo),s=j(an),r=j(we),i=j(wo);return On(()=>{e.forEach(({type:a})=>{a==="entities"?t(ae()):["cues"].includes(a)||t(ce(a))})},[t,i,r]),P(jv,{children:e.map(({type:a,title:c,amount:l,lines:d})=>{var u,p;switch(a){case"entities":return n&&n.length>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(od,{entities:n})},a);case"cues":return o&&o.length>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(te,{withDivider:!0,children:P(Sd,{cues:o})})},a);default:return((p=(u=s[a])==null?void 0:u.suggestions)==null?void 0:p.length)>0&&P(Pe,{type:a,title:c,"data-testid":`type-${a}`,children:P(te,{withDivider:!0,children:P(wd,{lines:d,contentType:a,suggestions:s[a].suggestions.slice(0,l)||[]})})},a)}})})},eS=({onLogIn:t})=>{let e=E(co),o=h("Widget",uo),n=j(ut),s=j(X),r=j(dt),i=j(we);return n===!1?P(Td,{text:e("notSupported")}):s===!1?P(Xv,{onLogIn:t}):!i||!r||s===null?P(Td,{text:e("waiting")}):P("div",{className:Gv(o.root),"data-testid":"widget",children:Pt(Yn,{className:o.sectionList,children:[P(Zv,{}),P(Qv,{}),P(Jv,{}),P(Yv,{})]})})},Ed=eS;function mo(t){let e=new Range;return e.selectNodeContents(t),e}function kd(t,e,o){try{return ot(t,e,o),!0}catch{return!1}}function _n(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Dn(t){return"tagName"in t&&t.tagName==="BR"}var po=/[\u200B-\u200D\uFEFF]/g;function ot(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(c,l){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(c))return l;for(let p=0;p<=c.length;p++)if(u.test(c[p])||d++,d===l)return p;throw new Error("Offset out of range")}function a(c){switch(c.nodeType){case Node.TEXT_NODE:{let l=c.textContent,d=l.replace(po,""),u=s+d.length,p=e>=s&&e<=u,m=o>=s&&o<=u;if(p){let g=i(l,e-s);g===0&&!m?n.setStartBefore(c):n.setStart(c,g)}m&&(n.setEnd(c,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Dn(c)&&(s===e&&n.setStartBefore(c),s++,s===o)){n.setEndAfter(c),r=!0;return}for(let d=0;d<c.childNodes.length&&(a(c.childNodes[d]),!r);d++);let l=c.lastChild;_n(c)&&l&&!_n(l)&&!Dn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Hn(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,c,l=0;function d(u){let p=u===o,m=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let g=u.textContent;p&&(a=l+g.substring(0,n).replace(po,"").length),m&&(c=l+g.substring(0,r).replace(po,"").length),l+=g.replace(po,"").length;break}case Node.ELEMENT_NODE:{let g=u.nextSibling===null;Dn(u)&&!g&&l++;for(let f=0;f<u.childNodes.length;f++){let y=p&&f===n,k=m&&f===r;if(y&&(a=l),k&&(c=l),c!==void 0||((!y||!i)&&d(u.childNodes[f]),m&&f===r-1&&(c=l),c!==void 0))break}!m&&_n(u)&&!g&&l++,m&&(c=l);break}default:break}}if(d(t),c===void 0)throw new Error("Could not determine start and end");return{start:a??c,end:c}}function Fn(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}=e,i=-1,a="";function c(l){let d=l===o,u=l===s;switch(d&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=d?n:0,m=u?r:void 0,g=l.textContent.replace(po,"");p===0&&m===void 0?a+=g:a+=g.substring(p,m);break}case Node.ELEMENT_NODE:{let p=l.nextSibling===null;i===0&&Dn(l)&&!p&&(a+=`
9
9
  `);for(let m=d?n:0;m<(u?Math.min(r,l.childNodes.length):l.childNodes.length)&&(c(l.childNodes[m]),i!==1);m++);!u&&i===0&&_n(l)&&!p&&(a+=`
10
- `);break}default:break}u&&i++}return c(t),a}var Rd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Rd||{}),Be=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;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)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Le(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Rd).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",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(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}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.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Pd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var It=class extends Be{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Fn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Pd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Pd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Hn(this.element,e);let o=this.lastKnownSelection;if(o&&kd(this.element,o.start,o.end))return o;let n=mo(this.element);return n.collapse(!1),Hn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Fn(this.element,ot(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(e={shouldObserve:!0}){super.listen(e),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),e!=null&&e.shouldObserve&&this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let o=this.element.isContentEditable,n=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var Lt=class extends Be{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Id(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,c])=>{i.searchParams.append(a,c)}),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{return t}}var Rr=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];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()}},Pr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Id(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];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()}},Ir=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.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 Pr(e,this.deepdeskUrl,{debug:!0}):new Rr(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||(w.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;w.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({...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)}},Ld=Ir;var At=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Lr=t=>new Promise(e=>{setTimeout(e,t)});var Mt=class extends At{name="ClientError"},Mr=class extends At{name="ServerError"},Ar=new Map;function tS(t){return t.status===204||["0",null].includes(t.headers.get("content-length"))}var he=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;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,c=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:d=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:m=!0,retryOnError:g=T=>T instanceof TypeError,retryOnResponse:f=T=>T.status>=500,version:y="v1",...k}=o;if(l)if(c){if(Ar.has(i)){n(Ar.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let v={credentials:"include",...k,headers:{"Content-Type":"application/json",...k.headers}};!c&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":y});let S=u,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(S--,a(i,v).then(async T=>f(T)&&!r.isAborted&&S>0?(await Lr(p),x()):T.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),x()):T).catch(async T=>{if(g(T)&&!r.isAborted&&S>0)return await Lr(p),x();throw T}));x().then(async T=>{let N=await T.json().catch(z=>{if(tS(T))return null;throw z});if(delete this.latestRequestByUrl[i],T.status>=500){s(new Mr("Server Error",N));return}else if(T.status===401){s(new Mt("Unauthorized",N));return}else if(T.status===403){s(new Mt("Forbidden",N));return}else if(T.status===404){s(new Mt("Not Found",N));return}else if(T.status>=400){s(new Mt("Bad Request",N));return}l&&Ar.set(i,N),n(N)}).catch(T=>{s(T)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var oS;(e=>{let t;(c=>(c.SEND_MESSAGE="Send Message",c.HANDLING_TIME="Handling Time",c.START_AUTOFLOW="Start Autoflow",c.ABORT_AUTOFLOW="Abort Autoflow",c.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",c.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(oS||={});function Bn(t){return{...L(t),tags:t.tags}}var Ke=class t{constructor(e,o={}){this.options=o;this.client=new he(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...H(e),tags:e.tags},{version:"v2"});return Bn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Bn(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=H(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Bn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...H(s),tags:s.tags})),{version:"v2"})).map(s=>Bn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,c])=>({...i,[a]:c}),{});return this.client.post("/api/events",H({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:H({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return L(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",H(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,H(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(c=>c.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,H(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",H(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,H(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,H({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",H(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ei);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var go=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(cs(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.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 nS;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(nS||={});var fo=class{constructor(e,o={}){this.apiUrl=e;this.client=new he(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,H(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,H(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",H(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new go(`${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 uS}from"@reduxjs/toolkit";import{createSlice as sS}from"@reduxjs/toolkit";var Ad={startTime:null,stopTime:null},Md=sS({name:"handlingTime",initialState:Ad,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(M,()=>Ad)}}),{handlingTimeStart:Nd,handlingTimeStop:Kn,handlingTimeReset:Od}=Md.actions,_d=Md.reducer;var Dd=(t={})=>{let e={onAuthError:lt(!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 Un={list:{keywordMatches:[]},fetchState:"idle"};var nt=rS("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return Un.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),aS=iS({name:"styleSuggestions",initialState:Un,reducers:{},extraReducers:t=>{t.addCase(nt.pending,e=>{e.fetchState="loading"}).addCase(nt.rejected,e=>{e.fetchState="error"}).addCase(nt.fulfilled,(e,o)=>{e.fetchState="done",Le(e.list,o.payload)||(e.list=o.payload)}).addCase(Ve,e=>{e.list=Un.list}).addCase(M,()=>Un)}}),Hd=aS.reducer;var Fd=(t={})=>{let e,o=!0,n={getStyleSuggestions:nt,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,c=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return c;let{showStyleSuggestions:d}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!d)return c;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),c}};function lS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Bd=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:eo,debounce:200,check:wt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),c=n.getState();if(c.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:d}=c.settings,u=(f=c.conversation.current)==null?void 0:f.id,p=r.type===ln.toString();if(!u||!l&&!d)return a;let{input:{userCommitted:m}}=c;return lS(m,i)&&!p||(clearTimeout(o),!e.check(c))||(o=setTimeout(()=>{let y=mt(c);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Kd=nt.fulfilled.toString();function cS(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(c=>c.keyword===s),i=e.keywordMatches.filter(c=>c.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Ud=t=>e=>o=>n=>{var l;if(n.type!==Kd){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 c=cS(s,i);n.type===Kd&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:c}})};var pS=dS({answer:tl,auth:ci,autoflows:Ec,conversation:mi,contentTypes:aa,customMessages:Oc,passwordlessToken:Bc,entities:Na,knowledgeAssistant:Ja,handlingTime:_d,info:Mi,input:Pi,settings:oi,profile:al,search:Bi,summary:Ua,styleSuggestions:Hd,ui:Ml,rules:Vc,textSuggestions:hl});function zd(t){return uS({reducer:pS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Dd(),Bd({debounce:200}),Fd({debounce:500}),Ud(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var mS=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},gS=t=>e=>o=>n=>{var a;let s=e.getState(),r=ns("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case W.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Lo.toString():t.handleKeyDown(n.payload);break;case Ve.toString():t.logSendMessage(n.payload);break;case Ao.toString():t.handleInputChanged(n.payload);break;case et.fulfilled.toString():n.isBroadcasted||t.broadcast(ms,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case Ve.toString():t.handleAfterSendMessage(n.payload);break;case to.toString():t.onUpdateShowTabHint(n.payload);break;case Kn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case me.toString():{let{start:c,end:l}=s.input.selection;t.emit("select-suggestion",{type:mS(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0}),r&&(e.dispatch(pe([])),e.dispatch(xe()));break}case Io.toString():{let{start:c,end:l}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0});break}case Bt.toString():{let c=e.getState(),{text:l,selection:d}=c.input.userCommitted;t.emit("reset",{text:l,selectionAfter:d},{mayApplyChanges:!0});break}case Mo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case pe.toString():{r&&n.payload.length>0&&e.dispatch(Me(0));break}case be.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},Vd=gS;function Nr(t){return t.toISOString().replace("T"," ").replace("Z","")}function $d(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:Nr(o),timeStop:Nr(n)}}function Wd(t,e,o){var N,z,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:c,agentStartedTypingTimestamp:l,externalTimeTotalSeconds:d,pastes:u,cuts:p,deletions:m,textSuggestions:g,offeredTextSuggestions:f}}=e[t],y=n.length,v=g.reduce((I,{text:O,searchTerm:V})=>I+O.length-(V?V.length:0),0),S=l??Date.now(),R=(Date.now()-S)/1e3+(d||0),x=s/R,T=g.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:p,deletions:m,lenTextTyped:s+T,lenTextTotal:y,lenTextAssisted:v,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:R,charsPerSecond:x,numPastes:c,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:f.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(z=e.info.agentInfo)==null?void 0:z.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Or(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Or(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Or(s,e):null}function Gd(t,e){return Or(t,e)}function jd(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 _r(t){return fS(t)&&(He(t)||vn(t))}var qd,ye=new Map,hS=["bottom","height","left","right","top","width"],yS=(t={},e={})=>hS.some(o=>t[o]!==e[o]);function Xd(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...Xd(e)]:[]}function Zd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var zn=!1,Qd=()=>{zn=!0;let t=[];if(ye.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),ye.delete(o);return}let n=o.getBoundingClientRect();yS(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Zd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),ye.size===0){zn=!1;return}qd=window.requestAnimationFrame(Qd)};function Dr(t,e){let o=Xd(t),n=[],s=o.map((r,i)=>Dr(r,a=>{n[i]=a;let c=ye.get(t);if(!c)return;let l=n.reduce(Zd,c.rect);c.callbacks.forEach(d=>d(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),ye.has(t)){let i=ye.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else ye.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!zn&&Qd()},unobserve(){s.forEach(i=>i.unobserve());let r=ye.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||ye.delete(t),ye.size||(cancelAnimationFrame(qd),zn=!1)}}}}var Jd,ve=new Map,Yd=()=>{ve.forEach((t,e)=>{if(!e.isConnected){ve.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)))}),ve.size!==0&&(Jd=window.requestAnimationFrame(Yd))};function eu(t,e){return{observe(){let o=ve.size===0;ve.has(t)?ve.get(t).callbacks.push(e):ve.set(t,{visible:void 0,callbacks:[e]}),o&&Yd()},unobserve(){let o=ve.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ve.delete(t),ve.size||cancelAnimationFrame(Jd)}}}}var Hr=["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 Fr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Nt(t){return parseFloat(t)}function Vn(t){return Math.round(t*1e6)}function tu(t){return t/1e6}function Br(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Nt(t.width),r=Nt(t.borderLeftWidth),i=Nt(t.borderRightWidth),a=Nt(t.paddingRight),c=tu(Vn(s)-Vn(r)-Vn(i)),l=tu(Vn(n));if(c-l>2){let d=c-l;o.style.paddingRight=`${a+d}px`}}function $n(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Qe(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Fr(n,o,Hr),Br(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=eu(t,()=>{Fr(n,o,Hr),Br(n,t,o),r(),setTimeout(r,0)}),a,c=!0,l=Dr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!c&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),c=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),c=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Fr(n,o,Hr),Br(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),g=Nt(m.borderTopWidth),f=Nt(m.borderBottomWidth),y=p.top+g-u.top,k=u.top+u.height+-(p.top+p.height-f);o.style.clipPath=`inset(${y}px 0px ${k}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var ou=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function vS(t){return t.offsetParent!==null}function nu(t){if(!vS(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 Kr(t,e,o=100){let n=nu(t);e({isVisible:n});let s=setInterval(()=>{let r=nu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as B}from"react/jsx-runtime";var su=ou("showTabHint",!0),Gn=class t{static version="11.3.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:c}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Ke(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Vd({broadcast:(u,p,m)=>{this.broadcastEvents.send(u,p,m)},emit:(u,p,m)=>this.emit(u,p,m),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>su.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new fo(o)}),this.store=zd(d),this.broadcastEvents=new Ld({debug:!0,deepdeskUrl:l,eventMap:Ki(this.store),createCustomChannel:c}),this.store.dispatch(to(su.value())),this.store.dispatch(Co({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??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?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();X(n)&&ni(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Se())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(is({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(To(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Eo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(as(e))).payload}async postMessages(e){return(await this.store.dispatch(Ro(e))).payload}async updateConversation(e){return(await this.store.dispatch(ko(e))).payload}resetConversation(){this.store.dispatch(M()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(be());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Co(e))}setVisitorInfo(e){this.store.dispatch(Ai(e))}async setAgentInfo(e){await this.store.dispatch(Kt(e))}async setAgentSettings(e){await this.store.dispatch(us(e))}async getAgentSettings(){return(await this.store.dispatch(ps())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(ln()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Ao(e))}notifyKeyDown(e){this.store.dispatch(Lo(e))}notifyPaste(e,o){this.store.dispatch(Ti({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ci(e))}notifyExternalSuggestion(e){this.store.dispatch(me(e)),this.store.dispatch(xe())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(et({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(De({collapse:!1})),this.inputMediator&&this.store.dispatch(yi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(pe([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,c=s!==-1;if(this.store.dispatch(wi(gi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(Si()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(bi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Bt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():l();return;case"Down":case"ArrowDown":{i?l():d();return}case"Esc":case"Escape":{i&&c&&this.store.dispatch(Me(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Me(-1)),this.store.dispatch(Bt()),e.preventDefault()):o||(this.store.dispatch(De({collapse:!0})),this.store.dispatch(Ll(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,p=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(to(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(p)&&(this.store.dispatch(me({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Ei()),this.store.dispatch(pe([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Nd()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(Kn()))}logSendMessage(e){let o=Wd("input",this.state,{version:this.version});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=$d(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Od())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(Ve(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(me({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}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}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]=$n(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Wn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;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=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,c]=$n(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Wn(s),c()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Qe(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(()=>{Wn(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),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}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()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ri(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!_r(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:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:p,insertLink:m,inputMediator:g,closestScrollSelector:f,appendOverlayTo:y,inlineSuggestions:k,floatingMenu:v}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:m,isEmbedded:u,inlineSuggestions:k,floatingMenu:!!v}),o.automaticHandlingTime&&this.setupHandlingTime(e),Qe(e),this.inputMediator=g||(He(e)?new Lt(e):new It(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(ki({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:T})=>{this.notifyPaste(x,T)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let S=f&&Gd(e,f)||void 0;if(k){let{customStyles:x,appendOverlayTo:T}=o;if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Ot(B(Je,{store:this.store,customStyles:x,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Fl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(pe([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let z=this.overlayContainerFactory("floating-menu",S||e,{appendTo:typeof v=="object"&&"appendOverlayTo"in v?v.appendOverlayTo:T},x==null?void 0:x.floatingMenuRootNode);Ot(B(Je,{store:this.store,customStyles:x,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Pl,{onLogIn:()=>this.loginViaPopup().catch(F=>w.warn(F.message))})})}),z)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",S||e,{appendTo:y,closestScrollElement:S,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),T=this.overlayContainerFactory("deepdesk-suggestions-overlay",S||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Sc,{inputElement:e})})}),x),Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(ql,{onLogIn:()=>this.loginViaPopup().catch(N=>w.warn(N.message))})})}),T)}Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Cl,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",x=>{clearTimeout(R),x===null?R=setTimeout(()=>{x!==null&&this.store.dispatch(ls(x))},500):this.store.dispatch(ls(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(tr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(tr(!0))),this.store.dispatch(vi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(xe()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.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&&w.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}),Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Ed,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Wn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Kr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){jd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Yt());let e=we(this.state);e&&(await this.store.dispatch(Jt()),this.store.dispatch(Co({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){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 c=!1,l=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=async m=>{var g,f;if((g=m.data)!=null&&g.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=m.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(zt),c=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{c=!0,l()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async m=>{var g;if(m.origin===a.origin)switch((g=m.data)==null?void 0:g.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",u);let p=setInterval(()=>{d&&!d.closed||(l(),c||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=rn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):["cues"].includes(n)||this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function SS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},c=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(c()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function xS(t,e,o={}){let n=o.replace?ot(t,o.replace.start,o.replace.end):mo(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
10
+ `);break}default:break}u&&i++}return c(t),a}var Rd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Rd||{}),Be=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;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)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Le(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Rd).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",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(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}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.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Pd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var It=class extends Be{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Fn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Pd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Pd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Hn(this.element,e);let o=this.lastKnownSelection;if(o&&kd(this.element,o.start,o.end))return o;let n=mo(this.element);return n.collapse(!1),Hn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Fn(this.element,ot(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(e={shouldObserve:!0}){super.listen(e),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),e!=null&&e.shouldObserve&&this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let o=this.element.isContentEditable,n=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var Lt=class extends Be{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Id(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,c])=>{i.searchParams.append(a,c)}),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{return t}}var Rr=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];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()}},Pr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Id(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];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()}},Ir=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.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 Pr(e,this.deepdeskUrl,{debug:!0}):new Rr(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||(w.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;w.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({...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)}},Ld=Ir;var At=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Lr=t=>new Promise(e=>{setTimeout(e,t)});var Mt=class extends At{name="ClientError"},Mr=class extends At{name="ServerError"},Ar=new Map;function oS(t){return t.status===204||["0",null].includes(t.headers.get("content-length"))}var he=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;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,c=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:d=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:m=!0,retryOnError:g=T=>T instanceof TypeError,retryOnResponse:f=T=>T.status>=500,version:y="v1",...k}=o;if(l)if(c){if(Ar.has(i)){n(Ar.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let v={credentials:"include",...k,headers:{"Content-Type":"application/json",...k.headers}};!c&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":y});let S=u,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(S--,a(i,v).then(async T=>f(T)&&!r.isAborted&&S>0?(await Lr(p),x()):T.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),x()):T).catch(async T=>{if(g(T)&&!r.isAborted&&S>0)return await Lr(p),x();throw T}));x().then(async T=>{let N=await T.json().catch(z=>{if(oS(T))return null;throw z});if(delete this.latestRequestByUrl[i],T.status>=500){s(new Mr("Server Error",N));return}else if(T.status===401){s(new Mt("Unauthorized",N));return}else if(T.status===403){s(new Mt("Forbidden",N));return}else if(T.status===404){s(new Mt("Not Found",N));return}else if(T.status>=400){s(new Mt("Bad Request",N));return}l&&Ar.set(i,N),n(N)}).catch(T=>{s(T)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var nS;(e=>{let t;(c=>(c.SEND_MESSAGE="Send Message",c.HANDLING_TIME="Handling Time",c.START_AUTOFLOW="Start Autoflow",c.ABORT_AUTOFLOW="Abort Autoflow",c.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",c.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(nS||={});function Bn(t){return{...L(t),tags:t.tags}}var Ke=class t{constructor(e,o={}){this.options=o;this.client=new he(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...H(e),tags:e.tags},{version:"v2"});return Bn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Bn(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=H(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Bn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...H(s),tags:s.tags})),{version:"v2"})).map(s=>Bn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,c])=>({...i,[a]:c}),{});return this.client.post("/api/events",H({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:H({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return L(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",H(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,H(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(c=>c.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,H(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",H(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,H(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,H({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",H(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ei);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var go=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(cs(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.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 sS;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(sS||={});var fo=class{constructor(e,o={}){this.apiUrl=e;this.client=new he(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,H(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,H(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",H(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new go(`${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 uS,configureStore as pS}from"@reduxjs/toolkit";import{createSlice as rS}from"@reduxjs/toolkit";var Ad={startTime:null,stopTime:null},Md=rS({name:"handlingTime",initialState:Ad,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(M,()=>Ad)}}),{handlingTimeStart:Nd,handlingTimeStop:Kn,handlingTimeReset:Od}=Md.actions,_d=Md.reducer;var Dd=(t={})=>{let e={onAuthError:lt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as iS,createSlice as aS}from"@reduxjs/toolkit";var Un={list:{keywordMatches:[]},fetchState:"idle"};var nt=iS("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return Un.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),lS=aS({name:"styleSuggestions",initialState:Un,reducers:{},extraReducers:t=>{t.addCase(nt.pending,e=>{e.fetchState="loading"}).addCase(nt.rejected,e=>{e.fetchState="error"}).addCase(nt.fulfilled,(e,o)=>{e.fetchState="done",Le(e.list,o.payload)||(e.list=o.payload)}).addCase(Ve,e=>{e.list=Un.list}).addCase(M,()=>Un)}}),Hd=lS.reducer;var Fd=(t={})=>{let e,o=!0,n={getStyleSuggestions:nt,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,c=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return c;let{showStyleSuggestions:d}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!d)return c;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),c}};function cS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Bd=(t={})=>{let e={getTextSuggestions:ce,getAutocompleteSuggestions:eo,debounce:200,check:wt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),c=n.getState();if(c.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:d}=c.settings,u=(f=c.conversation.current)==null?void 0:f.id,p=r.type===ln.toString();if(!u||!l&&!d)return a;let{input:{userCommitted:m}}=c;return cS(m,i)&&!p||(clearTimeout(o),!e.check(c))||(o=setTimeout(()=>{let y=mt(c);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Kd=nt.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(c=>c.keyword===s),i=e.keywordMatches.filter(c=>c.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Ud=t=>e=>o=>n=>{var l;if(n.type!==Kd){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 c=dS(s,i);n.type===Kd&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:c}})};var mS=uS({answer:tl,auth:ci,autoflows:Ec,conversation:mi,contentTypes:aa,customMessages:Oc,passwordlessToken:Bc,entities:Na,knowledgeAssistant:Ja,handlingTime:_d,info:Mi,input:Pi,settings:oi,profile:al,search:Bi,summary:Ua,styleSuggestions:Hd,ui:Ml,rules:Vc,textSuggestions:hl});function zd(t){return pS({reducer:mS,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Dd(),Bd({debounce:200}),Fd({debounce:500}),Ud(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var gS=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},fS=t=>e=>o=>n=>{var a;let s=e.getState(),r=ns("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case W.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Lo.toString():t.handleKeyDown(n.payload);break;case Ve.toString():t.logSendMessage(n.payload);break;case Ao.toString():t.handleInputChanged(n.payload);break;case et.fulfilled.toString():n.isBroadcasted||t.broadcast(ms,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case Ve.toString():t.handleAfterSendMessage(n.payload);break;case to.toString():t.onUpdateShowTabHint(n.payload);break;case Kn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case me.toString():{let{start:c,end:l}=s.input.selection;t.emit("select-suggestion",{type:gS(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0}),r&&(e.dispatch(pe([])),e.dispatch(xe()));break}case Io.toString():{let{start:c,end:l}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0});break}case Bt.toString():{let c=e.getState(),{text:l,selection:d}=c.input.userCommitted;t.emit("reset",{text:l,selectionAfter:d},{mayApplyChanges:!0});break}case Mo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case pe.toString():{r&&n.payload.length>0&&e.dispatch(Me(0));break}case be.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},Vd=fS;function Nr(t){return t.toISOString().replace("T"," ").replace("Z","")}function $d(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:Nr(o),timeStop:Nr(n)}}function Wd(t,e,o){var N,z,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:c,agentStartedTypingTimestamp:l,externalTimeTotalSeconds:d,pastes:u,cuts:p,deletions:m,textSuggestions:g,offeredTextSuggestions:f}}=e[t],y=n.length,v=g.reduce((I,{text:O,searchTerm:V})=>I+O.length-(V?V.length:0),0),S=l??Date.now(),R=(Date.now()-S)/1e3+(d||0),x=s/R,T=g.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:p,deletions:m,lenTextTyped:s+T,lenTextTotal:y,lenTextAssisted:v,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:R,charsPerSecond:x,numPastes:c,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:f.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(z=e.info.agentInfo)==null?void 0:z.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Or(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Or(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Or(s,e):null}function Gd(t,e){return Or(t,e)}function jd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function hS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function _r(t){return hS(t)&&(He(t)||vn(t))}var Xd,ye=new Map,yS=["bottom","height","left","right","top","width"],qd=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:yS.some(o=>t[o]!==e[o]);function Zd(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...Zd(e)]:[]}function Qd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var zn=!1,Jd=()=>{zn=!0;let t=[];if(ye.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),ye.delete(o);return}let n=o.getBoundingClientRect();qd(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Qd,e.rect):e.rect;qd(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),ye.size===0){zn=!1;return}Xd=window.requestAnimationFrame(Jd)};function Dr(t,e){let o=Zd(t),n=[],s=o.map((r,i)=>Dr(r,a=>{n[i]=a;let c=ye.get(t);if(!c)return;let l=n.reduce(Qd,c.rect);c.callbacks.forEach(d=>d(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),ye.has(t)){let i=ye.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else ye.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!zn&&Jd()},unobserve(){s.forEach(i=>i.unobserve());let r=ye.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||ye.delete(t),ye.size||(cancelAnimationFrame(Xd),zn=!1)}}}}var Yd,ve=new Map,eu=()=>{ve.forEach((t,e)=>{if(!e.isConnected){ve.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)))}),ve.size!==0&&(Yd=window.requestAnimationFrame(eu))};function tu(t,e){return{observe(){let o=ve.size===0;ve.has(t)?ve.get(t).callbacks.push(e):ve.set(t,{visible:void 0,callbacks:[e]}),o&&eu()},unobserve(){let o=ve.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ve.delete(t),ve.size||cancelAnimationFrame(Yd)}}}}var Hr=["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 Fr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Nt(t){return parseFloat(t)}function Vn(t){return Math.round(t*1e6)}function ou(t){return t/1e6}function Br(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Nt(t.width),r=Nt(t.borderLeftWidth),i=Nt(t.borderRightWidth),a=Nt(t.paddingRight),c=ou(Vn(s)-Vn(r)-Vn(i)),l=ou(Vn(n));if(c-l>2){let d=c-l;o.style.paddingRight=`${a+d}px`}}function $n(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Qe(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Fr(n,o,Hr),Br(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=tu(t,()=>{Fr(n,o,Hr),Br(n,t,o),r(),setTimeout(r,0)}),a,c=!0,l=Dr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!c&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),c=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),c=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Fr(n,o,Hr),Br(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),m=window.getComputedStyle(e.closestScrollElement),g=Nt(m.borderTopWidth),f=Nt(m.borderBottomWidth),y=p.top+g-u.top,k=u.top+u.height+-(p.top+p.height-f);o.style.clipPath=`inset(${y}px 0px ${k}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.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{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function vS(t){return t.offsetParent!==null}function su(t){if(!vS(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 Kr(t,e,o=100){let n=su(t);e({isVisible:n});let s=setInterval(()=>{let r=su(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as B}from"react/jsx-runtime";var ru=nu("showTabHint",!0),Gn=class t{static version="11.3.1-beta.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:c}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Ke(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Vd({broadcast:(u,p,m)=>{this.broadcastEvents.send(u,p,m)},emit:(u,p,m)=>this.emit(u,p,m),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>ru.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new fo(o)}),this.store=zd(d),this.broadcastEvents=new Ld({debug:!0,deepdeskUrl:l,eventMap:Ki(this.store),createCustomChannel:c}),this.store.dispatch(to(ru.value())),this.store.dispatch(Co({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??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?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();X(n)&&ni(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(Se())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(is({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(To(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Eo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(as(e))).payload}async postMessages(e){return(await this.store.dispatch(Ro(e))).payload}async updateConversation(e){return(await this.store.dispatch(ko(e))).payload}resetConversation(){this.store.dispatch(M()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(be());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(Co(e))}setVisitorInfo(e){this.store.dispatch(Ai(e))}async setAgentInfo(e){await this.store.dispatch(Kt(e))}async setAgentSettings(e){await this.store.dispatch(us(e))}async getAgentSettings(){return(await this.store.dispatch(ps())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(ln()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Ao(e))}notifyKeyDown(e){this.store.dispatch(Lo(e))}notifyPaste(e,o){this.store.dispatch(Ti({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ci(e))}notifyExternalSuggestion(e){this.store.dispatch(me(e)),this.store.dispatch(xe())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(et({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(De({collapse:!1})),this.inputMediator&&this.store.dispatch(yi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(pe([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,c=s!==-1;if(this.store.dispatch(wi(gi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(Si()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(bi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Bt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():l();return;case"Down":case"ArrowDown":{i?l():d();return}case"Esc":case"Escape":{i&&c&&this.store.dispatch(Me(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Me(-1)),this.store.dispatch(Bt()),e.preventDefault()):o||(this.store.dispatch(De({collapse:!0})),this.store.dispatch(Ll(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,p=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(to(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(p)&&(this.store.dispatch(me({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Ei()),this.store.dispatch(pe([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Nd()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(Kn()))}logSendMessage(e){let o=Wd("input",this.state,{version:this.version});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=$d(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Od())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(Ve(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(me({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}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}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]=$n(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Wn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;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=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,c]=$n(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Wn(s),c()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Qe(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(()=>{Wn(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),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}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()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ri(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!_r(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:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:p,insertLink:m,inputMediator:g,closestScrollSelector:f,appendOverlayTo:y,inlineSuggestions:k,floatingMenu:v}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:m,isEmbedded:u,inlineSuggestions:k,floatingMenu:!!v}),o.automaticHandlingTime&&this.setupHandlingTime(e),Qe(e),this.inputMediator=g||(He(e)?new Lt(e):new It(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(ki({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:T})=>{this.notifyPaste(x,T)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let S=f&&Gd(e,f)||void 0;if(k){let{customStyles:x,appendOverlayTo:T}=o;if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Ot(B(Je,{store:this.store,customStyles:x,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Fl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(pe([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let z=this.overlayContainerFactory("floating-menu",S||e,{appendTo:typeof v=="object"&&"appendOverlayTo"in v?v.appendOverlayTo:T},x==null?void 0:x.floatingMenuRootNode);Ot(B(Je,{store:this.store,customStyles:x,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Pl,{onLogIn:()=>this.loginViaPopup().catch(F=>w.warn(F.message))})})}),z)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",S||e,{appendTo:y,closestScrollElement:S,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),T=this.overlayContainerFactory("deepdesk-suggestions-overlay",S||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Sc,{inputElement:e})})}),x),Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(ql,{onLogIn:()=>this.loginViaPopup().catch(N=>w.warn(N.message))})})}),T)}Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Cl,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",x=>{clearTimeout(R),x===null?R=setTimeout(()=>{x!==null&&this.store.dispatch(ls(x))},500):this.store.dispatch(ls(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(tr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(tr(!0))),this.store.dispatch(vi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(xe()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.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&&w.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}),Ot(B(Je,{store:this.store,customStyles:n,children:B(We,{broadcastEvents:this.broadcastEvents,children:B(Ed,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Wn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Kr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){jd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Yt());let e=we(this.state);e&&(await this.store.dispatch(Jt()),this.store.dispatch(Co({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){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 c=!1,l=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=async m=>{var g,f;if((g=m.data)!=null&&g.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=m.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(zt),c=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{c=!0,l()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async m=>{var g;if(m.origin===a.origin)switch((g=m.data)==null?void 0:g.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(f,a.origin,[s.port2])}catch(f){w.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",u);let p=setInterval(()=>{d&&!d.closed||(l(),c||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=rn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):["cues"].includes(n)||this.store.dispatch(ce(n))})}catch(n){this.handleError(n)}}};async function SS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},c=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(c()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function xS(t,e,o={}){let n=o.replace?ot(t,o.replace.start,o.replace.end):mo(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
11
11
  `).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?ot(t,o.selectionAfter.start,o.selectionAfter.end):(n.collapse(!1),n),a=window.getSelection();a==null||a.removeAllRanges(),a==null||a.addRange(i)}if(!s)return;s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function bS(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 CS(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 ru(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:ru(t,e.parentNode)}async function wS(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let c=a.getRangeAt(0);if(!c)return;s=document.createElement("span"),c.insertNode(s);let l=n?bS(e):CS(e);if(o){let d=c.startContainer===t?t.childNodes[c.startOffset]:c.startContainer,u=ru(t,d)??t.firstChild;t.insertBefore(l,(u==null?void 0:u.nextSibling)??null)}else c.insertNode(l),c.collapse(!1)};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function TS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function ES(t,e,o){await new Ke(t).authenticateWithKey(e,o)}async function kS(t){let o=await new he(t).get("/platform/config/",{version:null,useCache:!0});return L(o)}async function RS(t){let o=await(t.fetch??window.fetch)(t.url),n=await o.blob();return new File([n],t.name,{type:t.mimeType??o.headers.get("Content-Type")??"image/jpeg"})}async function PS(t,e){let o=await RS(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}}export{D as Card,It as ContentEditableInput,Ke as DeepdeskAPI,Gn as DeepdeskSDK,he as HTTPClient,Be as InputMediator,at as InputType,Zn as KeyboardHint,Qn as Label,bo as Locale,Pe as Section,Yn as SectionList,Ie as Sources,A as Suggestion,te as SuggestionList,Lt as TextAreaInput,it as ToggleButton,PS as attachFile,ES as authenticateWithKey,mo as createFullRange,$n as createOverlayContainer,ot as createRangeFromOffsets,Zt as escapeHTML,kS as fetchPlatformConfig,TS as formatTextMarkup,Hn as getRangeOffsets,Fn as getRangeText,wS as insertCKEditor,Ls as isHTML,_r as isSupportedInputElement,xS as updateContentEditable,SS as updateTextArea,h as useStyles,Kr as waitForElementVisibilityChange};
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 iu(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):iu(o,e)}async function wS(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let c=a.getRangeAt(0);if(!c)return;s=document.createElement("span"),c.insertNode(s);let l=n?bS(e):CS(e);o?iu(c.startContainer,l):(c.insertNode(l),c.collapse(!1))};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function TS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function ES(t,e,o){await new Ke(t).authenticateWithKey(e,o)}async function kS(t){let o=await new he(t).get("/platform/config/",{version:null,useCache:!0});return L(o)}async function RS(t){let o=await(t.fetch??window.fetch)(t.url),n=await o.blob();return new File([n],t.name,{type:t.mimeType??o.headers.get("Content-Type")??"image/jpeg"})}async function PS(t,e){let o=await RS(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}}export{D as Card,It as ContentEditableInput,Ke as DeepdeskAPI,Gn as DeepdeskSDK,he as HTTPClient,Be as InputMediator,at as InputType,Zn as KeyboardHint,Qn as Label,bo as Locale,Pe as Section,Yn as SectionList,Ie as Sources,A as Suggestion,te as SuggestionList,Lt as TextAreaInput,it as ToggleButton,PS as attachFile,ES as authenticateWithKey,mo as createFullRange,$n as createOverlayContainer,ot as createRangeFromOffsets,Zt as escapeHTML,kS as fetchPlatformConfig,TS as formatTextMarkup,Hn as getRangeOffsets,Fn as getRangeText,wS as insertCKEditor,Ls as isHTML,_r as isSupportedInputElement,xS as updateContentEditable,SS as updateTextArea,h as useStyles,Kr as waitForElementVisibilityChange};