@deepdesk/deepdesk-sdk 11.0.0 → 11.0.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,11 +1,11 @@
1
- var Bd=Object.defineProperty;var Z=(t,e)=>{for(var o in e)Bd(t,o,{get:e[o],enumerable:!0})};import zn from"classnames";import Vd,{createContext as $d,useContext as go,useEffect as Wd,useState as Gd}from"react";import Kd,{useContext as Ud}from"react";import zd from"classnames";var Pt=Kd.createContext({});function h(t,e){let{debug:o,...n}=Ud(Pt),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let l=s[i];return{...r,[i]:zd(a,l,o?`${t}__${i}`:!1)}},{}):e}import{jsx as Ar,jsxs as qd}from"react/jsx-runtime";var Lr=({className:t})=>qd("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[Ar("line",{x1:"1",y1:"11",x2:"11",y2:"1",stroke:"black",strokeWidth:"2"}),Ar("line",{x1:"1",y1:"1",x2:"11",y2:"11",stroke:"black",strokeWidth:"2"})]});var Mr={root:"_root_vr71j_1"};import{jsx as po,jsxs as jd}from"react/jsx-runtime";var uo=()=>jd("svg",{className:Mr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[po("defs",{children:po("style",{children:".cls-1 { fill: #b3b3b3; }"})}),po("title",{children:"Failed loading image"}),po("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Un={root:"_root_15d2a_1",imageWrapper:"_imageWrapper_15d2a_7",image:"_image_15d2a_7",content:"_content_15d2a_24",title:"_title_15d2a_35",contentIsCropped:"_contentIsCropped_15d2a_45",lineClamp:"_lineClamp_15d2a_51",closeIcon:"_closeIcon_15d2a_58"};import{jsx as Ee}from"react/jsx-runtime";var At=$d(Un),Xd=({title:t,src:e})=>{let o=go(At),[n,s]=Gd(!1);return Wd(()=>{s(!1)},[e]),Ee("div",{className:o.imageWrapper,children:e&&!n?Ee("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):Ee(uo,{})})},Zd=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=go(At);return Ee("div",{className:zn(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Qd=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=go(At);return Vd.createElement(t,{className:zn(r.title,o,{[r.contentIsCropped]:e}),...s},n)},Jd=({className:t,title:e,...o})=>{let n=go(At);return Ee("div",{className:zn(n.closeIcon,t),title:e,role:"button","aria-label":e,...o,children:Ee(Lr,{})})},Lt=({children:t})=>{let e=h("Card",Un);return Ee("div",{className:e.root,children:Ee(At.Provider,{value:e,children:t})})};Lt.Image=Xd;Lt.Content=Zd;Lt.Title=Qd;Lt.CloseIcon=Jd;var N=Lt;import Yd from"classnames";var Or={root:"_root_cq1yq_1"};import{jsx as op}from"react/jsx-runtime";var ep={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},tp=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",Or);return op("span",{"data-key":ep[e],className:Yd(t,n.root),...o})},qn=tp;import np from"classnames";var Nr={root:"_root_4a08n_1"};import{jsx as rp}from"react/jsx-runtime";var sp=({className:t,children:e,...o})=>{let n=h("Label",Nr);return rp("span",{...o,className:np(t,n.root),children:e})},jn=sp;var Dr={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as Vn,jsxs as ap}from"react/jsx-runtime";var ip=({title:t,children:e,type:o,...n})=>{let s=h("Section",Dr);return ap("section",{...n,className:s.root,"data-section-type":o,children:[t&&Vn("div",{className:s.subTitleContainer,children:Vn("span",{className:s.subtitle,children:t})}),Vn("div",{className:s.suggestions,children:e})]})},ke=ip;import lp from"classnames";import cp from"react";var Hr={root:"_root_19wxp_1"};import{jsx as pp}from"react/jsx-runtime";var dp=cp.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",Hr);return pp("div",{ref:o,className:lp(n.root,t),children:e})}),$n=dp;import mo from"classnames";import up,{createContext as gp,useCallback as mp,useContext as Mt}from"react";var Wn={root:"_root_ipo0b_11",fadein:"_fadein_ipo0b_1",isClickable:"_isClickable_ipo0b_46",isSelected:"_isSelected_ipo0b_51",actions:"_actions_ipo0b_75",actionsIsFixed:"_actionsIsFixed_ipo0b_97",actionButton:"_actionButton_ipo0b_105",dropdownList:"_dropdownList_ipo0b_126",dropdownButton:"_dropdownButton_ipo0b_141",dropdownItem:"_dropdownItem_ipo0b_151",dropdownItemButton:"_dropdownItemButton_ipo0b_160",actionButtonIsPrimary:"_actionButtonIsPrimary_ipo0b_174",actionButtonIsDisabled:"_actionButtonIsDisabled_ipo0b_178",labels:"_labels_ipo0b_186",label:"_label_ipo0b_186"};import{jsx as he,jsxs as _p}from"react/jsx-runtime";var tt=gp(Wn),fp=({fixed:t,children:e,...o})=>{let n=Mt(tt);return he("div",{...o,className:mo(n.actions,{[n.actionsIsFixed]:t}),children:e})},hp=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=Mt(tt);return _p("div",{className:mo(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,he("ul",{className:r.dropdownList,children:s})]})},yp=({index:t,label:e,onClick:o})=>{let n=Mt(tt);return he("li",{className:n.dropdownItem,children:he("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},vp=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=Mt(tt);return he("button",{type:"button",className:mo(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Sp=({labels:t})=>{let e=Mt(tt);return he("div",{className:e.labels,children:t.map(o=>he("span",{className:e.label,children:o},o))})},ot=up.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",Wn),l=mp(c=>{c.preventDefault(),o&&o(c)},[o]);return he(s,{...r,ref:i,className:mo(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:he(tt.Provider,{value:a,children:n})})});ot.Labels=Sp;ot.Actions=fp;ot.ActionButton=vp;ot.DropdownButton=hp;ot.DropdownItem=yp;var L=ot;import xp from"classnames";var Fr={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as wp}from"react/jsx-runtime";var bp=({withDivider:t,children:e})=>{let o=h("SuggestionList",Fr);return wp("div",{"data-testid":"suggestions-overlay-list",className:xp(o.root,{[o.isWithDivider]:t}),children:e})},te=bp;import Cp from"classnames";var Br={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as Gn}from"react/jsx-runtime";var Tp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",Br);return Gn("button",{type:"button",className:Cp(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:Gn("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Gn("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},nt=Tp;var Kr=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,fo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var Ur=/x-deepdesk-(([a-z0-9\-_])+-version)/,Re=(m=>(m.SEARCH="search",m.TEMPLATE="template",m.ELASTIC_SEARCH="search-autocomplete",m.GPT="gpt",m.TRIE="trie",m.TRIE_WITH_TYPOS="trie-with-typos",m.SEMANTIC="semantic",m.TEXT_RECOMMENDATION="text_recommendation",m.URL_RECOMMENDATION="url_recommendation",m.LINK_RECOMMENDATION="link_recommendation",m.PERSONAL_COLLECTION="personal-collection",m.PERSONAL_COLLECTION_SEARCH="personal-collection-search",m.SEARCH_OVERLAY="search-overlay",m.SEARCH_PREVIEW="search-preview",m.SEARCH_URL="search-url",m))(Re||{}),st=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(st||{});import{render as It,unmountComponentAtNode as Hn}from"react-dom";import{Fragment as Lm}from"react";import{createSlice as Ep}from"@reduxjs/toolkit";import{useSelector as kp}from"react-redux";var ho=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(ho||{});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"},zr=Ep({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:yo}=zr.actions,Xn=t=>e=>e.settings[t],b=t=>kp(Xn(t)),qr=zr.reducer;import{useSelector as Xi}from"react-redux";import{createAsyncThunk as Zn,createSlice as Ip}from"@reduxjs/toolkit";var Pp={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},G=t=>t.auth.isLoggedIn,jr=t=>t.auth.loginFetchState,Vr=t=>t.auth.verifyFetchState,$r=t=>t.auth.showLoginOverlay,ye=Zn("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),Wr=Zn("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ot=Zn("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),Gr=Ip({name:"auth",initialState:Pp,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(ye.pending,e=>{e.loginFetchState="loading"}),t.addCase(ye.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(ye.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Ot.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Ot.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Ot.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:rt,setShowLoginOverlay:Xr}=Gr.actions,Zr=Gr.reducer;import{createAction as lt,createSlice as Bp}from"@reduxjs/toolkit";import{diffChars as Kp}from"diff";import{useSelector as Up}from"react-redux";function Qr(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Ie(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)=>Ie(r,e[i],o-1)):Qr(t)&&Qr(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Ie(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 Jr(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 Mp=2;function Qn(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=Jr(t,Mp);return o&&o.text!==e?o:t[0]}import{createAction as Np,createAsyncThunk as it,createSlice as Dp}from"@reduxjs/toolkit";var Op={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},C=Op;var Yr={current:null,isSupported:null},M=Np("resetConversation"),vo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},So=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},at=t=>t.conversation.isSupported,Jn=it("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),_o=it("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),xo=it("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),bo=it("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=So(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),Yn=it("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:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),wo=it("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=So(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),Hp=[_o.rejected,xo.rejected,bo.rejected,wo.rejected].map(t=>t==null?void 0:t.toString()),Fp=Dp({name:"conversation",initialState:Yr,reducers:{},extraReducers:t=>{t.addCase(Jn.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(_o.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(xo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Yn.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(bo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(wo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>Yr).addMatcher(e=>Hp.includes(e.type),(e,o)=>{var n;throw C.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),ei=Fp.reducer;var Pe={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 ti(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 To=lt("input/replaceText"),Eo=lt("input/keyDown"),Ue=lt("input/sendMessage"),ko=lt("input/uiInputChange"),Ro=lt("input/applyImageSuggestion"),$=lt("input/sendEvent");function Co(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:l},eventMetrics:{inputType:c},replace:d}=t.stagedSuggestion,p=o==="search"||o==="personal-collection-search",g=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(p||d==="selection")&&(g=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(g=l),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:g,source:o,abVariant:n,abTestName:s,inputType:c,sourceText:i,trainingJobs:r||[],searchTerm:p?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var oi=Bp({name:"input",initialState:Pe,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,{...Pe,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=Qn(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Ie(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Co(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,l;if(t.previousKeyDownEvent){let{key:c,shiftKey:d,ctrlKey:p,metaKey:g,altKey:u}=t.previousKeyDownEvent;switch(c){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=t,{text:m}=e.payload,v=Kp(f,m);f.length-m.length>1&&t.metrics.deletions.push(...v.filter(T=>T.removed).map(T=>T.value)),t.metrics.numCharsDeleted+=f.length-m.length;break}case"C":case"V":case"X":if(!p&&!g){t.metrics.numCharsTyped+=1;let f=((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;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}break;case"Shift":break;default:if(!p&&!g&&!u){t.metrics.numCharsTyped+=1;let f=((a=t.selection)==null?void 0:a.start)!==void 0&&((l=t.selection)==null?void 0:l.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Pe.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Co(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"&&Co(t)},commitSuggestion(t){Co(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=Qn(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=Pe.tabCompletionSuggestion,e.previousKeyDownEvent=Pe.previousKeyDownEvent,e.textSuggestions=Pe.textSuggestions,e.selectedSuggestionIndex=Pe.selectedSuggestionIndex,e.metrics=Pe.metrics})}}),ct=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),zp=t=>t.input.selection,ni=()=>Up(zp),{userInput:si,changeSelection:es,initialInput:ri,nextTextSuggestionIndex:ii,offeredTextSuggestion:ai,previousTextSuggestionIndex:li,registerCut:ci,registerKeyDown:di,registerPaste:pi,reset:ui,resetToCommitted:Nt,platformInput:gi,setSelectedTextSuggestionIndex:Ae,setTextSuggestions:ce,stageSuggestion:se,commitSuggestion:ve,setMetrics:mi}=oi.actions,fi=oi.reducer;import{createAsyncThunk as $p,createSlice as Wp}from"@reduxjs/toolkit";import{createAsyncThunk as os,createSlice as jp}from"@reduxjs/toolkit";function qp(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function I(t){return Array.isArray(t)?t.map(I):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[qp(o)]:I(t[o])}),{}):t}function ts(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function K(t){return Array.isArray(t)?t.map(K):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ts(o)]:K(t[o])}),{}):t}var Vp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Ht=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)||""}},Dt=os("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?I(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),I(n))}),ns=os("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}),ss=os("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),hi=t=>t.info.agentInfo,yi=jp({name:"info",initialState:Vp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Dt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Dt.rejected,e=>{e.fetchState="error"}).addCase(Dt.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(ns.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(ss.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:vi}=yi.actions,Si=yi.reducer;var Io={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},_i=t=>t.search.isOpen,xi=t=>t.search.page,bi=t=>t.search.list,wi=t=>t.search.aggregates;function Ci(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var ze=$p("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:Ht(n)});return{results:r.map(l=>({...l,source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Ti=Wp({name:"search",initialState:Io,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Io.fetchState,t.list=Io.list}},extraReducers:t=>{t.addCase(ze.pending,e=>{e.fetchState="loading"}).addCase(ze.rejected,(e,o)=>{e.fetchState="error",C.error(o.error)}).addCase(ze.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(M,()=>Io)}}),{resetSearch:Po,setIsOpen:Y,setPage:re}=Ti.actions,Ei=Ti.reducer;import{createAction as Gp,createAsyncThunk as Xp,createSlice as Zp}from"@reduxjs/toolkit";var rs={cues:[],fetchState:"idle"},ki=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Qp=Gp("rules/resetCues"),Se=Xp("rules/evaluate",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=(r=e.getState().conversation.current)==null?void 0:r.id;if(!n)throw new Error("No current conversation to evaulate rules");return await o.evaluateRule(t.label,n,t.params)}),Ri=Zp({name:"answer",initialState:rs,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.id!==e.payload.id)}},extraReducers:t=>{t.addCase(Se.pending,e=>{e.fetchState="loading"}).addCase(Se.rejected,e=>{e.fetchState="error"}).addCase(Se.fulfilled,(e,o)=>{let n=Date.now(),s=o.payload.map(a=>({id:a.id||a.text,timestamp:n,...a})),r=s.map(a=>a.id),i=e.cues.filter(a=>!r.includes(a.id));e.fetchState="done",e.cues=[...s,...i]}).addCase(M,()=>rs).addCase(Qp.toString(),()=>rs)}}),{removeCue:Ii}=Ri.actions,Pi=Ri.reducer;var is="SetCues",dt="ShowLoginOverlay",Ft="UserLoggedIn",Jp="UserLoggedOut",pt="ApplySuggestion",as="ApplyImageSuggestion",Yp="ShowCommandPalette",eu=t=>({[is]:e=>{t.dispatch({type:Se.fulfilled,payload:e})},[Yp]:e=>{t.dispatch(Y(e.isOpen)),e.page&&t.dispatch(re(e.page))},[dt]:e=>{t.dispatch(Xr(e))},[Ft]:()=>{t.dispatch(ye())},[Jp]:()=>{t.dispatch(ye())},[as]:e=>{t.dispatch(Ro({suggestion:e.suggestion}))},[pt]:e=>{t.dispatch(se({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(ve())}}),Ai=eu;import Li,{useContext as tu}from"react";import{jsx as ou}from"react/jsx-runtime";var Mi=Li.createContext(null),qe=({broadcastEvents:t,children:e})=>{let o=Li.useMemo(()=>t,[]);return ou(Mi.Provider,{value:o,children:e})},de=()=>{let t=tu(Mi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import ys from"classnames";import{useCallback as Wi,useEffect as Eu,useMemo as ku,useState as vs}from"react";import{useDispatch as Ru,useSelector as Iu}from"react-redux";import{createContext as mu,useContext as fu}from"react";var ls=function(t,e){return ls=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])},ls(t,e)};function Bt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ls(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var ee=function(){return ee=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},ee.apply(this,arguments)};function Oi(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 Ao(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 Lo;(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"})(Lo||(Lo={}));var Mo=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 Oo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Oo||(Oo={}));function cs(t){return t.type===ie.literal}function Ni(t){return t.type===ie.argument}function No(t){return t.type===ie.number}function Do(t){return t.type===ie.date}function Ho(t){return t.type===ie.time}function Fo(t){return t.type===ie.select}function Bo(t){return t.type===ie.plural}function Di(t){return t.type===ie.pound}function Ko(t){return t.type===ie.tag}function Uo(t){return!!(t&&typeof t=="object"&&t.type===Oo.number)}function Kt(t){return!!(t&&typeof t=="object"&&t.type===Oo.dateTime)}function ds(t){t.forEach(function(e){if(delete e.location,Fo(e)||Bo(e))for(var o in e.options)delete e.options[o].location,ds(e.options[o].value);else No(e)&&Uo(e.style)||(Do(e)||Ho(e))&&Kt(e.style)?delete e.style.location:Ko(e)&&ds(e.children)})}function Hi(t,e){e===void 0&&(e={}),e=ee({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Mo(t,e).parse();if(o.err){var n=SyntaxError(Lo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||ds(o.val),o.val}function zo(t,e){var o=e&&e.cache?e.cache:lu,n=e&&e.serializer?e.serializer:au,s=e&&e.strategy?e.strategy:su;return s(t,{cache:o,serializer:n})}function nu(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Fi(t,e,o,n){var s=nu(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Bi(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 ps(t,e,o,n,s){return o.bind(e,t,n,s)}function su(t,e){var o=t.length===1?Fi:Bi;return ps(t,this,o,e.cache.create(),e.serializer)}function ru(t,e){return ps(t,this,Bi,e.cache.create(),e.serializer)}function iu(t,e){return ps(t,this,Fi,e.cache.create(),e.serializer)}var au=function(){return JSON.stringify(arguments)};function us(){this.cache=Object.create(null)}us.prototype.get=function(t){return this.cache[t]};us.prototype.set=function(t,e){this.cache[t]=e};var lu={create:function(){return new us}},qo={variadic:ru,monadic:iu};var je;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(je||(je={}));var Ut=function(t){Bt(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 gs=function(t){Bt(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('", "'),'"'),je.INVALID_VALUE,r)||this}return e}(Ut);var Ki=function(t){Bt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),je.INVALID_VALUE,s)||this}return e}(Ut);var Ui=function(t){Bt(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,'"'),je.MISSING_VALUE,n)||this}return e}(Ut);var W;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(W||(W={}));function cu(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==W.literal||o.type!==W.literal?e.push(o):n.value+=o.value,e},[])}function du(t){return typeof t=="function"}function zt(t,e,o,n,s,r,i){if(t.length===1&&cs(t[0]))return[{type:W.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var d=c[l];if(cs(d)){a.push({type:W.literal,value:d.value});continue}if(Di(d)){typeof r=="number"&&a.push({type:W.literal,value:o.getNumberFormat(e).format(r)});continue}var p=d.value;if(!(s&&p in s))throw new Ui(p,i);var g=s[p];if(Ni(d)){(!g||typeof g=="string"||typeof g=="number")&&(g=typeof g=="string"||typeof g=="number"?String(g):""),a.push({type:typeof g=="string"?W.literal:W.object,value:g});continue}if(Do(d)){var u=typeof d.style=="string"?n.date[d.style]:Kt(d.style)?d.style.parsedOptions:void 0;a.push({type:W.literal,value:o.getDateTimeFormat(e,u).format(g)});continue}if(Ho(d)){var u=typeof d.style=="string"?n.time[d.style]:Kt(d.style)?d.style.parsedOptions:n.time.medium;a.push({type:W.literal,value:o.getDateTimeFormat(e,u).format(g)});continue}if(No(d)){var u=typeof d.style=="string"?n.number[d.style]:Uo(d.style)?d.style.parsedOptions:void 0;u&&u.scale&&(g=g*(u.scale||1)),a.push({type:W.literal,value:o.getNumberFormat(e,u).format(g)});continue}if(Ko(d)){var f=d.children,m=d.value,v=s[m];if(!du(v))throw new Ki(m,"function",i);var T=zt(f,e,o,n,s,r),_=v(T.map(function(S){return S.value}));Array.isArray(_)||(_=[_]),a.push.apply(a,_.map(function(S){return{type:typeof S=="string"?W.literal:W.object,value:S}}))}if(Fo(d)){var y=d.options[g]||d.options.other;if(!y)throw new gs(d.value,g,Object.keys(d.options),i);a.push.apply(a,zt(y.value,e,o,n,s));continue}if(Bo(d)){var y=d.options["=".concat(g)];if(!y){if(!Intl.PluralRules)throw new Ut(`Intl.PluralRules is not available in this environment.
1
+ var Vd=Object.defineProperty;var Q=(t,e)=>{for(var o in e)Vd(t,o,{get:e[o],enumerable:!0})};import Mr from"classnames";import Zd,{createContext as Qd,useContext as zn,useEffect as Jd,useState as Yd}from"react";import $d,{useContext as qd}from"react";import Gd from"classnames";var _t=$d.createContext({});function h(t,e){let{debug:o,...n}=qd(_t),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let l=s[i];return{...r,[i]:Gd(a,l,o?`${t}__${i}`:!1)}},{}):e}var Lr={root:"uo"};import{jsx as go,jsxs as Wd}from"react/jsx-runtime";var mo=()=>Wd("svg",{className:Lr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[go("defs",{children:go("style",{children:".cls-1 { fill: #b3b3b3; }"})}),go("title",{children:"Failed loading image"}),go("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 Un={root:"yo",imageWrapper:"G",image:"wo",content:"m",title:"vo",contentIsCropped:"ko",lineClamp:"zo"};import{jsx as st}from"react/jsx-runtime";var fo=Qd(Un),ep=({title:t,src:e})=>{let o=zn(fo),[n,s]=Yd(!1);return Jd(()=>{s(!1)},[e]),st("div",{className:o.imageWrapper,children:e&&!n?st("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):st(mo,{})})},tp=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=zn(fo);return st("div",{className:Mr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},op=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=zn(fo);return Zd.createElement(t,{className:Mr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},ho=({children:t})=>{let e=h("Card",Un);return st("div",{className:e.root,children:st(fo.Provider,{value:e,children:t})})};ho.Image=ep;ho.Content=tp;ho.Title=op;var D=ho;import sp from"classnames";var Nr={root:"N"};import{jsx as ap}from"react/jsx-runtime";var rp={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},ip=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",Nr);return ap("span",{"data-key":rp[e],className:sp(t,n.root),...o})},Vn=ip;import cp from"classnames";var Or={root:"jo"};import{jsx as pp}from"react/jsx-runtime";var dp=({className:t,children:e,...o})=>{let n=h("Label",Or);return pp("span",{...o,className:cp(t,n.root),children:e})},$n=dp;var _r={root:"qo",subTitleContainer:"Co",subtitle:"So",suggestions:"Eo"};import{jsx as qn,jsxs as mp}from"react/jsx-runtime";var gp=({title:t,children:e,type:o,...n})=>{let s=h("Section",_r);return mp("section",{...n,className:s.root,"data-section-type":o,children:[t&&qn("div",{className:s.subTitleContainer,children:qn("span",{className:s.subtitle,children:t})}),qn("div",{className:s.suggestions,children:e})]})},Re=gp;import hp from"classnames";import yp from"react";var Dr={root:"Go"};import{jsx as Sp}from"react/jsx-runtime";var vp=yp.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",Dr);return Sp("div",{ref:o,className:hp(n.root,t),children:e})}),Gn=vp;import Dt from"classnames";import Cp,{createContext as wp,useCallback as Tp,useContext as rt}from"react";import{jsx as Hr,jsxs as xp}from"react/jsx-runtime";var Fr=({className:t})=>xp("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[Hr("line",{x1:"1",y1:"11",x2:"11",y2:"1",stroke:"black",strokeWidth:"2"}),Hr("line",{x1:"1",y1:"1",x2:"11",y2:"11",stroke:"black",strokeWidth:"2"})]});var jn={fadein:"Y",root:"e",isClickable:"A",isSelected:"No",actions:"F",actionsIsFixed:"Yo",actionButton:"t",dropdownList:"H",dropdownButton:"L",dropdownItem:"M",dropdownItemButton:"R",actionButtonIsPrimary:"Ao",actionButtonIsDisabled:"Fo",labels:"Ho",label:"Lo",closeIcon:"n"};import{jsx as re,jsxs as Lp}from"react/jsx-runtime";var ze=wp(jn),Ep=({fixed:t,children:e,...o})=>{let n=rt(ze);return re("div",{...o,className:Dt(n.actions,{[n.actionsIsFixed]:t}),children:e})},kp=({className:t,title:e,...o})=>{let n=rt(ze);return re("div",{className:Dt(n.closeIcon,t),title:e,role:"button","aria-label":e,...o,children:re(Fr,{})})},Rp=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=rt(ze);return Lp("div",{className:Dt(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,re("ul",{className:r.dropdownList,children:s})]})},Pp=({index:t,label:e,onClick:o})=>{let n=rt(ze);return re("li",{className:n.dropdownItem,children:re("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Ip=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=rt(ze);return re("button",{type:"button",className:Dt(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Ap=({labels:t})=>{let e=rt(ze);return re("div",{className:e.labels,children:t.map(o=>re("span",{className:e.label,children:o},o))})},Ve=Cp.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",jn),l=Tp(c=>{c.preventDefault(),o&&o(c)},[o]);return re(s,{...r,ref:i,className:Dt(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:re(ze.Provider,{value:a,children:n})})});Ve.Labels=Ap;Ve.Actions=Ep;Ve.ActionButton=Ip;Ve.DropdownButton=Rp;Ve.DropdownItem=Pp;Ve.CloseIcon=kp;var N=Ve;import Np from"classnames";var Br={root:"Mo",isWithDivider:"Ro"};import{jsx as _p}from"react/jsx-runtime";var Op=({withDivider:t,children:e})=>{let o=h("SuggestionList",Br);return _p("div",{"data-testid":"suggestions-overlay-list",className:Np(o.root,{[o.isWithDivider]:t}),children:e})},oe=Op;import Hp from"classnames";var Kr={root:"u",isCollapsed:"T"};import{jsx as Wn}from"react/jsx-runtime";var Fp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",Kr);return Wn("button",{type:"button",className:Hp(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:Wn("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Wn("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},it=Fp;var Ur=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,yo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var zr=/x-deepdesk-(([a-z0-9\-_])+-version)/,Pe=(m=>(m.SEARCH="search",m.TEMPLATE="template",m.ELASTIC_SEARCH="search-autocomplete",m.GPT="gpt",m.TRIE="trie",m.TRIE_WITH_TYPOS="trie-with-typos",m.SEMANTIC="semantic",m.TEXT_RECOMMENDATION="text_recommendation",m.URL_RECOMMENDATION="url_recommendation",m.LINK_RECOMMENDATION="link_recommendation",m.PERSONAL_COLLECTION="personal-collection",m.PERSONAL_COLLECTION_SEARCH="personal-collection-search",m.SEARCH_OVERLAY="search-overlay",m.SEARCH_PREVIEW="search-preview",m.SEARCH_URL="search-url",m))(Pe||{}),at=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(at||{});import{render as Mt,unmountComponentAtNode as Bn}from"react-dom";import{Fragment as Ym}from"react";import{createSlice as Bp}from"@reduxjs/toolkit";import{useSelector as Kp}from"react-redux";var vo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(vo||{});var Up={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"},Vr=Bp({name:"settings",initialState:Up,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:So}=Vr.actions,Xn=t=>e=>e.settings[t],w=t=>Kp(Xn(t)),$r=Vr.reducer;import{useSelector as Zi}from"react-redux";import{createAsyncThunk as Zn,createSlice as zp}from"@reduxjs/toolkit";var Vp={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},W=t=>t.auth.isLoggedIn,qr=t=>t.auth.loginFetchState,Gr=t=>t.auth.verifyFetchState,jr=t=>t.auth.showLoginOverlay,Se=Zn("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),Wr=Zn("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ht=Zn("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),Xr=zp({name:"auth",initialState:Vp,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(Ht.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Ht.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Ht.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:lt,setShowLoginOverlay:Zr}=Xr.actions,Qr=Xr.reducer;import{createAction as pt,createSlice as Jp}from"@reduxjs/toolkit";import{diffChars as Yp}from"diff";import{useSelector as eu}from"react-redux";function Jr(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Ie(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)=>Ie(r,e[i],o-1)):Jr(t)&&Jr(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Ie(t[i],e[i],o-1)):!1}function $p(t){return Math.max(...t.map(e=>e.length))}function qp(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 Yr(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<$p(n);s++){let r=qp(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 Gp=2;function Qn(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=Yr(t,Gp);return o&&o.text!==e?o:t[0]}import{createAction as Wp,createAsyncThunk as ct,createSlice as Xp}from"@reduxjs/toolkit";var jp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},E=jp;var ei={current:null,isSupported:null},L=Wp("resetConversation"),xo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},bo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},dt=t=>t.conversation.isSupported,Jn=ct("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Co=ct("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),wo=ct("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),To=ct("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=bo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),Yn=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:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),Eo=ct("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=bo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),Zp=[Co.rejected,wo.rejected,To.rejected,Eo.rejected].map(t=>t==null?void 0:t.toString()),Qp=Xp({name:"conversation",initialState:ei,reducers:{},extraReducers:t=>{t.addCase(Jn.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Co.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(wo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Yn.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).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)=>{e.current&&(e.current.messages=o.payload)}).addCase(L,()=>ei).addMatcher(e=>Zp.includes(e.type),(e,o)=>{var n;throw E.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),ti=Qp.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 oi(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 Ro=pt("input/replaceText"),Po=pt("input/keyDown"),$e=pt("input/sendMessage"),Io=pt("input/uiInputChange"),Ao=pt("input/applyImageSuggestion"),G=pt("input/sendEvent");function ko(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:l},eventMetrics:{inputType:c},replace:d}=t.stagedSuggestion,p=o==="search"||o==="personal-collection-search",u=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(p||d==="selection")&&(u=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(u=l),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:u,source:o,abVariant:n,abTestName:s,inputType:c,sourceText:i,trainingJobs:r||[],searchTerm:p?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var ni=Jp({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=Qn(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Ie(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&ko(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,l;if(t.previousKeyDownEvent){let{key:c,shiftKey:d,ctrlKey:p,metaKey:u,altKey:g}=t.previousKeyDownEvent;switch(c){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=t,{text:m}=e.payload,v=Yp(f,m);f.length-m.length>1&&t.metrics.deletions.push(...v.filter(T=>T.removed).map(T=>T.value)),t.metrics.numCharsDeleted+=f.length-m.length;break}case"C":case"V":case"X":if(!p&&!u){t.metrics.numCharsTyped+=1;let f=((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;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}break;case"Shift":break;default:if(!p&&!u&&!g){t.metrics.numCharsTyped+=1;let f=((a=t.selection)==null?void 0:a.start)!==void 0&&((l=t.selection)==null?void 0:l.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}}}!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&&ko(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"&&ko(t)},commitSuggestion(t){ko(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=Qn(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(L,e=>{e.tabCompletionSuggestion=Ae.tabCompletionSuggestion,e.previousKeyDownEvent=Ae.previousKeyDownEvent,e.textSuggestions=Ae.textSuggestions,e.selectedSuggestionIndex=Ae.selectedSuggestionIndex,e.metrics=Ae.metrics})}}),ut=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),tu=t=>t.input.selection,si=()=>eu(tu),{userInput:ri,changeSelection:es,initialInput:ii,nextTextSuggestionIndex:ai,offeredTextSuggestion:li,previousTextSuggestionIndex:ci,registerCut:di,registerKeyDown:pi,registerPaste:ui,reset:gi,resetToCommitted:Ft,platformInput:mi,setSelectedTextSuggestionIndex:Le,setTextSuggestions:ue,stageSuggestion:ge,commitSuggestion:xe,setMetrics:fi}=ni.actions,hi=ni.reducer;import{createAsyncThunk as ru,createSlice as iu}from"@reduxjs/toolkit";import{createAsyncThunk as os,createSlice as nu}from"@reduxjs/toolkit";function ou(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function P(t){return Array.isArray(t)?t.map(P):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ou(o)]:P(t[o])}),{}):t}function ts(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function U(t){return Array.isArray(t)?t.map(U):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ts(o)]:U(t[o])}),{}):t}var su={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Kt=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)||""}},Bt=os("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?P(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),P(n))}),ns=os("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}),ss=os("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),yi=t=>t.info.agentInfo,vi=nu({name:"info",initialState:su,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Bt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Bt.rejected,e=>{e.fetchState="error"}).addCase(Bt.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(ns.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(ss.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(L,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Si}=vi.actions,xi=vi.reducer;var Lo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},bi=t=>t.search.isOpen,Ci=t=>t.search.page,wi=t=>t.search.list,Ti=t=>t.search.aggregates;function Ei(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var qe=ru("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:Kt(n)});return{results:r.map(l=>({...l,source:`search-${l.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),ki=iu({name:"search",initialState:Lo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Lo.fetchState,t.list=Lo.list}},extraReducers:t=>{t.addCase(qe.pending,e=>{e.fetchState="loading"}).addCase(qe.rejected,(e,o)=>{e.fetchState="error",E.error(o.error)}).addCase(qe.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(L,()=>Lo)}}),{resetSearch:Mo,setIsOpen:ee,setPage:ie}=ki.actions,Ri=ki.reducer;import{createAction as au,createAsyncThunk as lu,createSlice as cu}from"@reduxjs/toolkit";var rs={cues:[],fetchState:"idle"},Pi=t=>{var e;return(e=t.rules)==null?void 0:e.cues},du=au("rules/resetCues"),be=lu("rules/evaluate",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=(r=e.getState().conversation.current)==null?void 0:r.id;if(!n)throw new Error("No current conversation to evaulate rules");return await o.evaluateRule(t.label,n,t.params)}),Ii=cu({name:"answer",initialState:rs,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.id!==e.payload.id)}},extraReducers:t=>{t.addCase(be.pending,e=>{e.fetchState="loading"}).addCase(be.rejected,e=>{e.fetchState="error"}).addCase(be.fulfilled,(e,o)=>{let n=Date.now(),s=o.payload.map(a=>({id:a.id||a.text,timestamp:n,...a})),r=s.map(a=>a.id),i=e.cues.filter(a=>!r.includes(a.id));e.fetchState="done",e.cues=[...s,...i]}).addCase(L,()=>rs).addCase(du.toString(),()=>rs)}}),{removeCue:Ai}=Ii.actions,Li=Ii.reducer;var is="SetCues",gt="ShowLoginOverlay",Ut="UserLoggedIn",pu="UserLoggedOut",Me="ApplySuggestion",as="ApplyImageSuggestion",uu="ShowCommandPalette",gu=t=>({[is]:e=>{t.dispatch({type:be.fulfilled,payload:e})},[uu]:e=>{t.dispatch(ee(e.isOpen)),e.page&&t.dispatch(ie(e.page))},[gt]:e=>{t.dispatch(Zr(e))},[Ut]:()=>{t.dispatch(Se())},[pu]:()=>{t.dispatch(Se())},[as]:e=>{t.dispatch(Ao({suggestion:e.suggestion}))},[Me]:e=>{t.dispatch(ge({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),Mi=gu;import Ni,{useContext as mu}from"react";import{jsx as fu}from"react/jsx-runtime";var Oi=Ni.createContext(null),Ge=({broadcastEvents:t,children:e})=>{let o=Ni.useMemo(()=>t,[]);return fu(Oi.Provider,{value:o,children:e})},ae=()=>{let t=mu(Oi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import ys from"classnames";import{useCallback as Wi,useEffect as zu,useMemo as Vu,useState as vs}from"react";import{useDispatch as $u,useSelector as qu}from"react-redux";import{createContext as Ru,useContext as Pu}from"react";var ls=function(t,e){return ls=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])},ls(t,e)};function zt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ls(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}var te=function(){return te=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},te.apply(this,arguments)};function _i(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 No(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 Oo;(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"})(Oo||(Oo={}));var _o=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var le;(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"})(le||(le={}));var Do;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Do||(Do={}));function cs(t){return t.type===le.literal}function Di(t){return t.type===le.argument}function Ho(t){return t.type===le.number}function Fo(t){return t.type===le.date}function Bo(t){return t.type===le.time}function Ko(t){return t.type===le.select}function Uo(t){return t.type===le.plural}function Hi(t){return t.type===le.pound}function zo(t){return t.type===le.tag}function Vo(t){return!!(t&&typeof t=="object"&&t.type===Do.number)}function Vt(t){return!!(t&&typeof t=="object"&&t.type===Do.dateTime)}function ds(t){t.forEach(function(e){if(delete e.location,Ko(e)||Uo(e))for(var o in e.options)delete e.options[o].location,ds(e.options[o].value);else Ho(e)&&Vo(e.style)||(Fo(e)||Bo(e))&&Vt(e.style)?delete e.style.location:zo(e)&&ds(e.children)})}function Fi(t,e){e===void 0&&(e={}),e=te({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new _o(t,e).parse();if(o.err){var n=SyntaxError(Oo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||ds(o.val),o.val}function $o(t,e){var o=e&&e.cache?e.cache:bu,n=e&&e.serializer?e.serializer:xu,s=e&&e.strategy?e.strategy:yu;return s(t,{cache:o,serializer:n})}function hu(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Bi(t,e,o,n){var s=hu(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Ki(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 ps(t,e,o,n,s){return o.bind(e,t,n,s)}function yu(t,e){var o=t.length===1?Bi:Ki;return ps(t,this,o,e.cache.create(),e.serializer)}function vu(t,e){return ps(t,this,Ki,e.cache.create(),e.serializer)}function Su(t,e){return ps(t,this,Bi,e.cache.create(),e.serializer)}var xu=function(){return JSON.stringify(arguments)};function us(){this.cache=Object.create(null)}us.prototype.get=function(t){return this.cache[t]};us.prototype.set=function(t,e){this.cache[t]=e};var bu={create:function(){return new us}},qo={variadic:vu,monadic:Su};var je;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(je||(je={}));var $t=function(t){zt(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 gs=function(t){zt(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('", "'),'"'),je.INVALID_VALUE,r)||this}return e}($t);var Ui=function(t){zt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),je.INVALID_VALUE,s)||this}return e}($t);var zi=function(t){zt(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,'"'),je.MISSING_VALUE,n)||this}return e}($t);var j;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(j||(j={}));function Cu(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==j.literal||o.type!==j.literal?e.push(o):n.value+=o.value,e},[])}function wu(t){return typeof t=="function"}function qt(t,e,o,n,s,r,i){if(t.length===1&&cs(t[0]))return[{type:j.literal,value:t[0].value}];for(var a=[],l=0,c=t;l<c.length;l++){var d=c[l];if(cs(d)){a.push({type:j.literal,value:d.value});continue}if(Hi(d)){typeof r=="number"&&a.push({type:j.literal,value:o.getNumberFormat(e).format(r)});continue}var p=d.value;if(!(s&&p in s))throw new zi(p,i);var u=s[p];if(Di(d)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?j.literal:j.object,value:u});continue}if(Fo(d)){var g=typeof d.style=="string"?n.date[d.style]:Vt(d.style)?d.style.parsedOptions:void 0;a.push({type:j.literal,value:o.getDateTimeFormat(e,g).format(u)});continue}if(Bo(d)){var g=typeof d.style=="string"?n.time[d.style]:Vt(d.style)?d.style.parsedOptions:n.time.medium;a.push({type:j.literal,value:o.getDateTimeFormat(e,g).format(u)});continue}if(Ho(d)){var g=typeof d.style=="string"?n.number[d.style]:Vo(d.style)?d.style.parsedOptions:void 0;g&&g.scale&&(u=u*(g.scale||1)),a.push({type:j.literal,value:o.getNumberFormat(e,g).format(u)});continue}if(zo(d)){var f=d.children,m=d.value,v=s[m];if(!wu(v))throw new Ui(m,"function",i);var T=qt(f,e,o,n,s,r),S=v(T.map(function(x){return x.value}));Array.isArray(S)||(S=[S]),a.push.apply(a,S.map(function(x){return{type:typeof x=="string"?j.literal:j.object,value:x}}))}if(Ko(d)){var y=d.options[u]||d.options.other;if(!y)throw new gs(d.value,u,Object.keys(d.options),i);a.push.apply(a,qt(y.value,e,o,n,s));continue}if(Uo(d)){var y=d.options["=".concat(u)];if(!y){if(!Intl.PluralRules)throw new $t(`Intl.PluralRules is not available in this environment.
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
- `,je.MISSING_INTL_API,i);var x=o.getPluralRules(e,{type:d.pluralType}).select(g-(d.offset||0));y=d.options[x]||d.options.other}if(!y)throw new gs(d.value,g,Object.keys(d.options),i);a.push.apply(a,zt(y.value,e,o,n,s,g-(d.offset||0)));continue}}return cu(a)}function pu(t,e){return e?ee(ee(ee({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=ee(ee({},t[n]),e[n]||{}),o},{})):t}function uu(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=pu(t[n],e[n]),o},ee({},t)):t}function ms(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function gu(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:zo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Ao([void 0],o,!1)))},{cache:ms(t.number),strategy:qo.variadic}),getDateTimeFormat:zo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Ao([void 0],o,!1)))},{cache:ms(t.dateTime),strategy:qo.variadic}),getPluralRules:zo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Ao([void 0],o,!1)))},{cache:ms(t.pluralRules),strategy:qo.variadic})}}var zi=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(c){var d=r.formatToParts(c);if(d.length===1)return d[0].value;var p=d.reduce(function(g,u){return!g.length||u.type!==W.literal||typeof g[g.length-1]!="string"?g.push(u.value):g[g.length-1]+=u.value,g},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(c){return zt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.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,l=Oi(i,["formatters"]);this.ast=t.__parse(e,ee(ee({},l),{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=uu(t.formats,n),this.formatters=s&&s.formatters||gu(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=Hi,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 hu(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var yu="dummy",fs=mu(null);function E(t){let e=fu(fs);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=hu(o,n);return r?new zi(r).format(s):(e!==yu&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as vu,useRef as Su}from"react";var qi={root:"_root_1h19b_1",content:"_content_1h19b_24"};import{jsx as ji}from"react/jsx-runtime";var _u=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let l=Su(null),c=h("Dialog",qi),d=g=>{if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),s();return}r&&r(g)},p=g=>{g.target===l.current&&t&&n()};return vu(()=>{var g,u;!l.current||!t||!e||(u=(g=l.current)==null?void 0:g.querySelector("input, textarea"))==null||u.focus()},[t,e,l]),t?ji("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":i,ref:l,onKeyDown:d,onMouseDown:p,children:ji("div",{"data-testid":"dialog-content",className:c.content,"aria-label":a,children:o})}):null},jo=_u;import xu from"classnames";var Vi={root:"_root_1ukx5_1"};import{jsx as wu}from"react/jsx-runtime";var bu=({className:t,value:e,...o})=>{let n=h("TextInput",Vi);return wu("input",{className:xu(t,n.root),type:"text",value:e,...o})},qt=bu;var hs={};Z(hs,{enUS:()=>Cu,nlNL:()=>Tu});var Cu={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"}]},Tu={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 $i={root:"_root_1edpl_1",anchorButton:"_anchorButton_1edpl_5",errorMessage:"_errorMessage_1edpl_19",title:"_title_1edpl_25",subtitle:"_subtitle_1edpl_31",text:"_text_1edpl_38",input:"_input_1edpl_43",actions:"_actions_1edpl_48",button:"_button_1edpl_55",primaryButton:"_primaryButton_1edpl_70"};import{jsx as Q,jsxs as Vo}from"react/jsx-runtime";var Pu=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},Au=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=E(hs),i=h("LoginTokenDialog",$i),a=Iu(Vr),l=Ru(),c=b("productName"),[d,p]=vs(t||""),[g,u]=vs(0),[f,m]=vs(""),v=Wi(async x=>{x.preventDefault(),l(Wr({email:d})),u(1)},[o,d]),T=()=>{m(""),u(0)},_=Wi(async x=>{x.preventDefault();let S=Pu(x.target.elements.token.value);if(!S){m(r("verifyCodeError",{login:y}));return}l(Ot({token:S}))},[o]),y=ku(()=>x=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:T,children:x},"back-button"),[]);return Eu(()=>{a==="error"&&m(r("verifyCodeError",{login:y})),a==="done"&&n()},[a]),Q(jo,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:Vo("div",{className:i.root,children:[Q("h1",{className:i.title,children:r("promptTitle",{productName:c})}),g===0&&Vo("form",{onSubmit:v,children:[Q("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Q("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),Q(qt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:x=>p(x.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:ys(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),g===1&&Vo("form",{onSubmit:_,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q(qt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&Q("div",{className:i.errorMessage,children:f}),Vo("div",{className:i.actions,children:[Q("button",{type:"button",className:ys(i.button),onClick:T,children:r("back")}),Q("button",{type:"submit",className:ys(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Gi=Au;import{jsx as Mu}from"react/jsx-runtime";var Lu=()=>{let t=Xi($r),e=Xi(hi),o=b("adminUrl"),n=de(),s=()=>n.send(dt,!1),r=()=>{n.send(dt,!1),n.send(Ft)};return Mu(Gi,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Zi=Lu;import Tm from"lodash.debounce";import{Fragment as Em,useCallback as Bs,useEffect as Ks,useState as Us}from"react";import{useDispatch as km,useSelector as We}from"react-redux";import{createAsyncThunk as Ou,createSlice as Nu}from"@reduxjs/toolkit";var Du={data:null,fetchState:"idle"},Qi=t=>t.contentTypes.data,jt=Ou("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Hu=Nu({name:"contentTypes",initialState:Du,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})}}),Ji=Hu.reducer;function Vt(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 _a,useState as xg,useRef as bg,useCallback as wg}from"react";import{useState as Ku}from"react";import Ss from"classnames";var oe={root:"_root_1xtw7_1",list:"_list_1xtw7_2",listWrapper:"_listWrapper_1xtw7_6",listHorizontal:"_listHorizontal_1xtw7_10",page:"_page_1xtw7_19",search:"_search_1xtw7_25",pageNav:"_pageNav_1xtw7_33",pageTitle:"_pageTitle_1xtw7_41",pageBackButton:"_pageBackButton_1xtw7_48",listHeader:"_listHeader_1xtw7_62",listHeading:"_listHeading_1xtw7_68",listMoreButton:"_listMoreButton_1xtw7_76",listItem:"_listItem_1xtw7_87",listItemContent:"_listItemContent_1xtw7_96",listItemText:"_listItemText_1xtw7_114",listItemDescription:"_listItemDescription_1xtw7_122",listItemActions:"_listItemActions_1xtw7_129",truncate:"_truncate_1xtw7_140",lineClamp:"_lineClamp_1xtw7_146",listItemTitle:"_listItemTitle_1xtw7_153",listItemAction:"_listItemAction_1xtw7_129",listItemPrimaryAction:"_listItemPrimaryAction_1xtw7_178",listItemSelected:"_listItemSelected_1xtw7_183",sources:"_sources_1xtw7_187",sourcesTitle:"_sourcesTitle_1xtw7_194",source:"_source_1xtw7_187",icon:"_icon_1xtw7_209",searchIcon:"_searchIcon_1xtw7_226",searchInputWrapper:"_searchInputWrapper_1xtw7_231",searchInput:"_searchInput_1xtw7_231",select:"_select_1xtw7_252",selectType:"_selectType_1xtw7_269",selectWrapper:"_selectWrapper_1xtw7_273",image:"_image_1xtw7_303",imageSrc:"_imageSrc_1xtw7_310",imageSrcHidden:"_imageSrcHidden_1xtw7_321",imageSrcStatus:"_imageSrcStatus_1xtw7_325",imageTitle:"_imageTitle_1xtw7_335",actions:"_actions_1xtw7_340",actionsWrapper:"_actionsWrapper_1xtw7_344",actionsBar:"_actionsBar_1xtw7_350",actionButton:"_actionButton_1xtw7_359",hasShortKeys:"_hasShortKeys_1xtw7_372",actionShortcut:"_actionShortcut_1xtw7_381",actionShortcutFixKerning:"_actionShortcutFixKerning_1xtw7_388"};var Ve={};Z(Ve,{enUS:()=>Fu,nlNL:()=>Bu});var Fu={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"}]},Bu={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 $t,jsxs as zu}from"react/jsx-runtime";var Uu=({src:t,title:e})=>{let o=h("CommandPalette",oe),[n,s]=Ku("loading"),r=E(Ve);return zu("div",{className:o.image,children:[$t("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ss(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&$t("span",{className:Ss(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&$t("span",{className:Ss(o.imageSrc,o.imageSrcStatus),children:$t(uo,{})}),e&&$t("span",{className:o.imageTitle,children:e})]})},Yi=Uu;import qu from"react";import ju from"classnames";import{jsx as _s,jsxs as ea}from"react/jsx-runtime";function xs({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=E(Ve),i=h("CommandPalette",oe);return qu.Children.count(t)===0?null:ea("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ea("div",{className:i.listHeader,children:[e&&_s("h4",{className:i.listHeading,children:e}),n&&s&&_s("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),_s("div",{className:ju(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Go from"classnames";import{Interweave as gg}from"interweave";var Vu=/[.*+?^${}()|[\]\\]/g,$u=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Wu(t){return t.replace(Vu,"\\$&")}function Gu(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Xu(t){return t.search($u)}function ta(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Wu(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function oa(t){return t.replace(fo,'<mark data-type="placeholder">$1</mark>')}function Wt(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function Zu(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 bs(t,e,o={}){if(e){let n=Gu(e.toLowerCase(),t.toLowerCase()),s=Wt(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=Xu(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(Kr).length>3||e.length>30?Zu(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Wt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Qu=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function ws(t){return Qu.test(t)}function na(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Ju,{useState as sa,useEffect as ra,useMemo as Yu,useRef as ia,useCallback as eg,useContext as tg}from"react";import og from"classnames";var Cs={root:"_root_1oh4w_1",trigger:"_trigger_1oh4w_5",content:"_content_1oh4w_19",contentOpen:"_contentOpen_1oh4w_33",contentTop:"_contentTop_1oh4w_37",contentBottom:"_contentBottom_1oh4w_41",item:"_item_1oh4w_45"};import{jsx as $o,jsxs as ig}from"react/jsx-runtime";var ng=0,aa=Ju.createContext(null),sg=()=>{let t=tg(aa);if(!t)throw new Error("Invalid DropdownContext");return t},la=({trigger:t,children:e,position:o="bottom"})=>{let n=Yu(()=>++ng,[]),s=ia(null),r=ia(null),i=h("Dropdown",Cs),[a,l]=sa(!1),[c,d]=sa(o),p=u=>{u.preventDefault(),u.stopPropagation(),l(!a)},g=eg(([u])=>{!u.isIntersecting&&a&&d(c==="top"?"bottom":"top")},[a]);return ra(()=>{let u=f=>{s.current&&!s.current.contains(f.target)&&l(!1)};return document.addEventListener("click",u),()=>{document.removeEventListener("click",u)}},[]),ra(()=>{if(!r.current&&!a)return()=>{};let u=new IntersectionObserver(g,{root:null,rootMargin:"0px",threshold:1});return r.current&&u.observe(r.current),()=>{r.current&&u.unobserve(r.current)}},[r,a]),$o(aa.Provider,{value:{setIsOpen:l},children:ig("div",{ref:s,className:i.root,children:[$o("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),$o("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:og(i.content,{[i.contentOpen]:a,[i.contentTop]:c==="top",[i.contentBottom]:c==="bottom"}),children:e})]})})};function rg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Cs),{setIsOpen:i}=sg(),a=l=>{i(!1),o(l),l.stopPropagation()};return $o(s,{type:"button",className:r.item,onClick:a,...n,children:e})}la.Item=rg;var Ts=la;import{jsx as ca}from"react/jsx-runtime";var da=t=>ca("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:ca("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 $e={};Z($e,{enUS:()=>ag,nlNL:()=>lg});var ag={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"}]},lg={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 Es}from"react/jsx-runtime";var cg="%0d%0a%0d%0a%0d%0a",dg=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(cg)}`},pg=({suggestion:t,onFeedback:e})=>{let o=E($e),n=b("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Es(Ts,{trigger:Es(da,{"data-testid":"feedback-dropdown-trigger"}),children:Es(Ts.Item,{as:"a",href:dg(n,t),onClick:e,children:o("giveFeedback")})})},Wo=pg;import ks from"react";import{jsx as ug}from"react/jsx-runtime";var pa=ks.createContext(void 0);function Le(){let t=ks.useContext(pa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ua=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=ks.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return ug(pa.Provider,{value:i,children:t})};import{jsx as Me,jsxs as Rs}from"react/jsx-runtime";function Is({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,description:i,sources:a,id:l,styles:c,...d}){let{selected:p,onChangeOpen:g}=Le(),u=h("CommandPalette",oe);function f(m){n(m),t&&g(!1)}return Rs("div",{className:Go(u.listItem,l===p&&u.listItemSelected),children:[Me("button",{type:"button",className:Go(u.listItemAction,u.listItemPrimaryAction),"aria-disabled":d.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...d,children:Rs("div",{className:u.listItemContent,children:[typeof o=="string"?Me("p",{className:Go(u.listItemText,u.truncate,c==null?void 0:c.title),children:o}):o,i&&Me(gg,{tagName:"p",allowList:[],content:ws(i)?na(i):i,className:Go(u.listItemDescription,c==null?void 0:c.description,e?u.lineClamp:u.truncate)})]})}),s&&Me("div",{className:u.listItemActions,children:Me(Wo,{suggestion:String(o),onFeedback:s})}),a&&Rs("div",{className:u.sources,children:[Me("span",{className:u.sourcesTitle,children:"Sources"}),a.map(m=>m.url?Me("a",{className:u.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>r&&r(m),children:m.name},m.url):Me("span",{className:u.source,children:m.name},m.name))]})]})}import{jsx as ga,jsxs as mg}from"react/jsx-runtime";var ma=()=>mg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[ga("title",{id:"angleLeftTitle",children:"AngleLeft"}),ga("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 fa,jsxs as Ps}from"react/jsx-runtime";function As({children:t,title:e,id:o,onDismiss:n}){let s=E(Ve),r=h("CommandPalette",oe),{page:i}=Le();return i!==o?null:Ps("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Ps("div",{className:r.pageNav,children:[Ps("button",{className:r.pageBackButton,type:"button",onClick:n,children:[fa(ma,{}),s("back")]}),e&&fa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as hg}from"react";import{jsx as ha,jsxs as fg}from"react/jsx-runtime";var ut=()=>fg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[ha("path",{d:"M0 0h24v24H0z",fill:"none"}),ha("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as gt,jsxs as Ls}from"react/jsx-runtime";function yg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=h("CommandPalette",oe);return Ls("div",{className:l.search,children:[gt("div",{className:l.searchIcon,children:gt(ut,{})}),Ls("div",{className:l.searchInputWrapper,children:[gt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&gt("div",{className:l.selectWrapper,children:Ls("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===n?void 0:c.target.value),value:i||n,children:[n&&gt("option",{children:n}),s.map(c=>gt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var ya=hg(yg);import va from"classnames";import{jsx as Sg,jsxs as _g}from"react/jsx-runtime";var vg=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",oe);return _g("button",{type:"button",...n,onClick:t,className:va(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Sg("span",{className:va(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Sa=vg;import{jsx as xa,jsxs as Tg}from"react/jsx-runtime";var Cg="[data-command-palette-item]";function mt({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:d,isOpen:p,search:g}){let[u,f]=xg(),m=bg(null),v=()=>{s&&s(o),i(void 0),r(""),a(!1)},T=()=>{var R;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(R=m.current)==null||R.focus();return}if(g.length>0){r("");return}a(!1)},_=()=>{let R=y();R.length!==0&&f(R[0].dataset.itemId)},y=()=>Array.from(document.querySelectorAll(Cg)||[]),x=R=>document.querySelector(`[data-item-id=${R}]`),S=R=>{let A=x(R);A&&f(A.dataset.itemId)},O=R=>{let A=x(R);A&&A.scrollIntoView({behavior:"smooth"})},F=()=>{if(!u)return;let R=y(),A=x(u);if(!A)return;let k=R.indexOf(A),j=R[k+1];j&&j.dataset.itemId?S(j.dataset.itemId):_()},U=()=>{if(!u)return;let R=y(),A=x(u);if(!A)return;let k=R.indexOf(A),j=R[k-1];j&&j.dataset.itemId?S(j.dataset.itemId):S(R[R.length-1].dataset.itemId)},H=wg(R=>{switch(R.key){case"ArrowDown":{R.preventDefault(),F();break}case"ArrowUp":{R.preventDefault(),U();break}case"Enter":{if(u){let A=x(u);A==null||A.click()}break}}},[u]);return _a(()=>{_()},[g,n,l,p]),_a(()=>{u&&O(u)},[u]),xa(jo,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:T,onClose:v,onKeyDown:H,children:Tg(ua,{selected:u,setSelected:f,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&xa(ya,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:g,selectedType:l,types:c,typePlaceholder:e}),d]})})}mt.Page=As;mt.List=xs;mt.Image=Yi;mt.ListItem=Is;mt.Button=Sa;var D=mt;import{useEffect as Eg}from"react";function ba(t,e){Eg(()=>{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 Ea,useRef as Mg}from"react";import{useSelector as Og,useDispatch as Ng}from"react-redux";import{createAsyncThunk as kg,createSlice as Rg}from"@reduxjs/toolkit";var wa={data:null,fetchState:"idle"},Xo=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=kg("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)),Pg=Rg({name:"entities",initialState:wa,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,()=>wa)}}),Ca=Pg.reducer;var Ms={};Z(Ms,{enUS:()=>Ag,nlNL:()=>Lg});var Ag={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Lg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Ta={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as Os,jsxs as Hg}from"react/jsx-runtime";var Dg=({onCopy:t})=>{let e=Mg(null),o=h("EntitiesList",Ta),n=Og(Xo),{setSelected:s}=Le(),r=E(Ms),i=Ng();return Ea(()=>{i(ae())},[]),Ea(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),Hg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Os(D.List,{children:n.map((a,l)=>Os(D.ListItem,{id:`entity-${l}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Os("p",{className:o.empty,children:r("noResults")})]})},ka=Dg;import{Fragment as qg,useEffect as Zo,useRef as jg,useState as Vg}from"react";import{useSelector as Ma,useDispatch as $g}from"react-redux";import{createAsyncThunk as Fg,createSlice as Bg}from"@reduxjs/toolkit";var Ra={data:null,fetchState:"idle"},Ia=t=>t.summary.data,Pa=t=>t.summary.fetchState==="error",_e=Fg("summary/getSummary",async(t,e)=>{var d,p,g;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(g=(p=e.getState().info)==null?void 0:p.agentInfo)==null?void 0:g.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,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let c=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return c?{summary:c}:Promise.reject(new Error("Summary is not provided"))}),Kg=Bg({name:"summary",initialState:Ra,reducers:{},extraReducers:t=>{t.addCase(_e.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(_e.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(_e.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(M,()=>Ra)}}),Aa=Kg.reducer;var Ns={};Z(Ns,{enUS:()=>Ug,nlNL:()=>zg});var Ug={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."}]},zg={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 La={root:"_root_6ahh3_1",actions:"_actions_6ahh3_5",main:"_main_6ahh3_11",textInput:"_textInput_6ahh3_15",loading:"_loading_6ahh3_34",error:"_error_6ahh3_38"};import{jsx as ft,jsxs as Gg}from"react/jsx-runtime";var Wg=({onCopy:t})=>{let e=jg(null),o=h("SummaryForm",La),[n,s]=Vg(""),r=E(Ns),i=Ma(Ia),a=Ma(Pa),l=$g(),c=()=>{l($({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},d=()=>{let p=document.getSelection();p&&l($({name:"summary copied to clipboard",data:{originalText:i,finalText:p==null?void 0:p.toString()},options:{includeConversationData:!0}}))};return Zo(()=>{l(_e())},[]),Zo(()=>{s(i||"")},[i]),Zo(()=>{e.current&&i&&e.current.focus()},[e,i]),Zo(()=>{let p=g=>{g.key==="Enter"&&g.shiftKey&&c()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),ft("div",{className:o.root,tabIndex:-1,children:a?ft("p",{className:o.error,children:r("error")}):Gg(qg,{children:[ft("div",{className:o.main,children:ft("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:d,onChange:p=>s(p.target.value)})}),ft("div",{className:o.actions,children:ft(D.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},Oa=Wg;var Gt={};Z(Gt,{enUS:()=>Xg,nlNL:()=>Zg});var Xg={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?"}]},Zg={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 lm,{useEffect as Fs,useRef as cm}from"react";import{useDispatch as dm,useSelector as qa}from"react-redux";var Ds={};Z(Ds,{enUS:()=>Qg,nlNL:()=>Jg});var Qg={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"}]},Jg={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 Na={root:"_root_1g4pq_1",title:"_title_1g4pq_9",empty:"_empty_1g4pq_20",status:"_status_1g4pq_24",form:"_form_1g4pq_30",input:"_input_1g4pq_43",submit:"_submit_1g4pq_55",question:"_question_1g4pq_63",answer:"_answer_1g4pq_67",alignRight:"_alignRight_1g4pq_73"};import{createAction as nm,createAsyncThunk as sm,createSlice as rm}from"@reduxjs/toolkit";import{createAsyncThunk as Yg,createSlice as em}from"@reduxjs/toolkit";var tm={data:null,fetchState:"idle"},Da=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Xt=Yg("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}),om=em({name:"knowledgeAssistant",initialState:tm,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=o.payload})}}),Ha=om.reducer;var Hs={data:[],fetchState:"idle"},Fa=t=>{var e;return(e=t.answer)==null?void 0:e.data},Ba=t=>t.answer.fetchState,yt=nm("answer/resetKnowledgeSearch"),ht=sm("answer/getAnswer",async(t,e)=>{var l,c,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Da(e.getState()),r=(l=e.getState().conversation.current)==null?void 0:l.sessionId,i=(d=(c=e.getState().info)==null?void 0:c.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),im=rm({name:"answer",initialState:Hs,reducers:{},extraReducers:t=>{t.addCase(ht.pending,e=>{e.fetchState="loading"}).addCase(ht.rejected,e=>{e.fetchState="error"}).addCase(ht.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>Hs).addCase(yt,()=>Hs)}}),Ka=im.reducer;import{jsx as Ua,jsxs as am}from"react/jsx-runtime";var za=()=>am("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[Ua("title",{id:"paperPlaneTitle",children:"PaperPlane"}),Ua("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 xe,jsxs as ja}from"react/jsx-runtime";var pm=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=lm.useState(""),{setSelected:r}=Le(),i=cm(null),a=h("EntitiesList",Na),l=E(Ds),c=dm(),d=qa(Fa),p=qa(Ba),g=async f=>{f.preventDefault(),f.stopPropagation(),n!==""&&c(ht(n))},u=(f,m)=>{c($({name:"knowledge assist source viewed",data:{question:m,sourceViewed:f.url||f.name},options:{includeConversationData:!0}}))};return Fs(()=>{var f;o&&p==="idle"?c(ht(o)):(f=i.current)==null||f.focus()},[i,p]),Fs(()=>{p==="done"&&(c($({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(""))},[p,d]),Fs(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),ja("div",{className:a.root,children:[d.length>0&&xe("div",{className:a.alignRight,children:xe(D.Button,{onClick:e,children:l("reset")})}),d.map(({question:f,answer:m},v)=>xe(D.List,{children:xe(D.ListItem,{id:`knowledge-assist-${v}`,"data-testid":"knowledge-search-answer",description:m.answer,closeOnSelect:!0,onClick:()=>t(m.answer),onSourceClick:T=>u(T,f),sources:m.sources,styles:{title:a.question,description:a.answer},children:f})},`${m.answer}_${v}`)),p==="loading"&&xe("p",{className:a.status,children:l("loading")}),p==="error"&&xe("p",{className:a.status,children:l("error")}),ja("form",{className:a.form,onSubmit:g,children:[xe("input",{ref:i,placeholder:l("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:f=>{r(void 0),s(f.target.value)}}),xe("button",{type:"submit",className:a.submit,children:xe(za,{})})]})]})},Va=pm;import{createAsyncThunk as um,createSlice as gm}from"@reduxjs/toolkit";var mm={data:null,fetchState:"idle"},Oe=t=>t.profile.data,Qo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Zt=um("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)}),fm=gm({name:"profile",initialState:mm,reducers:{},extraReducers:t=>{t.addCase(Zt.pending,e=>{e.fetchState="loading"}).addCase(Zt.rejected,e=>{e.fetchState="error"}).addCase(Zt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),$a=fm.reducer;import{useEffect as _m}from"react";import{useDispatch as xm}from"react-redux";import{createAction as vm,createAsyncThunk as Za,createSlice as Sm}from"@reduxjs/toolkit";var hm=["{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}"],ym=new RegExp(hm.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Wa(t,e){let o=t.split(ym),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],l=r===o.length-2;n+=i.length;let c=n;if(l){let p=a.charAt(0),g=0;do c=p?e.indexOf(p,c+1):-1,g+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&g>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let d=c===-1?e.slice(n):e.slice(n,c);s.push(d),n=c}return s.join("")}function Ga(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Qa={suggestions:[],fetchState:"idle",isInitialRequest:null},Xa={default:Qa},Ja=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},Ya=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},Jo=t=>t.textSuggestions,el=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},Yo=vm("textSuggestions/refresh"),le=Za("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ct(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,Ht(n),t);if(t==="default"){let d=i?l.filter(el(a)):l;e.dispatch(ce(d.slice(0,r)))}return l}),Qt=Za("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...Ht(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(el(t))),i&&(l=l.map(d=>({...d,text:d.source!=="trie-with-typos"?Wa(d.text,t):d.text}))),l=Ga(l,r),e.dispatch(ce(l)),l}),tl=Sm({name:"textSuggestions",initialState:Xa,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(le.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||Qa;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(le.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(le.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(Qt.pending,e=>{e.default.fetchState="loading"}).addCase(Qt.rejected,e=>{e.default.fetchState="error"}).addCase(Qt.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>Xa)}}),{setTextSuggestions:N0,setSuggestionState:D0}=tl.actions,ol=tl.reducer;import{useSelector as nl}from"react-redux";import{jsx as en,jsxs as wm}from"react/jsx-runtime";var bm=({commands:t,onClick:e})=>{var a,l,c;let o=xm(),n=E(Gt),s=nl(Oe),r=nl(Jo),i=((c=(l=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:l.initialTypes)==null?void 0:c.filter(({isActive:d})=>d))||[];return _m(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(le(d))})},[]),wm("div",{children:[t.length>0&&en(D.List,{heading:n("commands"),children:t.map((d,p)=>en(D.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:p})=>{var g;return en(D.List,{heading:p,orientation:"vertical",children:(g=r[d])==null?void 0:g.suggestions.map((u,f)=>en(D.ListItem,{id:`${d}-${f}`,closeOnSelect:!1,description:u.text,onClick:()=>e(u.text,u),"data-testid":"search-overlay-suggestion",children:u.title},`${u.id}-${u.text}`))},d)})]})},sl=bm;import{jsx as ne,jsxs as zs}from"react/jsx-runtime";var Rm=200,Im=5,Pm=4,rl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Am=()=>{let t=km(),e=de(),o=E(Gt),[n,s]=Us(!1),[r,i]=Us(""),a=We(xi),l=We(Oe),[c,d]=Us(),p=We(G),g=b("showSearch"),u=b("showEntitiesCommand"),f=b("showSummaryCommand"),m=b("showKnowledgeSearch"),v=b("showImageSearch"),T=b("searchTriggerKey"),_=We(Qi),y=We(bi),x=We(wi),S=We(_i),O=w=>et(y.filter(V=>V.type===w.toUpperCase()),w),F=[{value:"PERSONAL",label:o("personalSuggestions"),list:O("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:O("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:O("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:O("IMAGE"),listOrientation:"horizontal",shouldShow:v}].filter(w=>w.shouldShow),U=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:u&&rl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:f&&rl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:m}].filter(w=>w.shouldShow),H=(_==null?void 0:_.map(w=>({value:w.code.toUpperCase(),label:`${w.name}s`,list:O(w.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],R=Bs(Tm((w,V)=>{t(ze({query:w,type:V,tags:["search-overlay"],size:c?50:20}))},Rm),[c]),A=Bs((w,V)=>{switch(V.type){case"IMAGE":e.send(as,{suggestion:V});break;default:e.send(pt,{text:w,suggestion:V})}t(Y(!1))},[t]),k=w=>{Vt(w.text),t($({name:"entity copied",data:{entity:w,type:"copy"}})),t(Y(!1))},j=Bs(w=>{t($({name:"suggestion feedback",data:{text:w.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),Bn=w=>{e.send(pt,{text:w,suggestion:{source:"knowledge-assist",text:w}}),t($({name:"answer used",data:{originalText:w},options:{includeConversationData:!0}})),i(""),t(re("search")),t(yt()),t(Y(!1))},Kn=w=>{Vt(w),t(Y(!1))};function et(w,V){return w.slice(0,c?10:V.toLowerCase()==="image"?Pm:Im)}function Ke(w){return V=>{n?window.confirm(o("warning"))&&(w(V),s(!1)):w(V)}}return Ks(()=>{r?R(r,c):t(Po())},[r,c]),Ks(()=>{a==="search"&&t(yt())},[a]),Ks(()=>{p&&t(jt())},[p]),ba(T,()=>t(Y(!0))),!g||!l?null:zs(D,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ke(w=>t(Y(w))),onChangeType:w=>d(w),onChangePage:Ke(w=>t(re(w))),selectedType:c,search:r,page:a,isOpen:S,types:[...H,...F],children:[zs(D.Page,{id:"search",children:[r.length===0&&ne(sl,{commands:U,onClick:A}),r.length>0&&zs(Em,{children:[U.length>0&&ne(D.List,{heading:o("commands"),children:U.map((w,V)=>ne(D.ListItem,{closeOnSelect:!1,onClick:w.onClick,id:`commands-${V}`,children:w.label},w.label))}),[...H,...F].map(({value:w,label:V,list:Pr,lineClamp:Hd,listOrientation:Fd})=>ne(D.List,{heading:V,orientation:Fd==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(w),hasMore:!c&&x[w.toLowerCase()]>et(Pr,w).length,children:et(Pr,w).map(J=>ne(D.ListItem,{id:`${w}-${J.id}`,closeOnSelect:!1,lineClamp:Hd,onClick:()=>A(J.text,J),description:w!=="IMAGE"?J.title&&J.text:void 0,onFeedback:w!=="IMAGE"?()=>j(J):void 0,children:w==="IMAGE"?ne(D.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},w))]})]}),ne(D.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Ke(()=>{t(re("search"))}),children:ne(ka,{onCopy:k})}),ne(D.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Ke(()=>{t(re("search"))}),children:ne(Oa,{onCopy:Kn})}),ne(D.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Ke(()=>{t(yt()),t(re("search"))}),children:ne(Va,{question:r,onUse:Bn,onResetQuestion:()=>{t(yt()),i("")}})})]})},il=Am;import{jsx as al,jsxs as Om}from"react/jsx-runtime";var Mm=()=>{let t=b("showSearch"),e=b("isEmbedded");return Om(Lm,{children:[t&&al(il,{}),e&&al(Zi,{})]})},ll=Mm;import Fm from"classnames";import{useSelector as Bm}from"react-redux";import{jsx as qs}from"react/jsx-runtime";var cl=({className:t})=>qs("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:qs("g",{children:qs("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
+ `,je.MISSING_INTL_API,i);var b=o.getPluralRules(e,{type:d.pluralType}).select(u-(d.offset||0));y=d.options[b]||d.options.other}if(!y)throw new gs(d.value,u,Object.keys(d.options),i);a.push.apply(a,qt(y.value,e,o,n,s,u-(d.offset||0)));continue}}return Cu(a)}function Tu(t,e){return e?te(te(te({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=te(te({},t[n]),e[n]||{}),o},{})):t}function Eu(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Tu(t[n],e[n]),o},te({},t)):t}function ms(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function ku(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,No([void 0],o,!1)))},{cache:ms(t.number),strategy:qo.variadic}),getDateTimeFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,No([void 0],o,!1)))},{cache:ms(t.dateTime),strategy:qo.variadic}),getPluralRules:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,No([void 0],o,!1)))},{cache:ms(t.pluralRules),strategy:qo.variadic})}}var Vi=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(c){var d=r.formatToParts(c);if(d.length===1)return d[0].value;var p=d.reduce(function(u,g){return!u.length||g.type!==j.literal||typeof u[u.length-1]!="string"?u.push(g.value):u[u.length-1]+=g.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(c){return qt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.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,l=_i(i,["formatters"]);this.ast=t.__parse(e,te(te({},l),{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=Eu(t.formats,n),this.formatters=s&&s.formatters||ku(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=Fi,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 Iu(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Au="dummy",fs=Ru(null);function k(t){let e=Pu(fs);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=Iu(o,n);return r?new Vi(r).format(s):(e!==Au&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Mu,useRef as Nu}from"react";var $i={root:"U",content:"To"};import{jsx as qi}from"react/jsx-runtime";var Ou=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let l=Nu(null),c=h("Dialog",$i),d=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===l.current&&t&&n()};return Mu(()=>{var u,g;!l.current||!t||!e||(g=(u=l.current)==null?void 0:u.querySelector("input, textarea"))==null||g.focus()},[t,e,l]),t?qi("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":i,ref:l,onKeyDown:d,onMouseDown:p,children:qi("div",{"data-testid":"dialog-content",className:c.content,"aria-label":a,children:o})}):null},Go=Ou;import Du from"classnames";var Gi={root:"y"};import{jsx as Fu}from"react/jsx-runtime";var Hu=({className:t,value:e,...o})=>{let n=h("TextInput",Gi);return Fu("input",{className:Du(t,n.root),type:"text",value:e,...o})},Gt=Hu;var hs={};Q(hs,{enUS:()=>Bu,nlNL:()=>Ku});var Bu={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"}]},Ku={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 ji={root:"Uo",anchorButton:"Bo",errorMessage:"Do",title:"Io",subtitle:"Oo",text:"Xo",input:"Jo",actions:"Ko",button:"w",primaryButton:"Po"};import{jsx as J,jsxs as jo}from"react/jsx-runtime";var Gu=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},ju=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=k(hs),i=h("LoginTokenDialog",ji),a=qu(Gr),l=$u(),c=w("productName"),[d,p]=vs(t||""),[u,g]=vs(0),[f,m]=vs(""),v=Wi(async b=>{b.preventDefault(),l(Wr({email:d})),g(1)},[o,d]),T=()=>{m(""),g(0)},S=Wi(async b=>{b.preventDefault();let x=Gu(b.target.elements.token.value);if(!x){m(r("verifyCodeError",{login:y}));return}l(Ht({token:x}))},[o]),y=Vu(()=>b=>J("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:T,children:b},"back-button"),[]);return zu(()=>{a==="error"&&m(r("verifyCodeError",{login:y})),a==="done"&&n()},[a]),J(Go,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:jo("div",{className:i.root,children:[J("h1",{className:i.title,children:r("promptTitle",{productName:c})}),u===0&&jo("form",{onSubmit:v,children:[J("h2",{className:i.subtitle,children:r("requestCodeTitle")}),J("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),J(Gt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:b=>p(b.target.value)}),J("div",{className:i.actions,children:J("button",{type:"submit",className:ys(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&jo("form",{onSubmit:S,children:[J("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),J("p",{className:i.text,children:r("verifyCodeBody")}),J(Gt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&J("div",{className:i.errorMessage,children:f}),jo("div",{className:i.actions,children:[J("button",{type:"button",className:ys(i.button),onClick:T,children:r("back")}),J("button",{type:"submit",className:ys(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Xi=ju;import{jsx as Xu}from"react/jsx-runtime";var Wu=()=>{let t=Zi(jr),e=Zi(yi),o=w("adminUrl"),n=ae(),s=()=>n.send(gt,!1),r=()=>{n.send(gt,!1),n.send(Ut)};return Xu(Xi,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},Qi=Wu;import Gm from"lodash.debounce";import{Fragment as jm,useCallback as Bs,useEffect as Ks,useState as Us}from"react";import{useDispatch as Wm,useSelector as Qe}from"react-redux";import{createAsyncThunk as Zu,createSlice as Qu}from"@reduxjs/toolkit";var Ju={data:null,fetchState:"idle"},Ji=t=>t.contentTypes.data,jt=Zu("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),Yu=Qu({name:"contentTypes",initialState:Ju,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})}}),Yi=Yu.reducer;function We(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 ba,useState as Bg,useRef as Kg,useCallback as Ug}from"react";import{useState as ng}from"react";import Ss from"classnames";var ne={root:"Qo",list:"Vo",listWrapper:"Wo",listHorizontal:"B",page:"v",search:"D",pageNav:"Zo",pageTitle:"_o",pageBackButton:"I",listHeader:"oe",listHeading:"ee",listMoreButton:"ie",listItem:"O",listItemContent:"a",listItemText:"re",listItemDescription:"te",listItemActions:"X",truncate:"ne",lineClamp:"ae",listItemTitle:"de",listItemAction:"pe",listItemPrimaryAction:"le",listItemSelected:"se",sources:"xe",sourcesTitle:"ce",source:"fe",icon:"J",searchIcon:"ge",searchInputWrapper:"be",searchInput:"k",select:"he",selectType:"me",selectWrapper:"z",image:"ue",imageSrc:"ye",imageSrcHidden:"we",imageSrcStatus:"ve",imageTitle:"ke",actions:"ze",actionsWrapper:"je",actionsBar:"qe",actionButton:"K",hasShortKeys:"Ce",actionShortcut:"Se",actionShortcutFixKerning:"Ee"};var Xe={};Q(Xe,{enUS:()=>tg,nlNL:()=>og});var tg={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"}]},og={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 Wt,jsxs as rg}from"react/jsx-runtime";var sg=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=ng("loading"),r=k(Xe);return rg("div",{className:o.image,children:[Wt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ss(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Wt("span",{className:Ss(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Wt("span",{className:Ss(o.imageSrc,o.imageSrcStatus),children:Wt(mo,{})}),e&&Wt("span",{className:o.imageTitle,children:e})]})},ea=sg;import ig from"react";import ag from"classnames";import{jsx as xs,jsxs as ta}from"react/jsx-runtime";function bs({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=k(Xe),i=h("CommandPalette",ne);return ig.Children.count(t)===0?null:ta("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ta("div",{className:i.listHeader,children:[e&&xs("h4",{className:i.listHeading,children:e}),n&&s&&xs("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),xs("div",{className:ag(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Zo from"classnames";import{Interweave as Lg}from"interweave";var lg=/[.*+?^${}()|[\]\\]/g,cg=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function dg(t){return t.replace(lg,"\\$&")}function pg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function ug(t){return t.search(cg)}function oa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${dg(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function na(t){return t.replace(yo,'<mark data-type="placeholder">$1</mark>')}function Xt(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function gg(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 Cs(t,e,o={}){if(e){let n=pg(e.toLowerCase(),t.toLowerCase()),s=Xt(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=ug(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(Ur).length>3||e.length>30?gg(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Xt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var mg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function ws(t){return mg.test(t)}function sa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import hg,{useState as ra,useEffect as ia,useMemo as yg,useRef as aa,useCallback as vg,useContext as Sg}from"react";import xg from"classnames";var Ts={root:"Ge",trigger:"P",content:"Ne",contentOpen:"Ye",contentTop:"Ae",contentBottom:"Fe",item:"Q"};import{jsx as Wo,jsxs as Tg}from"react/jsx-runtime";var bg=0,la=hg.createContext(null),Cg=()=>{let t=Sg(la);if(!t)throw new Error("Invalid DropdownContext");return t},ca=({trigger:t,children:e,position:o="bottom"})=>{let n=yg(()=>++bg,[]),s=aa(null),r=aa(null),i=h("Dropdown",Ts),[a,l]=ra(!1),[c,d]=ra(o),p=g=>{g.preventDefault(),g.stopPropagation(),l(!a)},u=vg(([g])=>{!g.isIntersecting&&a&&d(c==="top"?"bottom":"top")},[a]);return ia(()=>{let g=f=>{s.current&&!s.current.contains(f.target)&&l(!1)};return document.addEventListener("click",g),()=>{document.removeEventListener("click",g)}},[]),ia(()=>{if(!r.current&&!a)return()=>{};let g=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&g.observe(r.current),()=>{r.current&&g.unobserve(r.current)}},[r,a]),Wo(la.Provider,{value:{setIsOpen:l},children:Tg("div",{ref:s,className:i.root,children:[Wo("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:p,children:t}),Wo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:xg(i.content,{[i.contentOpen]:a,[i.contentTop]:c==="top",[i.contentBottom]:c==="bottom"}),children:e})]})})};function wg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Ts),{setIsOpen:i}=Cg(),a=l=>{i(!1),o(l),l.stopPropagation()};return Wo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}ca.Item=wg;var Es=ca;import{jsx as da}from"react/jsx-runtime";var pa=t=>da("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:da("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 Ze={};Q(Ze,{enUS:()=>Eg,nlNL:()=>kg});var Eg={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"}]},kg={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 ks}from"react/jsx-runtime";var Rg="%0d%0a%0d%0a%0d%0a",Pg=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Rg)}`},Ig=({suggestion:t,onFeedback:e})=>{let o=k(Ze),n=w("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:ks(Es,{trigger:ks(pa,{"data-testid":"feedback-dropdown-trigger"}),children:ks(Es.Item,{as:"a",href:Pg(n,t),onClick:e,children:o("giveFeedback")})})},Xo=Ig;import Rs from"react";import{jsx as Ag}from"react/jsx-runtime";var ua=Rs.createContext(void 0);function Ne(){let t=Rs.useContext(ua);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ga=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Rs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Ag(ua.Provider,{value:i,children:t})};import{jsx as Oe,jsxs as Ps}from"react/jsx-runtime";function Is({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,description:i,sources:a,id:l,styles:c,...d}){let{selected:p,onChangeOpen:u}=Ne(),g=h("CommandPalette",ne);function f(m){n(m),t&&u(!1)}return Ps("div",{className:Zo(g.listItem,l===p&&g.listItemSelected),children:[Oe("button",{type:"button",className:Zo(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":d.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...d,children:Ps("div",{className:g.listItemContent,children:[typeof o=="string"?Oe("p",{className:Zo(g.listItemText,g.truncate,c==null?void 0:c.title),children:o}):o,i&&Oe(Lg,{tagName:"p",allowList:[],content:ws(i)?sa(i):i,className:Zo(g.listItemDescription,c==null?void 0:c.description,e?g.lineClamp:g.truncate)})]})}),s&&Oe("div",{className:g.listItemActions,children:Oe(Xo,{suggestion:String(o),onFeedback:s})}),a&&Ps("div",{className:g.sources,children:[Oe("span",{className:g.sourcesTitle,children:"Sources"}),a.map(m=>m.url?Oe("a",{className:g.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>r&&r(m),children:m.name},m.url):Oe("span",{className:g.source,children:m.name},m.name))]})]})}import{jsx as ma,jsxs as Mg}from"react/jsx-runtime";var fa=()=>Mg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[ma("title",{id:"angleLeftTitle",children:"AngleLeft"}),ma("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 ha,jsxs as As}from"react/jsx-runtime";function Ls({children:t,title:e,id:o,onDismiss:n}){let s=k(Xe),r=h("CommandPalette",ne),{page:i}=Ne();return i!==o?null:As("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&As("div",{className:r.pageNav,children:[As("button",{className:r.pageBackButton,type:"button",onClick:n,children:[ha(fa,{}),s("back")]}),e&&ha("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Og}from"react";import{jsx as ya,jsxs as Ng}from"react/jsx-runtime";var mt=()=>Ng("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[ya("path",{d:"M0 0h24v24H0z",fill:"none"}),ya("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 ft,jsxs as Ms}from"react/jsx-runtime";function _g({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=h("CommandPalette",ne);return Ms("div",{className:l.search,children:[ft("div",{className:l.searchIcon,children:ft(mt,{})}),Ms("div",{className:l.searchInputWrapper,children:[ft("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ft("div",{className:l.selectWrapper,children:Ms("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===n?void 0:c.target.value),value:i||n,children:[n&&ft("option",{children:n}),s.map(c=>ft("option",{value:c.value,children:c.label},c.value))]})})]})]})}var va=Og(_g);import Sa from"classnames";import{jsx as Hg,jsxs as Fg}from"react/jsx-runtime";var Dg=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return Fg("button",{type:"button",...n,onClick:t,className:Sa(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>Hg("span",{className:Sa(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},xa=Dg;import{jsx as Ca,jsxs as Vg}from"react/jsx-runtime";var zg="[data-command-palette-item]";function ht({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:d,isOpen:p,search:u}){let[g,f]=Bg(),m=Kg(null),v=()=>{s&&s(o),i(void 0),r(""),a(!1)},T=()=>{var R;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(R=m.current)==null||R.focus();return}if(u.length>0){r("");return}a(!1)},S=()=>{let R=y();R.length!==0&&f(R[0].dataset.itemId)},y=()=>Array.from(document.querySelectorAll(zg)||[]),b=R=>document.querySelector(`[data-item-id=${R}]`),x=R=>{let A=b(R);A&&f(A.dataset.itemId)},M=R=>{let A=b(R);A&&A.scrollIntoView({behavior:"smooth"})},B=()=>{if(!g)return;let R=y(),A=b(g);if(!A)return;let V=R.indexOf(A),Z=R[V+1];Z&&Z.dataset.itemId?x(Z.dataset.itemId):S()},z=()=>{if(!g)return;let R=y(),A=b(g);if(!A)return;let V=R.indexOf(A),Z=R[V-1];Z&&Z.dataset.itemId?x(Z.dataset.itemId):x(R[R.length-1].dataset.itemId)},H=Ug(R=>{switch(R.key){case"ArrowDown":{R.preventDefault(),B();break}case"ArrowUp":{R.preventDefault(),z();break}case"Enter":{if(g){let A=b(g);A==null||A.click()}break}}},[g]);return ba(()=>{S()},[u,n,l,p]),ba(()=>{g&&M(g)},[g]),Ca(Go,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:T,onClose:v,onKeyDown:H,children:Vg(ga,{selected:g,setSelected:f,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&Ca(va,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:l,types:c,typePlaceholder:e}),d]})})}ht.Page=Ls;ht.List=bs;ht.Image=ea;ht.ListItem=Is;ht.Button=xa;var _=ht;import{useEffect as $g}from"react";function wa(t,e){$g(()=>{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 Ra,useRef as Jg}from"react";import{useSelector as Yg,useDispatch as em}from"react-redux";import{createAsyncThunk as qg,createSlice as Gg}from"@reduxjs/toolkit";var Ta={data:null,fetchState:"idle"},Qo=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},ce=qg("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)}),jg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),Wg=Gg({name:"entities",initialState:Ta,reducers:{},extraReducers:t=>{t.addCase(ce.pending,e=>{e.fetchState="loading"}).addCase(ce.rejected,e=>{e.fetchState="error"}).addCase(ce.fulfilled,(e,o)=>{e.fetchState="done",e.data=jg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(L,()=>Ta)}}),Ea=Wg.reducer;var Ns={};Q(Ns,{enUS:()=>Xg,nlNL:()=>Zg});var Xg={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},Zg={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var ka={root:"He",empty:"Le"};import{jsx as Os,jsxs as om}from"react/jsx-runtime";var tm=({onCopy:t})=>{let e=Jg(null),o=h("EntitiesList",ka),n=Yg(Qo),{setSelected:s}=Ne(),r=k(Ns),i=em();return Ra(()=>{i(ce())},[]),Ra(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),om("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Os(_.List,{children:n.map((a,l)=>Os(_.ListItem,{id:`entity-${l}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Os("p",{className:o.empty,children:r("noResults")})]})},Pa=tm;import{Fragment as cm,useEffect as Jo,useRef as dm,useState as pm}from"react";import{useSelector as Oa,useDispatch as um}from"react-redux";import{createAsyncThunk as nm,createSlice as sm}from"@reduxjs/toolkit";var Ia={data:null,fetchState:"idle"},Aa=t=>t.summary.data,La=t=>t.summary.fetchState==="error",Ce=nm("summary/getSummary",async(t,e)=>{var d,p,u;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(u=(p=e.getState().info)==null?void 0:p.agentInfo)==null?void 0:u.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,l=await a();if(l.length===0)return Promise.reject(new Error("No messages are included"));let c=await r.getSummary(l,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return c?{summary:c}:Promise.reject(new Error("Summary is not provided"))}),rm=sm({name:"summary",initialState:Ia,reducers:{},extraReducers:t=>{t.addCase(Ce.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(Ce.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(Ce.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(L,()=>Ia)}}),Ma=rm.reducer;var _s={};Q(_s,{enUS:()=>im,nlNL:()=>am});var im={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."}]},am={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 Na={root:"Me",actions:"Re",main:"Te",textInput:"V",loading:"Ue",error:"Be"};import{jsx as yt,jsxs as mm}from"react/jsx-runtime";var gm=({onCopy:t})=>{let e=dm(null),o=h("SummaryForm",Na),[n,s]=pm(""),r=k(_s),i=Oa(Aa),a=Oa(La),l=um(),c=()=>{l(G({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},d=()=>{let p=document.getSelection();p&&l(G({name:"summary copied to clipboard",data:{originalText:i,finalText:p==null?void 0:p.toString()},options:{includeConversationData:!0}}))};return Jo(()=>{l(Ce())},[]),Jo(()=>{s(i||"")},[i]),Jo(()=>{e.current&&i&&e.current.focus()},[e,i]),Jo(()=>{let p=u=>{u.key==="Enter"&&u.shiftKey&&c()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),yt("div",{className:o.root,tabIndex:-1,children:a?yt("p",{className:o.error,children:r("error")}):mm(cm,{children:[yt("div",{className:o.main,children:yt("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:d,onChange:p=>s(p.target.value)})}),yt("div",{className:o.actions,children:yt(_.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},_a=gm;var Zt={};Q(Zt,{enUS:()=>fm,nlNL:()=>hm});var fm={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?"}]},hm={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 Im,{useEffect as Fs,useRef as Am}from"react";import{useDispatch as Lm,useSelector as $a}from"react-redux";var Ds={};Q(Ds,{enUS:()=>ym,nlNL:()=>vm});var ym={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"}]},vm={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 Da={root:"W",title:"De",empty:"Ie",status:"Oe",form:"Z",input:"_",submit:"Xe",question:"Je",answer:"Ke",alignRight:"Pe"};import{createAction as Tm,createAsyncThunk as Em,createSlice as km}from"@reduxjs/toolkit";import{createAsyncThunk as xm,createSlice as bm}from"@reduxjs/toolkit";var Cm={data:null,fetchState:"idle"},Ha=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Qt=xm("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}),wm=bm({name:"knowledgeAssistant",initialState:Cm,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})}}),Fa=wm.reducer;var Hs={data:[],fetchState:"idle"},Ba=t=>{var e;return(e=t.answer)==null?void 0:e.data},Ka=t=>t.answer.fetchState,St=Tm("answer/resetKnowledgeSearch"),vt=Em("answer/getAnswer",async(t,e)=>{var l,c,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Ha(e.getState()),r=(l=e.getState().conversation.current)==null?void 0:l.sessionId,i=(d=(c=e.getState().info)==null?void 0:c.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Rm=km({name:"answer",initialState:Hs,reducers:{},extraReducers:t=>{t.addCase(vt.pending,e=>{e.fetchState="loading"}).addCase(vt.rejected,e=>{e.fetchState="error"}).addCase(vt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(L,()=>Hs).addCase(St,()=>Hs)}}),Ua=Rm.reducer;import{jsx as za,jsxs as Pm}from"react/jsx-runtime";var Va=()=>Pm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[za("title",{id:"paperPlaneTitle",children:"PaperPlane"}),za("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 we,jsxs as qa}from"react/jsx-runtime";var Mm=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Im.useState(""),{setSelected:r}=Ne(),i=Am(null),a=h("EntitiesList",Da),l=k(Ds),c=Lm(),d=$a(Ba),p=$a(Ka),u=async f=>{f.preventDefault(),f.stopPropagation(),n!==""&&c(vt(n))},g=(f,m)=>{c(G({name:"knowledge assist source viewed",data:{question:m,sourceViewed:f.url||f.name},options:{includeConversationData:!0}}))};return Fs(()=>{var f;o&&p==="idle"?c(vt(o)):(f=i.current)==null||f.focus()},[i,p]),Fs(()=>{p==="done"&&(c(G({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(""))},[p,d]),Fs(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),qa("div",{className:a.root,children:[d.length>0&&we("div",{className:a.alignRight,children:we(_.Button,{onClick:e,children:l("reset")})}),d.map(({question:f,answer:m},v)=>we(_.List,{children:we(_.ListItem,{id:`knowledge-assist-${v}`,"data-testid":"knowledge-search-answer",description:m.answer,closeOnSelect:!0,onClick:()=>t(m.answer),onSourceClick:T=>g(T,f),sources:m.sources,styles:{title:a.question,description:a.answer},children:f})},`${m.answer}_${v}`)),p==="loading"&&we("p",{className:a.status,children:l("loading")}),p==="error"&&we("p",{className:a.status,children:l("error")}),qa("form",{className:a.form,onSubmit:u,children:[we("input",{ref:i,placeholder:l("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:f=>{r(void 0),s(f.target.value)}}),we("button",{type:"submit",className:a.submit,children:we(Va,{})})]})]})},Ga=Mm;import{createAsyncThunk as Nm,createSlice as Om}from"@reduxjs/toolkit";var _m={data:null,fetchState:"idle"},_e=t=>t.profile.data,Yo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Jt=Nm("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)}),Dm=Om({name:"profile",initialState:_m,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=Dm.reducer;import{useEffect as Um}from"react";import{useDispatch as zm}from"react-redux";import{createAction as Bm,createAsyncThunk as Qa,createSlice as Km}from"@reduxjs/toolkit";var Hm=["{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}"],Fm=new RegExp(Hm.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Wa(t,e){let o=t.split(Fm),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],l=r===o.length-2;n+=i.length;let c=n;if(l){let p=a.charAt(0),u=0;do c=p?e.indexOf(p,c+1):-1,u+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&u>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let d=c===-1?e.slice(n):e.slice(n,c);s.push(d),n=c}return s.join("")}function Xa(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Ja={suggestions:[],fetchState:"idle",isInitialRequest:null},Za={default:Ja},Ya=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},el=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},en=t=>t.textSuggestions,tl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},tn=Bm("textSuggestions/refresh"),de=Qa("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ut(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,Kt(n),t);if(t==="default"){let d=i?l.filter(tl(a)):l;e.dispatch(ue(d.slice(0,r)))}return l}),Yt=Qa("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...Kt(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(tl(t))),i&&(l=l.map(d=>({...d,text:d.source!=="trie-with-typos"?Wa(d.text,t):d.text}))),l=Xa(l,r),e.dispatch(ue(l)),l}),ol=Km({name:"textSuggestions",initialState:Za,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(de.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||Ja;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(de.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(de.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(Yt.pending,e=>{e.default.fetchState="loading"}).addCase(Yt.rejected,e=>{e.default.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(L,()=>Za)}}),{setTextSuggestions:kT,setSuggestionState:RT}=ol.actions,nl=ol.reducer;import{useSelector as sl}from"react-redux";import{jsx as on,jsxs as $m}from"react/jsx-runtime";var Vm=({commands:t,onClick:e})=>{var a,l,c;let o=zm(),n=k(Zt),s=sl(_e),r=sl(en),i=((c=(l=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:l.initialTypes)==null?void 0:c.filter(({isActive:d})=>d))||[];return Um(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(de(d))})},[]),$m("div",{children:[t.length>0&&on(_.List,{heading:n("commands"),children:t.map((d,p)=>on(_.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:p})=>{var u;return on(_.List,{heading:p,orientation:"vertical",children:(u=r[d])==null?void 0:u.suggestions.map((g,f)=>on(_.ListItem,{id:`${d}-${f}`,closeOnSelect:!1,description:g.text,onClick:()=>e(g.text,g),"data-testid":"search-overlay-suggestion",children:g.title},`${g.id}-${g.text}`))},d)})]})},rl=Vm;import{jsx as se,jsxs as zs}from"react/jsx-runtime";var Xm=200,Zm=5,Qm=4,il=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Jm=()=>{let t=Wm(),e=ae(),o=k(Zt),[n,s]=Us(!1),[r,i]=Us(""),a=Qe(Ci),l=Qe(_e),[c,d]=Us(),p=Qe(W),u=w("showSearch"),g=w("showEntitiesCommand"),f=w("showSummaryCommand"),m=w("showKnowledgeSearch"),v=w("showImageSearch"),T=w("searchTriggerKey"),S=Qe(Ji),y=Qe(wi),b=Qe(Ti),x=Qe(bi),M=C=>Ot(y.filter(F=>F.type===C.toUpperCase()),C),B=[{value:"PERSONAL",label:o("personalSuggestions"),list:M("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:M("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:M("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:M("IMAGE"),listOrientation:"horizontal",shouldShow:v}].filter(C=>C.shouldShow),z=[{label:o("entitiesClipboard"),onClick:()=>t(ie("entities")),shouldShow:g&&il(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(ie("summary")),shouldShow:f&&il(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(ie("knowledgeAssist")),shouldShow:m}].filter(C=>C.shouldShow),H=(S==null?void 0:S.map(C=>({value:C.code.toUpperCase(),label:`${C.name}s`,list:M(C.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],R=Bs(Gm((C,F)=>{t(qe({query:C,type:F,tags:["search-overlay"],size:c?50:20}))},Xm),[c]),A=Bs((C,F)=>{switch(F.type){case"IMAGE":e.send(as,{suggestion:F});break;default:e.send(Me,{text:C,suggestion:F})}t(ee(!1))},[t]),V=C=>{We(C.text),t(G({name:"entity copied",data:{entity:C,type:"copy"}})),t(ee(!1))},Z=Bs(C=>{t(G({name:"suggestion feedback",data:{text:C.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),O=C=>{e.send(Me,{text:C,suggestion:{source:"knowledge-assist",text:C}}),t(G({name:"answer used",data:{originalText:C},options:{includeConversationData:!0}})),i(""),t(ie("search")),t(St()),t(ee(!1))},Nt=C=>{We(C),t(ee(!1))};function Ot(C,F){return C.slice(0,c?10:F.toLowerCase()==="image"?Qm:Zm)}function Ue(C){return F=>{n?window.confirm(o("warning"))&&(C(F),s(!1)):C(F)}}return Ks(()=>{r?R(r,c):t(Mo())},[r,c]),Ks(()=>{a==="search"&&t(St())},[a]),Ks(()=>{p&&t(jt())},[p]),wa(T,()=>t(ee(!0))),!u||!l?null:zs(_,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ue(C=>t(ee(C))),onChangeType:C=>d(C),onChangePage:Ue(C=>t(ie(C))),selectedType:c,search:r,page:a,isOpen:x,types:[...H,...B],children:[zs(_.Page,{id:"search",children:[r.length===0&&se(rl,{commands:z,onClick:A}),r.length>0&&zs(jm,{children:[z.length>0&&se(_.List,{heading:o("commands"),children:z.map((C,F)=>se(_.ListItem,{closeOnSelect:!1,onClick:C.onClick,id:`commands-${F}`,children:C.label},C.label))}),[...H,...B].map(({value:C,label:F,list:Ar,lineClamp:Ud,listOrientation:zd})=>se(_.List,{heading:F,orientation:zd==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(C),hasMore:!c&&b[C.toLowerCase()]>Ot(Ar,C).length,children:Ot(Ar,C).map(Y=>se(_.ListItem,{id:`${C}-${Y.id}`,closeOnSelect:!1,lineClamp:Ud,onClick:()=>A(Y.text,Y),description:C!=="IMAGE"?Y.title&&Y.text:void 0,onFeedback:C!=="IMAGE"?()=>Z(Y):void 0,children:C==="IMAGE"?se(_.Image,{title:Y.title||Y.text,src:Y.image}):Y.title||Y.text},`${Y.id}-${Y.text}`))},C))]})]}),se(_.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Ue(()=>{t(ie("search"))}),children:se(Pa,{onCopy:V})}),se(_.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Ue(()=>{t(ie("search"))}),children:se(_a,{onCopy:Nt})}),se(_.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Ue(()=>{t(St()),t(ie("search"))}),children:se(Ga,{question:r,onUse:O,onResetQuestion:()=>{t(St()),i("")}})})]})},al=Jm;import{jsx as ll,jsxs as tf}from"react/jsx-runtime";var ef=()=>{let t=w("showSearch"),e=w("isEmbedded");return tf(Ym,{children:[t&&ll(al,{}),e&&ll(Qi,{})]})},cl=ef;import af from"classnames";import{useSelector as lf}from"react-redux";import{jsx as Vs}from"react/jsx-runtime";var dl=({className:t})=>Vs("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:Vs("g",{children:Vs("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 dl}from"react/jsx-runtime";var Nm={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},pl=({className:t,color:e})=>dl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:dl("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:Nm[e||"pink"]})});var ul={root:"_root_1tvv4_1",text:"_text_1tvv4_18",isLoggedIn:"_isLoggedIn_1tvv4_25",isLoggedOut:"_isLoggedOut_1tvv4_29",icon:"_icon_1tvv4_39",logo:"_logo_1tvv4_44",lock:"_lock_1tvv4_49"};var js={};Z(js,{enUS:()=>Dm,nlNL:()=>Hm});var Dm={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},Hm={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as Km}from"react-redux";import{jsx as Vs,jsxs as gl}from"react/jsx-runtime";var ml=({onLogIn:t})=>{let e=E(js),o=b("floatingMenu"),n=b("productName"),s=Km(),r=Bm(G),i=h("FloatingMenu",ul);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return gl("button",{className:Fm(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Vs("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),gl("div",{className:i.icon,children:[Vs(pl,{className:i.logo,color:"pink"}),r===!1&&Vs(cl,{className:i.lock})]})]})};import{useEffect as af,useRef as lf}from"react";import{connect as cf,useDispatch as df,useSelector as sn}from"react-redux";import{useEffect as Um}from"react";function vt(t){Um(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ge(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function St(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 zm}from"@reduxjs/toolkit";var qm={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var tn=({ui:t})=>t.overlayCollapsed;var fl=zm({name:"ui",initialState:qm,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:Jt,setInputHasFocus:$s,setOverlayCollapsed:Ne,setOpenOverlayWhenTyping:hl,setOverlayCollapsedUserOverwrite:yl}=fl.actions,vl=fl.reducer;import{Fragment as nf,useMemo as sf}from"react";import{Interweave as $m}from"interweave";import{useEffect as Wm,useMemo as Gm,useRef as Xm}from"react";import{useDispatch as Zm,useSelector as Qm}from"react-redux";import{useEffect as jm}from"react";function Sl(t,e,o){jm(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var _l={root:"_root_4u430_1",actions:"_actions_4u430_8",badge:"_badge_4u430_15",formattedText:"_formattedText_4u430_19"};import{jsx as on,jsxs as of}from"react/jsx-runtime";var Jm=["search","personal-collection-search","search-autocomplete"];function Ym(t,e,o,n={}){let s="";return Jm.includes(e)?s=ta(bs(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=bs(t,o,n),n.placeholders===!0&&(s=oa(s)),s}var ef=()=>{},tf=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Qm(ct),i=Zm(),a=h("TextSuggestion",_l),l=Xm(null);Wm(()=>{let d=setTimeout(()=>{i(ai({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),Sl(l,"click",()=>{i(Ae(t)),i(se({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=Gm(()=>Ym(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:of("div",{className:a.root,onMouseEnter:()=>i(Ae(t)),children:[on(L,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:ef,children:on($m,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&on("div",{className:a.actions,children:on(Wo,{onFeedback:()=>n(o),suggestion:o.text})})]})},xl=tf;import{jsx as bl}from"react/jsx-runtime";var rf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=sf(()=>{let r=e.map((i,a)=>bl(xl,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return bl(nf,{children:s})},nn=rf;var wl={root:"_root_otdbu_1",paper:"_paper_otdbu_11"};import{jsx as rn}from"react/jsx-runtime";var pf=({textSuggestions:t,selectedIndex:e})=>{let o=lf(null),n=h("InlineSuggestionsOverlay",wl),s=sn(St),r=df(),i=sn(G),a=sn(at),l=sn(tn),c=b("showTextSuggestions");return vt(()=>{setTimeout(()=>{r(Ne({collapse:!0,skipWhenInputFocus:!0}))})}),af(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let p=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:rn("div",{className:n.root,"data-variant":"inline",children:rn("div",{ref:o,className:n.paper,children:rn(te,{children:rn(nn,{suggestions:t,selectedIndex:e})})})})},uf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Cl=cf(uf)(pf);import{Provider as gf}from"react-redux";import{jsx as an}from"react/jsx-runtime";var mf=({children:t})=>{let o=b("locale").replace("-","");return an(fs.Provider,{value:o,children:t})},ff=({store:t,customStyles:e={},children:o})=>an(gf,{store:t,children:an(mf,{children:an(Pt.Provider,{value:e,children:o})})}),Xe=ff;import Qs from"classnames";import{useEffect as kf,useRef as Rf,useState as If}from"react";import{connect as Pf,useDispatch as Af,useSelector as Yt}from"react-redux";import{useState as hf}from"react";function Tl(t,e){let[o,n]=hf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return C.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){C.error(i)}}]}var El=()=>/Mac/i.test(navigator.platform);import Sf from"classnames";import{Fragment as _f,useCallback as Gs,useMemo as Rl}from"react";var Ws={};Z(Ws,{enUS:()=>yf,nlNL:()=>vf});var yf={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"}]}]},vf={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 kl={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};import{jsx as ln,jsxs as Il}from"react/jsx-runtime";var Xs=(t,e,o)=>n=>ln("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),xf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=E(Ws),i=de(),a=h("Login",kl),l=b("productName"),c=Gs(v=>{v.preventDefault(),n&&n(parseInt(v.target.value,10))},[]),d=Gs(v=>{v.preventDefault(),i.send(dt,!0)},[e]),p=Rl(()=>v=>ln("a",{onClick:_=>{_.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:v},"login"),[e]),g=Gs(v=>ln("button",{type:"button",className:a.anchorButton,onClick:d,children:v},"prompt"),[d]),{min:u,hour:f,day:m}=Rl(()=>({min:Xs(a,60*10,c),hour:Xs(a,60*60,c),day:Xs(a,60*60*12,c)}),[]);return Il("div",{className:Sf(t,a.root),children:[r("loginPlease",{login:o?g:p,productName:l}),n&&Il(_f,{children:[ln("br",{}),r("snooze",{min:u,hour:f,day:m})]})]})},cn=xf;import{useDispatch as bf}from"react-redux";var Pl={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as Al,jsxs as Cf}from"react/jsx-runtime";var wf=({title:t})=>{let e=h("SearchTrigger",Pl),o=bf();return Cf("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[Al(ut,{}),Al("span",{className:e.text,children:t})]})},Ll=wf;var Zs={};Z(Zs,{enUS:()=>Tf,nlNL:()=>Ef});var Tf={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"}]},Ef={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 Ml={root:"_root_onpov_1",isInline:"_isInline_onpov_14",toggleButton:"_toggleButton_onpov_21",toggleButtonWrapper:"_toggleButtonWrapper_onpov_25",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_onpov_32",isCollapsed:"_isCollapsed_onpov_36",collapsible:"_collapsible_onpov_36",hints:"_hints_onpov_44",hintsHidden:"_hintsHidden_onpov_51",triggers:"_triggers_onpov_56",triggersRight:"_triggersRight_onpov_71"};import{jsx as q,jsxs as eo}from"react/jsx-runtime";var Lf=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Ml),s=E(Zs),r=Yt(St),i=ni(),a=Af(),l=Rf(null),c=b("searchTriggerKey"),d=b("productName"),p=Yt(tn),g=Yt(G),u=Yt(at),[f,m]=If(null),v=b("showSearch"),T=b("showTextSuggestions"),_=b("adminUrl"),y=b("isEmbedded"),[x,S]=Tl("dd-snooze-until-ms",0),O=p||x>Date.now(),F=Yt(k=>k.input.text),U=t.filter(k=>k.source!=="gpt").length,H=()=>{O&&S(0),a(yl(!O))},R=k=>{a($({name:"suggestion feedback",data:{text:k.text,source:"overlay",context:F},options:{includeConversationData:!0}}))},A=k=>{let j=Date.now()+k*1e3;S(j),C.info(`Snooze until: ${new Date(j)}`),a(Ne({collapse:!0}))};return kf(()=>{U===0&&m(null)},[t,U]),vt(()=>{a(Ne({collapse:!0,skipWhenInputFocus:!0}))}),g===null||u===!1?null:g===!1?eo("div",{ref:l,className:Qs(n.root,{[n.isCollapsed]:O}),children:[!O&&eo("div",{className:n.triggers,children:[q("div",{style:{flex:1}}),q("div",{className:n.triggersRight,children:q(nt,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})})]}),q("div",{className:n.toggleButtonWrapper,children:q(nt,{className:n.toggleButton,title:s("open",{productName:d}),onClick:H,isCollapsed:!0})}),q("div",{className:n.collapsible,children:q(cn,{loginUrl:_,isEmbedded:y,onLogIn:o,onSnooze:A})})]}):!i||!r?null:eo("div",{ref:l,className:Qs(n.root,{[n.isCollapsed]:O}),children:[!O&&eo("div",{className:n.triggers,children:[q("div",{style:{flex:1},children:v&&q("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(El()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>m(null),children:q(Ll,{title:s("search")})})}),eo("div",{className:n.triggersRight,onFocus:()=>{},children:[q("div",{className:Qs(!f&&n.hintsHidden,n.hints),children:f}),q(nt,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})]})]}),q("div",{className:n.toggleButtonWrapper,children:q(nt,{className:n.toggleButton,title:s("open",{productName:d}),onClick:H,isCollapsed:!0})}),U>0&&T&&q("div",{className:n.collapsible,onFocus:()=>{},children:q(te,{children:q(nn,{onFeedback:R,suggestions:t,selectedIndex:e,reverse:!0})})})]})},Mf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Ol=Pf(Mf)(Lf);import lr from"classnames";import{Interweave as Ph}from"interweave";import{useCallback as Ah,useEffect as Lh,useMemo as rc,useRef as Mh}from"react";import{connect as Oh}from"react-redux";import{useEffect as Of,useRef as Nf,useState as Df}from"react";function dn(t){return t.contentEditable==="true"}function Hf(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 Nl(t){let{selectionStart:e,selectionEnd:o}=dn(t)?Hf(t):t;return[e,o]}function Dl(t){let[,e]=Df(),o=Nf(null);return o.current=Nl(t),Of(()=>{let n=()=>{let[s,r]=o.current??[],i=Nl(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 Hl(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(fo);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{cloneElement as Ff}from"react";var Bf=["div","span","mark","strong","b","i","u","em"];function Js(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(Bf.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Ff(n,{children:Js(i,e,o+1)})]}return[...t,...e]}function De(t){return t.tagName.toLowerCase()==="textarea"}var Fl={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import rh from"classnames";import{Matcher as ih}from"interweave";import{useEffect as ah,useMemo as lh}from"react";import{useEffect as Kf,useRef as Uf,useState as zf}from"react";function Bl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function pn(t){let e=Uf(null),[o,n]=zf(!1);return Kf(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Bl((d,p)=>{let g=e.current;if(!g)return;let u=d/r,f=p/r,m=g.getBoundingClientRect(),v=u>m.x&&u<m.x+m.width&&f>m.y&&f<m.y+m.height;v&&!s?(s=!0,n(!0)):!v&&s&&(s=!1,n(!1))},({clientX:d,clientY:p})=>[d,p]),[l,c]=Bl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}function Kl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function un(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Ul(t){return t!=null}import $l from"classnames";import{createRef as Jf,useCallback as er,useMemo as Yf,useRef as eh,useState as th}from"react";import{useState as qf,useLayoutEffect as jf}from"react";var Vf=["bottom","height","left","right","top","width"],$f=(t={},e={})=>Vf.some(o=>t[o]!==e[o]),be=new Map,zl,ql=()=>{let t=[],e=[];be.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();$f(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{be.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),zl=window.requestAnimationFrame(ql)};function Wf(t,e){return{observe(){let o=be.size===0;if(be.has(t)){let n=be.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else be.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&ql()},unobserve(){let o=be.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||be.delete(t),be.size||cancelAnimationFrame(zl)}}}}function Ys(t){let[e,o]=qf(null);return jf(()=>{if(!t.current)return;let n=Wf(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Gf,useLayoutEffect as Xf,useState as Zf}from"react";import{createPortal as Qf}from"react-dom";var jl={root:"_root_1jq08_1"};var Vl=({children:t})=>{let[e,o]=Zf(null),n=Gf(Pt);return Xf(()=>{let s=document.createElement("div");return Ge(s),s.classList.add(jl.root),n!=null&&n.portalRootNode&&s.classList.add(n==null?void 0:n.portalRootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?Qf(t,e):null};var pe={ref:"_ref_1rcyi_1",root:"_root_1rcyi_7",positionAbove:"_positionAbove_1rcyi_13",positionBelow:"_positionBelow_1rcyi_17",positionLeft:"_positionLeft_1rcyi_21",positionRight:"_positionRight_1rcyi_25",alignStart:"_alignStart_1rcyi_29",alignCenter:"_alignCenter_1rcyi_34",alignEnd:"_alignEnd_1rcyi_40"};import{jsx as tr}from"react/jsx-runtime";var gn=(t=!1)=>{let[e,o]=th(t),n=er(()=>o(!0),[]),s=er(()=>o(!1),[]),r=er(()=>o(a=>!a),[]),i=eh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function or(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 mn=({className:t,triggerRef:e,boundaryRef:o=Jf(),position:n="above",align:s="center",children:r,toStyle:i=or,...a})=>{let l=Ys(e),c=Ys(o),d=Yf(()=>i(l,c,0),[l,c]);return tr(Vl,{children:tr("div",{className:$l(pe.ref,{[pe.positionAbove]:n==="above",[pe.positionBelow]:n==="below",[pe.positionLeft]:n==="left",[pe.positionRight]:n==="right",[pe.alignStart]:s==="start",[pe.alignCenter]:s==="center",[pe.alignEnd]:s==="end"}),style:d,...a,role:"dialog",children:tr("div",{className:$l(t,pe.root),children:r})})})};import oh from"classnames";import{forwardRef as nh,useRef as sh}from"react";var we={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import{jsx as Wl}from"react/jsx-runtime";var fn=nh(({className:t,children:e,...o},n)=>{let s=sh(null),r=h("TabCompletion",we);return Wl("div",{ref:un([s,n]),className:oh(t,r.popoverContentContainer),...o,children:Wl("div",{className:r.popoverContent,children:e})})});import{jsx as to,jsxs as ph}from"react/jsx-runtime";var ch=t=>e=>{let o=or(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},dh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",we),i=gn(),a=lh(()=>ch(t.getBoundingClientRect()),[t]),[l,c]=pn(t);return ah(()=>{c?i.open():i.close()},[c]),ph("span",{children:[to("mark",{ref:un([l,i.triggerRef]),className:rh(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&to(mn,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:to(fn,{style:o,children:to("div",{className:r.hintText,children:s})})})]})},hn=class extends ih{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${Kl(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(Ul);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 to(dh,{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 uh}from"interweave";import gh from"classnames";import{jsx as Gl}from"react/jsx-runtime";var mh=({inputElement:t,children:e})=>{let o=h("TabCompletion",we),[n,s]=pn(t);return Gl("mark",{ref:n,className:gh(o.matchPlaceholder,{[o.hover]:s}),children:e})},yn=class extends uh{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 Gl(mh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import ar from"classnames";import{Matcher as wh}from"interweave";import{createRef as Ch,forwardRef as Th,useCallback as Eh,useEffect as oc,useRef as nc,useState as sc}from"react";import{useDispatch as kh}from"react-redux";import{jsx as Xl}from"react/jsx-runtime";var Zl=()=>Xl("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Xl("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 fh,useEffect as Jl,useState as Yl}from"react";import{useDispatch as hh,useSelector as ec}from"react-redux";import yh from"lodash.debounce";var Ql={root:"_root_1muu8_1",content:"_content_1muu8_7"};function vn(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 nr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Ze,jsxs as sr}from"react/jsx-runtime";var vh=3,Sh=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),_h=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=vh})=>{let r=h("LinkSearch",Ql),[i,a]=Yl(""),l=hh(),c=ec(Ja("url")),d=ec(Ci("URL",Sh)),[p,g]=Yl(d.length-1),u=b("fallbackImage"),f=_=>{let y=_.target;a(y.value)},m=(_,y)=>{_.stopPropagation(),_.preventDefault(),window.open(y,"_blank")},v=_=>{var S;let y=p-1<0?d.length-1:p-1,x=p+1===d.length?0:p+1;_.code==="Escape"&&(a(""),e()),_.code==="ArrowUp"&&g(y),_.code==="ArrowDown"&&g(x),_.code==="Enter"&&t(((S=d[p])==null?void 0:S.text)||i)},T=fh(yh(_=>{l(ze({query:_,type:"URL",tags:["link-search"]}))},300),[]);return Jl(()=>{i&&T(i)},[i]),Jl(()=>()=>{l(Po())},[]),sr("div",{className:r.root,children:[Ze(te,{withDivider:!0,children:(i?d:c).slice(0,s).map((_,y)=>Ze(L,{selected:p===y,onClick:()=>t(_.text),"data-testid":"linksearch-suggestion",children:sr(N,{children:[Ze(N.Image,{src:vn(_,"small",u||void 0),title:_.title||_.text}),sr(N.Content,{className:r.content,cropText:!0,children:[Ze(N.Title,{children:_.title||nr(_.text)}),_.title&&nr(_.text)]}),Ze(L.Actions,{children:Ze(L.ActionButton,{label:n,onClick:x=>m(x,_.text)})})]})},_.text))}),Ze(qt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:v})]})},tc=_h;var rr={};Z(rr,{enUS:()=>xh,nlNL:()=>bh});var xh={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},bh={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ue,jsxs as ir}from"react/jsx-runtime";var Rh=Th((t,e)=>{let o=h("TabCompletion",we);return ue("mark",{ref:e,className:ar(o.matchSelection)},"selection-start")}),Ih=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=E(rr),i=h("TabCompletion",we),a=nc(null),l=nc(null),[c,d]=sc(null),p=kh(),g=gn(document.activeElement===n),[u]=sc(()=>document.createRange());g.triggerRef.current=u,oc(()=>()=>u.detach(),[]),oc(()=>{let m=t.current,v=a.current;!m||!v||(u.setStart(m,0),u.setEnd(v,0))},[t.current,a.current]),vt(()=>{g.close()});let f=Eh(m=>{let v=u.toString(),T=/^http(s?):\/\//.test(m)?m:`https://${m}`;p(To({text:`[${v}](${T})`,replace:"selection"}))},[]);return ir("span",{children:[ue("mark",{ref:a,className:ar(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&ue(mn,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:ir(fn,{style:o,ref:l,children:[ue("div",{className:ar(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:ir("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[ue(Zl,{}),ue("span",{children:"\xA0"}),ue("span",{children:r("insertLink")})]})}),c==="insertLink"&&ue(tc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),g.close()}})]})})]},"selection-end")},Sn=class extends wh{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=Ch(),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?ue(Rh,{ref:this.startRef}):ue(Ih,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Nh}from"react-redux";import{jsx as _t,jsxs as Fh}from"react/jsx-runtime";var Dh=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=h("TabCompletion",Fl),d=b("insertLink"),p=b("showMidSentenceSuggestions"),g=b("inlineSuggestions"),u=Dl(a),f=Mh(null),m=Nh(G);Lh(()=>{De(a)&&u&&Hl(a,u)},[u]);let v=Ah(y=>{if(!s||!o)return y;let x=[_t("span",{className:c.resetIndent,children:"\u200B"},"u200B"),_t("span",{"data-testid":"tab-completion",className:lr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&x.push(_t("span",{className:lr(c.hint,c.resetIndent),children:_t(qn,{keyCode:"tab"},"tabHint")})),Js(y,x)},[s,o,n]),T=rc(()=>{let y=[];return d&&y.push(new Sn("selection")),y.push(new yn("placeholders")),r&&y.push(new hn("keywords")),y},[g,d,r]),_=rc(()=>{let y=window.getComputedStyle(a);return{"--dd-color":y.color,"--dd-font-size":y.fontSize,"--dd-font-family":y.fontFamily,"--dd-font-variant":y.fontVariant}},[]);return!t||!m?null:Fh("div",{ref:y=>{y!=null&&y.parentElement&&(f.current=y==null?void 0:y.parentElement)},className:c.root,style:_,children:[_t(Ph,{tagName:"span",containerTagName:"div",className:lr(c.container,c.agentText),disableLineBreaks:De(a),content:e||"\u200B",onAfterParse:v,matchers:T,selection:u,keywordMatches:i,inputElement:a,inputStyle:_,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),_t("br",{})]})},Hh=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??Wt(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:p}=s,{showTabCompletion:g,visible:u,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:u&&p!==!1}},ic=Oh(Hh)(Dh);import Ey from"classnames";import{useEffect as ky}from"react";import{useDispatch as Ry,useSelector as X}from"react-redux";import{createAsyncThunk as oo,createSlice as Bh}from"@reduxjs/toolkit";var ac={list:[],fetchState:"idle",isInitialRequest:null},cc=t=>t.autoflows.list||[],lc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ce=oo("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),cr=oo("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(Ce(t.platformSessionId))}),dr=oo("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(Ce(t.platformSessionId))}),Kh=Bh({name:"autoflows",initialState:ac,reducers:{},extraReducers:t=>{t.addCase(cr.pending,(e,o)=>{let n=lc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(dr.pending,(e,o)=>{let n=lc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ce.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(Ce.rejected,e=>{e.fetchState="error"}),t.addCase(Ce.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>ac)}}),dc=oo("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(Ce(t))}),s.on("sessionCompleted",()=>{o(Ce(t))})}),pc=oo("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),uc=Kh.reducer;import{createAsyncThunk as so,createSlice as Uh}from"@reduxjs/toolkit";var gc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},mc=t=>t.customMessages.list,fc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),hc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),yc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),no=so("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),_n=so("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)}),xn=so("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)}),vc=Uh({name:"customMessages",initialState:gc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(no.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(no.rejected,e=>{e.fetchState="error"}).addCase(no.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(_n.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(_n.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(xn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(xn.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,()=>gc)}}),Sc=so("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(vc.actions.onCustomMessage(r))})}),_c=so("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),xc=vc.reducer;import{createAsyncThunk as bc,createSlice as zh}from"@reduxjs/toolkit";var qh={token:null,accountUrl:null,interval:null},wc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},pr=bc("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),ur=bc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(pr()),setInterval(()=>n(pr()),o)}),Cc=zh({name:"passwordlessToken",initialState:qh,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(pr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(ur.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Tc}=Cc.actions,Ec=Cc.reducer;function kc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as Yh}from"react";import{connect as ey}from"react-redux";import Zh from"classnames";import{Fragment as Qh}from"react";import jh from"classnames";var Rc={root:"_root_838fd_1"};import{jsx as $h}from"react/jsx-runtime";var Vh=({className:t,children:e})=>{let o=h("Unicode",Rc);return $h("span",{className:jh(t,o.root),children:e})},Ic=Vh;var Pc={isDisabled:"_isDisabled_1rmfm_1",buttonStart:"_buttonStart_1rmfm_5",root:"_root_1rmfm_8",buttonStop:"_buttonStop_1rmfm_8",stateBadge:"_stateBadge_1rmfm_19",isCompleted:"_isCompleted_1rmfm_26",isStarted:"_isStarted_1rmfm_30",isAborted:"_isAborted_1rmfm_34"};var gr={};Z(gr,{enUS:()=>Wh,nlNL:()=>Gh});var Wh={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"}]},Gh={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 Qe,jsxs as bn}from"react/jsx-runtime";var Jh=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Pc),a=E(gr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return bn(L,{className:Zh(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[Qe(N,{children:bn(N.Content,{children:[bn(N.Title,{children:[e&&Qe("span",{className:i.stateBadge,children:a(e)}),o]}),Qe("span",{children:n})]})}),Qe(L.Actions,{fixed:e==="Started",children:Qe(L.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:bn(Qh,{children:[Qe(Ic,{children:c})," ",Qe("span",{children:a(l)})]})})})]})},Ac=Jh;import{jsx as Lc}from"react/jsx-runtime";var ty=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},oy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Lc(Yh,{children:t.map(s=>Lc(Ac,{displayName:s.displayName,description:s.description,disabled:s.isBusy||ty(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),ny=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},sy={onStartAutoflow:cr,onStopAutoflow:dr},Mc=ey(ny,sy)(oy);import ry from"classnames";import{useCallback as Oc}from"react";import{useDispatch as iy,useSelector as wn}from"react-redux";var Te={root:"_root_1e6ej_1",title:"_title_1e6ej_8",isUsed:"_isUsed_1e6ej_13",quickReplies:"_quickReplies_1e6ej_22",quickReply:"_quickReply_1e6ej_29",hasError:"_hasError_1e6ej_39",label:"_label_1e6ej_43",errorIcon:"_errorIcon_1e6ej_48"};import{jsx as He,jsxs as Cn}from"react/jsx-runtime";var ay=({suggestion:t})=>{let e=E($e),o=iy(),n=wn(fc(t.text)),s=wn(hc(t.text)),r=wn(yc(t.text)),i=wn(vo),{replyOptions:a}=t,l=Oc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(_n({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Oc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let p=parseInt(d.target.dataset.index,10),g=a[p];o(xn({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return Cn(L,{onClick:l,className:ry(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[He(N,{children:Cn(N.Content,{children:[Cn(N.Title,{className:Te.title,children:[t.text," ",He(jn,{className:Te.label,children:"analyse tool"})," ",r&&He("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&He("ul",{className:Te.quickReplies,children:a.map(d=>He("li",{className:Te.quickReply,children:d.title},d.title))})]})}),Cn(L.Actions,{fixed:r||n,children:[a&&a.length>0&&He(L.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,p)=>He(L.DropdownItem,{index:p,label:d.title,onClick:c},d.title))}),He(L.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Nc=ay;import{useEffect as ly,useState as cy}from"react";import{useDispatch as dy}from"react-redux";import Fc from"classnames";import{jsx as Dc}from"react/jsx-runtime";var mr=()=>Dc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Dc("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 Hc={root:"_root_rjdyr_1",entity:"_entity_rjdyr_10",entityText:"_entityText_rjdyr_46",iconWrapper:"_iconWrapper_rjdyr_53",icon:"_icon_rjdyr_53",iconClicked:"_iconClicked_rjdyr_67"};import{jsx as xt,jsxs as Bc}from"react/jsx-runtime";var py=({entities:t})=>{let e=h("EntitiesWidgetList",Hc),[o,n]=cy(void 0),s=dy(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Vt(a.text),s($({name:"entity copied",data:{entity:a,type:"copy"}})))};return ly(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:xt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>Bc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[xt("span",{className:e.entityText,children:a.text}),Bc("span",{className:e.iconWrapper,children:[xt("span",{className:Fc(e.icon),children:xt(mr,{})}),xt("span",{className:Fc(e.icon,o===l&&e.iconClicked),children:xt(mr,{})})]})]},a.text))})},Kc=py;import{jsx as Uc}from"react/jsx-runtime";var zc=()=>Uc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Uc("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 qc}from"react/jsx-runtime";var jc=()=>qc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:qc("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 Vc}from"react/jsx-runtime";var $c=()=>Vc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Vc("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{useEffect as my,useState as fy}from"react";var fr={};Z(fr,{enUS:()=>uy,nlNL:()=>gy});var uy={copyCue:[{type:0,value:"Copy"}],copiedCue:[{type:0,value:"Copied!"}],removeCue:[{type:0,value:"Close"}]},gy={copyCue:[{type:0,value:"Kopieer"}],copiedCue:[{type:0,value:"Gekopieerd!"}],removeCue:[{type:0,value:"Sluiten"}]};import{jsx as ro,jsxs as Wc}from"react/jsx-runtime";var hy=({cue:t,onRemove:e,onCopy:o})=>{let n=E(fr),[s,r]=fy(!1),i=l=>{l.preventDefault(),l.stopPropagation(),o&&(o(t.text),r(!0))},a=l=>{l.preventDefault(),l.stopPropagation(),e&&e(t.id)};return my(()=>{if(!s)return;let l=setTimeout(()=>{r(!1)},1e3);return()=>{clearTimeout(l)}},[s]),ro(L,{"data-testid":"cue",children:Wc(N,{children:[Wc(N.Content,{children:[t.title&&ro(N.Title,{"data-testid":"widget-cue-title",children:t.title}),t.text]}),ro(L.Actions,{children:o&&ro(L.ActionButton,{primary:!0,onClick:i,label:n(s?"copiedCue":"copyCue")})}),ro(N.CloseIcon,{title:n("removeCue"),onClick:a})]})})},Gc=hy;import{Fragment as vy,jsx as Xc}from"react/jsx-runtime";var yy=({cues:t,onCopyCue:e,onRemoveCue:o})=>Xc(vy,{children:t.map(n=>Xc(Gc,{cue:n,onRemove:o,onCopy:e},`${n.id}_${n.timestamp}`))}),Zc=yy;import{useCallback as _y}from"react";var Sy=/(https?:\/\/[^\s]+)/,Qc=t=>t.split(" ").find(e=>Sy.test(e));import{jsx as bt,jsxs as Tn}from"react/jsx-runtime";var xy=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=Qc(n),r=E($e),i=b("showImages"),a=b("fallbackImage"),l=p=>{p.preventDefault(),p.stopPropagation(),o(n)},c=_y(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Tn(L,{onClick:l,"data-testid":"edit-suggestion",children:[Tn(N,{children:[i&&t.image&&bt(N.Image,{src:vn(t,"small",a||void 0),title:t.title}),Tn(N.Content,{children:[t.title&&bt(N.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&bt(L.Labels,{labels:t.searchKeywords}),bt(N.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Tn(L.Actions,{children:[s&&bt(L.ActionButton,{onClick:c,label:r("visitUrl")}),bt(L.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Jc=xy;import{Fragment as wy,jsx as Yc}from"react/jsx-runtime";var by=({lines:t,suggestions:e})=>{let o=de(),n=(s,r)=>{o.send(pt,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Yc(wy,{children:e.map(s=>Yc(Jc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},ed=by;var hr={};Z(hr,{enUS:()=>Cy,nlNL:()=>Ty});var Cy={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"}]},Ty={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 td={root:"_root_x0pwe_1",loginText:"_loginText_x0pwe_7",stateText:"_stateText_x0pwe_8",sectionList:"_sectionList_x0pwe_20",shortcutList:"_shortcutList_x0pwe_24",shortcut:"_shortcut_x0pwe_24",link:"_link_x0pwe_52"};import{jsx as P,jsxs as wt}from"react/jsx-runtime";var En=(t,e)=>{let o=X(G);ky(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Iy=({onLogIn:t})=>{let e=E(hr),o=Ry(),n=b("isEmbedded"),s=h("Widget",td),r=b("showAutoflows"),i=b("showCustomMessages"),a=b("showSummaryCommand"),l=b("showKnowledgeSearch"),c=b("showSearch"),d=X(Oe),p=X(Qo),g=X(cc),u=X(ki),f=X(Xo),m=X(mc),v=X(So),T=X(at),_=X(G),y=X(vo),x=X(kc),S=X(Jo),O=de(),F=X(Ya),U=X(wc("/admin/")),H=b("adminUrl"),R=b("productName");if(En(()=>(o(no(y)),o(Sc(y)),()=>{o(_c(y))}),[o,T,i,y]),En(()=>(o(Ce(y)),o(dc(y)),()=>{o(pc(y))}),[o,T,r,y]),En(()=>{p.forEach(({type:k})=>{o(k==="entities"?ae():le(k))})},[o,T,v,d]),En(()=>(o(ur()),()=>{o(Tc())}),[o]),T===!1)return P("div",{className:s.stateText,children:P("div",{children:P("p",{children:e("notSupported")})})},"supported");if(_===!1)return P("div",{className:s.loginText,children:P("div",{children:P(cn,{isEmbedded:n,loginUrl:H,onLogIn:t})})},"login");if(!d||!y||_===null||F||x)return P("div",{className:s.stateText,children:P("div",{children:P("p",{children:e("waiting")})})},"waiting");let A=c||a||l||U;return P("div",{className:Ey(s.root),"data-testid":"widget",children:wt($n,{className:s.sectionList,children:[A&&P(ke,{title:e("actions"),type:"shortcuts",children:wt("div",{className:s.shortcutList,children:[c&&wt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>O.send("ShowCommandPalette",{isOpen:!0}),children:[P(ut,{}),e("linkSearch")]}),a&&wt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>O.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P($c,{}),e("linkSummary")]}),l&&wt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>O.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(jc,{}),e("linkKnowledgeSearch")]}),U&&wt("a",{className:s.shortcut,target:"_blank",href:U,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[P(zc,{}),e("linkStudioLogin",{productName:R})]})]})}),i&&m.length>0&&P(ke,{type:"custom-messages","data-testid":"custom-messages",children:P(te,{withDivider:!0,children:m.map(k=>P(Nc,{suggestion:k},k.text))})}),r&&g.length>0&&P(ke,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:P(te,{withDivider:!0,children:P(Mc,{})})}),p.map(({type:k,title:j,amount:Bn,lines:Kn})=>{var et;switch(k){case"entities":return f&&f.length>0&&P(ke,{type:k,title:j,"data-testid":`type-${k}`,children:P(Kc,{entities:f})},k);case"cues":return u&&u.length>0&&P(ke,{type:k,title:j,"data-testid":`type-${k}`,children:P(te,{withDivider:!0,children:P(Zc,{cues:u,onRemoveCue:Ke=>o(Ii({id:Ke}))})})},k);default:return((et=S[k])==null?void 0:et.fetchState)==="done"&&S[k].suggestions.length>0&&P(ke,{type:k,title:j,"data-testid":`type-${k}`,children:P(te,{withDivider:!0,children:P(ed,{lines:Kn,contentType:k,suggestions:S[k].suggestions.slice(0,Bn)||[]})})},k)}})]})})},od=Iy;function ao(t){let e=new Range;return e.selectNodeContents(t),e}function nd(t,e,o){try{return Je(t,e,o),!0}catch{return!1}}function kn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Rn(t){return"tagName"in t&&t.tagName==="BR"}var io=/[\u200B-\u200D\uFEFF]/g;function Je(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(l,c){let d=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(l))return c;for(let g=0;g<=l.length;g++)if(p.test(l[g])||d++,d===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,d=c.replace(io,""),p=s+d.length,g=e>=s&&e<=p,u=o>=s&&o<=p;if(g){let f=i(c,e-s);f===0&&!u?n.setStartBefore(l):n.setStart(l,f)}u&&(n.setEnd(l,i(c,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Rn(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let c=l.lastChild;kn(l)&&c&&!kn(c)&&!Rn(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function In(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,l,c=0;function d(p){let g=p===o,u=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let f=p.textContent;g&&(a=c+f.substring(0,n).replace(io,"").length),u&&(l=c+f.substring(0,r).replace(io,"").length),c+=f.replace(io,"").length;break}case Node.ELEMENT_NODE:{let f=p.nextSibling===null;Rn(p)&&!f&&c++;for(let m=0;m<p.childNodes.length;m++){let v=g&&m===n,T=u&&m===r;if(v&&(a=c),T&&(l=c),l!==void 0||((!v||!i)&&d(p.childNodes[m]),u&&m===r-1&&(l=c),l!==void 0))break}!u&&kn(p)&&!f&&c++,u&&(l=c);break}default:break}}if(d(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Pn(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 l(c){let d=c===o,p=c===s;switch(d&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=d?n:0,u=p?r:void 0,f=c.textContent.replace(io,"");g===0&&u===void 0?a+=f:a+=f.substring(g,u);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&Rn(c)&&!g&&(a+=`
8
- `);for(let u=d?n:0;u<(p?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[u]),i!==1);u++);!p&&i===0&&kn(c)&&!g&&(a+=`
9
- `);break}default:break}p&&i++}return l(t),a}var sd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(sd||{}),Fe=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();Ie(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(sd).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(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),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",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()}),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 rd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Ct=class extends Fe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Pn(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!rd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!rd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return In(this.element,e);let o=this.lastKnownSelection;if(o&&nd(this.element,o.start,o.end))return o;let n=ao(this.element);return n.collapse(!1),In(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Pn(this.element,Je(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(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var Tt=class extends Fe{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,l])=>{i.searchParams.append(a,l)}),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 Py(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var yr=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()}},vr=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()}},Sr=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(),C.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 vr(e,this.deepdeskUrl,{debug:!0}):new yr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Py(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(C.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;C.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)}},ad=Sr;var Et=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var _r=t=>new Promise(e=>{setTimeout(e,t)});var kt=class extends Et{name="ClientError"},xr=class extends Et{name="ServerError"},ge=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,{abortLatest:l=!1,attempts:c=1,retryDelay:d=500,refreshTokenOn401:p=!0,retryOnError:g=x=>x instanceof TypeError,retryOnResponse:u=x=>x.status>=500,version:f="v1",...m}=o,v={credentials:"include",...m,headers:{"Content-Type":"application/json",...m.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof f=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":f});let T=c,_=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let y=async()=>(T--,a(i,v).then(async x=>u(x)&&!r.isAborted&&T>0?(await _r(d),y()):x.status===401&&p===!0&&_===!1?(_=!0,await this.refreshToken(),y()):x).catch(async x=>{if(g(x)&&!r.isAborted&&T>0)return await _r(d),y();throw x}));y().then(x=>x.json().catch(()=>null).then(S=>{x.status>=500?s(new xr("Server Error",S)):x.status===401?s(new kt("Unauthorized",S)):x.status===403?s(new kt("Forbidden",S)):x.status===404?s(new kt("Not Found",S)):x.status>=400&&s(new kt("Bad Request",S)),delete this.latestRequestByUrl[i],n(S)})).catch(x=>{s(x)})})}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 Ay;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Ay||={});function An(t){return{...I(t),tags:t.tags}}var Be=class t{constructor(e,o={}){this.options=o;this.client=new ge(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(),C.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...K(e),tags:e.tags},{version:"v2"});return An(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return I(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return I(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return I(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return I(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(),C.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 C.info(`Successfully retrieved conversation ${r.id} for session ${e}`),An(r)}async isConversationSupported(e,o={}){C.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=K(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return An(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...K(s),tags:s.tags})),{version:"v2"})).map(s=>An(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",K({...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:K({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(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})).summary}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 C.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",K(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}`,K(o),{abortLatest:!0})).map(r=>({...I(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.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`,K(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 I(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",K(e),{abortLatest:!0});return I(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,K(e),{version:"v2"});return I(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,K({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return I(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return I(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return I(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 I(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 I(i.cues)}async translateMessages(e){let o=await this.client.post("/api/translate",K(e),{version:"v2"});return I(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Ur);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&C.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var lo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ts(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,I(s))}catch{C.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 Ly;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Ly||={});var co=class{constructor(e,o={}){this.apiUrl=e;this.client=new ge(e,o)}client;streams={};logger=C;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return I(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,K(o));return I(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,K(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return I(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",K(e));return I(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new lo(`${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 By,configureStore as Ky}from"@reduxjs/toolkit";import{createSlice as My}from"@reduxjs/toolkit";var ld={startTime:null,stopTime:null},cd=My({name:"handlingTime",initialState:ld,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,()=>ld)}}),{handlingTimeStart:dd,handlingTimeStop:Ln,handlingTimeReset:pd}=cd.actions,ud=cd.reducer;var gd=(t={})=>{let e={onAuthError:rt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Oy,createSlice as Ny}from"@reduxjs/toolkit";var Mn={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var Ye=Oy("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 Mn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Dy=Ny({name:"styleSuggestions",initialState:Mn,reducers:{},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(Ye.rejected,e=>{e.fetchState="error"}).addCase(Ye.fulfilled,(e,o)=>{e.fetchState="done",Ie(e.list,o.payload)||(e.list=o.payload)}).addCase(Ue,e=>{e.list=Mn.list}).addCase(M,()=>Mn)}}),md=Dy.reducer;var fd=(t={})=>{let e,o=!0,n={getStyleSuggestions:Ye,debounce:500,...t};return s=>r=>i=>{var u;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:d}=c.settings;if(!((u=c.conversation.current)==null?void 0:u.id)||!d)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function Hy(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var hd=(t={})=>{let e={getTextSuggestions:le,getAutocompleteSuggestions:Qt,debounce:200,check:St,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:d}=l.settings,p=(m=l.conversation.current)==null?void 0:m.id,g=r.type===Yo.toString();if(!p||!c&&!d)return a;let{input:{userCommitted:u}}=l;return Hy(u,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let v=ct(l);v===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(v))},g?0:e.debounce)),a}};var yd=Ye.fulfilled.toString();function Fy(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var vd=t=>e=>o=>n=>{var c;if(n.type!==yd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=Fy(s,i);n.type===yd&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Uy=By({answer:Ka,auth:Zr,autoflows:uc,conversation:ei,contentTypes:Ji,customMessages:xc,passwordlessToken:Ec,entities:Ca,knowledgeAssistant:Ha,handlingTime:ud,info:Si,input:fi,settings:qr,profile:$a,search:Ei,summary:Aa,styleSuggestions:md,ui:vl,rules:Pi,textSuggestions:ol});function Sd(t){return Ky({reducer:Uy,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),gd(),hd({debounce:200}),fd({debounce:500}),vd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var zy=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},qy=t=>e=>o=>n=>{var a;let s=e.getState(),r=Xn("inlineSuggestions")(s);switch(n.type){case rt.toString():{!n.payload&&t.emit("logout",void 0);break}case se.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:zy(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case To.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Nt.toString():{let l=e.getState(),{text:c,selection:d}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:d},{mayApplyChanges:!0});break}case Ro.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 ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case _e.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case $.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 Eo.toString():t.handleKeyDown(n.payload);break;case Ue.toString():t.logSendMessage(n.payload);break;case ko.toString():t.handleInputChanged(n.payload);break;case Se.fulfilled.toString():t.broadcast(is,n.payload,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case Ue.toString():t.handleAfterSendMessage(n.payload);break;case Jt.toString():t.onUpdateShowTabHint(n.payload);break;case Ln.toString():t.logHandlingTime();break;case se.toString():{r&&(e.dispatch(ce([])),e.dispatch(ve()));break}case ce.toString():{r&&n.payload.length>0&&e.dispatch(Ae(0));break}default:break}return i},_d=qy;function br(t){return t.toISOString().replace("T"," ").replace("Z","")}function xd(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:br(o),timeStop:br(n)}}function bd(t,e,o){var F,U,H;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:d,pastes:p,cuts:g,deletions:u,textSuggestions:f,offeredTextSuggestions:m}}=e[t],v=n.length,_=f.reduce((R,{text:A,searchTerm:k})=>R+A.length-(k?k.length:0),0),y=c??Date.now(),x=(Date.now()-y)/1e3+(d||0),S=s/x,O=f.reduce((R,{searchTerm:A})=>R+(A?A.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:p,cuts:g,deletions:u,lenTextTyped:s+O,lenTextTotal:v,lenTextAssisted:_,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:x,charsPerSecond:S,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(R=>R.source==="gpt").length}],agentId:(F=e.info.agentInfo)==null?void 0:F.agentId,agentName:(U=e.info.agentInfo)==null?void 0:U.agentName,agentEmail:(H=e.info.agentInfo)==null?void 0:H.agentEmail}}function wr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return wr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?wr(s,e):null}function wd(t,e){return wr(t,e)}function Cd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function jy(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Cr(t){return jy(t)&&(De(t)||dn(t))}var Td,me=new Map,Vy=["bottom","height","left","right","top","width"],$y=(t={},e={})=>Vy.some(o=>t[o]!==e[o]);function Ed(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,...Ed(e)]:[]}function kd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var On=!1,Rd=()=>{On=!0;let t=[];if(me.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),me.delete(o);return}let n=o.getBoundingClientRect();$y(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(kd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),me.size===0){On=!1;return}Td=window.requestAnimationFrame(Rd)};function Tr(t,e){let o=Ed(t),n=[],s=o.map((r,i)=>Tr(r,a=>{n[i]=a;let l=me.get(t);if(!l)return;let c=n.reduce(kd,l.rect);l.callbacks.forEach(d=>d(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),me.has(t)){let i=me.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else me.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!On&&Rd()},unobserve(){s.forEach(i=>i.unobserve());let r=me.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||me.delete(t),me.size||(cancelAnimationFrame(Td),On=!1)}}}}var Id,fe=new Map,Pd=()=>{fe.forEach((t,e)=>{if(!e.isConnected){fe.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)))}),fe.size!==0&&(Id=window.requestAnimationFrame(Pd))};function Ad(t,e){return{observe(){let o=fe.size===0;fe.has(t)?fe.get(t).callbacks.push(e):fe.set(t,{visible:void 0,callbacks:[e]}),o&&Pd()},unobserve(){let o=fe.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||fe.delete(t),fe.size||cancelAnimationFrame(Id)}}}}var Er=["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 kr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Rt(t){return parseFloat(t)}function Nn(t){return Math.round(t*1e6)}function Ld(t){return t/1e6}function Rr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Rt(t.width),r=Rt(t.borderLeftWidth),i=Rt(t.borderRightWidth),a=Rt(t.paddingRight),l=Ld(Nn(s)-Nn(r)-Nn(i)),c=Ld(Nn(n));if(l-c>2){let d=l-c;o.style.paddingRight=`${a+d}px`}}function Dn(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",Ge(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};kr(n,o,Er),Rr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ad(t,()=>{kr(n,o,Er),Rr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Tr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(kr(n,o,Er),Rr(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),u=window.getComputedStyle(e.closestScrollElement),f=Rt(u.borderTopWidth),m=Rt(u.borderBottomWidth),v=g.top+f-p.top,T=p.top+p.height+-(g.top+g.height-m);o.style.clipPath=`inset(${v}px 0px ${T}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),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Md=(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{C.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Wy(t){return t.offsetParent!==null}function Od(t){if(!Wy(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 Ir(t,e,o=100){let n=Od(t);e({isVisible:n});let s=setInterval(()=>{let r=Od(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as z}from"react/jsx-runtime";var Nd=Md("showTabHint",!0),Fn=class t{static version="11.0.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:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new Be(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[_d({broadcast:(p,g,u)=>{this.broadcastEvents.send(p,g,u)},emit:(p,g,u)=>this.emit(p,g,u),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),handleInputChanged:p=>this.handleInputChanged(p),handleKeyDown:p=>this.handleKeyDown(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>Nd.update(p),sendEvent:(p,g)=>this.deepdeskApi.sendEvent(p,g)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new co(o)}),this.store=Sd(d),this.broadcastEvents=new ad({debug:!0,deepdeskUrl:c,eventMap:Ai(this.store),createCustomChannel:l}),this.store.dispatch(Jt(Nd.value())),this.store.dispatch(yo({locale:s,adminUrl:c,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?(C.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(C.warn("Profile has not been loaded (yet)"),!0):(C.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(rt(null)),this.store.dispatch(ye()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();G(n)&&jr(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(ye())).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){C.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(Jn({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(_o(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(xo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Yn(e))).payload}async postMessages(e){return(await this.store.dispatch(wo(e))).payload}async updateConversation(e){return(await this.store.dispatch(bo(e))).payload}resetConversation(){this.store.dispatch(M()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(_e());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(yo(e))}setVisitorInfo(e){this.store.dispatch(vi(e))}async setAgentInfo(e){await this.store.dispatch(Dt(e))}async setAgentSettings(e){await this.store.dispatch(ns(e))}async getAgentSettings(){return(await this.store.dispatch(ss())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(Yo()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(ko(e))}notifyKeyDown(e){this.store.dispatch(Eo(e))}notifyPaste(e,o){this.store.dispatch(pi({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(ci(e))}notifyExternalSuggestion(e){this.store.dispatch(se(e)),this.store.dispatch(ve())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(Se({label:e,params:o}));if(s)throw s;return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Ne({collapse:!1})),this.inputMediator&&this.store.dispatch(si({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ce([])))}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,l=s!==-1;if(this.store.dispatch(di(ti(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ii()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(li()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Nt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():c();return;case"Down":case"ArrowDown":{i?c():d();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Ae(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Ae(-1)),this.store.dispatch(Nt()),e.preventDefault()):o||(this.store.dispatch(Ne({collapse:!0})),this.store.dispatch(hl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,g=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:u}=this.state.input;this.store.dispatch(Jt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&u&&u.text.startsWith(g)&&(this.store.dispatch(se({text:u.text,suggestion:u,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(ve())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(ui()),this.store.dispatch(ce([]))}handlingTimeStart(){this.state.handlingTime.startTime||(C.info("Start handling time"),this.store.dispatch(dd()))}handlingTimeStop(){this.state.handlingTime.startTime&&(C.info("Stop handling time"),this.store.dispatch(Ln()))}logSendMessage(e){let o=bd("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=xd(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(pd())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(ve()),this.store.dispatch(Ue(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(se({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){C.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),C.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]=Dn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Hn(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,l]=Dn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Hn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ge(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(()=>{Hn(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),C.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()?(C.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(mi(n.metrics))):C.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(!Cr(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:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,isEmbedded:p,detectSubmit:g,insertLink:u,inputMediator:f,closestScrollSelector:m,appendOverlayTo:v,inlineSuggestions:T,floatingMenu:_}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:u,isEmbedded:p,inlineSuggestions:T,floatingMenu:!!_}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ge(e),this.inputMediator=f||(De(e)?new Tt(e):new Ct(e)),this.inputMediator.on("change",({plainText:S})=>{this.notifyInputChanged(S)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(gi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",S=>{this.notifyKeyDown(S)}),this.inputMediator.on("paste",({pastedText:S,selectionText:O})=>{this.notifyPaste(S,O)}),this.inputMediator.on("cut",({selectionText:S})=>{this.notifyCut(S)});let y=m&&wd(e,m)||void 0;if(T){let{customStyles:S,appendOverlayTo:O}=o;if(De(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let F=this.createInlineContainer(e,"deepdesk-caret");It(z(Xe,{store:this.store,customStyles:S,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(Cl,{})})}),F),this.inputMediator.on("caret",H=>{this.store.dispatch(ce([])),H?(F.style.display="block",F.style.top=`${H.top}px`,F.style.left=`${H.left}px`):F.style.display="none"});let U=this.overlayContainerFactory("floating-menu",y||e,{appendTo:typeof _=="object"&&"appendOverlayTo"in _?_.appendOverlayTo:O},S==null?void 0:S.floatingMenuRootNode);It(z(Xe,{store:this.store,customStyles:S,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(ml,{onLogIn:()=>this.loginViaPopup().catch(H=>C.warn(H.message))})})}),U)}else{let S=this.overlayContainerFactory("deepdesk-tab-completion",y||e,{appendTo:v,closestScrollElement:y,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),O=this.overlayContainerFactory("deepdesk-suggestions-overlay",y||e,{appendTo:v},n==null?void 0:n.suggestionsRootNode);It(z(Xe,{store:this.store,customStyles:n,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(ic,{inputElement:e})})}),S),It(z(Xe,{store:this.store,customStyles:n,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(Ol,{onLogIn:()=>this.loginViaPopup().catch(F=>C.warn(F.message))})})}),O)}It(z(Xe,{store:this.store,customStyles:n,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(ll,{})})}),this.createContainer("deepdesk-overlays"));let x;this.inputMediator.on("selection",S=>{clearTimeout(x),S===null?x=setTimeout(()=>{S!==null&&this.store.dispatch(es(S))},500):this.store.dispatch(es(S))}),this.inputMediator.on("disabled",()=>{var S;(S=this.inputMediator)==null||S.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch($s(!1))),this.inputMediator.on("focus",()=>this.store.dispatch($s(!0))),this.store.dispatch(ri({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(ve()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var S;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((S=this.state.conversation.current)==null?void 0:S.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&&C.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}),It(z(Xe,{store:this.store,customStyles:n,children:z(qe,{broadcastEvents:this.broadcastEvents,children:z(od,{onLogIn:()=>this.loginViaPopup().catch(i=>C.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Hn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Ir(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Cd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Zt());let e=Oe(this.state);e&&(await this.store.dispatch(Xt()),this.store.dispatch(yo({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 l=!1,c=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",p),clearInterval(g)};r.onmessage=async u=>{var f,m;if((f=u.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=u.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ft),l=!0,s.port1.close(),o()}catch(v){console.error(v),n(v)}finally{l=!0,c()}};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 p=async u=>{var f;if(u.origin===a.origin)switch((f=u.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){C.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{c(),u.data.message==="Timeout"&&C.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(u.data.message));break}}};window.addEventListener("message",p);let g=setInterval(()=>{d&&!d.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}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(C.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;C.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=Qo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(le(n))})}catch(n){this.handleError(n)}}};async function Gy(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},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Xy(t,e,o={}){let n=o.replace?Je(t,o.replace.start,o.replace.end):ao(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
- `).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?Je(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 Zy(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 Qy(t){let e=document.createDocumentFragment();return t.split(`
11
- `).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 Dd(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:Dd(t,e.parentNode)}async function Jy(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 l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?Zy(e):Qy(e);if(o){let d=l.startContainer===t?t.childNodes[l.startOffset]:l.startContainer,p=Dd(t,d)??t.firstChild;t.insertBefore(c,(p==null?void 0:p.nextSibling)??null)}else l.insertNode(c),l.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 Yy(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function ev(t,e,o){await new Be(t).authenticateWithKey(e,o)}async function tv(t){let o=await new ge(t).get("/platform/config/",{version:null});return I(o)}async function ov(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 nv(t,e){let o=await ov(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{N as Card,Ct as ContentEditableInput,Be as DeepdeskAPI,Fn as DeepdeskSDK,ge as HTTPClient,Fe as InputMediator,st as InputType,qn as KeyboardHint,jn as Label,ho as Locale,ke as Section,$n as SectionList,Re as Sources,L as Suggestion,te as SuggestionList,Tt as TextAreaInput,nt as ToggleButton,nv as attachFile,ev as authenticateWithKey,ao as createFullRange,Dn as createOverlayContainer,Je as createRangeFromOffsets,Wt as escapeHTML,tv as fetchPlatformConfig,Yy as formatTextMarkup,In as getRangeOffsets,Pn as getRangeText,Jy as insertCKEditor,ws as isHTML,Cr as isSupportedInputElement,Xy as updateContentEditable,Gy as updateTextArea,h as useStyles,Ir as waitForElementVisibilityChange};
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 pl}from"react/jsx-runtime";var of={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},ul=({className:t,color:e})=>pl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:pl("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:of[e||"pink"]})});var gl={root:"j",text:"q",isLoggedIn:"Qe",isLoggedOut:"oo",icon:"Ve",logo:"We",lock:"Ze"};var $s={};Q($s,{enUS:()=>sf,nlNL:()=>rf});var sf={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 cf}from"react-redux";import{jsx as qs,jsxs as ml}from"react/jsx-runtime";var fl=({onLogIn:t})=>{let e=k($s),o=w("floatingMenu"),n=w("productName"),s=cf(),r=lf(W),i=h("FloatingMenu",gl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(ee(!0)):t()};return ml("button",{className:af(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[qs("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),ml("div",{className:i.icon,children:[qs(ul,{className:i.logo,color:"pink"}),r===!1&&qs(dl,{className:i.lock})]})]})};import{useEffect as Lf,useRef as Mf}from"react";import{connect as Nf,useDispatch as Of,useSelector as an}from"react-redux";import{useEffect as df}from"react";function xt(t){df(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Je(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function bt(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 pf}from"@reduxjs/toolkit";var uf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var nn=({ui:t})=>t.overlayCollapsed;var hl=pf({name:"ui",initialState:uf,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:eo,setInputHasFocus:Gs,setOverlayCollapsed:De,setOpenOverlayWhenTyping:yl,setOverlayCollapsedUserOverwrite:vl}=hl.actions,Sl=hl.reducer;import{Fragment as Rf,useMemo as Pf}from"react";import{Interweave as hf}from"interweave";import{useEffect as yf,useMemo as vf,useRef as Sf}from"react";import{useDispatch as xf,useSelector as bf}from"react-redux";import{useEffect as gf}from"react";function xl(t,e,o){gf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var bl={root:"_e",actions:"oi",badge:"ei",formattedText:"eo"};import{jsx as sn,jsxs as kf}from"react/jsx-runtime";var Cf=["search","personal-collection-search","search-autocomplete"];function wf(t,e,o,n={}){let s="";return Cf.includes(e)?s=oa(Cs(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Cs(t,o,n),n.placeholders===!0&&(s=na(s)),s}var Tf=()=>{},Ef=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=w("inlineSuggestions"),r=bf(ut),i=xf(),a=h("TextSuggestion",bl),l=Sf(null);yf(()=>{let d=setTimeout(()=>{i(li({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),xl(l,"click",()=>{i(Le(t)),i(ge({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=vf(()=>wf(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:kf("div",{className:a.root,onMouseEnter:()=>i(Le(t)),children:[sn(N,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Tf,children:sn(hf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&sn("div",{className:a.actions,children:sn(Xo,{onFeedback:()=>n(o),suggestion:o.text})})]})},Cl=Ef;import{jsx as wl}from"react/jsx-runtime";var If=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Pf(()=>{let r=e.map((i,a)=>wl(Cl,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return wl(Rf,{children:s})},rn=If;var Tl={root:"ii",paper:"ri"};import{jsx as ln}from"react/jsx-runtime";var _f=({textSuggestions:t,selectedIndex:e})=>{let o=Mf(null),n=h("InlineSuggestionsOverlay",Tl),s=an(bt),r=Of(),i=an(W),a=an(dt),l=an(nn),c=w("showTextSuggestions");return xt(()=>{setTimeout(()=>{r(De({collapse:!0,skipWhenInputFocus:!0}))})}),Lf(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let p=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:ln("div",{className:n.root,"data-variant":"inline",children:ln("div",{ref:o,className:n.paper,children:ln(oe,{children:ln(rn,{suggestions:t,selectedIndex:e})})})})},Df=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),El=Nf(Df)(_f);import{Provider as Hf}from"react-redux";import{jsx as cn}from"react/jsx-runtime";var Ff=({children:t})=>{let o=w("locale").replace("-","");return cn(fs.Provider,{value:o,children:t})},Bf=({store:t,customStyles:e={},children:o})=>cn(Hf,{store:t,children:cn(Ff,{children:cn(_t.Provider,{value:e,children:o})})}),Ye=Bf;import Qs from"classnames";import{useEffect as eh,useRef as th,useState as oh}from"react";import{connect as nh,useDispatch as sh,useSelector as to}from"react-redux";import{useState as Kf}from"react";function kl(t,e){let[o,n]=Kf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return E.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){E.error(i)}}]}var Rl=()=>/Mac/i.test(navigator.platform);import $f from"classnames";import{Fragment as qf,useCallback as Ws,useMemo as Il}from"react";var js={};Q(js,{enUS:()=>Uf,nlNL:()=>zf});var Uf={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"}]}]},zf={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 Pl={root:"ti",anchor:"ni",anchorButton:"ai"};import{jsx as dn,jsxs as Al}from"react/jsx-runtime";var Xs=(t,e,o)=>n=>dn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Gf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=k(js),i=ae(),a=h("Login",Pl),l=w("productName"),c=Ws(v=>{v.preventDefault(),n&&n(parseInt(v.target.value,10))},[]),d=Ws(v=>{v.preventDefault(),i.send(gt,!0)},[e]),p=Il(()=>v=>dn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:v},"login"),[e]),u=Ws(v=>dn("button",{type:"button",className:a.anchorButton,onClick:d,children:v},"prompt"),[d]),{min:g,hour:f,day:m}=Il(()=>({min:Xs(a,60*10,c),hour:Xs(a,60*60,c),day:Xs(a,60*60*12,c)}),[]);return Al("div",{className:$f(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:l}),n&&Al(qf,{children:[dn("br",{}),r("snooze",{min:g,hour:f,day:m})]})]})},pn=Gf;import{useDispatch as Wf}from"react-redux";var Ll={root:"io",text:"di"};import{jsx as Ml,jsxs as Zf}from"react/jsx-runtime";var Xf=({title:t})=>{let e=h("SearchTrigger",Ll),o=Wf();return Zf("button",{type:"button",className:e.root,onClick:()=>o(ee(!0)),children:[Ml(mt,{}),Ml("span",{className:e.text,children:t})]})},Nl=Xf;var Zs={};Q(Zs,{enUS:()=>Qf,nlNL:()=>Jf});var Qf={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"}]},Jf={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 Ol={root:"pi",isInline:"C",toggleButton:"li",toggleButtonWrapper:"S",toggleButtonWrapperHidden:"si",isCollapsed:"ro",collapsible:"xi",hints:"to",hintsHidden:"ci",triggers:"no",triggersRight:"fi"};import{jsx as q,jsxs as oo}from"react/jsx-runtime";var rh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Ol),s=k(Zs),r=to(bt),i=si(),a=sh(),l=th(null),c=w("searchTriggerKey"),d=w("productName"),p=to(nn),u=to(W),g=to(dt),[f,m]=oh(null),v=w("showSearch"),T=w("showTextSuggestions"),S=w("adminUrl"),y=w("isEmbedded"),[b,x]=kl("dd-snooze-until-ms",0),M=p||b>Date.now(),B=to(V=>V.input.text),z=t.filter(V=>V.source!=="gpt").length,H=()=>{M&&x(0),a(vl(!M))},R=V=>{a(G({name:"suggestion feedback",data:{text:V.text,source:"overlay",context:B},options:{includeConversationData:!0}}))},A=V=>{let Z=Date.now()+V*1e3;x(Z),E.info(`Snooze until: ${new Date(Z)}`),a(De({collapse:!0}))};return eh(()=>{z===0&&m(null)},[t,z]),xt(()=>{a(De({collapse:!0,skipWhenInputFocus:!0}))}),u===null||g===!1?null:u===!1?oo("div",{ref:l,className:Qs(n.root,{[n.isCollapsed]:M}),children:[!M&&oo("div",{className:n.triggers,children:[q("div",{style:{flex:1}}),q("div",{className:n.triggersRight,children:q(it,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})})]}),q("div",{className:n.toggleButtonWrapper,children:q(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:H,isCollapsed:!0})}),q("div",{className:n.collapsible,children:q(pn,{loginUrl:S,isEmbedded:y,onLogIn:o,onSnooze:A})})]}):!i||!r?null:oo("div",{ref:l,className:Qs(n.root,{[n.isCollapsed]:M}),children:[!M&&oo("div",{className:n.triggers,children:[q("div",{style:{flex:1},children:v&&q("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(Rl()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>m(null),children:q(Nl,{title:s("search")})})}),oo("div",{className:n.triggersRight,onFocus:()=>{},children:[q("div",{className:Qs(!f&&n.hintsHidden,n.hints),children:f}),q(it,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})]})]}),q("div",{className:n.toggleButtonWrapper,children:q(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:H,isCollapsed:!0})}),z>0&&T&&q("div",{className:n.collapsible,onFocus:()=>{},children:q(oe,{children:q(rn,{onFeedback:R,suggestions:t,selectedIndex:e,reverse:!0})})})]})},ih=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),_l=nh(ih)(rh);import lr from"classnames";import{Interweave as ay}from"interweave";import{useCallback as ly,useEffect as cy,useMemo as rc,useRef as dy}from"react";import{connect as py}from"react-redux";import{useEffect as ah,useRef as lh,useState as ch}from"react";function un(t){return t.contentEditable==="true"}function dh(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 Dl(t){let{selectionStart:e,selectionEnd:o}=un(t)?dh(t):t;return[e,o]}function Hl(t){let[,e]=ch(),o=lh(null);return o.current=Dl(t),ah(()=>{let n=()=>{let[s,r]=o.current??[],i=Dl(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 Fl(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(yo);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{cloneElement as ph}from"react";var uh=["div","span","mark","strong","b","i","u","em"];function Js(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(uh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),ph(n,{children:Js(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var pe={root:"gi",container:"bi",agentText:"ao",tabText:"do",hint:"E",matchSelection:"po",focus:"hi",resetIndent:"mi",matchKeyword:"d",matchPlaceholder:"p",hover:"lo",hintText:"ui",popover:"yi",popoverRoot:"wi",popoverContentContainer:"so",popoverContent:"vi",selectionOptions:"ki",selectionOptionsIsHidden:"zi",selectionOptionsButton:"ji",caret:"qi",popoverSuggestionsRoot:"Ci",suggestionsOverlayInputStyles:"Si"};import _h from"classnames";import{Matcher as Dh}from"interweave";import{useEffect as Hh,useMemo as Fh}from"react";import{useEffect as mh,useRef as fh,useState as hh}from"react";function Bl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function gn(t){let e=fh(null),[o,n]=hh(!1);return mh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Bl((d,p)=>{let u=e.current;if(!u)return;let g=d/r,f=p/r,m=u.getBoundingClientRect(),v=g>m.x&&g<m.x+m.width&&f>m.y&&f<m.y+m.height;v&&!s?(s=!0,n(!0)):!v&&s&&(s=!1,n(!1))},({clientX:d,clientY:p})=>[d,p]),[l,c]=Bl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}function Kl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Ul(t){return t!=null}import Gl from"classnames";import{createRef as Ph,useCallback as er,useMemo as Ih,useRef as Ah,useState as Lh}from"react";import{useState as yh,useLayoutEffect as vh}from"react";var Sh=["bottom","height","left","right","top","width"],xh=(t={},e={})=>Sh.some(o=>t[o]!==e[o]),Te=new Map,zl,Vl=()=>{let t=[],e=[];Te.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();xh(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))}),zl=window.requestAnimationFrame(Vl)};function bh(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&&Vl()},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(zl)}}}}function Ys(t){let[e,o]=yh(null);return vh(()=>{if(!t.current)return;let n=bh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as wh,useLayoutEffect as Th,useState as Eh}from"react";import{createPortal as kh}from"react-dom";var $l={root:"Ei"};var ql=({children:t,parentNode:e})=>{let[o,n]=Eh(null),s=wh(_t);return Th(()=>{let r=document.createElement("div");return Je(r),r.classList.add($l.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?kh(t,o):null};var me={ref:"Gi",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"x",positionRight:"c",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as tr}from"react/jsx-runtime";var fn=(t=!1)=>{let[e,o]=Lh(t),n=er(()=>o(!0),[]),s=er(()=>o(!1),[]),r=er(()=>o(a=>!a),[]),i=Ah(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function or(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 Ct=({className:t,triggerRef:e,boundaryRef:o=Ph(),position:n="above",align:s="center",children:r,toStyle:i=or,parentNode:a,...l})=>{let c=Ys(e),d=Ys(o),p=Ih(()=>i(c,d,0),[c,d]);return tr(ql,{parentNode:a,children:tr("div",{className:Gl(me.ref,{[me.positionAbove]:n==="above",[me.positionBelow]:n==="below",[me.positionLeft]:n==="left",[me.positionRight]:n==="right",[me.alignStart]:s==="start",[me.alignCenter]:s==="center",[me.alignEnd]:s==="end"}),style:p,...l,role:"dialog",children:tr("div",{className:Gl(t,me.root),children:r})})})};import Mh from"classnames";import{forwardRef as Nh,useRef as Oh}from"react";import{jsx as jl}from"react/jsx-runtime";var hn=Nh(({className:t,children:e,...o},n)=>{let s=Oh(null),r=h("TabCompletion",pe);return jl("div",{ref:mn([s,n]),className:Mh(t,r.popoverContentContainer),...o,children:jl("div",{className:r.popoverContent,children:e})})});import{jsx as no,jsxs as Uh}from"react/jsx-runtime";var Bh=t=>e=>{let o=or(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Kh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",pe),i=fn(),a=Fh(()=>Bh(t.getBoundingClientRect()),[t]),[l,c]=gn(t);return Hh(()=>{c?i.open():i.close()},[c]),Uh("span",{children:[no("mark",{ref:mn([l,i.triggerRef]),className:_h(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&no(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:no(hn,{style:o,children:no("div",{className:r.hintText,children:s})})})]})},yn=class extends Dh{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${Kl(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(Ul);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 no(Kh,{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 zh}from"interweave";import Vh from"classnames";import{jsx as Wl}from"react/jsx-runtime";var $h=({inputElement:t,children:e})=>{let o=h("TabCompletion",pe),[n,s]=gn(t);return Wl("mark",{ref:n,className:Vh(o.matchPlaceholder,{[o.hover]:s}),children:e})},vn=class extends zh{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 Wl($h,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import ar from"classnames";import{Matcher as ey}from"interweave";import{createRef as ty,forwardRef as oy,useCallback as ny,useEffect as oc,useRef as nc,useState as sc}from"react";import{useDispatch as sy}from"react-redux";import{jsx as Xl}from"react/jsx-runtime";var Zl=()=>Xl("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Xl("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 Gh,useEffect as Jl,useState as Yl}from"react";import{useDispatch as jh,useSelector as ec}from"react-redux";import Wh from"lodash.debounce";var Ql={root:"Ni",content:"Yi"};function Sn(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 nr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as et,jsxs as sr}from"react/jsx-runtime";var Xh=3,Zh=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),Qh=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=Xh})=>{let r=h("LinkSearch",Ql),[i,a]=Yl(""),l=jh(),c=ec(Ya("url")),d=ec(Ei("URL",Zh)),[p,u]=Yl(d.length-1),g=w("fallbackImage"),f=S=>{let y=S.target;a(y.value)},m=(S,y)=>{S.stopPropagation(),S.preventDefault(),window.open(y,"_blank")},v=S=>{var x;let y=p-1<0?d.length-1:p-1,b=p+1===d.length?0:p+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&u(y),S.code==="ArrowDown"&&u(b),S.code==="Enter"&&t(((x=d[p])==null?void 0:x.text)||i)},T=Gh(Wh(S=>{l(qe({query:S,type:"URL",tags:["link-search"]}))},300),[]);return Jl(()=>{i&&T(i)},[i]),Jl(()=>()=>{l(Mo())},[]),sr("div",{className:r.root,children:[et(oe,{withDivider:!0,children:(i?d:c).slice(0,s).map((S,y)=>et(N,{selected:p===y,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:sr(D,{children:[et(D.Image,{src:Sn(S,"small",g||void 0),title:S.title||S.text}),sr(D.Content,{className:r.content,cropText:!0,children:[et(D.Title,{children:S.title||nr(S.text)}),S.title&&nr(S.text)]}),et(N.Actions,{children:et(N.ActionButton,{label:n,onClick:b=>m(b,S.text)})})]})},S.text))}),et(Gt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:v})]})},tc=Qh;var rr={};Q(rr,{enUS:()=>Jh,nlNL:()=>Yh});var Jh={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},Yh={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 ir}from"react/jsx-runtime";var ry=oy((t,e)=>{let o=h("TabCompletion",pe);return fe("mark",{ref:e,className:ar(o.matchSelection)},"selection-start")}),iy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=k(rr),i=h("TabCompletion",pe),a=nc(null),l=nc(null),[c,d]=sc(null),p=sy(),u=fn(document.activeElement===n),[g]=sc(()=>document.createRange());u.triggerRef.current=g,oc(()=>()=>g.detach(),[]),oc(()=>{let m=t.current,v=a.current;!m||!v||(g.setStart(m,0),g.setEnd(v,0))},[t.current,a.current]),xt(()=>{u.close()});let f=ny(m=>{let v=g.toString(),T=/^http(s?):\/\//.test(m)?m:`https://${m}`;p(Ro({text:`[${v}](${T})`,replace:"selection"}))},[]);return ir("span",{children:[fe("mark",{ref:a,className:ar(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&fe(Ct,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:ir(hn,{style:o,ref:l,children:[fe("div",{className:ar(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:ir("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[fe(Zl,{}),fe("span",{children:"\xA0"}),fe("span",{children:r("insertLink")})]})}),c==="insertLink"&&fe(tc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),u.close()}})]})})]},"selection-end")},xn=class extends ey{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=ty(),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(ry,{ref:this.startRef}):fe(iy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as uy}from"react-redux";import{jsx as wt,jsxs as fy}from"react/jsx-runtime";var gy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=h("TabCompletion",pe),d=w("insertLink"),p=w("showMidSentenceSuggestions"),u=w("inlineSuggestions"),g=Hl(a),f=dy(null),m=uy(W);cy(()=>{He(a)&&g&&Fl(a,g)},[g]);let v=ly(y=>{if(!s||!o)return y;let b=[wt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),wt("span",{"data-testid":"tab-completion",className:lr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&b.push(wt("span",{className:lr(c.hint,c.resetIndent),children:wt(Vn,{keyCode:"tab"},"tabHint")})),Js(y,b)},[s,o,n]),T=rc(()=>{let y=[];return d&&y.push(new xn("selection")),y.push(new vn("placeholders")),r&&y.push(new yn("keywords")),y},[u,d,r]),S=rc(()=>{let y=window.getComputedStyle(a);return{"--dd-color":y.color,"--dd-font-size":y.fontSize,"--dd-font-family":y.fontFamily,"--dd-font-variant":y.fontVariant}},[]);return!t||!m?null:fy("div",{ref:y=>{y!=null&&y.parentElement&&(f.current=y==null?void 0:y.parentElement)},className:c.root,style:S,children:[wt(ay,{tagName:"span",containerTagName:"div",className:lr(c.container,c.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:v,matchers:T,selection:g,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),wt("br",{})]})},my=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??Xt(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:p}=s,{showTabCompletion:u,visible:g,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:u,content:l,tabText:c,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:g&&p!==!1}},ic=py(my)(gy);import mv from"classnames";import{useEffect as fv}from"react";import{useDispatch as hv,useSelector as X}from"react-redux";import{createAsyncThunk as so,createSlice as hy}from"@reduxjs/toolkit";var ac={list:[],fetchState:"idle",isInitialRequest:null},cc=t=>t.autoflows.list||[],lc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ee=so("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),cr=so("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))}),dr=so("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))}),yy=hy({name:"autoflows",initialState:ac,reducers:{},extraReducers:t=>{t.addCase(cr.pending,(e,o)=>{let n=lc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(dr.pending,(e,o)=>{let n=lc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ee.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,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(L,()=>ac)}}),dc=so("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))})}),pc=so("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),uc=yy.reducer;import{createAsyncThunk as io,createSlice as vy}from"@reduxjs/toolkit";var gc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},mc=t=>t.customMessages.list,fc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),hc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),yc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ro=io("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),bn=io("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)}),Cn=io("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)}),vc=vy({name:"customMessages",initialState:gc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ro.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Cn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Cn.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(L,()=>gc)}}),Sc=io("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(vc.actions.onCustomMessage(r))})}),xc=io("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),bc=vc.reducer;import{createAsyncThunk as Cc,createSlice as Sy}from"@reduxjs/toolkit";var xy={token:null,accountUrl:null,interval:null},wc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},pr=Cc("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),ur=Cc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(pr()),setInterval(()=>n(pr()),o)}),Tc=Sy({name:"passwordlessToken",initialState:xy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(pr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(ur.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Ec}=Tc.actions,kc=Tc.reducer;function Rc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as My}from"react";import{connect as Ny}from"react-redux";import Iy from"classnames";import{Fragment as Ay}from"react";import Cy from"classnames";var Pc={root:"Ai"};import{jsx as Ty}from"react/jsx-runtime";var wy=({className:t,children:e})=>{let o=h("Unicode",Pc);return Ty("span",{className:Cy(t,o.root),children:e})},Ic=wy;var Ac={isDisabled:"Fi",buttonStart:"Hi",root:"Li",buttonStop:"xo",stateBadge:"h",isCompleted:"Mi",isStarted:"Ri",isAborted:"Ti"};var gr={};Q(gr,{enUS:()=>ky,nlNL:()=>Ry});var ky={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"}]},Ry={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 wn}from"react/jsx-runtime";var Ly=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Ac),a=k(gr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return wn(N,{className:Iy(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[tt(D,{children:wn(D.Content,{children:[wn(D.Title,{children:[e&&tt("span",{className:i.stateBadge,children:a(e)}),o]}),tt("span",{children:n})]})}),tt(N.Actions,{fixed:e==="Started",children:tt(N.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:wn(Ay,{children:[tt(Ic,{children:c})," ",tt("span",{children:a(l)})]})})})]})},Lc=Ly;import{jsx as Mc}from"react/jsx-runtime";var Oy=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},_y=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Mc(My,{children:t.map(s=>Mc(Lc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||Oy(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Dy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},Hy={onStartAutoflow:cr,onStopAutoflow:dr},Nc=Ny(Dy,Hy)(_y);import By from"classnames";import{useCallback as Oc}from"react";import{useDispatch as Ky,useSelector as Tn}from"react-redux";var ke={root:"co",title:"fo",isUsed:"Ui",quickReplies:"Bi",quickReply:"Di",hasError:"Ii",label:"Oi",errorIcon:"Xi"};import{jsx as Fe,jsxs as En}from"react/jsx-runtime";var Uy=({suggestion:t})=>{let e=k(Ze),o=Ky(),n=Tn(fc(t.text)),s=Tn(hc(t.text)),r=Tn(yc(t.text)),i=Tn(xo),{replyOptions:a}=t,l=Oc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Oc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let p=parseInt(d.target.dataset.index,10),u=a[p];o(Cn({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return En(N,{onClick:l,className:By(ke.root,{[ke.isUsed]:n,[ke.hasError]:r}),children:[Fe(D,{children:En(D.Content,{children:[En(D.Title,{className:ke.title,children:[t.text," ",Fe($n,{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))})]})}),En(N.Actions,{fixed:r||n,children:[a&&a.length>0&&Fe(N.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,p)=>Fe(N.DropdownItem,{index:p,label:d.title,onClick:c},d.title))}),Fe(N.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},_c=Uy;import{useEffect as Vy,useState as $y}from"react";import{useDispatch as qy}from"react-redux";import Fc from"classnames";import{jsx as Dc}from"react/jsx-runtime";var mr=()=>Dc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Dc("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 Hc={root:"Ji",entity:"r",entityText:"Ki",iconWrapper:"Pi",icon:"Qi",iconClicked:"Vi"};import{jsx as Tt,jsxs as Bc}from"react/jsx-runtime";var Gy=({entities:t})=>{let e=h("EntitiesWidgetList",Hc),[o,n]=$y(void 0),s=qy(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),We(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return Vy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Tt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>Bc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Tt("span",{className:e.entityText,children:a.text}),Bc("span",{className:e.iconWrapper,children:[Tt("span",{className:Fc(e.icon),children:Tt(mr,{})}),Tt("span",{className:Fc(e.icon,o===l&&e.iconClicked),children:Tt(mr,{})})]})]},a.text))})},Kc=Gy;import{jsx as Uc}from"react/jsx-runtime";var zc=()=>Uc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Uc("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 Vc}from"react/jsx-runtime";var $c=()=>Vc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Vc("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 qc}from"react/jsx-runtime";var Gc=()=>qc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:qc("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 Wy from"dompurify";import{Fragment as Xy,useMemo as Zy,useRef as Qy,useState as Wc}from"react";import Jy from"snarkdown";var jc={root:"i",popover:"Wi",options:"go",copyIcon:"Zi",option:"bo",divider:"_i"};import{jsx as ao,jsxs as Xc}from"react/jsx-runtime";var Yy=t=>`<svg class=${t} version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black" fill-opacity="0.5" stroke-opacity="0.8"><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>`,ev=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",jc),i=Qy(null),[a,l]=Wc(null),[c,d]=Wc(null),p=Zy(()=>{let v=Jy(t);return Wy.sanitize(v).replace(/<\/code>/g,`${Yy(r.copyIcon)}</code>`)},[t]),u=()=>{l(null),d(null)},g=v=>{var y;let T=v.target,S=!!((y=i.current)!=null&&y.querySelector("code"));a||S&&T.tagName!=="CODE"||!S&&T!==i.current||(T.addEventListener("mouseleave",u,{once:!0}),d(T.textContent),l(T))},f=()=>{c&&n(c),u()},m=()=>{c&&s(c),u()};return Xc(Xy,{children:[a&&ao(Ct,{triggerRef:{current:a},parentNode:a,className:r.popover,children:Xc("div",{className:r.options,children:[ao("button",{type:"button",className:r.option,onClick:f,children:o}),ao("div",{className:r.divider}),ao("button",{type:"button",className:r.option,onClick:m,children:e})]})}),ao("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:p},onMouseOver:g})]})},Zc=ev;var fr={};Q(fr,{enUS:()=>tv,nlNL:()=>ov});var tv={useCue:[{type:0,value:"Copy"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}]},ov={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}]};import{jsx as kn,jsxs as Qc}from"react/jsx-runtime";var nv=({cue:t,onRemove:e,onCopy:o,onUse:n})=>{let s=k(fr),r=l=>{o&&o(l)},i=l=>{n&&n(l)},a=l=>{l.preventDefault(),l.stopPropagation(),e&&e(t.id)};return Qc(N,{"data-testid":"cue",children:[kn(D,{children:Qc(D.Content,{children:[t.title&&kn(D.Title,{"data-testid":"widget-cue-title",children:t.title}),kn(Zc,{content:t.text,useLabel:s("useCue"),copyLabel:s("copyCue"),onCopy:r,onUse:i})]})}),kn(N.CloseIcon,{title:s("removeCue"),onClick:a})]})},Jc=nv;import{Fragment as rv,jsx as Yc}from"react/jsx-runtime";var sv=({cues:t,onCopyCue:e,onUseCue:o,onRemoveCue:n})=>Yc(rv,{children:t.map(s=>Yc(Jc,{cue:s,onRemove:n,onCopy:e,onUse:o},`${s.id}_${s.timestamp}`))}),ed=sv;import{useCallback as av}from"react";var iv=/(https?:\/\/[^\s]+)/,td=t=>t.split(" ").find(e=>iv.test(e));import{jsx as Et,jsxs as Rn}from"react/jsx-runtime";var lv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=td(n),r=k(Ze),i=w("showImages"),a=w("fallbackImage"),l=p=>{p.preventDefault(),p.stopPropagation(),o(n)},c=av(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Rn(N,{onClick:l,"data-testid":"edit-suggestion",children:[Rn(D,{children:[i&&t.image&&Et(D.Image,{src:Sn(t,"small",a||void 0),title:t.title}),Rn(D.Content,{children:[t.title&&Et(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&Et(N.Labels,{labels:t.searchKeywords}),Et(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Rn(N.Actions,{children:[s&&Et(N.ActionButton,{onClick:c,label:r("visitUrl")}),Et(N.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},od=lv;import{Fragment as dv,jsx as nd}from"react/jsx-runtime";var cv=({lines:t,suggestions:e})=>{let o=ae(),n=(s,r)=>{o.send(Me,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return nd(dv,{children:e.map(s=>nd(od,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},sd=cv;var hr={};Q(hr,{enUS:()=>pv,nlNL:()=>uv});var pv={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"}]},uv={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 rd={root:"or",loginText:"er",stateText:"ho",sectionList:"ir",shortcutList:"rr",shortcut:"tr",link:"mo"};import{jsx as I,jsxs as kt}from"react/jsx-runtime";var Pn=(t,e)=>{let o=X(W);fv(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},yv=({onLogIn:t})=>{let e=k(hr),o=hv(),n=w("isEmbedded"),s=h("Widget",rd),r=w("showAutoflows"),i=w("showCustomMessages"),a=w("showSummaryCommand"),l=w("showKnowledgeSearch"),c=w("showSearch"),d=X(_e),p=X(Yo),u=X(cc),g=X(Pi),f=X(Qo),m=X(mc),v=X(bo),T=X(dt),S=X(W),y=X(xo),b=X(Rc),x=X(en),M=ae(),B=X(el),z=X(wc("/admin/")),H=w("adminUrl"),R=w("productName"),A=ae();if(Pn(()=>(o(ro(y)),o(Sc(y)),()=>{o(xc(y))}),[o,T,i,y]),Pn(()=>(o(Ee(y)),o(dc(y)),()=>{o(pc(y))}),[o,T,r,y]),Pn(()=>{p.forEach(({type:O})=>{o(O==="entities"?ce():de(O))})},[o,T,v,d]),Pn(()=>(o(ur()),()=>{o(Ec())}),[o]),T===!1)return I("div",{className:s.stateText,children:I("div",{children:I("p",{children:e("notSupported")})})},"supported");if(S===!1)return I("div",{className:s.loginText,children:I("div",{children:I(pn,{isEmbedded:n,loginUrl:H,onLogIn:t})})},"login");if(!d||!y||S===null||B||b)return I("div",{className:s.stateText,children:I("div",{children:I("p",{children:e("waiting")})})},"waiting");let V=O=>{A.send(Me,{text:O,suggestion:{source:"cue",sourceText:O}})},Z=c||a||l||z;return I("div",{className:mv(s.root),"data-testid":"widget",children:kt(Gn,{className:s.sectionList,children:[Z&&I(Re,{title:e("actions"),type:"shortcuts",children:kt("div",{className:s.shortcutList,children:[c&&kt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>M.send("ShowCommandPalette",{isOpen:!0}),children:[I(mt,{}),e("linkSearch")]}),a&&kt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>M.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[I(Gc,{}),e("linkSummary")]}),l&&kt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>M.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[I($c,{}),e("linkKnowledgeSearch")]}),z&&kt("a",{className:s.shortcut,target:"_blank",href:z,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[I(zc,{}),e("linkStudioLogin",{productName:R})]})]})}),i&&m.length>0&&I(Re,{type:"custom-messages","data-testid":"custom-messages",children:I(oe,{withDivider:!0,children:m.map(O=>I(_c,{suggestion:O},O.text))})}),r&&u.length>0&&I(Re,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:I(oe,{withDivider:!0,children:I(Nc,{})})}),p.map(({type:O,title:Nt,amount:Ot,lines:Ue})=>{var C;switch(O){case"entities":return f&&f.length>0&&I(Re,{type:O,title:Nt,"data-testid":`type-${O}`,children:I(Kc,{entities:f})},O);case"cues":return g&&g.length>0&&I(Re,{type:O,title:Nt,"data-testid":`type-${O}`,children:I(oe,{withDivider:!0,children:I(ed,{cues:g,onRemoveCue:F=>o(Ai({id:F})),onCopyCue:F=>We(F),onUseCue:V})})},O);default:return((C=x[O])==null?void 0:C.fetchState)==="done"&&x[O].suggestions.length>0&&I(Re,{type:O,title:Nt,"data-testid":`type-${O}`,children:I(oe,{withDivider:!0,children:I(sd,{lines:Ue,contentType:O,suggestions:x[O].suggestions.slice(0,Ot)||[]})})},O)}})]})})},id=yv;function co(t){let e=new Range;return e.selectNodeContents(t),e}function ad(t,e,o){try{return ot(t,e,o),!0}catch{return!1}}function In(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function An(t){return"tagName"in t&&t.tagName==="BR"}var lo=/[\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(l,c){let d=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(l))return c;for(let u=0;u<=l.length;u++)if(p.test(l[u])||d++,d===c)return u;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,d=c.replace(lo,""),p=s+d.length,u=e>=s&&e<=p,g=o>=s&&o<=p;if(u){let f=i(c,e-s);f===0&&!g?n.setStartBefore(l):n.setStart(l,f)}g&&(n.setEnd(l,i(c,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(An(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let c=l.lastChild;In(l)&&c&&!In(c)&&!An(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Ln(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,l,c=0;function d(p){let u=p===o,g=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let f=p.textContent;u&&(a=c+f.substring(0,n).replace(lo,"").length),g&&(l=c+f.substring(0,r).replace(lo,"").length),c+=f.replace(lo,"").length;break}case Node.ELEMENT_NODE:{let f=p.nextSibling===null;An(p)&&!f&&c++;for(let m=0;m<p.childNodes.length;m++){let v=u&&m===n,T=g&&m===r;if(v&&(a=c),T&&(l=c),l!==void 0||((!v||!i)&&d(p.childNodes[m]),g&&m===r-1&&(l=c),l!==void 0))break}!g&&In(p)&&!f&&c++,g&&(l=c);break}default:break}}if(d(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Mn(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 l(c){let d=c===o,p=c===s;switch(d&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=d?n:0,g=p?r:void 0,f=c.textContent.replace(lo,"");u===0&&g===void 0?a+=f:a+=f.substring(u,g);break}case Node.ELEMENT_NODE:{let u=c.nextSibling===null;i===0&&An(c)&&!u&&(a+=`
8
+ `);for(let g=d?n:0;g<(p?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[g]),i!==1);g++);!p&&i===0&&In(c)&&!u&&(a+=`
9
+ `);break}default:break}p&&i++}return l(t),a}var ld=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(ld||{}),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();Ie(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(ld).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(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),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",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()}),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 cd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Rt=class extends Be{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Mn(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!cd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!cd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Ln(this.element,e);let o=this.lastKnownSelection;if(o&&ad(this.element,o.start,o.end))return o;let n=co(this.element);return n.collapse(!1),Ln(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Mn(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(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var Pt=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 dd(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,l])=>{i.searchParams.append(a,l)}),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 vv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var yr=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()}},vr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=dd(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()}},Sr=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(),E.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 vr(e,this.deepdeskUrl,{debug:!0}):new yr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=vv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(E.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;E.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)}},pd=Sr;var It=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var xr=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends It{name="ClientError"},br=class extends It{name="ServerError"},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,{abortLatest:l=!1,attempts:c=1,retryDelay:d=500,refreshTokenOn401:p=!0,retryOnError:u=b=>b instanceof TypeError,retryOnResponse:g=b=>b.status>=500,version:f="v1",...m}=o,v={credentials:"include",...m,headers:{"Content-Type":"application/json",...m.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof f=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":f});let T=c,S=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let y=async()=>(T--,a(i,v).then(async b=>g(b)&&!r.isAborted&&T>0?(await xr(d),y()):b.status===401&&p===!0&&S===!1?(S=!0,await this.refreshToken(),y()):b).catch(async b=>{if(u(b)&&!r.isAborted&&T>0)return await xr(d),y();throw b}));y().then(b=>b.json().catch(()=>null).then(x=>{b.status>=500?s(new br("Server Error",x)):b.status===401?s(new At("Unauthorized",x)):b.status===403?s(new At("Forbidden",x)):b.status===404?s(new At("Not Found",x)):b.status>=400&&s(new At("Bad Request",x)),delete this.latestRequestByUrl[i],n(x)})).catch(b=>{s(b)})})}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 Sv;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Sv||={});function Nn(t){return{...P(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(),E.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...U(e),tags:e.tags},{version:"v2"});return Nn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return P(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null});return P(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return P(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return P(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(),E.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 E.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Nn(r)}async isConversationSupported(e,o={}){E.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=U(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Nn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...U(s),tags:s.tags})),{version:"v2"})).map(s=>Nn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",U({...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:U({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(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})).summary}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 E.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",U(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}`,U(o),{abortLatest:!0})).map(r=>({...P(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.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`,U(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 P(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",U(e),{abortLatest:!0});return P(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,U(e),{version:"v2"});return P(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,U({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return P(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return P(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return P(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 P(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 P(i.cues)}async translateMessages(e){let o=await this.client.post("/api/translate",U(e),{version:"v2"});return P(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(zr);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var po=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ts(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,P(s))}catch{E.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 xv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(xv||={});var uo=class{constructor(e,o={}){this.apiUrl=e;this.client=new he(e,o)}client;streams={};logger=E;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return P(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,U(o));return P(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,U(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return P(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",U(e));return P(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new po(`${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 Rv,configureStore as Pv}from"@reduxjs/toolkit";import{createSlice as bv}from"@reduxjs/toolkit";var ud={startTime:null,stopTime:null},gd=bv({name:"handlingTime",initialState:ud,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(L,()=>ud)}}),{handlingTimeStart:md,handlingTimeStop:On,handlingTimeReset:fd}=gd.actions,hd=gd.reducer;var yd=(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 Cv,createSlice as wv}from"@reduxjs/toolkit";var _n={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var nt=Cv("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 _n.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Tv=wv({name:"styleSuggestions",initialState:_n,reducers:{},extraReducers:t=>{t.addCase(nt.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(nt.rejected,e=>{e.fetchState="error"}).addCase(nt.fulfilled,(e,o)=>{e.fetchState="done",Ie(e.list,o.payload)||(e.list=o.payload)}).addCase($e,e=>{e.list=_n.list}).addCase(L,()=>_n)}}),vd=Tv.reducer;var Sd=(t={})=>{let e,o=!0,n={getStyleSuggestions:nt,debounce:500,...t};return s=>r=>i=>{var g;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:d}=c.settings;if(!((g=c.conversation.current)==null?void 0:g.id)||!d)return l;let{text:u}=c.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function Ev(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var xd=(t={})=>{let e={getTextSuggestions:de,getAutocompleteSuggestions:Yt,debounce:200,check:bt,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:d}=l.settings,p=(m=l.conversation.current)==null?void 0:m.id,u=r.type===tn.toString();if(!p||!c&&!d)return a;let{input:{userCommitted:g}}=l;return Ev(g,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let v=ut(l);v===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(v))},u?0:e.debounce)),a}};var bd=nt.fulfilled.toString();function kv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Cd=t=>e=>o=>n=>{var c;if(n.type!==bd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=kv(s,i);n.type===bd&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Iv=Rv({answer:Ua,auth:Qr,autoflows:uc,conversation:ti,contentTypes:Yi,customMessages:bc,passwordlessToken:kc,entities:Ea,knowledgeAssistant:Fa,handlingTime:hd,info:xi,input:hi,settings:$r,profile:ja,search:Ri,summary:Ma,styleSuggestions:vd,ui:Sl,rules:Li,textSuggestions:nl});function wd(t){return Pv({reducer:Iv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),yd(),xd({debounce:200}),Sd({debounce:500}),Cd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Av=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Lv=t=>e=>o=>n=>{var a;let s=e.getState(),r=Xn("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ce.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Ce.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case G.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 Po.toString():t.handleKeyDown(n.payload);break;case $e.toString():t.logSendMessage(n.payload);break;case Io.toString():t.handleInputChanged(n.payload);break;case be.fulfilled.toString():t.broadcast(is,n.payload,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case $e.toString():t.handleAfterSendMessage(n.payload);break;case eo.toString():t.onUpdateShowTabHint(n.payload);break;case On.toString():t.logHandlingTime();break;case ge.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Av(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(xe()));break}case Ro.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ft.toString():{let l=e.getState(),{text:c,selection:d}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:d},{mayApplyChanges:!0});break}case Ao.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 ue.toString():{r&&n.payload.length>0&&e.dispatch(Le(0));break}default:break}return i},Td=Lv;function Cr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Ed(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:Cr(o),timeStop:Cr(n)}}function kd(t,e,o){var B,z,H;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:d,pastes:p,cuts:u,deletions:g,textSuggestions:f,offeredTextSuggestions:m}}=e[t],v=n.length,S=f.reduce((R,{text:A,searchTerm:V})=>R+A.length-(V?V.length:0),0),y=c??Date.now(),b=(Date.now()-y)/1e3+(d||0),x=s/b,M=f.reduce((R,{searchTerm:A})=>R+(A?A.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:p,cuts:u,deletions:g,lenTextTyped:s+M,lenTextTotal:v,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:b,charsPerSecond:x,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(R=>R.source==="gpt").length}],agentId:(B=e.info.agentInfo)==null?void 0:B.agentId,agentName:(z=e.info.agentInfo)==null?void 0:z.agentName,agentEmail:(H=e.info.agentInfo)==null?void 0:H.agentEmail}}function wr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return wr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?wr(s,e):null}function Rd(t,e){return wr(t,e)}function Pd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Mv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Tr(t){return Mv(t)&&(He(t)||un(t))}var Id,ye=new Map,Nv=["bottom","height","left","right","top","width"],Ov=(t={},e={})=>Nv.some(o=>t[o]!==e[o]);function Ad(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,...Ad(e)]:[]}function Ld(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Dn=!1,Md=()=>{Dn=!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();Ov(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Ld,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),ye.size===0){Dn=!1;return}Id=window.requestAnimationFrame(Md)};function Er(t,e){let o=Ad(t),n=[],s=o.map((r,i)=>Er(r,a=>{n[i]=a;let l=ye.get(t);if(!l)return;let c=n.reduce(Ld,l.rect);l.callbacks.forEach(d=>d(c))}));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&&!Dn&&Md()},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(Id),Dn=!1)}}}}var Nd,ve=new Map,Od=()=>{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&&(Nd=window.requestAnimationFrame(Od))};function _d(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&&Od()},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(Nd)}}}}var kr=["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 Rr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Lt(t){return parseFloat(t)}function Hn(t){return Math.round(t*1e6)}function Dd(t){return t/1e6}function Pr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Lt(t.width),r=Lt(t.borderLeftWidth),i=Lt(t.borderRightWidth),a=Lt(t.paddingRight),l=Dd(Hn(s)-Hn(r)-Hn(i)),c=Dd(Hn(n));if(l-c>2){let d=l-c;o.style.paddingRight=`${a+d}px`}}function Fn(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",Je(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Rr(n,o,kr),Pr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=_d(t,()=>{Rr(n,o,kr),Pr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Er(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Rr(n,o,kr),Pr(n,t,o),r(),o.style.top=`${p.top}px`,o.style.left=`${p.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let u=e.closestScrollElement.getBoundingClientRect(),g=window.getComputedStyle(e.closestScrollElement),f=Lt(g.borderTopWidth),m=Lt(g.borderBottomWidth),v=u.top+f-p.top,T=p.top+p.height+-(u.top+u.height-m);o.style.clipPath=`inset(${v}px 0px ${T}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),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Hd=(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{E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function _v(t){return t.offsetParent!==null}function Fd(t){if(!_v(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 Ir(t,e,o=100){let n=Fd(t);e({isVisible:n});let s=setInterval(()=>{let r=Fd(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as $}from"react/jsx-runtime";var Bd=Hd("showTabHint",!0),Kn=class t{static version="11.0.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:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new Ke(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Td({broadcast:(p,u,g)=>{this.broadcastEvents.send(p,u,g)},emit:(p,u,g)=>this.emit(p,u,g),handleAfterSendMessage:p=>this.handleAfterSendMessage(p),handleInputChanged:p=>this.handleInputChanged(p),handleKeyDown:p=>this.handleKeyDown(p),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:p=>this.logSendMessage(p),onUpdateShowTabHint:p=>Bd.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new uo(o)}),this.store=wd(d),this.broadcastEvents=new pd({debug:!0,deepdeskUrl:c,eventMap:Mi(this.store),createCustomChannel:l}),this.store.dispatch(eo(Bd.value())),this.store.dispatch(So({locale:s,adminUrl:c,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?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.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();W(n)&&qr(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){E.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(Jn({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Co(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(wo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Yn(e))).payload}async postMessages(e){return(await this.store.dispatch(Eo(e))).payload}async updateConversation(e){return(await this.store.dispatch(To(e))).payload}resetConversation(){this.store.dispatch(L()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Ce());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(So(e))}setVisitorInfo(e){this.store.dispatch(Si(e))}async setAgentInfo(e){await this.store.dispatch(Bt(e))}async setAgentSettings(e){await this.store.dispatch(ns(e))}async getAgentSettings(){return(await this.store.dispatch(ss())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(tn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Io(e))}notifyKeyDown(e){this.store.dispatch(Po(e))}notifyPaste(e,o){this.store.dispatch(ui({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(di(e))}notifyExternalSuggestion(e){this.store.dispatch(ge(e)),this.store.dispatch(xe())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(be({label:e,params:o}));if(s)throw s;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(ri({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ue([])))}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,l=s!==-1;if(this.store.dispatch(pi(oi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ai()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(ci()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ft()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():c();return;case"Down":case"ArrowDown":{i?c():d();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Le(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Le(-1)),this.store.dispatch(Ft()),e.preventDefault()):o||(this.store.dispatch(De({collapse:!0})),this.store.dispatch(yl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,u=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:g}=this.state.input;this.store.dispatch(eo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&g&&g.text.startsWith(u)&&(this.store.dispatch(ge({text:g.text,suggestion:g,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(gi()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(md()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch(On()))}logSendMessage(e){let o=kd("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=Ed(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(fd())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch($e(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(ge({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){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.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]=Fn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Bn(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,l]=Fn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Bn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Je(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(()=>{Bn(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),E.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()?(E.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(fi(n.metrics))):E.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(!Tr(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:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,isEmbedded:p,detectSubmit:u,insertLink:g,inputMediator:f,closestScrollSelector:m,appendOverlayTo:v,inlineSuggestions:T,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:g,isEmbedded:p,inlineSuggestions:T,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Je(e),this.inputMediator=f||(He(e)?new Pt(e):new Rt(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(mi({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:M})=>{this.notifyPaste(x,M)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let y=m&&Rd(e,m)||void 0;if(T){let{customStyles:x,appendOverlayTo:M}=o;if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let B=this.createInlineContainer(e,"deepdesk-caret");Mt($(Ye,{store:this.store,customStyles:x,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(El,{})})}),B),this.inputMediator.on("caret",H=>{this.store.dispatch(ue([])),H?(B.style.display="block",B.style.top=`${H.top}px`,B.style.left=`${H.left}px`):B.style.display="none"});let z=this.overlayContainerFactory("floating-menu",y||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:M},x==null?void 0:x.floatingMenuRootNode);Mt($(Ye,{store:this.store,customStyles:x,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(fl,{onLogIn:()=>this.loginViaPopup().catch(H=>E.warn(H.message))})})}),z)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",y||e,{appendTo:v,closestScrollElement:y,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),M=this.overlayContainerFactory("deepdesk-suggestions-overlay",y||e,{appendTo:v},n==null?void 0:n.suggestionsRootNode);Mt($(Ye,{store:this.store,customStyles:n,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(ic,{inputElement:e})})}),x),Mt($(Ye,{store:this.store,customStyles:n,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(_l,{onLogIn:()=>this.loginViaPopup().catch(B=>E.warn(B.message))})})}),M)}Mt($(Ye,{store:this.store,customStyles:n,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(cl,{})})}),this.createContainer("deepdesk-overlays"));let b;this.inputMediator.on("selection",x=>{clearTimeout(b),x===null?b=setTimeout(()=>{x!==null&&this.store.dispatch(es(x))},500):this.store.dispatch(es(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",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Gs(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Gs(!0))),this.store.dispatch(ii({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&&E.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}),Mt($(Ye,{store:this.store,customStyles:n,children:$(Ge,{broadcastEvents:this.broadcastEvents,children:$(id,{onLogIn:()=>this.loginViaPopup().catch(i=>E.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Bn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Ir(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Pd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=_e(this.state);e&&(await this.store.dispatch(Qt()),this.store.dispatch(So({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 l=!1,c=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=async g=>{var f,m;if((f=g.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=g.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ut),l=!0,s.port1.close(),o()}catch(v){console.error(v),n(v)}finally{l=!0,c()}};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 p=async g=>{var f;if(g.origin===a.origin)switch((f=g.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){E.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{c(),g.data.message==="Timeout"&&E.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(g.data.message));break}}};window.addEventListener("message",p);let u=setInterval(()=>{d&&!d.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}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(E.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;E.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=Yo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ce()):this.store.dispatch(de(n))})}catch(n){this.handleError(n)}}};async function Dv(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},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Hv(t,e,o={}){let n=o.replace?ot(t,o.replace.start,o.replace.end):co(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
+ `).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 Fv(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 Bv(t){let e=document.createDocumentFragment();return t.split(`
11
+ `).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 Kd(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:Kd(t,e.parentNode)}async function Kv(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 l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?Fv(e):Bv(e);if(o){let d=l.startContainer===t?t.childNodes[l.startOffset]:l.startContainer,p=Kd(t,d)??t.firstChild;t.insertBefore(c,(p==null?void 0:p.nextSibling)??null)}else l.insertNode(c),l.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 Uv(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function zv(t,e,o){await new Ke(t).authenticateWithKey(e,o)}async function Vv(t){let o=await new he(t).get("/platform/config/",{version:null});return P(o)}async function $v(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 qv(t,e){let o=await $v(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,Rt as ContentEditableInput,Ke as DeepdeskAPI,Kn as DeepdeskSDK,he as HTTPClient,Be as InputMediator,at as InputType,Vn as KeyboardHint,$n as Label,vo as Locale,Re as Section,Gn as SectionList,Pe as Sources,N as Suggestion,oe as SuggestionList,Pt as TextAreaInput,it as ToggleButton,qv as attachFile,zv as authenticateWithKey,co as createFullRange,Fn as createOverlayContainer,ot as createRangeFromOffsets,Xt as escapeHTML,Vv as fetchPlatformConfig,Uv as formatTextMarkup,Ln as getRangeOffsets,Mn as getRangeText,Kv as insertCKEditor,ws as isHTML,Tr as isSupportedInputElement,Hv as updateContentEditable,Dv as updateTextArea,h as useStyles,Ir as waitForElementVisibilityChange};