@deepdesk/deepdesk-sdk 11.5.1-beta.4 → 11.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +7 -7
- package/dist/index.esm.js +7 -7
- package/dist/index.iife.js +14 -14
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var Cu=Object.defineProperty;var $=(t,e)=>{for(var o in e)Cu(t,o,{get:e[o],enumerable:!0})};import qr from"classnames";import Ru,{createContext as Pu,useContext as Jn,useEffect as Iu,useState as Au}from"react";import wu,{useContext as Tu}from"react";import Eu from"classnames";var _t=wu.createContext({});function h(t,e){let{debug:o,...n}=Tu(_t),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let d=s[i];return{...r,[i]:Eu(a,d,o?`${t}__${i}`:!1)}},{}):e}var Wr={root:"dd-4s9wq"};import{jsx as vo,jsxs as ku}from"react/jsx-runtime";var So=()=>ku("svg",{className:Wr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[vo("defs",{children:vo("style",{children:".cls-1 { fill: #b3b3b3; }"})}),vo("title",{children:"Failed loading image"}),vo("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 Zn={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as it}from"react/jsx-runtime";var xo=Pu(Zn),Lu=({title:t,src:e})=>{let o=Jn(xo),[n,s]=Au(!1);return Iu(()=>{s(!1)},[e]),it("div",{className:o.imageWrapper,children:e&&!n?it("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):it(So,{})})},Mu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Jn(xo);return it("div",{className:qr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Nu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=Jn(xo);return Ru.createElement(t,{className:qr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},bo=({children:t})=>{let e=h("Card",Zn);return it("div",{className:e.root,children:it(xo.Provider,{value:e,children:t})})};bo.Image=Lu;bo.Content=Mu;bo.Title=Nu;var _=bo;import Ou from"classnames";var Gr={root:"dd-llBx9"};import{jsx as Fu}from"react/jsx-runtime";var Du={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},_u=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",Gr);return Fu("span",{"data-key":Du[e],className:Ou(t,n.root),...o})},Yn=_u;import Hu from"classnames";var $r={root:"dd-e6HXZ"};import{jsx as Ku}from"react/jsx-runtime";var Bu=({className:t,children:e,...o})=>{let n=h("Label",$r);return Ku("span",{...o,className:Hu(t,n.root),children:e})},es=Bu;var jr={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as ts,jsxs as zu}from"react/jsx-runtime";var Uu=({title:t,children:e,type:o,...n})=>{let s=h("Section",jr);return zu("section",{...n,className:s.root,"data-section-type":o,children:[t&&ts("div",{className:s.subTitleContainer,children:ts("span",{className:s.subtitle,children:t})}),ts("div",{className:s.suggestions,children:e})]})},ve=Uu;import Vu from"classnames";import Wu from"react";var Xr={root:"dd-uoTXh"};import{jsx as Gu}from"react/jsx-runtime";var qu=Wu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",Xr);return Gu("div",{ref:o,className:Vu(n.root,t),children:e})}),os=qu;import Ft from"classnames";import ss,{createContext as $u,useCallback as ju,useContext as at}from"react";var ns={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",iconButtons:"dd-zEJFg",iconButton:"dd-MXcDi"};import{jsx as ce,jsxs as Jr}from"react/jsx-runtime";var ze=$u(ns),Xu=({fixed:t,children:e,...o})=>{let n=at(ze);return ce("div",{...o,className:Ft(n.actions,{[n.actionsIsFixed]:t}),children:e})};function Qr(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type===Zr}var Zr=({className:t,icon:e,title:o,...n})=>{let s=at(ze);return ce("button",{type:"button",className:Ft(s.iconButton,t),title:o,"aria-label":o,...n,children:e})},Qu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=at(ze);return Jr("div",{className:Ft(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ce("ul",{className:r.dropdownList,children:s})]})},Zu=({index:t,label:e,onClick:o})=>{let n=at(ze);return ce("li",{className:n.dropdownItem,children:ce("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Ju=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=at(ze);return ce("button",{type:"button",className:Ft(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Yu=({labels:t})=>{let e=at(ze);return ce("div",{className:e.labels,children:t.map(o=>ce("span",{className:e.label,children:o},o))})},Ve=ss.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",ns),d=ju(p=>{p.preventDefault(),o&&o(p)},[o]),l=ss.Children.toArray(n).filter(Qr),c=ss.Children.toArray(n).filter(p=>!Qr(p));return ce(s,{...r,ref:i,className:Ft(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:d,children:Jr(ze.Provider,{value:a,children:[c,ce("div",{className:a.iconButtons,children:l})]})})});Ve.Labels=Yu;Ve.Actions=Xu;Ve.ActionButton=Ju;Ve.DropdownButton=Qu;Ve.DropdownItem=Zu;Ve.IconButton=Zr;var L=Ve;import ep from"classnames";var Yr={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as op}from"react/jsx-runtime";var tp=({withDivider:t,children:e})=>{let o=h("SuggestionList",Yr);return op("div",{"data-testid":"suggestions-overlay-list",className:ep(o.root,{[o.isWithDivider]:t}),children:e})},J=tp;import np from"classnames";var ei={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as rs}from"react/jsx-runtime";var sp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",ei);return rs("button",{type:"button",className:np(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:rs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:rs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},lt=sp;var ti=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,Co=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var oi=/x-deepdesk-(([a-z0-9\-_])+-version)/,wo=["cues","custom-data"],Ae=(f=>(f.SEARCH="search",f.TEMPLATE="template",f.ELASTIC_SEARCH="search-autocomplete",f.GPT="gpt",f.TRIE="trie",f.TRIE_WITH_TYPOS="trie-with-typos",f.SEMANTIC="semantic",f.TEXT_RECOMMENDATION="text_recommendation",f.URL_RECOMMENDATION="url_recommendation",f.LINK_RECOMMENDATION="link_recommendation",f.PERSONAL_COLLECTION="personal-collection",f.PERSONAL_COLLECTION_SEARCH="personal-collection-search",f.SEARCH_OVERLAY="search-overlay",f.SEARCH_PREVIEW="search-preview",f.SEARCH_URL="search-url",f))(Ae||{}),dt=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(dt||{});import{render as Ot,unmountComponentAtNode as jn}from"react-dom";import{Fragment as mf}from"react";import{createSlice as rp}from"@reduxjs/toolkit";import{useSelector as ip}from"react-redux";var To=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(To||{});var ap={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"},ni=rp({name:"settings",initialState:ap,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:Eo}=ni.actions,is=t=>e=>e.settings[t],w=t=>ip(is(t)),si=ni.reducer;import{useSelector as la}from"react-redux";import{createAsyncThunk as as,createSlice as lp}from"@reduxjs/toolkit";var dp={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},j=t=>t.auth.isLoggedIn,ri=t=>t.auth.loginFetchState,ii=t=>t.auth.verifyFetchState,ai=t=>t.auth.showLoginOverlay,Se=as("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),li=as("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ht=as("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),di=lp({name:"auth",initialState:dp,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:ct,setShowLoginOverlay:ci}=di.actions,ui=di.reducer;import{createAction as gt,createSlice as vp}from"@reduxjs/toolkit";import{diffChars as Sp}from"diff";import{useSelector as xp}from"react-redux";function pi(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Le(t,e,o=10){let n=typeof t,s=typeof e;if(o===0)throw new Error("Max depth deepEqual, possible circular references?");return n!==s?!1:t==null||n==="string"||n==="number"||n==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Le(r,e[i],o-1)):pi(t)&&pi(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Le(t[i],e[i],o-1)):!1}function cp(t){return Math.max(...t.map(e=>e.length))}function up(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 mi(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<cp(n);s++){let r=up(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 pp=2;function ls(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=mi(t,pp);return o&&o.text!==e?o:t[0]}import{createAction as gp,createAsyncThunk as ut,createSlice as fp}from"@reduxjs/toolkit";var mp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},b=mp;var gi={current:null,isSupported:null},M=gp("resetConversation"),pt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},ko=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},mt=t=>t.conversation.isSupported,ds=ut("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Ro=ut("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Po=ut("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Io=ut("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=ko(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),cs=ut("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:d}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:d})})}),Ao=ut("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=ko(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),hp=[Ro.rejected,Po.rejected,Io.rejected,Ao.rejected].map(t=>t==null?void 0:t.toString()),yp=fp({name:"conversation",initialState:gi,reducers:{},extraReducers:t=>{t.addCase(ds.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Ro.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Po.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(cs.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Io.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ao.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>gi).addMatcher(e=>hp.includes(e.type),(e,o)=>{var n;throw b.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),fi=yp.reducer;var Me={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 hi(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 Mo=gt("input/replaceText"),No=gt("input/keyDown"),We=gt("input/sendMessage"),Oo=gt("input/uiInputChange"),Do=gt("input/applyImageSuggestion"),q=gt("input/sendEvent");function Lo(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:d},eventMetrics:{inputType:l},replace:c}=t.stagedSuggestion,p=o==="search"||o==="personal-collection-search",u=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(p||c==="selection")&&(u=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(u=d),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:u,source:o,abVariant:n,abTestName:s,inputType:l,sourceText:i,trainingJobs:r||[],searchTerm:p?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var yi=vp({name:"input",initialState:Me,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,{...Me,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=ls(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Le(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Lo(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,d;if(t.previousKeyDownEvent){let{key:l,shiftKey:c,ctrlKey:p,metaKey:u,altKey:m}=t.previousKeyDownEvent;switch(l){case"Enter":c&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,{text:f}=e.payload,y=Sp(g,f);g.length-f.length>1&&t.metrics.deletions.push(...y.filter(x=>x.removed).map(x=>x.value)),t.metrics.numCharsDeleted+=g.length-f.length;break}case"C":case"V":case"X":if(!p&&!u){t.metrics.numCharsTyped+=1;let g=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}break;case"Shift":break;default:if(!p&&!u&&!m){t.metrics.numCharsTyped+=1;let g=((a=t.selection)==null?void 0:a.start)!==void 0&&((d=t.selection)==null?void 0:d.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Me.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Lo(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"&&Lo(t)},commitSuggestion(t){Lo(t)},offeredTextSuggestion(t,e){let{text:o,suggestion:{source:n}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===o)||t.metrics.offeredTextSuggestions.push({text:o,source:n})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...t.metrics,numCharsCut:o.numCharsCut+n.length,cuts:[...o.cuts,n]}},registerPaste(t,e){let{metrics:o}=t,{text:n,selectionText:s}=e.payload,r=o.numCharsDeleted+(s&&s.length?s.length:0),i=s&&s.length?[...o.deletions,s]:o.deletions;t.metrics={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.tabCompletionSuggestion=void 0;return}let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=ls(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=Me.tabCompletionSuggestion,e.previousKeyDownEvent=Me.previousKeyDownEvent,e.textSuggestions=Me.textSuggestions,e.selectedSuggestionIndex=Me.selectedSuggestionIndex,e.metrics=Me.metrics})}}),ft=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),bp=t=>t.input.selection,vi=()=>xp(bp),{userInput:Si,changeSelection:us,initialInput:xi,nextTextSuggestionIndex:bi,offeredTextSuggestion:Ci,previousTextSuggestionIndex:wi,registerCut:Ti,registerKeyDown:Ei,registerPaste:ki,reset:Ri,resetToCommitted:Bt,platformInput:Pi,setSelectedTextSuggestionIndex:Ne,setTextSuggestions:ue,stageSuggestion:pe,commitSuggestion:xe,setMetrics:Ii}=yi.actions,Ai=yi.reducer;import{createAsyncThunk as Ep,createSlice as kp}from"@reduxjs/toolkit";import{createAsyncThunk as ms,createSlice as wp}from"@reduxjs/toolkit";function Cp(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function A(t){return Array.isArray(t)?t.map(A):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[Cp(o)]:A(t[o])}),{}):t}function ps(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function F(t){return Array.isArray(t)?t.map(F):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ps(o)]:F(t[o])}),{}):t}var Tp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,fetchState:"idle"},Ut=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},Kt=ms("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?A(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),A(n))}),gs=ms("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}),fs=ms("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Li=t=>t.info.agentInfo,Mi=t=>t.info.customData,Ni=wp({name:"info",initialState:Tp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}},setCustomData(t,e){t.customData=e.payload}},extraReducers:t=>{t.addCase(Kt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Kt.rejected,e=>{e.fetchState="error"}).addCase(Kt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(gs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(fs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Oi,setCustomData:Di}=Ni.actions,_i=Ni.reducer;var _o={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Fi=t=>t.search.isOpen,Hi=t=>t.search.page,Bi=t=>t.search.list,Ki=t=>t.search.aggregates;function Ui(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var qe=Ep("search/getAll",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(a=n.conversation.current)==null?void 0:a.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r,aggregates:i}=await o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Ut(n)});return{results:r.map(d=>({...d,source:`search-${d.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),zi=kp({name:"search",initialState:_o,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=_o.fetchState,t.list=_o.list}},extraReducers:t=>{t.addCase(qe.pending,e=>{e.fetchState="loading"}).addCase(qe.rejected,(e,o)=>{e.fetchState="error",b.error(o.error)}).addCase(qe.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(M,()=>_o)}}),{resetSearch:Fo,setIsOpen:Y,setPage:re}=zi.actions,Vi=zi.reducer;var hs="SetCues",ht="ShowLoginOverlay",zt="UserLoggedIn",Rp="UserLoggedOut",Oe="ApplySuggestion",ys="ApplyImageSuggestion",Pp="ShowCommandPalette",Ip=t=>({[hs]:e=>{t.dispatch({...e,isBroadcasted:!0})},[Pp]:e=>{t.dispatch(Y(e.isOpen)),e.page&&t.dispatch(re(e.page))},[ht]:e=>{t.dispatch(ci(e))},[zt]:()=>{t.dispatch(Se())},[Rp]:()=>{t.dispatch(Se())},[ys]:e=>{t.dispatch(Do({suggestion:e.suggestion}))},[Oe]:e=>{t.dispatch(pe({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),Wi=Ip;import qi,{useContext as Ap}from"react";import{jsx as Lp}from"react/jsx-runtime";var Gi=qi.createContext(null),Ge=({broadcastEvents:t,children:e})=>{let o=qi.useMemo(()=>t,[]);return Lp(Gi.Provider,{value:o,children:e})},oe=()=>{let t=Ap(Gi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Rs from"classnames";import{useCallback as ia,useEffect as tm,useMemo as om,useState as Ps}from"react";import{useDispatch as nm,useSelector as sm}from"react-redux";import{createContext as Vp,useContext as Wp}from"react";var vs=function(t,e){return vs=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])},vs(t,e)};function Vt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");vs(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 $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 Ho(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 Bo;(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"})(Bo||(Bo={}));var Ko=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 Uo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Uo||(Uo={}));function Ss(t){return t.type===ie.literal}function ji(t){return t.type===ie.argument}function zo(t){return t.type===ie.number}function Vo(t){return t.type===ie.date}function Wo(t){return t.type===ie.time}function qo(t){return t.type===ie.select}function Go(t){return t.type===ie.plural}function Xi(t){return t.type===ie.pound}function $o(t){return t.type===ie.tag}function jo(t){return!!(t&&typeof t=="object"&&t.type===Uo.number)}function Wt(t){return!!(t&&typeof t=="object"&&t.type===Uo.dateTime)}function xs(t){t.forEach(function(e){if(delete e.location,qo(e)||Go(e))for(var o in e.options)delete e.options[o].location,xs(e.options[o].value);else zo(e)&&jo(e.style)||(Vo(e)||Wo(e))&&Wt(e.style)?delete e.style.location:$o(e)&&xs(e.children)})}function Qi(t,e){e===void 0&&(e={}),e=ee({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Ko(t,e).parse();if(o.err){var n=SyntaxError(Bo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||xs(o.val),o.val}function Xo(t,e){var o=e&&e.cache?e.cache:Fp,n=e&&e.serializer?e.serializer:_p,s=e&&e.strategy?e.strategy:Np;return s(t,{cache:o,serializer:n})}function Mp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Zi(t,e,o,n){var s=Mp(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Ji(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 bs(t,e,o,n,s){return o.bind(e,t,n,s)}function Np(t,e){var o=t.length===1?Zi:Ji;return bs(t,this,o,e.cache.create(),e.serializer)}function Op(t,e){return bs(t,this,Ji,e.cache.create(),e.serializer)}function Dp(t,e){return bs(t,this,Zi,e.cache.create(),e.serializer)}var _p=function(){return JSON.stringify(arguments)};function Cs(){this.cache=Object.create(null)}Cs.prototype.get=function(t){return this.cache[t]};Cs.prototype.set=function(t,e){this.cache[t]=e};var Fp={create:function(){return new Cs}},Qo={variadic:Op,monadic:Dp};var $e;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})($e||($e={}));var qt=function(t){Vt(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var ws=function(t){Vt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),$e.INVALID_VALUE,r)||this}return e}(qt);var Yi=function(t){Vt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),$e.INVALID_VALUE,s)||this}return e}(qt);var ea=function(t){Vt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),$e.MISSING_VALUE,n)||this}return e}(qt);var G;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(G||(G={}));function Hp(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==G.literal||o.type!==G.literal?e.push(o):n.value+=o.value,e},[])}function Bp(t){return typeof t=="function"}function Gt(t,e,o,n,s,r,i){if(t.length===1&&Ss(t[0]))return[{type:G.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(Ss(c)){a.push({type:G.literal,value:c.value});continue}if(Xi(c)){typeof r=="number"&&a.push({type:G.literal,value:o.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new ea(p,i);var u=s[p];if(ji(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?G.literal:G.object,value:u});continue}if(Vo(c)){var m=typeof c.style=="string"?n.date[c.style]:Wt(c.style)?c.style.parsedOptions:void 0;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(Wo(c)){var m=typeof c.style=="string"?n.time[c.style]:Wt(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:G.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(zo(c)){var m=typeof c.style=="string"?n.number[c.style]:jo(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:G.literal,value:o.getNumberFormat(e,m).format(u)});continue}if($o(c)){var g=c.children,f=c.value,y=s[f];if(!Bp(y))throw new Yi(f,"function",i);var x=Gt(g,e,o,n,s,r),v=y(x.map(function(C){return C.value}));Array.isArray(v)||(v=[v]),a.push.apply(a,v.map(function(C){return{type:typeof C=="string"?G.literal:G.object,value:C}}))}if(qo(c)){var S=c.options[u]||c.options.other;if(!S)throw new ws(c.value,u,Object.keys(c.options),i);a.push.apply(a,Gt(S.value,e,o,n,s));continue}if(Go(c)){var S=c.options["=".concat(u)];if(!S){if(!Intl.PluralRules)throw new qt(`Intl.PluralRules is not available in this environment.
|
|
1
|
+
var Cu=Object.defineProperty;var j=(t,e)=>{for(var o in e)Cu(t,o,{get:e[o],enumerable:!0})};import Gr from"classnames";import Ru,{createContext as Pu,useContext as Yn,useEffect as Iu,useState as Au}from"react";import wu,{useContext as Tu}from"react";import Eu from"classnames";var _t=wu.createContext({});function h(t,e){let{debug:o,...n}=Tu(_t),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let d=s[i];return{...r,[i]:Eu(a,d,o?`${t}__${i}`:!1)}},{}):e}var qr={root:"dd-4s9wq"};import{jsx as So,jsxs as ku}from"react/jsx-runtime";var xo=()=>ku("svg",{className:qr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[So("defs",{children:So("style",{children:".cls-1 { fill: #b3b3b3; }"})}),So("title",{children:"Failed loading image"}),So("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 Jn={root:"dd-c9KvZ",imageWrapper:"dd-sE7D9",image:"dd-bEGMz",content:"dd-oFIQa",title:"dd-mSgoo",contentIsCropped:"dd-Uvjv4",lineClamp:"dd-ApQo-"};import{jsx as it}from"react/jsx-runtime";var bo=Pu(Jn),Lu=({title:t,src:e})=>{let o=Yn(bo),[n,s]=Au(!1);return Iu(()=>{s(!1)},[e]),it("div",{className:o.imageWrapper,children:e&&!n?it("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):it(xo,{})})},Mu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=Yn(bo);return it("div",{className:Gr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},Nu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=Yn(bo);return Ru.createElement(t,{className:Gr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},Co=({children:t})=>{let e=h("Card",Jn);return it("div",{className:e.root,children:it(bo.Provider,{value:e,children:t})})};Co.Image=Lu;Co.Content=Mu;Co.Title=Nu;var D=Co;import Ou from"classnames";var $r={root:"dd-llBx9"};import{jsx as Fu}from"react/jsx-runtime";var Du={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},_u=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",$r);return Fu("span",{"data-key":Du[e],className:Ou(t,n.root),...o})},es=_u;import Hu from"classnames";var jr={root:"dd-e6HXZ"};import{jsx as Ku}from"react/jsx-runtime";var Bu=({className:t,children:e,...o})=>{let n=h("Label",jr);return Ku("span",{...o,className:Hu(t,n.root),children:e})},ts=Bu;var Xr={root:"dd-FiMI7",subTitleContainer:"dd-98jc7",subtitle:"dd-3MnW8",suggestions:"dd-0SGL8"};import{jsx as os,jsxs as zu}from"react/jsx-runtime";var Uu=({title:t,children:e,type:o,...n})=>{let s=h("Section",Xr);return zu("section",{...n,className:s.root,"data-section-type":o,children:[t&&os("div",{className:s.subTitleContainer,children:os("span",{className:s.subtitle,children:t})}),os("div",{className:s.suggestions,children:e})]})},ve=Uu;import Vu from"classnames";import Wu from"react";var Qr={root:"dd-uoTXh"};import{jsx as Gu}from"react/jsx-runtime";var qu=Wu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",Qr);return Gu("div",{ref:o,className:Vu(n.root,t),children:e})}),ns=qu;import Ft from"classnames";import rs,{createContext as $u,useCallback as ju,useContext as at}from"react";var ss={root:"dd-1g-A9",fadein:"dd-McXxq",isClickable:"dd-CTG8E",isSelected:"dd-yhg27",actions:"dd-Nlm6p",actionsIsFixed:"dd-OK-kw",actionButton:"dd-zbXsQ",dropdownList:"dd-AvwWP",dropdownButton:"dd-piaJi",dropdownItem:"dd-qgkTO",dropdownItemButton:"dd-sTE2D",actionButtonIsPrimary:"dd-mhkWS",actionButtonIsDisabled:"dd-0eKLQ",labels:"dd-QKJu6",label:"dd-aMplE",iconButtons:"dd-zEJFg",iconButton:"dd-MXcDi"};import{jsx as ce,jsxs as Yr}from"react/jsx-runtime";var ze=$u(ss),Xu=({fixed:t,children:e,...o})=>{let n=at(ze);return ce("div",{...o,className:Ft(n.actions,{[n.actionsIsFixed]:t}),children:e})};function Zr(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type===Jr}var Jr=({className:t,icon:e,title:o,...n})=>{let s=at(ze);return ce("button",{type:"button",className:Ft(s.iconButton,t),title:o,"aria-label":o,...n,children:e})},Qu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=at(ze);return Yr("div",{className:Ft(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,ce("ul",{className:r.dropdownList,children:s})]})},Zu=({index:t,label:e,onClick:o})=>{let n=at(ze);return ce("li",{className:n.dropdownItem,children:ce("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Ju=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=at(ze);return ce("button",{type:"button",className:Ft(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Yu=({labels:t})=>{let e=at(ze);return ce("div",{className:e.labels,children:t.map(o=>ce("span",{className:e.label,children:o},o))})},Ve=rs.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",ss),d=ju(p=>{p.preventDefault(),o&&o(p)},[o]),l=rs.Children.toArray(n).filter(Zr),c=rs.Children.toArray(n).filter(p=>!Zr(p));return ce(s,{...r,ref:i,className:Ft(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:d,children:Yr(ze.Provider,{value:a,children:[c,ce("div",{className:a.iconButtons,children:l})]})})});Ve.Labels=Yu;Ve.Actions=Xu;Ve.ActionButton=Ju;Ve.DropdownButton=Qu;Ve.DropdownItem=Zu;Ve.IconButton=Jr;var A=Ve;import ep from"classnames";var ei={root:"dd-W35K-",isWithDivider:"dd-sscOy"};import{jsx as op}from"react/jsx-runtime";var tp=({withDivider:t,children:e})=>{let o=h("SuggestionList",ei);return op("div",{"data-testid":"suggestions-overlay-list",className:ep(o.root,{[o.isWithDivider]:t}),children:e})},Y=tp;import np from"classnames";var ti={root:"dd-oWarc",isCollapsed:"dd-tfZI0"};import{jsx as is}from"react/jsx-runtime";var sp=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",ti);return is("button",{type:"button",className:np(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:is("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:is("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},lt=sp;var oi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,wo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var ni=/x-deepdesk-(([a-z0-9\-_])+-version)/,To=["cues","custom-data"],Ae=(f=>(f.SEARCH="search",f.TEMPLATE="template",f.ELASTIC_SEARCH="search-autocomplete",f.GPT="gpt",f.TRIE="trie",f.TRIE_WITH_TYPOS="trie-with-typos",f.SEMANTIC="semantic",f.TEXT_RECOMMENDATION="text_recommendation",f.URL_RECOMMENDATION="url_recommendation",f.LINK_RECOMMENDATION="link_recommendation",f.PERSONAL_COLLECTION="personal-collection",f.PERSONAL_COLLECTION_SEARCH="personal-collection-search",f.SEARCH_OVERLAY="search-overlay",f.SEARCH_PREVIEW="search-preview",f.SEARCH_URL="search-url",f))(Ae||{}),dt=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(dt||{});import{render as Ot,unmountComponentAtNode as Xn}from"react-dom";import{Fragment as mf}from"react";import{createSlice as rp}from"@reduxjs/toolkit";import{useSelector as ip}from"react-redux";var Eo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(Eo||{});var ap={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"},si=rp({name:"settings",initialState:ap,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:ko}=si.actions,as=t=>e=>e.settings[t],w=t=>ip(as(t)),ri=si.reducer;import{useSelector as da}from"react-redux";import{createAsyncThunk as ls,createSlice as lp}from"@reduxjs/toolkit";var dp={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},X=t=>t.auth.isLoggedIn,ii=t=>t.auth.loginFetchState,ai=t=>t.auth.verifyFetchState,li=t=>t.auth.showLoginOverlay,Se=ls("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),di=ls("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ht=ls("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),ci=lp({name:"auth",initialState:dp,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:ct,setShowLoginOverlay:ui}=ci.actions,pi=ci.reducer;import{createAction as gt,createSlice as vp}from"@reduxjs/toolkit";import{diffChars as Sp}from"diff";import{useSelector as xp}from"react-redux";function mi(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Le(t,e,o=10){let n=typeof t,s=typeof e;if(o===0)throw new Error("Max depth deepEqual, possible circular references?");return n!==s?!1:t==null||n==="string"||n==="number"||n==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Le(r,e[i],o-1)):mi(t)&&mi(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Le(t[i],e[i],o-1)):!1}function cp(t){return Math.max(...t.map(e=>e.length))}function up(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 gi(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<cp(n);s++){let r=up(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 pp=2;function ds(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=gi(t,pp);return o&&o.text!==e?o:t[0]}import{createAction as gp,createAsyncThunk as ut,createSlice as fp}from"@reduxjs/toolkit";var mp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},x=mp;var fi={current:null,isSupported:null},M=gp("resetConversation"),pt=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Ro=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},mt=t=>t.conversation.isSupported,cs=ut("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Po=ut("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),Io=ut("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),Ao=ut("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Ro(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),us=ut("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:d}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:d})})}),Lo=ut("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Ro(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),hp=[Po.rejected,Io.rejected,Ao.rejected,Lo.rejected].map(t=>t==null?void 0:t.toString()),yp=fp({name:"conversation",initialState:fi,reducers:{},extraReducers:t=>{t.addCase(cs.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Po.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Io.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(us.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Ao.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Lo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(M,()=>fi).addMatcher(e=>hp.includes(e.type),(e,o)=>{var n;throw x.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),hi=yp.reducer;var Me={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 yi(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 No=gt("input/replaceText"),Oo=gt("input/keyDown"),We=gt("input/sendMessage"),Do=gt("input/uiInputChange"),_o=gt("input/applyImageSuggestion"),G=gt("input/sendEvent");function Mo(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:d},eventMetrics:{inputType:l},replace:c}=t.stagedSuggestion,p=o==="search"||o==="personal-collection-search",u=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(p||c==="selection")&&(u=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(u=d),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:u,source:o,abVariant:n,abTestName:s,inputType:l,sourceText:i,trainingJobs:r||[],searchTerm:p?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var vi=vp({name:"input",initialState:Me,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,{...Me,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=ds(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Le(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&Mo(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,d;if(t.previousKeyDownEvent){let{key:l,shiftKey:c,ctrlKey:p,metaKey:u,altKey:m}=t.previousKeyDownEvent;switch(l){case"Enter":c&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=t,{text:f}=e.payload,y=Sp(g,f);g.length-f.length>1&&t.metrics.deletions.push(...y.filter(b=>b.removed).map(b=>b.value)),t.metrics.numCharsDeleted+=g.length-f.length;break}case"C":case"V":case"X":if(!p&&!u){t.metrics.numCharsTyped+=1;let g=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}break;case"Shift":break;default:if(!p&&!u&&!m){t.metrics.numCharsTyped+=1;let g=((a=t.selection)==null?void 0:a.start)!==void 0&&((d=t.selection)==null?void 0:d.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;g&&g.length>0&&(t.metrics.numCharsDeleted+=g.length,t.metrics.deletions.push(g))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Me.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&Mo(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"&&Mo(t)},commitSuggestion(t){Mo(t)},offeredTextSuggestion(t,e){let{text:o,suggestion:{source:n}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===o)||t.metrics.offeredTextSuggestions.push({text:o,source:n})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...t.metrics,numCharsCut:o.numCharsCut+n.length,cuts:[...o.cuts,n]}},registerPaste(t,e){let{metrics:o}=t,{text:n,selectionText:s}=e.payload,r=o.numCharsDeleted+(s&&s.length?s.length:0),i=s&&s.length?[...o.deletions,s]:o.deletions;t.metrics={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0){t.tabCompletionSuggestion=void 0;return}let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=ds(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=Me.tabCompletionSuggestion,e.previousKeyDownEvent=Me.previousKeyDownEvent,e.textSuggestions=Me.textSuggestions,e.selectedSuggestionIndex=Me.selectedSuggestionIndex,e.metrics=Me.metrics})}}),ft=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),bp=t=>t.input.selection,Si=()=>xp(bp),{userInput:xi,changeSelection:ps,initialInput:bi,nextTextSuggestionIndex:Ci,offeredTextSuggestion:wi,previousTextSuggestionIndex:Ti,registerCut:Ei,registerKeyDown:ki,registerPaste:Ri,reset:Pi,resetToCommitted:Bt,platformInput:Ii,setSelectedTextSuggestionIndex:Ne,setTextSuggestions:ue,stageSuggestion:pe,commitSuggestion:xe,setMetrics:Ai}=vi.actions,Li=vi.reducer;import{createAsyncThunk as Ep,createSlice as kp}from"@reduxjs/toolkit";import{createAsyncThunk as gs,createSlice as wp}from"@reduxjs/toolkit";function Cp(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,[Cp(o)]:I(t[o])}),{}):t}function ms(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function H(t){return Array.isArray(t)?t.map(H):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ms(o)]:H(t[o])}),{}):t}var Tp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,customData:void 0,fetchState:"idle"},Ut=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},Kt=gs("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))}),fs=gs("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}),hs=gs("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Mi=t=>t.info.agentInfo,Ni=t=>t.info.customData,Oi=wp({name:"info",initialState:Tp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}},setCustomData(t,e){t.customData=e.payload}},extraReducers:t=>{t.addCase(Kt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Kt.rejected,e=>{e.fetchState="error"}).addCase(Kt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(fs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(hs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(M,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:Di,setCustomData:_i}=Oi.actions,Fi=Oi.reducer;var Fo={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Hi=t=>t.search.isOpen,Bi=t=>t.search.page,Ki=t=>t.search.list,Ui=t=>t.search.aggregates;function zi(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var qe=Ep("search/getAll",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(a=n.conversation.current)==null?void 0:a.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r,aggregates:i}=await o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Ut(n)});return{results:r.map(d=>({...d,source:`search-${d.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Vi=kp({name:"search",initialState:Fo,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Fo.fetchState,t.list=Fo.list}},extraReducers:t=>{t.addCase(qe.pending,e=>{e.fetchState="loading"}).addCase(qe.rejected,(e,o)=>{e.fetchState="error",x.error(o.error)}).addCase(qe.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(M,()=>Fo)}}),{resetSearch:Ho,setIsOpen:ee,setPage:re}=Vi.actions,Wi=Vi.reducer;var ys="SetCues",ht="ShowLoginOverlay",zt="UserLoggedIn",Rp="UserLoggedOut",Oe="ApplySuggestion",vs="ApplyImageSuggestion",Pp="ShowCommandPalette",Ip=t=>({[ys]:e=>{t.dispatch({...e,isBroadcasted:!0})},[Pp]:e=>{t.dispatch(ee(e.isOpen)),e.page&&t.dispatch(re(e.page))},[ht]:e=>{t.dispatch(ui(e))},[zt]:()=>{t.dispatch(Se())},[Rp]:()=>{t.dispatch(Se())},[vs]:e=>{t.dispatch(_o({suggestion:e.suggestion}))},[Oe]:e=>{t.dispatch(pe({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(xe())}}),qi=Ip;import Gi,{useContext as Ap}from"react";import{jsx as Lp}from"react/jsx-runtime";var $i=Gi.createContext(null),Ge=({broadcastEvents:t,children:e})=>{let o=Gi.useMemo(()=>t,[]);return Lp($i.Provider,{value:o,children:e})},oe=()=>{let t=Ap($i);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Ps from"classnames";import{useCallback as aa,useEffect as tm,useMemo as om,useState as Is}from"react";import{useDispatch as nm,useSelector as sm}from"react-redux";import{createContext as Vp,useContext as Wp}from"react";var Ss=function(t,e){return Ss=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])},Ss(t,e)};function Vt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ss(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 ji(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 Bo(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 Ko;(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"})(Ko||(Ko={}));var Uo=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 zo;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(zo||(zo={}));function xs(t){return t.type===ie.literal}function Xi(t){return t.type===ie.argument}function Vo(t){return t.type===ie.number}function Wo(t){return t.type===ie.date}function qo(t){return t.type===ie.time}function Go(t){return t.type===ie.select}function $o(t){return t.type===ie.plural}function Qi(t){return t.type===ie.pound}function jo(t){return t.type===ie.tag}function Xo(t){return!!(t&&typeof t=="object"&&t.type===zo.number)}function Wt(t){return!!(t&&typeof t=="object"&&t.type===zo.dateTime)}function bs(t){t.forEach(function(e){if(delete e.location,Go(e)||$o(e))for(var o in e.options)delete e.options[o].location,bs(e.options[o].value);else Vo(e)&&Xo(e.style)||(Wo(e)||qo(e))&&Wt(e.style)?delete e.style.location:jo(e)&&bs(e.children)})}function Zi(t,e){e===void 0&&(e={}),e=te({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new Uo(t,e).parse();if(o.err){var n=SyntaxError(Ko[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||bs(o.val),o.val}function Qo(t,e){var o=e&&e.cache?e.cache:Fp,n=e&&e.serializer?e.serializer:_p,s=e&&e.strategy?e.strategy:Np;return s(t,{cache:o,serializer:n})}function Mp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function Ji(t,e,o,n){var s=Mp(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Yi(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 Cs(t,e,o,n,s){return o.bind(e,t,n,s)}function Np(t,e){var o=t.length===1?Ji:Yi;return Cs(t,this,o,e.cache.create(),e.serializer)}function Op(t,e){return Cs(t,this,Yi,e.cache.create(),e.serializer)}function Dp(t,e){return Cs(t,this,Ji,e.cache.create(),e.serializer)}var _p=function(){return JSON.stringify(arguments)};function ws(){this.cache=Object.create(null)}ws.prototype.get=function(t){return this.cache[t]};ws.prototype.set=function(t,e){this.cache[t]=e};var Fp={create:function(){return new ws}},Zo={variadic:Op,monadic:Dp};var $e;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})($e||($e={}));var qt=function(t){Vt(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var Ts=function(t){Vt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),$e.INVALID_VALUE,r)||this}return e}(qt);var ea=function(t){Vt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),$e.INVALID_VALUE,s)||this}return e}(qt);var ta=function(t){Vt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),$e.MISSING_VALUE,n)||this}return e}(qt);var $;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})($||($={}));function Hp(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==$.literal||o.type!==$.literal?e.push(o):n.value+=o.value,e},[])}function Bp(t){return typeof t=="function"}function Gt(t,e,o,n,s,r,i){if(t.length===1&&xs(t[0]))return[{type:$.literal,value:t[0].value}];for(var a=[],d=0,l=t;d<l.length;d++){var c=l[d];if(xs(c)){a.push({type:$.literal,value:c.value});continue}if(Qi(c)){typeof r=="number"&&a.push({type:$.literal,value:o.getNumberFormat(e).format(r)});continue}var p=c.value;if(!(s&&p in s))throw new ta(p,i);var u=s[p];if(Xi(c)){(!u||typeof u=="string"||typeof u=="number")&&(u=typeof u=="string"||typeof u=="number"?String(u):""),a.push({type:typeof u=="string"?$.literal:$.object,value:u});continue}if(Wo(c)){var m=typeof c.style=="string"?n.date[c.style]:Wt(c.style)?c.style.parsedOptions:void 0;a.push({type:$.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(qo(c)){var m=typeof c.style=="string"?n.time[c.style]:Wt(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:$.literal,value:o.getDateTimeFormat(e,m).format(u)});continue}if(Vo(c)){var m=typeof c.style=="string"?n.number[c.style]:Xo(c.style)?c.style.parsedOptions:void 0;m&&m.scale&&(u=u*(m.scale||1)),a.push({type:$.literal,value:o.getNumberFormat(e,m).format(u)});continue}if(jo(c)){var g=c.children,f=c.value,y=s[f];if(!Bp(y))throw new ea(f,"function",i);var b=Gt(g,e,o,n,s,r),v=y(b.map(function(C){return C.value}));Array.isArray(v)||(v=[v]),a.push.apply(a,v.map(function(C){return{type:typeof C=="string"?$.literal:$.object,value:C}}))}if(Go(c)){var S=c.options[u]||c.options.other;if(!S)throw new Ts(c.value,u,Object.keys(c.options),i);a.push.apply(a,Gt(S.value,e,o,n,s));continue}if($o(c)){var S=c.options["=".concat(u)];if(!S){if(!Intl.PluralRules)throw new qt(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,$e.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));S=c.options[R]||c.options.other}if(!S)throw new ws(c.value,u,Object.keys(c.options),i);a.push.apply(a,Gt(S.value,e,o,n,s,u-(c.offset||0)));continue}}return Hp(a)}function Kp(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 Up(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Kp(t[n],e[n]),o},ee({},t)):t}function Ts(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function zp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Xo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Ho([void 0],o,!1)))},{cache:Ts(t.number),strategy:Qo.variadic}),getDateTimeFormat:Xo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Ho([void 0],o,!1)))},{cache:Ts(t.dateTime),strategy:Qo.variadic}),getPluralRules:Xo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Ho([void 0],o,!1)))},{cache:Ts(t.pluralRules),strategy:Qo.variadic})}}var ta=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==G.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return Gt(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=$i(i,["formatters"]);this.ast=t.__parse(e,ee(ee({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Up(t.formats,n),this.formatters=s&&s.formatters||zp(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=Qi,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 qp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Gp="dummy",Es=Vp(null);function k(t){let e=Wp(Es);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=qp(o,n);return r?new ta(r).format(s):(e!==Gp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as $p,useRef as jp}from"react";var oa={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as na}from"react/jsx-runtime";var Xp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=jp(null),l=h("Dialog",oa),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&n()};return $p(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?na("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:na("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},Zo=Xp;import Qp from"classnames";var sa={root:"dd-ranhW"};import{jsx as Jp}from"react/jsx-runtime";var Zp=({className:t,value:e,...o})=>{let n=h("TextInput",sa);return Jp("input",{className:Qp(t,n.root),type:"text",value:e,...o})},$t=Zp;var ks={};$(ks,{enUS:()=>Yp,nlNL:()=>em});var Yp={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},em={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var ra={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as Q,jsxs as Jo}from"react/jsx-runtime";var rm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},im=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=k(ks),i=h("LoginTokenDialog",ra),a=sm(ii),d=nm(),l=w("productName"),[c,p]=Ps(t||""),[u,m]=Ps(0),[g,f]=Ps(""),y=ia(async R=>{R.preventDefault(),d(li({email:c})),m(1)},[o,c]),x=()=>{f(""),m(0)},v=ia(async R=>{R.preventDefault();let C=rm(R.target.elements.token.value);if(!C){f(r("verifyCodeError",{login:S}));return}d(Ht({token:C}))},[o]),S=om(()=>R=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:x,children:R},"back-button"),[]);return tm(()=>{a==="error"&&f(r("verifyCodeError",{login:S})),a==="done"&&n()},[a]),Q(Zo,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Jo("div",{className:i.root,children:[Q("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&Jo("form",{onSubmit:y,children:[Q("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Q("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),Q($t,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:R=>p(R.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:Rs(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&Jo("form",{onSubmit:v,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q($t,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),g&&Q("div",{className:i.errorMessage,children:g}),Jo("div",{className:i.actions,children:[Q("button",{type:"button",className:Rs(i.button),onClick:x,children:r("back")}),Q("button",{type:"submit",className:Rs(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},aa=im;import{jsx as lm}from"react/jsx-runtime";var am=()=>{let t=la(ai),e=la(Li),o=w("adminUrl"),n=oe(),s=()=>n.send(ht,!1),r=()=>{n.send(ht,!1),n.send(zt)};return lm(aa,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},da=am;import rf from"lodash.debounce";import{Fragment as af,useCallback as Zs,useEffect as Js,useState as Ys}from"react";import{useDispatch as lf,useSelector as Qe}from"react-redux";import{createAsyncThunk as dm,createSlice as cm}from"@reduxjs/toolkit";var um={data:null,fetchState:"idle"},ca=t=>t.contentTypes.data,jt=dm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),pm=cm({name:"contentTypes",initialState:um,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})}}),ua=pm.reducer;function be(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 Na,useState as Qm,useRef as Zm,useCallback as Jm}from"react";import{useState as fm}from"react";import Is from"classnames";var ne={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemPrimaryAction:"dd-LdJ8w",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var je={};$(je,{enUS:()=>mm,nlNL:()=>gm});var mm={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"}]},gm={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}]};import{jsx as Xt,jsxs as ym}from"react/jsx-runtime";var hm=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=fm("loading"),r=k(je);return ym("div",{className:o.image,children:[Xt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Is(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Xt("span",{className:Is(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Xt("span",{className:Is(o.imageSrc,o.imageSrcStatus),children:Xt(So,{})}),e&&Xt("span",{className:o.imageTitle,children:e})]})},pa=hm;import vm from"react";import Sm from"classnames";import{jsx as As,jsxs as ma}from"react/jsx-runtime";function Ls({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=k(je),i=h("CommandPalette",ne);return vm.Children.count(t)===0?null:ma("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ma("div",{className:i.listHeader,children:[e&&As("h4",{className:i.listHeading,children:e}),n&&s&&As("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),As("div",{className:Sm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import tn from"classnames";import{Interweave as zm}from"interweave";var xm=/[.*+?^${}()|[\]\\]/g,bm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Cm(t){return t.replace(xm,"\\$&")}function wm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Tm(t){return t.search(bm)}function ga(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Cm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function fa(t){return t.replace(Co,'<mark data-type="placeholder">$1</mark>')}function Qt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Em(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 Ms(t,e,o={}){if(e){let n=wm(e.toLowerCase(),t.toLowerCase()),s=Qt(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=Tm(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(ti).length>3||e.length>30?Em(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Qt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var km=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Ns(t){return km.test(t)}function ha(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Rm,{useState as ya,useEffect as va,useMemo as Pm,useRef as Sa,useCallback as Im,useContext as Am}from"react";import Lm from"classnames";var Os={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as Yo,jsxs as Dm}from"react/jsx-runtime";var Mm=0,xa=Rm.createContext(null),Nm=()=>{let t=Am(xa);if(!t)throw new Error("Invalid DropdownContext");return t},ba=({trigger:t,children:e,position:o="bottom"})=>{let n=Pm(()=>++Mm,[]),s=Sa(null),r=Sa(null),i=h("Dropdown",Os),[a,d]=ya(!1),[l,c]=ya(o),p=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},u=Im(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return va(()=>{let m=g=>{s.current&&!s.current.contains(g.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),va(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),Yo(xa.Provider,{value:{setIsOpen:d},children:Dm("div",{ref:s,className:i.root,children:[Yo("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}),Yo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Lm(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Om({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Os),{setIsOpen:i}=Nm(),a=d=>{i(!1),o(d),d.stopPropagation()};return Yo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}ba.Item=Om;var Ds=ba;import{jsx as Ca}from"react/jsx-runtime";var wa=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 Xe={};$(Xe,{enUS:()=>_m,nlNL:()=>Fm});var _m={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"}]},Fm={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 _s}from"react/jsx-runtime";var Hm="%0d%0a%0d%0a%0d%0a",Bm=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Hm)}`},Km=({suggestion:t,onFeedback:e})=>{let o=k(Xe),n=w("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:_s(Ds,{trigger:_s(wa,{"data-testid":"feedback-dropdown-trigger"}),children:_s(Ds.Item,{as:"a",href:Bm(n,t),onClick:e,children:o("giveFeedback")})})},en=Km;import Fs from"react";import{jsx as Um}from"react/jsx-runtime";var Ta=Fs.createContext(void 0);function De(){let t=Fs.useContext(Ta);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var Ea=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Fs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Um(Ta.Provider,{value:i,children:t})};import{jsx as _e,jsxs as Hs}from"react/jsx-runtime";function Bs({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,...p}){let{selected:u,onChangeOpen:m}=De(),g=h("CommandPalette",ne);function f(y){n(y),t&&m(!1)}return Hs("div",{className:tn(g.listItem,l===u&&g.listItemSelected),children:[_e("button",{type:"button",className:tn(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...p,children:Hs("div",{className:g.listItemContent,children:[typeof o=="string"?_e("p",{className:tn(g.listItemText,g.truncate,c==null?void 0:c.title),children:o}):o,a&&_e(zm,{tagName:"p",allowList:[],content:Ns(a)?ha(a):a,className:tn(g.listItemDescription,c==null?void 0:c.description,e?g.lineClamp:g.truncate)})]})}),r,s&&_e("div",{className:g.listItemActions,children:_e(en,{suggestion:String(o),onFeedback:s})}),d&&d.length>0&&Hs("div",{className:g.sources,children:[_e("span",{className:g.sourcesTitle,children:"Sources"}),d.map(y=>y.url?_e("a",{className:g.source,href:y.url,target:"_blank",title:y.url,rel:"noopener noreferrer",onClick:()=>i&&i(y),children:y.name},y.url):_e("span",{className:g.source,children:y.name},y.name))]})]})}import{jsx as ka,jsxs as Vm}from"react/jsx-runtime";var Ra=()=>Vm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[ka("title",{id:"angleLeftTitle",children:"AngleLeft"}),ka("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 Pa,jsxs as Ks}from"react/jsx-runtime";function Us({children:t,title:e,id:o,onDismiss:n}){let s=k(je),r=h("CommandPalette",ne),{page:i}=De();return i!==o?null:Ks("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Ks("div",{className:r.pageNav,children:[Ks("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Pa(Ra,{}),s("back")]}),e&&Pa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as qm}from"react";import{jsx as Ia,jsxs as Wm}from"react/jsx-runtime";var yt=()=>Wm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Ia("path",{d:"M0 0h24v24H0z",fill:"none"}),Ia("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 vt,jsxs as zs}from"react/jsx-runtime";function Gm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=h("CommandPalette",ne);return zs("div",{className:d.search,children:[vt("div",{className:d.searchIcon,children:vt(yt,{})}),zs("div",{className:d.searchInputWrapper,children:[vt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&vt("div",{className:d.selectWrapper,children:zs("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&vt("option",{children:n}),s.map(l=>vt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var Aa=qm(Gm);import La from"classnames";import{jsx as jm,jsxs as Xm}from"react/jsx-runtime";var $m=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return Xm("button",{type:"button",...n,onClick:t,className:La(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>jm("span",{className:La(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Ma=$m;import{jsx as Oa,jsxs as eg}from"react/jsx-runtime";var Ym="[data-command-palette-item]";function St({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u}){let[m,g]=Qm(),f=Zm(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},x=()=>{var I;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(I=f.current)==null||I.focus();return}if(u.length>0){r("");return}a(!1)},v=()=>{let I=S();I.length!==0&&g(I[0].dataset.itemId)},S=()=>Array.from(document.querySelectorAll(Ym)||[]),R=I=>document.querySelector(`[data-item-id=${I}]`),C=I=>{let O=R(I);O&&g(O.dataset.itemId)},E=I=>{let O=R(I);O&&O.scrollIntoView({behavior:"smooth"})},N=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),te=I[V+1];te&&te.dataset.itemId?C(te.dataset.itemId):v()},X=()=>{if(!m)return;let I=S(),O=R(m);if(!O)return;let V=I.indexOf(O),te=I[V-1];te&&te.dataset.itemId?C(te.dataset.itemId):C(I[I.length-1].dataset.itemId)},H=Jm(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),N();break}case"ArrowUp":{I.preventDefault(),X();break}case"Enter":{if(m){let O=R(m);O==null||O.click()}break}}},[m]);return Na(()=>{v()},[u,n,d,p]),Na(()=>{m&&E(m)},[m]),Oa(Zo,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:x,onClose:y,onKeyDown:H,children:eg(Ea,{selected:m,setSelected:g,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&Oa(Aa,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}St.Page=Us;St.List=Ls;St.Image=pa;St.ListItem=Bs;St.Button=Ma;var D=St;import{useEffect as tg}from"react";function Da(t,e){tg(()=>{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 Ba,useRef as lg}from"react";import{useSelector as dg,useDispatch as cg}from"react-redux";import{createAsyncThunk as og,createSlice as ng}from"@reduxjs/toolkit";var _a={data:null,fetchState:"idle"},on=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=og("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)}),sg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),rg=ng({name:"entities",initialState:_a,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=sg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>_a)}}),Fa=rg.reducer;var Vs={};$(Vs,{enUS:()=>ig,nlNL:()=>ag});var ig={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},ag={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Ha={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as Ws,jsxs as pg}from"react/jsx-runtime";var ug=({onCopy:t})=>{let e=lg(null),o=h("EntitiesList",Ha),n=dg(on),{setSelected:s}=De(),r=k(Vs),i=cg();return Ba(()=>{i(ae())},[]),Ba(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),pg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Ws(D.List,{children:n.map((a,d)=>Ws(D.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Ws("p",{className:o.empty,children:r("noResults")})]})},Ka=ug;import{Fragment as Eg,useEffect as ln,useRef as kg,useState as Rg}from"react";import{useSelector as $s,useDispatch as Pg}from"react-redux";import{createAsyncThunk as mg,createSlice as gg}from"@reduxjs/toolkit";var Ua={data:null,fetchState:"idle"},za=t=>t.summary.data,Va=t=>t.summary.fetchState==="error",Wa=t=>t.summary.model,Ce=mg("summary/getSummary",async(t,e)=>{var c,p,u;let o=e.getState().profile.data,n=(c=e.getState().conversation.current)==null?void 0:c.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,d=await a();if(d.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(d,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),fg=gg({name:"summary",initialState:Ua,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,e.model=o.payload.model)}).addCase(M,()=>Ua)}}),qa=fg.reducer;var qs={};$(qs,{enUS:()=>hg,nlNL:()=>yg});var hg={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."}]},yg={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 Ga={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import Za from"classnames";import{useState as Cg}from"react";import{jsx as $a}from"react/jsx-runtime";var nn=t=>$a("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:$a("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})});import{jsx as ja}from"react/jsx-runtime";var sn=t=>ja("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ja("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})});function we(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}var Gs={};$(Gs,{enUS:()=>vg,nlNL:()=>Sg});var vg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Sg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as bg}from"react-redux";import{createAsyncThunk as xg}from"@reduxjs/toolkit";function Xa(t){return xg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function xt(){let t=bg();return async(e,o)=>{await t(Xa({name:e,data:o}))}}var Qa={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{jsx as rn,jsxs as Tg}from"react/jsx-runtime";var wg=({eventName:t,eventData:e})=>{let o=h("FeedbackThumbs",Qa),n=k(Gs),s=xt(),[r,i]=Cg(null),a=l=>{l.preventDefault(),l.stopPropagation(),we(l.target,o.fadeup),i("up"),s(t,{...e,rating:"up"})},d=l=>{l.preventDefault(),l.stopPropagation(),we(l.target,o.fadedown),i("down"),s(t,{...e,rating:"down"})};return Tg("div",{className:o.thumbs,children:[rn(L.IconButton,{title:n("thumbsUp"),onClick:a,icon:rn(sn,{}),className:Za(o.thumbsUp,r==="up"&&o.selected),disabled:!!r}),rn(L.IconButton,{title:n("thumbsDown"),onClick:d,icon:rn(nn,{}),className:Za(o.thumbsDown,r==="down"&&o.selected),disabled:!!r})]})},an=wg;import{jsx as bt,jsxs as Ja}from"react/jsx-runtime";var Ig=({onCopy:t})=>{let e=kg(null),o=h("SummaryForm",Ga),[n,s]=Rg(""),r=k(qs),i=$s(Wa),a=$s(za),d=$s(Va),l=Pg(),c=()=>{l(q({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},p=()=>{let u=document.getSelection();u&&l(q({name:"summary copied to clipboard",data:{originalText:a,finalText:u==null?void 0:u.toString(),model:i},options:{includeConversationData:!0}}))};return ln(()=>{l(Ce())},[]),ln(()=>{s(a||"")},[a]),ln(()=>{e.current&&a&&e.current.focus()},[e,a]),ln(()=>{let u=m=>{m.key==="Enter"&&m.shiftKey&&c()};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}},[n]),bt("div",{className:o.root,tabIndex:-1,children:d?bt("p",{className:o.error,children:r("error")}):Ja(Eg,{children:[bt("div",{className:o.main,children:bt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:p,onChange:u=>s(u.target.value)})}),Ja("div",{className:o.actions,children:[bt(an,{eventName:"summary feedback",eventData:{summary:a}}),bt(D.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})]})]})})},Ya=Ig;var Zt={};$(Zt,{enUS:()=>Ag,nlNL:()=>Lg});var Ag={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?"}]},Lg={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 ll,{useEffect as Qs,useRef as Vg}from"react";import{useDispatch as Wg,useSelector as dl}from"react-redux";var js={};$(js,{enUS:()=>Mg,nlNL:()=>Ng});var Mg={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"}]},Ng={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 el={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{createAction as Hg,createAsyncThunk as Bg,createSlice as Kg}from"@reduxjs/toolkit";import{createAsyncThunk as Og,createSlice as Dg}from"@reduxjs/toolkit";var _g={data:null,fetchState:"idle"},tl=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Jt=Og("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}),Fg=Dg({name:"knowledgeAssistant",initialState:_g,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})}}),ol=Fg.reducer;var Xs={data:[],fetchState:"idle"},nl=t=>{var e;return(e=t.answer)==null?void 0:e.data},sl=t=>t.answer.fetchState,Ct=Hg("answer/resetKnowledgeSearch"),Yt=Bg("answer/getAnswer",async(t,e)=>{var d,l,c;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=tl(e.getState()),r=(d=e.getState().conversation.current)==null?void 0:d.sessionId,i=(c=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:c.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Ug=Kg({name:"answer",initialState:Xs,reducers:{},extraReducers:t=>{t.addCase(Yt.pending,e=>{e.fetchState="loading"}).addCase(Yt.rejected,e=>{e.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>Xs).addCase(Ct,()=>Xs)}}),rl=Ug.reducer;import{jsx as il,jsxs as zg}from"react/jsx-runtime";var al=()=>zg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[il("title",{id:"paperPlaneTitle",children:"PaperPlane"}),il("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});import{jsx as le,jsxs as cl}from"react/jsx-runtime";var qg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=ll.useState(""),[r,i]=ll.useState(!1),{setSelected:a}=De(),d=Vg(null),l=h("KnowledgeSearchStyles",el),c=k(js),p=Wg(),u=dl(nl),m=dl(sl),g=async x=>{i(!0),await p(Yt(x)),d.current&&i(!1)},f=async x=>{x.preventDefault(),x.stopPropagation(),n!==""&&g(n)},y=(x,v)=>{p(q({name:"knowledge assist source viewed",data:{question:v,sourceViewed:x.url||x.name},options:{includeConversationData:!0}}))};return Qs(()=>{var x;o&&m==="idle"?g(o):(x=d.current)==null||x.focus()},[d,m]),Qs(()=>{m==="done"&&(p(q({name:"knowledge assist question answered",data:{question:n||o,sources:u[u.length-1].answer.sources,answer:u[u.length-1].answer.answer,isFollowUpQuestion:u.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length-1}`),s(""))},[m,u]),Qs(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,u]),cl("div",{className:l.root,children:[u.length>0&&le("div",{className:l.alignRight,children:le(D.Button,{onClick:e,children:c("reset")})}),u.map(({question:x,answer:v},S)=>le(D.List,{children:le(D.ListItem,{id:`knowledge-assist-${S}`,"data-testid":"knowledge-search-answer",description:v.answer,closeOnSelect:!0,onClick:()=>t(v.answer),onSourceClick:R=>y(R,x),sources:v.sources,styles:{title:l.question,description:l.answer},extra:le("div",{className:l.listItemFeedback,children:le(an,{eventName:"knowledge assist feedback",eventData:{question:x,isAgent:o!==x,isFollowUpQuestion:u.length>1,...v}})}),children:x})},`${v.answer}_${S}`)),m==="loading"&&le("p",{className:l.status,children:c("loading")}),m==="error"&&le("p",{className:l.status,children:c("error")}),cl("form",{className:l.form,onSubmit:f,children:[le("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:x=>{a(void 0),s(x.target.value)}}),le("button",{type:"submit",className:l.submit,disabled:r,children:le(al,{})})]})]})},ul=qg;import{createAsyncThunk as Gg,createSlice as $g}from"@reduxjs/toolkit";var jg={data:null,fetchState:"idle"},Te=t=>t.profile.data,dn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],pl=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,eo=Gg("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)}),Xg=$g({name:"profile",initialState:jg,reducers:{},extraReducers:t=>{t.addCase(eo.pending,e=>{e.fetchState="loading"}).addCase(eo.rejected,e=>{e.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),ml=Xg.reducer;import{useEffect as ef}from"react";import{useDispatch as tf}from"react-redux";import{createAction as Jg,createAsyncThunk as yl,createSlice as Yg}from"@reduxjs/toolkit";var Qg=["{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}"],Zg=new RegExp(Qg.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function gl(t,e){let o=t.split(Zg),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;if(d){let p=a.charAt(0),u=0;do l=p?e.indexOf(p,l+1):-1,u+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&u>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function fl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var vl={suggestions:[],fetchState:"idle"},hl={default:vl},Sl=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},cn=t=>t.textSuggestions,xl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},un=Jg("textSuggestions/refresh"),de=yl("textSuggestions/recommendations",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ft(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let d=await o.getTextSuggestions(s,Ut(n),t);if(t==="default"){let c=i?d.filter(xl(a)):d;e.dispatch(ue(c.slice(0,r)))}return d}),to=yl("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let d=await o.getAutocompleteSuggestions(s,{...Ut(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(d=d.filter(xl(t))),i&&(d=d.map(c=>({...c,text:c.source!=="trie-with-typos"?gl(c.text,t):c.text}))),d=fl(d,r),e.dispatch(ue(d)),d}),bl=Yg({name:"textSuggestions",initialState:hl,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]||vl;return{...e,[n]:{...s,fetchState:"loading"}}}).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(to.pending,e=>{e.default.fetchState="loading"}).addCase(to.rejected,e=>{e.default.fetchState="error"}).addCase(to.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>hl)}}),{setTextSuggestions:rE,setSuggestionState:iE}=bl.actions,Cl=bl.reducer;import{useSelector as wl}from"react-redux";import{jsx as pn,jsxs as nf}from"react/jsx-runtime";var of=({commands:t,onClick:e})=>{var a,d,l;let o=tf(),n=k(Zt),s=wl(Te),r=wl(cn),i=((l=(d=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:d.initialTypes)==null?void 0:l.filter(({isActive:c})=>c))||[];return ef(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(de(c))})},[]),nf("div",{children:[t.length>0&&pn(D.List,{heading:n("commands"),children:t.map((c,p)=>pn(D.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:p})=>{var u;return pn(D.List,{heading:p,orientation:"vertical",children:(u=r[c])==null?void 0:u.suggestions.map((m,g)=>pn(D.ListItem,{id:`${c}-${g}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},Tl=of;import{jsx as se,jsxs as er}from"react/jsx-runtime";var df=200,cf=5,uf=4,El=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),pf=()=>{let t=lf(),e=oe(),o=k(Zt),[n,s]=Ys(!1),[r,i]=Ys(""),a=Qe(Hi),d=Qe(Te),[l,c]=Ys(),p=Qe(j),u=w("showSearch"),m=w("showEntitiesCommand"),g=w("showSummaryCommand"),f=w("showKnowledgeSearch"),y=w("showImageSearch"),x=w("searchTriggerKey"),v=Qe(ca),S=Qe(Bi),R=Qe(Ki),C=Qe(Fi),E=T=>Qn(S.filter(W=>W.type===T.toUpperCase()),T),N=[{value:"PERSONAL",label:o("personalSuggestions"),list:E("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:E("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:E("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:E("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(T=>T.shouldShow),X=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:m&&El(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:g&&El(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:f}].filter(T=>T.shouldShow),H=(v==null?void 0:v.map(T=>({value:T.code.toUpperCase(),label:`${T.name}s`,list:E(T.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],I=Zs(rf((T,W)=>{t(qe({query:T,type:W,tags:["search-overlay"],size:l?50:20}))},df),[l]),O=Zs((T,W)=>{switch(W.type){case"IMAGE":e.send(ys,{suggestion:W});break;default:e.send(Oe,{text:T,suggestion:W})}t(Y(!1))},[t]),V=T=>{be(T.text),t(q({name:"entity copied",data:{entity:T,type:"copy"}})),t(Y(!1))},te=Zs(T=>{t(q({name:"suggestion feedback",data:{text:T.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),vu=T=>{e.send(Oe,{text:T,suggestion:{source:"knowledge-assist",text:T}}),t(q({name:"answer used",data:{originalText:T},options:{includeConversationData:!0}})),i(""),t(re("search")),t(Ct()),t(Y(!1))},Su=T=>{be(T),t(Y(!1))};function Qn(T,W){return T.slice(0,l?10:W.toLowerCase()==="image"?uf:cf)}function Dt(T){return W=>{n?window.confirm(o("warning"))&&(T(W),s(!1)):T(W)}}return Js(()=>{r?I(r,l):t(Fo())},[r,l]),Js(()=>{a==="search"&&t(Ct())},[a]),Js(()=>{p&&t(jt())},[p]),Da(x,()=>t(Y(!0))),!u||!d?null:er(D,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Dt(T=>t(Y(T))),onChangeType:T=>c(T),onChangePage:Dt(T=>t(re(T))),selectedType:l,search:r,page:a,isOpen:C,types:[...H,...N],children:[er(D.Page,{id:"search",children:[r.length===0&&se(Tl,{commands:X,onClick:O}),r.length>0&&er(af,{children:[X.length>0&&se(D.List,{heading:o("commands"),children:X.map((T,W)=>se(D.ListItem,{closeOnSelect:!1,onClick:T.onClick,id:`commands-${W}`,children:T.label},T.label))}),[...H,...N].map(({value:T,label:W,list:Vr,lineClamp:xu,listOrientation:bu})=>se(D.List,{heading:W,orientation:bu==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(T),hasMore:!l&&R[T.toLowerCase()]>Qn(Vr,T).length,children:Qn(Vr,T).map(Z=>se(D.ListItem,{id:`${T}-${Z.id}`,closeOnSelect:!1,lineClamp:xu,onClick:()=>O(Z.text,Z),description:T!=="IMAGE"?Z.title&&Z.text:void 0,onFeedback:T!=="IMAGE"?()=>te(Z):void 0,children:T==="IMAGE"?se(D.Image,{title:Z.title||Z.text,src:Z.image}):Z.title||Z.text},`${Z.id}-${Z.text}`))},T))]})]}),se(D.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Dt(()=>{t(re("search"))}),children:se(Ka,{onCopy:V})}),se(D.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Dt(()=>{t(re("search"))}),children:se(Ya,{onCopy:Su})}),se(D.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Dt(()=>{t(Ct()),t(re("search"))}),children:se(ul,{question:r,onUse:vu,onResetQuestion:()=>{t(Ct()),i("")}})})]})},kl=pf;import{jsx as Rl,jsxs as ff}from"react/jsx-runtime";var gf=()=>{let t=w("showSearch"),e=w("isEmbedded");return ff(mf,{children:[t&&Rl(kl,{}),e&&Rl(da,{})]})},Pl=gf;import Sf from"classnames";import{useSelector as xf}from"react-redux";import{jsx as tr}from"react/jsx-runtime";var Il=({className:t})=>tr("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:tr("g",{children:tr("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
|
+
`,$e.MISSING_INTL_API,i);var R=o.getPluralRules(e,{type:c.pluralType}).select(u-(c.offset||0));S=c.options[R]||c.options.other}if(!S)throw new Ts(c.value,u,Object.keys(c.options),i);a.push.apply(a,Gt(S.value,e,o,n,s,u-(c.offset||0)));continue}}return Hp(a)}function Kp(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 Up(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Kp(t[n],e[n]),o},te({},t)):t}function Es(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function zp(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Qo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,Bo([void 0],o,!1)))},{cache:Es(t.number),strategy:Zo.variadic}),getDateTimeFormat:Qo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,Bo([void 0],o,!1)))},{cache:Es(t.dateTime),strategy:Zo.variadic}),getPluralRules:Qo(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,Bo([void 0],o,!1)))},{cache:Es(t.pluralRules),strategy:Zo.variadic})}}var oa=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var c=r.formatToParts(l);if(c.length===1)return c[0].value;var p=c.reduce(function(u,m){return!u.length||m.type!==$.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return p.length<=1?p[0]||"":p},this.formatToParts=function(l){return Gt(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,d=ji(i,["formatters"]);this.ast=t.__parse(e,te(te({},d),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Up(t.formats,n),this.formatters=s&&s.formatters||zp(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=Zi,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 qp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Gp="dummy",ks=Vp(null);function k(t){let e=Wp(ks);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=qp(o,n);return r?new oa(r).format(s):(e!==Gp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as $p,useRef as jp}from"react";var na={root:"dd-tvkOF",content:"dd-eXA1D"};import{jsx as sa}from"react/jsx-runtime";var Xp=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let d=jp(null),l=h("Dialog",na),c=u=>{if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),s();return}r&&r(u)},p=u=>{u.target===d.current&&t&&n()};return $p(()=>{var u,m;!d.current||!t||!e||(m=(u=d.current)==null?void 0:u.querySelector("input, textarea"))==null||m.focus()},[t,e,d]),t?sa("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:d,onKeyDown:c,onMouseDown:p,children:sa("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},Jo=Xp;import Qp from"classnames";var ra={root:"dd-ranhW"};import{jsx as Jp}from"react/jsx-runtime";var Zp=({className:t,value:e,...o})=>{let n=h("TextInput",ra);return Jp("input",{className:Qp(t,n.root),type:"text",value:e,...o})},$t=Zp;var Rs={};j(Rs,{enUS:()=>Yp,nlNL:()=>em});var Yp={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},em={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var ia={root:"dd-lWxnE",anchorButton:"dd-TZ4in",errorMessage:"dd-fIsPg",title:"dd-pGhJx",subtitle:"dd-f5l29",text:"dd-iamoD",input:"dd-uhQZ3",actions:"dd-lubvx",button:"dd-CJsNI",primaryButton:"dd-MWBfl"};import{jsx as Z,jsxs as Yo}from"react/jsx-runtime";var rm=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},im=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=k(Rs),i=h("LoginTokenDialog",ia),a=sm(ai),d=nm(),l=w("productName"),[c,p]=Is(t||""),[u,m]=Is(0),[g,f]=Is(""),y=aa(async R=>{R.preventDefault(),d(di({email:c})),m(1)},[o,c]),b=()=>{f(""),m(0)},v=aa(async R=>{R.preventDefault();let C=rm(R.target.elements.token.value);if(!C){f(r("verifyCodeError",{login:S}));return}d(Ht({token:C}))},[o]),S=om(()=>R=>Z("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:b,children:R},"back-button"),[]);return tm(()=>{a==="error"&&f(r("verifyCodeError",{login:S})),a==="done"&&n()},[a]),Z(Jo,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:l}),overlayAriaLabel:r("promptTitle",{productName:l}),onClose:s,onBack:s,children:Yo("div",{className:i.root,children:[Z("h1",{className:i.title,children:r("promptTitle",{productName:l})}),u===0&&Yo("form",{onSubmit:y,children:[Z("h2",{className:i.subtitle,children:r("requestCodeTitle")}),Z("p",{className:i.text,children:r("requestCodeBody",{productName:l})}),Z($t,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:c,onChange:R=>p(R.target.value)}),Z("div",{className:i.actions,children:Z("button",{type:"submit",className:Ps(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&Yo("form",{onSubmit:v,children:[Z("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Z("p",{className:i.text,children:r("verifyCodeBody")}),Z($t,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),g&&Z("div",{className:i.errorMessage,children:g}),Yo("div",{className:i.actions,children:[Z("button",{type:"button",className:Ps(i.button),onClick:b,children:r("back")}),Z("button",{type:"submit",className:Ps(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},la=im;import{jsx as lm}from"react/jsx-runtime";var am=()=>{let t=da(li),e=da(Mi),o=w("adminUrl"),n=oe(),s=()=>n.send(ht,!1),r=()=>{n.send(ht,!1),n.send(zt)};return lm(la,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},ca=am;import rf from"lodash.debounce";import{Fragment as af,useCallback as Js,useEffect as Ys,useState as er}from"react";import{useDispatch as lf,useSelector as Qe}from"react-redux";import{createAsyncThunk as dm,createSlice as cm}from"@reduxjs/toolkit";var um={data:null,fetchState:"idle"},ua=t=>t.contentTypes.data,jt=dm("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),pm=cm({name:"contentTypes",initialState:um,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})}}),pa=pm.reducer;function be(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 Oa,useState as Qm,useRef as Zm,useCallback as Jm}from"react";import{useState as fm}from"react";import As from"classnames";var ne={root:"dd-U2SX4",list:"dd-cYTlj",listWrapper:"dd-GLQFR",listHorizontal:"dd-x-knl",page:"dd-1F4vk",search:"dd-nvbxc",pageNav:"dd-sRUuT",pageTitle:"dd-t-MKS",pageBackButton:"dd-cjptm",listHeader:"dd-Fg666",listHeading:"dd-w-xhJ",listMoreButton:"dd--mKep",listItem:"dd-wpvuA",listItemContent:"dd-V-mKo",listItemText:"dd-ukCHL",listItemDescription:"dd-sSyu4",listItemActions:"dd-xelho",truncate:"dd-IlopJ",lineClamp:"dd-Twaca",listItemTitle:"dd-lMGHq",listItemAction:"dd-xPLAs",listItemPrimaryAction:"dd-LdJ8w",listItemSelected:"dd-jFX0Y",sources:"dd-pZx4v",sourcesTitle:"dd-phYVd",source:"dd-DaR6h",icon:"dd-m6yxD",searchIcon:"dd-0AU-O",searchInputWrapper:"dd-DUFcE",searchInput:"dd-ukrlD",select:"dd--Tifv",selectType:"dd-IkZb2",selectWrapper:"dd-J14mx",image:"dd-RQgsB",imageSrc:"dd-jxh8F",imageSrcHidden:"dd-e20Jk",imageSrcStatus:"dd-j50Tt",imageTitle:"dd-qCjfW",actions:"dd-3mfWc",actionsWrapper:"dd-TjDyI",actionsBar:"dd-LiA35",actionButton:"dd-4wk0u",hasShortKeys:"dd-XilV-",actionShortcut:"dd-s4Mla",actionShortcutFixKerning:"dd-lyh5e"};var je={};j(je,{enUS:()=>mm,nlNL:()=>gm});var mm={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"}]},gm={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}]};import{jsx as Xt,jsxs as ym}from"react/jsx-runtime";var hm=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=fm("loading"),r=k(je);return ym("div",{className:o.image,children:[Xt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:As(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Xt("span",{className:As(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Xt("span",{className:As(o.imageSrc,o.imageSrcStatus),children:Xt(xo,{})}),e&&Xt("span",{className:o.imageTitle,children:e})]})},ma=hm;import vm from"react";import Sm from"classnames";import{jsx as Ls,jsxs as ga}from"react/jsx-runtime";function Ms({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=k(je),i=h("CommandPalette",ne);return vm.Children.count(t)===0?null:ga("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&ga("div",{className:i.listHeader,children:[e&&Ls("h4",{className:i.listHeading,children:e}),n&&s&&Ls("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Ls("div",{className:Sm(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import on from"classnames";import{Interweave as zm}from"interweave";var xm=/[.*+?^${}()|[\]\\]/g,bm=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function Cm(t){return t.replace(xm,"\\$&")}function wm(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Tm(t){return t.search(bm)}function fa(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${Cm(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ha(t){return t.replace(wo,'<mark data-type="placeholder">$1</mark>')}function Qt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Em(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 Ns(t,e,o={}){if(e){let n=wm(e.toLowerCase(),t.toLowerCase()),s=Qt(t.substring(n,t.length));if(o.stripAgentPart){let d=t.substring(0,n),l=Tm(d);return`<span style="opacity: 0.5">${d.substring(l+1)}</span>${s}`}let i=e.split(oi).length>3||e.length>30?Em(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Qt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var km=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Os(t){return km.test(t)}function ya(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import Rm,{useState as va,useEffect as Sa,useMemo as Pm,useRef as xa,useCallback as Im,useContext as Am}from"react";import Lm from"classnames";var Ds={root:"dd-uVyL0",trigger:"dd-KIzQa",content:"dd-Ly3zO",contentOpen:"dd-O-8fR",contentTop:"dd-q3fGa",contentBottom:"dd-SFrvc",item:"dd-HZNy-"};import{jsx as en,jsxs as Dm}from"react/jsx-runtime";var Mm=0,ba=Rm.createContext(null),Nm=()=>{let t=Am(ba);if(!t)throw new Error("Invalid DropdownContext");return t},Ca=({trigger:t,children:e,position:o="bottom"})=>{let n=Pm(()=>++Mm,[]),s=xa(null),r=xa(null),i=h("Dropdown",Ds),[a,d]=va(!1),[l,c]=va(o),p=m=>{m.preventDefault(),m.stopPropagation(),d(!a)},u=Im(([m])=>{!m.isIntersecting&&a&&c(l==="top"?"bottom":"top")},[a]);return Sa(()=>{let m=g=>{s.current&&!s.current.contains(g.target)&&d(!1)};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m)}},[]),Sa(()=>{if(!r.current&&!a)return()=>{};let m=new IntersectionObserver(u,{root:null,rootMargin:"0px",threshold:1});return r.current&&m.observe(r.current),()=>{r.current&&m.unobserve(r.current)}},[r,a]),en(ba.Provider,{value:{setIsOpen:d},children:Dm("div",{ref:s,className:i.root,children:[en("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}),en("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Lm(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Om({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",Ds),{setIsOpen:i}=Nm(),a=d=>{i(!1),o(d),d.stopPropagation()};return en(s,{type:"button",className:r.item,onClick:a,...n,children:e})}Ca.Item=Om;var _s=Ca;import{jsx as wa}from"react/jsx-runtime";var Ta=t=>wa("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:wa("path",{fill:"currentColor",d:"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"})});var Xe={};j(Xe,{enUS:()=>_m,nlNL:()=>Fm});var _m={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"}]},Fm={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 Fs}from"react/jsx-runtime";var Hm="%0d%0a%0d%0a%0d%0a",Bm=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Hm)}`},Km=({suggestion:t,onFeedback:e})=>{let o=k(Xe),n=w("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Fs(_s,{trigger:Fs(Ta,{"data-testid":"feedback-dropdown-trigger"}),children:Fs(_s.Item,{as:"a",href:Bm(n,t),onClick:e,children:o("giveFeedback")})})},tn=Km;import Hs from"react";import{jsx as Um}from"react/jsx-runtime";var Ea=Hs.createContext(void 0);function De(){let t=Hs.useContext(Ea);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ka=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Hs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Um(Ea.Provider,{value:i,children:t})};import{jsx as _e,jsxs as Bs}from"react/jsx-runtime";function Ks({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,extra:r,onSourceClick:i,description:a,sources:d,id:l,styles:c,...p}){let{selected:u,onChangeOpen:m}=De(),g=h("CommandPalette",ne);function f(y){n(y),t&&m(!1)}return Bs("div",{className:on(g.listItem,l===u&&g.listItemSelected),children:[_e("button",{type:"button",className:on(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":l,...p,children:Bs("div",{className:g.listItemContent,children:[typeof o=="string"?_e("p",{className:on(g.listItemText,g.truncate,c==null?void 0:c.title),children:o}):o,a&&_e(zm,{tagName:"p",allowList:[],content:Os(a)?ya(a):a,className:on(g.listItemDescription,c==null?void 0:c.description,e?g.lineClamp:g.truncate)})]})}),r,s&&_e("div",{className:g.listItemActions,children:_e(tn,{suggestion:String(o),onFeedback:s})}),d&&d.length>0&&Bs("div",{className:g.sources,children:[_e("span",{className:g.sourcesTitle,children:"Sources"}),d.map(y=>y.url?_e("a",{className:g.source,href:y.url,target:"_blank",title:y.url,rel:"noopener noreferrer",onClick:()=>i&&i(y),children:y.name},y.url):_e("span",{className:g.source,children:y.name},y.name))]})]})}import{jsx as Ra,jsxs as Vm}from"react/jsx-runtime";var Pa=()=>Vm("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ra("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ra("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 Ia,jsxs as Us}from"react/jsx-runtime";function zs({children:t,title:e,id:o,onDismiss:n}){let s=k(je),r=h("CommandPalette",ne),{page:i}=De();return i!==o?null:Us("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Us("div",{className:r.pageNav,children:[Us("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Ia(Pa,{}),s("back")]}),e&&Ia("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as qm}from"react";import{jsx as Aa,jsxs as Wm}from"react/jsx-runtime";var yt=()=>Wm("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[Aa("path",{d:"M0 0h24v24H0z",fill:"none"}),Aa("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 vt,jsxs as Vs}from"react/jsx-runtime";function Gm({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let d=h("CommandPalette",ne);return Vs("div",{className:d.search,children:[vt("div",{className:d.searchIcon,children:vt(yt,{})}),Vs("div",{className:d.searchInputWrapper,children:[vt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:d.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&vt("div",{className:d.selectWrapper,children:Vs("select",{"data-testid":"command-palette-type-select",className:d.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&vt("option",{children:n}),s.map(l=>vt("option",{value:l.value,children:l.label},l.value))]})})]})]})}var La=qm(Gm);import Ma from"classnames";import{jsx as jm,jsxs as Xm}from"react/jsx-runtime";var $m=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return Xm("button",{type:"button",...n,onClick:t,className:Ma(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>jm("span",{className:Ma(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},Na=$m;import{jsx as Da,jsxs as eg}from"react/jsx-runtime";var Ym="[data-command-palette-item]";function St({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:d,types:l,children:c,isOpen:p,search:u}){let[m,g]=Qm(),f=Zm(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},b=()=>{var L;if(n!==o&&s){s(o);return}if(d&&i){i(void 0),(L=f.current)==null||L.focus();return}if(u.length>0){r("");return}a(!1)},v=()=>{let L=S();L.length!==0&&g(L[0].dataset.itemId)},S=()=>Array.from(document.querySelectorAll(Ym)||[]),R=L=>document.querySelector(`[data-item-id=${L}]`),C=L=>{let _=R(L);_&&g(_.dataset.itemId)},E=L=>{let _=R(L);_&&_.scrollIntoView({behavior:"smooth"})},O=()=>{if(!m)return;let L=S(),_=R(m);if(!_)return;let F=L.indexOf(_),z=L[F+1];z&&z.dataset.itemId?C(z.dataset.itemId):v()},Q=()=>{if(!m)return;let L=S(),_=R(m);if(!_)return;let F=L.indexOf(_),z=L[F-1];z&&z.dataset.itemId?C(z.dataset.itemId):C(L[L.length-1].dataset.itemId)},B=Jm(L=>{switch(L.key){case"ArrowDown":{L.preventDefault(),O();break}case"ArrowUp":{L.preventDefault(),Q();break}case"Enter":{if(m){let _=R(m);_==null||_.click()}break}}},[m]);return Oa(()=>{v()},[u,n,d,p]),Oa(()=>{m&&E(m)},[m]),Da(Jo,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:p,onBack:b,onClose:y,onKeyDown:B,children:eg(ka,{selected:m,setSelected:g,isOpen:p,onChangeOpen:a,page:n,children:[n===o&&Da(La,{ref:f,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:d,types:l,typePlaceholder:e}),c]})})}St.Page=zs;St.List=Ms;St.Image=ma;St.ListItem=Ks;St.Button=Na;var N=St;import{useEffect as tg}from"react";function _a(t,e){tg(()=>{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 Ka,useRef as lg}from"react";import{useSelector as dg,useDispatch as cg}from"react-redux";import{createAsyncThunk as og,createSlice as ng}from"@reduxjs/toolkit";var Fa={data:null,fetchState:"idle"},nn=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=og("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)}),sg=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),rg=ng({name:"entities",initialState:Fa,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=sg(e.data?[...e.data,...o.payload]:o.payload)}).addCase(M,()=>Fa)}}),Ha=rg.reducer;var Ws={};j(Ws,{enUS:()=>ig,nlNL:()=>ag});var ig={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},ag={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Ba={root:"dd-TYTKs",empty:"dd-AU7uT"};import{jsx as qs,jsxs as pg}from"react/jsx-runtime";var ug=({onCopy:t})=>{let e=lg(null),o=h("EntitiesList",Ba),n=dg(nn),{setSelected:s}=De(),r=k(Ws),i=cg();return Ka(()=>{i(ae())},[]),Ka(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),pg("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&qs(N.List,{children:n.map((a,d)=>qs(N.ListItem,{id:`entity-${d}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&qs("p",{className:o.empty,children:r("noResults")})]})},Ua=ug;import{Fragment as Eg,useEffect as dn,useRef as kg,useState as Rg}from"react";import{useSelector as js,useDispatch as Pg}from"react-redux";import{createAsyncThunk as mg,createSlice as gg}from"@reduxjs/toolkit";var za={data:null,fetchState:"idle"},Va=t=>t.summary.data,Wa=t=>t.summary.fetchState==="error",qa=t=>t.summary.model,Ce=mg("summary/getSummary",async(t,e)=>{var c,p,u;let o=e.getState().profile.data,n=(c=e.getState().conversation.current)==null?void 0:c.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,d=await a();if(d.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(d,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),fg=gg({name:"summary",initialState:za,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,e.model=o.payload.model)}).addCase(M,()=>za)}}),Ga=fg.reducer;var Gs={};j(Gs,{enUS:()=>hg,nlNL:()=>yg});var hg={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."}]},yg={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 $a={root:"dd-60NZr",actions:"dd-No1g3",main:"dd-l-xEF",textInput:"dd-nAaiV",loading:"dd-ciFNi",error:"dd-yNp2D"};import Ja from"classnames";import{useState as Cg}from"react";import{jsx as ja}from"react/jsx-runtime";var sn=t=>ja("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ja("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})});import{jsx as Xa}from"react/jsx-runtime";var rn=t=>Xa("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Xa("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})});function we(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}var $s={};j($s,{enUS:()=>vg,nlNL:()=>Sg});var vg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},Sg={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useDispatch as bg}from"react-redux";import{createAsyncThunk as xg}from"@reduxjs/toolkit";function Qa(t){return xg("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function xt(){let t=bg();return async(e,o)=>{await t(Qa({name:e,data:o}))}}var Za={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{jsx as an,jsxs as Tg}from"react/jsx-runtime";var wg=({eventName:t,eventData:e})=>{let o=h("FeedbackThumbs",Za),n=k($s),s=xt(),[r,i]=Cg(null),a=l=>{l.preventDefault(),l.stopPropagation(),we(l.target,o.fadeup),i("up"),s(t,{...e,rating:"up"})},d=l=>{l.preventDefault(),l.stopPropagation(),we(l.target,o.fadedown),i("down"),s(t,{...e,rating:"down"})};return Tg("div",{className:o.thumbs,children:[an(A.IconButton,{title:n("thumbsUp"),onClick:a,icon:an(rn,{}),className:Ja(o.thumbsUp,r==="up"&&o.selected),disabled:!!r}),an(A.IconButton,{title:n("thumbsDown"),onClick:d,icon:an(sn,{}),className:Ja(o.thumbsDown,r==="down"&&o.selected),disabled:!!r})]})},ln=wg;import{jsx as bt,jsxs as Ya}from"react/jsx-runtime";var Ig=({onCopy:t})=>{let e=kg(null),o=h("SummaryForm",$a),[n,s]=Rg(""),r=k(Gs),i=js(qa),a=js(Va),d=js(Wa),l=Pg(),c=()=>{l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},p=()=>{let u=document.getSelection();u&&l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:u==null?void 0:u.toString(),model:i},options:{includeConversationData:!0}}))};return dn(()=>{l(Ce())},[]),dn(()=>{s(a||"")},[a]),dn(()=>{e.current&&a&&e.current.focus()},[e,a]),dn(()=>{let u=m=>{m.key==="Enter"&&m.shiftKey&&c()};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}},[n]),bt("div",{className:o.root,tabIndex:-1,children:d?bt("p",{className:o.error,children:r("error")}):Ya(Eg,{children:[bt("div",{className:o.main,children:bt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:p,onChange:u=>s(u.target.value)})}),Ya("div",{className:o.actions,children:[bt(ln,{eventName:"summary feedback",eventData:{summary:a}}),bt(N.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})]})]})})},el=Ig;var Zt={};j(Zt,{enUS:()=>Ag,nlNL:()=>Lg});var Ag={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?"}]},Lg={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 dl,{useEffect as Zs,useRef as Vg}from"react";import{useDispatch as Wg,useSelector as cl}from"react-redux";var Xs={};j(Xs,{enUS:()=>Mg,nlNL:()=>Ng});var Mg={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"}]},Ng={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 tl={root:"dd-fxP4c",title:"dd-vDbMh",empty:"dd-sB0lz",status:"dd--oZ1C",form:"dd-t0hnD",input:"dd-i1v3W",submit:"dd-oo2Oa",question:"dd-WvK17",answer:"dd-HAHcU",alignRight:"dd-oxrX3",listItemFeedback:"dd-POUal"};import{createAction as Hg,createAsyncThunk as Bg,createSlice as Kg}from"@reduxjs/toolkit";import{createAsyncThunk as Og,createSlice as Dg}from"@reduxjs/toolkit";var _g={data:null,fetchState:"idle"},ol=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Jt=Og("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}),Fg=Dg({name:"knowledgeAssistant",initialState:_g,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})}}),nl=Fg.reducer;var Qs={data:[],fetchState:"idle"},sl=t=>{var e;return(e=t.answer)==null?void 0:e.data},rl=t=>t.answer.fetchState,Ct=Hg("answer/resetKnowledgeSearch"),Yt=Bg("answer/getAnswer",async(t,e)=>{var d,l,c;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=ol(e.getState()),r=(d=e.getState().conversation.current)==null?void 0:d.sessionId,i=(c=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:c.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({customerInstruction:s.customerInstruction,doNotKnowAnswer:s.doNotKnowAnswer,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Ug=Kg({name:"answer",initialState:Qs,reducers:{},extraReducers:t=>{t.addCase(Yt.pending,e=>{e.fetchState="loading"}).addCase(Yt.rejected,e=>{e.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(M,()=>Qs).addCase(Ct,()=>Qs)}}),il=Ug.reducer;import{jsx as al,jsxs as zg}from"react/jsx-runtime";var ll=()=>zg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[al("title",{id:"paperPlaneTitle",children:"PaperPlane"}),al("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});import{jsx as le,jsxs as ul}from"react/jsx-runtime";var qg=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=dl.useState(""),[r,i]=dl.useState(!1),{setSelected:a}=De(),d=Vg(null),l=h("KnowledgeSearchStyles",tl),c=k(Xs),p=Wg(),u=cl(sl),m=cl(rl),g=async b=>{i(!0),await p(Yt(b)),d.current&&i(!1)},f=async b=>{b.preventDefault(),b.stopPropagation(),n!==""&&g(n)},y=(b,v)=>{p(G({name:"knowledge assist source viewed",data:{question:v,sourceViewed:b.url||b.name},options:{includeConversationData:!0}}))};return Zs(()=>{var b;o&&m==="idle"?g(o):(b=d.current)==null||b.focus()},[d,m]),Zs(()=>{m==="done"&&(p(G({name:"knowledge assist question answered",data:{question:n||o,sources:u[u.length-1].answer.sources,answer:u[u.length-1].answer.answer,isFollowUpQuestion:u.length>1},options:{includeConversationData:!0}})),a(`knowledge-assist-${u.length-1}`),s(""))},[m,u]),Zs(()=>{d.current&&d.current.scrollIntoView({behavior:"smooth"})},[d,u]),ul("div",{className:l.root,children:[u.length>0&&le("div",{className:l.alignRight,children:le(N.Button,{onClick:e,children:c("reset")})}),u.map(({question:b,answer:v},S)=>le(N.List,{children:le(N.ListItem,{id:`knowledge-assist-${S}`,"data-testid":"knowledge-search-answer",description:v.answer,closeOnSelect:!0,onClick:()=>t(v.answer),onSourceClick:R=>y(R,b),sources:v.sources,styles:{title:l.question,description:l.answer},extra:le("div",{className:l.listItemFeedback,children:le(ln,{eventName:"knowledge assist feedback",eventData:{question:b,isAgent:o!==b,isFollowUpQuestion:u.length>1,...v}})}),children:b})},`${v.answer}_${S}`)),m==="loading"&&le("p",{className:l.status,children:c("loading")}),m==="error"&&le("p",{className:l.status,children:c("error")}),ul("form",{className:l.form,onSubmit:f,children:[le("input",{ref:d,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:n,onFocus:()=>{a(void 0)},onChange:b=>{a(void 0),s(b.target.value)}}),le("button",{type:"submit",className:l.submit,disabled:r,children:le(ll,{})})]})]})},pl=qg;import{createAsyncThunk as Gg,createSlice as $g}from"@reduxjs/toolkit";var jg={data:null,fetchState:"idle"},Te=t=>t.profile.data,cn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],ml=t=>t.profile.data?!!t.profile.data.uiConfig.widget.types.find(e=>e.type==="custom-data"):!1,eo=Gg("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)}),Xg=$g({name:"profile",initialState:jg,reducers:{},extraReducers:t=>{t.addCase(eo.pending,e=>{e.fetchState="loading"}).addCase(eo.rejected,e=>{e.fetchState="error"}).addCase(eo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),gl=Xg.reducer;import{useEffect as ef}from"react";import{useDispatch as tf}from"react-redux";import{createAction as Jg,createAsyncThunk as vl,createSlice as Yg}from"@reduxjs/toolkit";var Qg=["{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}"],Zg=new RegExp(Qg.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function fl(t,e){let o=t.split(Zg),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],d=r===o.length-2;n+=i.length;let l=n;if(d){let p=a.charAt(0),u=0;do l=p?e.indexOf(p,l+1):-1,u+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&u>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let c=l===-1?e.slice(n):e.slice(n,l);s.push(c),n=l}return s.join("")}function hl(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var Sl={suggestions:[],fetchState:"idle"},yl={default:Sl},xl=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},un=t=>t.textSuggestions,bl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},pn=Jg("textSuggestions/refresh"),de=vl("textSuggestions/recommendations",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=ft(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let d=await o.getTextSuggestions(s,Ut(n),t);if(t==="default"){let c=i?d.filter(bl(a)):d;e.dispatch(ue(c.slice(0,r)))}return d}),to=vl("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let d=await o.getAutocompleteSuggestions(s,{...Ut(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(d=d.filter(bl(t))),i&&(d=d.map(c=>({...c,text:c.source!=="trie-with-typos"?fl(c.text,t):c.text}))),d=hl(d,r),e.dispatch(ue(d)),d}),Cl=Yg({name:"textSuggestions",initialState:yl,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]||Sl;return{...e,[n]:{...s,fetchState:"loading"}}}).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(to.pending,e=>{e.default.fetchState="loading"}).addCase(to.rejected,e=>{e.default.fetchState="error"}).addCase(to.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(M,()=>yl)}}),{setTextSuggestions:rE,setSuggestionState:iE}=Cl.actions,wl=Cl.reducer;import{useSelector as Tl}from"react-redux";import{jsx as mn,jsxs as nf}from"react/jsx-runtime";var of=({commands:t,onClick:e})=>{var a,d,l;let o=tf(),n=k(Zt),s=Tl(Te),r=Tl(un),i=((l=(d=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:d.initialTypes)==null?void 0:l.filter(({isActive:c})=>c))||[];return ef(()=>{i.forEach(({type:c})=>{(!r[c]||r[c].suggestions.length===0)&&o(de(c))})},[]),nf("div",{children:[t.length>0&&mn(N.List,{heading:n("commands"),children:t.map((c,p)=>mn(N.ListItem,{id:`command-${p}`,closeOnSelect:!1,onClick:c.onClick,children:c.label},c.label))}),i.map(({type:c,title:p})=>{var u;return mn(N.List,{heading:p,orientation:"vertical",children:(u=r[c])==null?void 0:u.suggestions.map((m,g)=>mn(N.ListItem,{id:`${c}-${g}`,closeOnSelect:!1,description:m.text,onClick:()=>e(m.text,m),"data-testid":"search-overlay-suggestion",children:m.title},`${m.id}-${m.text}`))},c)})]})},El=of;import{jsx as se,jsxs as tr}from"react/jsx-runtime";var df=200,cf=5,uf=4,kl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),pf=()=>{let t=lf(),e=oe(),o=k(Zt),[n,s]=er(!1),[r,i]=er(""),a=Qe(Bi),d=Qe(Te),[l,c]=er(),p=Qe(X),u=w("showSearch"),m=w("showEntitiesCommand"),g=w("showSummaryCommand"),f=w("showKnowledgeSearch"),y=w("showImageSearch"),b=w("searchTriggerKey"),v=Qe(ua),S=Qe(Ki),R=Qe(Ui),C=Qe(Hi),E=T=>Zn(S.filter(q=>q.type===T.toUpperCase()),T),O=[{value:"PERSONAL",label:o("personalSuggestions"),list:E("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:E("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:E("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:E("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(T=>T.shouldShow),Q=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:m&&kl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:g&&kl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:f}].filter(T=>T.shouldShow),B=(v==null?void 0:v.map(T=>({value:T.code.toUpperCase(),label:`${T.name}s`,list:E(T.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],L=Js(rf((T,q)=>{t(qe({query:T,type:q,tags:["search-overlay"],size:l?50:20}))},df),[l]),_=Js((T,q)=>{switch(q.type){case"IMAGE":e.send(vs,{suggestion:q});break;default:e.send(Oe,{text:T,suggestion:q})}t(ee(!1))},[t]),F=T=>{be(T.text),t(G({name:"entity copied",data:{entity:T,type:"copy"}})),t(ee(!1))},z=Js(T=>{t(G({name:"suggestion feedback",data:{text:T.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),vo=T=>{e.send(Oe,{text:T,suggestion:{source:"knowledge-assist",text:T}}),t(G({name:"answer used",data:{originalText:T},options:{includeConversationData:!0}})),i(""),t(re("search")),t(Ct()),t(ee(!1))},Su=T=>{be(T),t(ee(!1))};function Zn(T,q){return T.slice(0,l?10:q.toLowerCase()==="image"?uf:cf)}function Dt(T){return q=>{n?window.confirm(o("warning"))&&(T(q),s(!1)):T(q)}}return Ys(()=>{r?L(r,l):t(Ho())},[r,l]),Ys(()=>{a==="search"&&t(Ct())},[a]),Ys(()=>{p&&t(jt())},[p]),_a(b,()=>t(ee(!0))),!u||!d?null:tr(N,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Dt(T=>t(ee(T))),onChangeType:T=>c(T),onChangePage:Dt(T=>t(re(T))),selectedType:l,search:r,page:a,isOpen:C,types:[...B,...O],children:[tr(N.Page,{id:"search",children:[r.length===0&&se(El,{commands:Q,onClick:_}),r.length>0&&tr(af,{children:[Q.length>0&&se(N.List,{heading:o("commands"),children:Q.map((T,q)=>se(N.ListItem,{closeOnSelect:!1,onClick:T.onClick,id:`commands-${q}`,children:T.label},T.label))}),[...B,...O].map(({value:T,label:q,list:Wr,lineClamp:xu,listOrientation:bu})=>se(N.List,{heading:q,orientation:bu==="horizontal"?"horizontal":"vertical",onShowAll:()=>c(T),hasMore:!l&&R[T.toLowerCase()]>Zn(Wr,T).length,children:Zn(Wr,T).map(J=>se(N.ListItem,{id:`${T}-${J.id}`,closeOnSelect:!1,lineClamp:xu,onClick:()=>_(J.text,J),description:T!=="IMAGE"?J.title&&J.text:void 0,onFeedback:T!=="IMAGE"?()=>z(J):void 0,children:T==="IMAGE"?se(N.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},T))]})]}),se(N.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Dt(()=>{t(re("search"))}),children:se(Ua,{onCopy:F})}),se(N.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Dt(()=>{t(re("search"))}),children:se(el,{onCopy:Su})}),se(N.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Dt(()=>{t(Ct()),t(re("search"))}),children:se(pl,{question:r,onUse:vo,onResetQuestion:()=>{t(Ct()),i("")}})})]})},Rl=pf;import{jsx as Pl,jsxs as ff}from"react/jsx-runtime";var gf=()=>{let t=w("showSearch"),e=w("isEmbedded");return ff(mf,{children:[t&&Pl(Rl,{}),e&&Pl(ca,{})]})},Il=gf;import Sf from"classnames";import{useSelector as xf}from"react-redux";import{jsx as or}from"react/jsx-runtime";var Al=({className:t})=>or("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:or("g",{children:or("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 Al}from"react/jsx-runtime";var hf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Ll=({className:t,color:e})=>Al("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Al("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:hf[e||"pink"]})});var Ml={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var or={};$(or,{enUS:()=>yf,nlNL:()=>vf});var yf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},vf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as bf}from"react-redux";import{jsx as nr,jsxs as Nl}from"react/jsx-runtime";var Ol=({onLogIn:t})=>{let e=k(or),o=w("floatingMenu"),n=w("productName"),s=bf(),r=xf(j),i=h("FloatingMenu",Ml);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return Nl("button",{className:Sf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[nr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Nl("div",{className:i.icon,children:[nr(Ll,{className:i.logo,color:"pink"}),r===!1&&nr(Il,{className:i.lock})]})]})};import{useEffect as Uf,useRef as zf}from"react";import{connect as Vf,useDispatch as Wf,useSelector as hn}from"react-redux";import{useEffect as Cf}from"react";function Ze(t){Cf(()=>{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 wt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as wf}from"@reduxjs/toolkit";var Tf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var mn=({ui:t})=>t.overlayCollapsed;var Dl=wf({name:"ui",initialState:Tf,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:oo,setInputHasFocus:sr,setOverlayCollapsed:Fe,setOpenOverlayWhenTyping:_l,setOverlayCollapsedUserOverwrite:Fl}=Dl.actions,Hl=Dl.reducer;import{Fragment as Hf,useMemo as Bf}from"react";import{Interweave as Rf}from"interweave";import{useEffect as Pf,useMemo as If,useRef as Af}from"react";import{useDispatch as Lf,useSelector as Mf}from"react-redux";import{useEffect as Ef}from"react";function Bl(t,e,o){Ef(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Kl={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as gn,jsxs as Ff}from"react/jsx-runtime";var Nf=["search","personal-collection-search","search-autocomplete"];function Of(t,e,o,n={}){let s="";return Nf.includes(e)?s=ga(Ms(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ms(t,o,n),n.placeholders===!0&&(s=fa(s)),s}var Df=()=>{},_f=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=w("inlineSuggestions"),r=Mf(ft),i=Lf(),a=h("TextSuggestion",Kl),d=Af(null);Pf(()=>{let c=setTimeout(()=>{i(Ci({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(c)}},[o]),Bl(d,"click",()=>{i(Ne(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=If(()=>Of(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:Ff("div",{className:a.root,onMouseEnter:()=>i(Ne(t)),children:[gn(L,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Df,children:gn(Rf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&gn("div",{className:a.actions,children:gn(en,{onFeedback:()=>n(o),suggestion:o.text})})]})},Ul=_f;import{jsx as zl}from"react/jsx-runtime";var Kf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Bf(()=>{let r=e.map((i,a)=>zl(Ul,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return zl(Hf,{children:s})},fn=Kf;var Vl={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as yn}from"react/jsx-runtime";var qf=({textSuggestions:t,selectedIndex:e})=>{let o=zf(null),n=h("InlineSuggestionsOverlay",Vl),s=hn(wt),r=Wf(),i=hn(j),a=hn(mt),d=hn(mn),l=w("showTextSuggestions");return Ze(()=>{setTimeout(()=>{r(Fe({collapse:!0,skipWhenInputFocus:!0}))})}),Uf(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),d||!s||!l||t.length===0||i!==!0||a===!1?null:yn("div",{className:n.root,"data-variant":"inline",children:yn("div",{ref:o,className:n.paper,children:yn(J,{children:yn(fn,{suggestions:t,selectedIndex:e})})})})},Gf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Wl=Vf(Gf)(qf);import{Provider as $f}from"react-redux";import{jsx as vn}from"react/jsx-runtime";var jf=({children:t})=>{let o=w("locale").replace("-","");return vn(Es.Provider,{value:o,children:t})},Xf=({store:t,customStyles:e={},children:o})=>vn($f,{store:t,children:vn(jf,{children:vn(_t.Provider,{value:e,children:o})})}),Ye=Xf;import dr from"classnames";import{useEffect as ah,useRef as lh,useState as dh}from"react";import{connect as ch,useDispatch as uh,useSelector as no}from"react-redux";import{useState as Qf}from"react";function ql(t,e){let[o,n]=Qf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return b.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){b.error(i)}}]}var Gl=()=>/Mac/i.test(navigator.platform);import Yf from"classnames";import{Fragment as eh,useCallback as ir,useMemo as jl}from"react";var rr={};$(rr,{enUS:()=>Zf,nlNL:()=>Jf});var Zf={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"}]}]},Jf={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 $l={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Sn,jsxs as Xl}from"react/jsx-runtime";var ar=(t,e,o)=>n=>Sn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),th=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=k(rr),i=oe(),a=h("Login",$l),d=w("productName"),l=ir(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),c=ir(y=>{y.preventDefault(),i.send(ht,!0)},[e]),p=jl(()=>y=>Sn("a",{onClick:v=>{v.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),u=ir(y=>Sn("button",{type:"button",className:a.anchorButton,onClick:c,children:y},"prompt"),[c]),{min:m,hour:g,day:f}=jl(()=>({min:ar(a,60*10,l),hour:ar(a,60*60,l),day:ar(a,60*60*12,l)}),[]);return Xl("div",{className:Yf(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:d}),n&&Xl(eh,{children:[Sn("br",{}),r("snooze",{min:m,hour:g,day:f})]})]})},xn=th;import{useDispatch as oh}from"react-redux";var Ql={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as Zl,jsxs as sh}from"react/jsx-runtime";var nh=({title:t})=>{let e=h("SearchTrigger",Ql),o=oh();return sh("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[Zl(yt,{}),Zl("span",{className:e.text,children:t})]})},Jl=nh;var lr={};$(lr,{enUS:()=>rh,nlNL:()=>ih});var rh={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"}]},ih={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 Yl={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2"};import{jsx as z,jsxs as so}from"react/jsx-runtime";var ph=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Yl),s=k(lr),r=no(wt),i=vi(),a=uh(),d=lh(null),l=w("searchTriggerKey"),c=w("productName"),p=no(mn),u=no(j),m=no(mt),[g,f]=dh(null),y=w("showSearch"),x=w("showTextSuggestions"),v=w("adminUrl"),S=w("isEmbedded"),[R,C]=ql("dd-snooze-until-ms",0),E=p||R>Date.now(),N=no(V=>V.input.text),X=t.filter(V=>V.source!=="gpt").length,H=()=>{E&&C(0),a(Fl(!E))},I=V=>{a(q({name:"suggestion feedback",data:{text:V.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=V=>{let te=Date.now()+V*1e3;C(te),b.info(`Snooze until: ${new Date(te)}`),a(Fe({collapse:!0}))};return ah(()=>{X===0&&f(null)},[t,X]),Ze(()=>{a(Fe({collapse:!0,skipWhenInputFocus:!0}))}),u===null||m===!1?null:u===!1?so("div",{ref:d,className:dr(n.root,{[n.isCollapsed]:E}),children:[!E&&so("div",{className:n.triggers,children:[z("div",{style:{flex:1}}),z("div",{className:n.triggersRight,children:z(lt,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})})]}),z("div",{className:n.toggleButtonWrapper,children:z(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:H,isCollapsed:!0})}),z("div",{className:n.collapsible,children:z(xn,{loginUrl:v,isEmbedded:S,onLogIn:o,onSnooze:O})})]}):!i||!r?null:so("div",{ref:d,className:dr(n.root,{[n.isCollapsed]:E}),children:[!E&&so("div",{className:n.triggers,children:[z("div",{style:{flex:1},children:y&&z("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s(Gl()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>f(null),children:z(Jl,{title:s("search")})})}),so("div",{className:n.triggersRight,onFocus:()=>{},children:[z("div",{className:dr(!g&&n.hintsHidden,n.hints),children:g}),z(lt,{className:n.toggleButton,title:s("collapse"),onClick:H,isCollapsed:!1})]})]}),z("div",{className:n.toggleButtonWrapper,children:z(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:H,isCollapsed:!0})}),X>0&&x&&z("div",{className:n.collapsible,onFocus:()=>{},children:z(J,{children:z(fn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},mh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),ed=ch(mh)(ph);import xr from"classnames";import{Interweave as cy}from"interweave";import{useCallback as uy,useEffect as py,useMemo as Ed,useRef as my}from"react";import{connect as gy}from"react-redux";import{useEffect as gh,useRef as fh,useState as hh}from"react";function bn(t){return t.contentEditable==="true"}function yh(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 td(t){let{selectionStart:e,selectionEnd:o}=bn(t)?yh(t):t;return[e,o]}function od(t){let[,e]=hh(),o=fh(null);return o.current=td(t),gh(()=>{let n=()=>{let[s,r]=o.current??[],i=td(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 nd(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(Co);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=n.indexOf(d,a);return s>l&&r<l+d.length?(o.selectionStart=l,o.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as vh}from"react";var Sh=["div","span","mark","strong","b","i","u","em"];function cr(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(Sh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),vh(n,{children:cr(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var sd={agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import Bh from"classnames";import{Matcher as Kh}from"interweave";import{useEffect as Uh,useMemo as zh}from"react";import{useEffect as xh,useRef as bh,useState as Ch}from"react";function rd(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function Cn(t){let e=bh(null),[o,n]=Ch(!1);return xh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=rd((c,p)=>{let u=e.current;if(!u)return;let m=c/r,g=p/r,f=u.getBoundingClientRect(),y=m>f.x&&m<f.x+f.width&&g>f.y&&g<f.y+f.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:c,clientY:p})=>[c,p]),[d,l]=rd(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,o]}function id(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function wn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ad(t){return t!=null}import pd from"classnames";import{createRef as Mh,useCallback as pr,useMemo as Nh,useRef as Oh,useState as Dh}from"react";import{useState as wh,useLayoutEffect as Th}from"react";var Eh=["bottom","height","left","right","top","width"],kh=(t={},e={})=>Eh.some(o=>t[o]!==e[o]),Ee=new Map,ld,dd=()=>{let t=[],e=[];Ee.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();kh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ee.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),ld=window.requestAnimationFrame(dd)};function Rh(t,e){return{observe(){let o=Ee.size===0;if(Ee.has(t)){let n=Ee.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ee.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&dd()},unobserve(){let o=Ee.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ee.delete(t),Ee.size||cancelAnimationFrame(ld)}}}}function ur(t){let[e,o]=wh(null);return Th(()=>{if(!t.current)return;let n=Rh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Ph,useLayoutEffect as Ih,useState as Ah}from"react";import{createPortal as Lh}from"react-dom";var cd={root:"dd-r-dgo"};var ud=({children:t,parentNode:e})=>{let[o,n]=Ah(null),s=Ph(_t);return Ih(()=>{let r=document.createElement("div");return Je(r),r.classList.add(cd.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?Lh(t,o):null};var me={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as mr}from"react/jsx-runtime";var Tn=(t=!1)=>{let[e,o]=Dh(t),n=pr(()=>o(!0),[]),s=pr(()=>o(!1),[]),r=pr(()=>o(a=>!a),[]),i=Oh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function gr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Tt=({className:t,triggerRef:e,boundaryRef:o=Mh(),position:n="above",align:s="center",children:r,toStyle:i=gr,parentNode:a,...d})=>{let l=ur(e),c=ur(o),p=Nh(()=>i(l,c,0),[l,c]);return mr(ud,{parentNode:a,children:mr("div",{className:pd(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,...d,role:"dialog",children:mr("div",{className:pd(t,me.root),children:r})})})};import _h from"classnames";import{forwardRef as Fh,useRef as Hh}from"react";var ke={agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as md}from"react/jsx-runtime";var En=Fh(({className:t,children:e,...o},n)=>{let s=Hh(null),r=h("TabCompletion",ke);return md("div",{ref:wn([s,n]),className:_h(t,r.popoverContentContainer),...o,children:md("div",{className:r.popoverContent,children:e})})});import{jsx as ro,jsxs as qh}from"react/jsx-runtime";var Vh=t=>e=>{let o=gr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Wh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ke),i=Tn(),a=zh(()=>Vh(t.getBoundingClientRect()),[t]),[d,l]=Cn(t);return Uh(()=>{l?i.open():i.close()},[l]),qh("span",{children:[ro("mark",{ref:wn([d,i.triggerRef]),className:Bh(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ro(Tt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ro(En,{style:o,children:ro("div",{className:r.hintText,children:s})})})]})},kn=class extends Kh{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${id(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(ad);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 ro(Wh,{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 Gh}from"interweave";import $h from"classnames";import{jsx as gd}from"react/jsx-runtime";var jh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ke),[n,s]=Cn(t);return gd("mark",{ref:n,className:$h(o.matchPlaceholder,{[o.hover]:s}),children:e})},Rn=class extends Gh{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 gd(jh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Sr from"classnames";import{Matcher as ny}from"interweave";import{createRef as sy,forwardRef as ry,useCallback as iy,useEffect as Cd,useRef as wd,useState as Td}from"react";import{useDispatch as ay}from"react-redux";import{jsx as fd}from"react/jsx-runtime";var hd=()=>fd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:fd("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 Xh,useEffect as vd,useState as Sd}from"react";import{useDispatch as Qh,useSelector as xd}from"react-redux";import Zh from"lodash.debounce";var yd={root:"dd-ky-Bv",content:"dd-kV5e1"};function Pn(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 fr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as et,jsxs as hr}from"react/jsx-runtime";var Jh=3,Yh=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),ey=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=Jh})=>{let r=h("LinkSearch",yd),[i,a]=Sd(""),d=Qh(),l=xd(Sl("url")),c=xd(Ui("URL",Yh)),[p,u]=Sd(c.length-1),m=w("fallbackImage"),g=v=>{let S=v.target;a(S.value)},f=(v,S)=>{v.stopPropagation(),v.preventDefault(),window.open(S,"_blank")},y=v=>{var C;let S=p-1<0?c.length-1:p-1,R=p+1===c.length?0:p+1;v.code==="Escape"&&(a(""),e()),v.code==="ArrowUp"&&u(S),v.code==="ArrowDown"&&u(R),v.code==="Enter"&&t(((C=c[p])==null?void 0:C.text)||i)},x=Xh(Zh(v=>{d(qe({query:v,type:"URL",tags:["link-search"]}))},300),[]);return vd(()=>{i&&x(i)},[i]),vd(()=>()=>{d(Fo())},[]),hr("div",{className:r.root,children:[et(J,{withDivider:!0,children:(i?c:l).slice(0,s).map((v,S)=>et(L,{selected:p===S,onClick:()=>t(v.text),"data-testid":"linksearch-suggestion",children:hr(_,{children:[et(_.Image,{src:Pn(v,"small",m||void 0),title:v.title||v.text}),hr(_.Content,{className:r.content,cropText:!0,children:[et(_.Title,{children:v.title||fr(v.text)}),v.title&&fr(v.text)]}),et(L.Actions,{children:et(L.ActionButton,{label:n,onClick:R=>f(R,v.text)})})]})},v.text))}),et($t,{value:i,onChange:g,autoFocus:!0,placeholder:o,onKeyUp:y})]})},bd=ey;var yr={};$(yr,{enUS:()=>ty,nlNL:()=>oy});var ty={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},oy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ge,jsxs as vr}from"react/jsx-runtime";var ly=ry((t,e)=>{let o=h("TabCompletion",ke);return ge("mark",{ref:e,className:Sr(o.matchSelection)},"selection-start")}),dy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=k(yr),i=h("TabCompletion",ke),a=wd(null),d=wd(null),[l,c]=Td(null),p=ay(),u=Tn(document.activeElement===n),[m]=Td(()=>document.createRange());u.triggerRef.current=m,Cd(()=>()=>m.detach(),[]),Cd(()=>{let f=t.current,y=a.current;!f||!y||(m.setStart(f,0),m.setEnd(y,0))},[t.current,a.current]),Ze(()=>{u.close()});let g=iy(f=>{let y=m.toString(),x=/^http(s?):\/\//.test(f)?f:`https://${f}`;p(Mo({text:`[${y}](${x})`,replace:"selection"}))},[]);return vr("span",{children:[ge("mark",{ref:a,className:Sr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&ge(Tt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:vr(En,{style:o,ref:d,children:[ge("div",{className:Sr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:vr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[ge(hd,{}),ge("span",{children:"\xA0"}),ge("span",{children:r("insertLink")})]})}),l==="insertLink"&&ge(bd,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:g,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},In=class extends ny{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=sy(),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?ge(ly,{ref:this.startRef}):ge(dy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as fy}from"react-redux";import{jsx as Et,jsxs as vy}from"react/jsx-runtime";var hy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=h("TabCompletion",sd),c=w("insertLink"),p=w("showMidSentenceSuggestions"),u=w("inlineSuggestions"),m=od(a),g=my(null),f=fy(j);py(()=>{He(a)&&m&&nd(a,m)},[m]);let y=uy(S=>{if(!s||!o)return S;let R=[Et("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Et("span",{"data-testid":"tab-completion",className:xr(l.tabText,l.resetIndent),"data-source":d,children:o},"tabText")];return n&&R.push(Et("span",{className:xr(l.hint,l.resetIndent),children:Et(Yn,{keyCode:"tab"},"tabHint")})),cr(S,R)},[s,o,n]),x=Ed(()=>{let S=[];return c&&S.push(new In("selection")),S.push(new Rn("placeholders")),r&&S.push(new kn("keywords")),S},[u,c,r]),v=Ed(()=>{let S=window.getComputedStyle(a);return{"--dd-color":S.color,"--dd-font-size":S.fontSize,"--dd-font-family":S.fontFamily,"--dd-font-variant":S.fontVariant}},[]);return!t||!f?null:vy("div",{ref:S=>{S!=null&&S.parentElement&&(g.current=S==null?void 0:S.parentElement)},className:l.root,style:v,children:[Et(cy,{tagName:"span",containerTagName:"div",className:xr(l.container,l.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:y,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:v,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!p}),Et("br",{})]})},yy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",d=t.html??Qt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:c}=e,{isSupported:p}=s,{showTabCompletion:u,visible:m,showStyleSuggestions:g}=o;return{showTabHint:c,showStyleSuggestions:g,showTabCompletion:u,content:d,tabText:l,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:m&&p!==!1}},kd=gy(yy)(hy);import Tv from"classnames";import{Fragment as Ev,useEffect as Dc}from"react";import{useDispatch as _n,useSelector as B}from"react-redux";import{createAsyncThunk as io,createSlice as Sy}from"@reduxjs/toolkit";var Rd={list:[],fetchState:"idle"},Id=t=>t.autoflows.list||[],Pd=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Re=io("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),br=io("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(Re(t.platformSessionId))}),Cr=io("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(Re(t.platformSessionId))}),xy=Sy({name:"autoflows",initialState:Rd,reducers:{},extraReducers:t=>{t.addCase(br.pending,(e,o)=>{let n=Pd(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Cr.pending,(e,o)=>{let n=Pd(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Re.pending,e=>{e.fetchState="loading"}),t.addCase(Re.rejected,e=>{e.fetchState="error"}),t.addCase(Re.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>Rd)}}),Ad=io("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(Re(t))}),s.on("sessionCompleted",()=>{o(Re(t))})}),Ld=io("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Md=xy.reducer;import{createAsyncThunk as lo,createSlice as by}from"@reduxjs/toolkit";var Nd={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Od=t=>t.customMessages.list,Dd=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),_d=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Fd=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ao=lo("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),An=lo("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)}),Ln=lo("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)}),Hd=by({name:"customMessages",initialState:Nd,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ao.pending,e=>{e.fetchState="loading"}).addCase(ao.rejected,e=>{e.fetchState="error"}).addCase(ao.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(An.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(An.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Ln.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Ln.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,()=>Nd)}}),Bd=lo("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(Hd.actions.onCustomMessage(r))})}),Kd=lo("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Ud=Hd.reducer;var zd=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e;return s?n?o?`${s}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null:`${s}${t}`:null};import{createAsyncThunk as Vd,createSlice as Cy}from"@reduxjs/toolkit";var wy={token:null,interval:null},wr=Vd("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return{token:await o.requestPasswordlessToken()}}),Tr=Vd("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(wr()),setInterval(()=>n(wr()),o)}),Wd=Cy({name:"passwordlessToken",initialState:wy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(wr.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(Tr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:qd}=Wd.actions,Gd=Wd.reducer;import{createAction as Ty,createAsyncThunk as Ey,createSlice as ky}from"@reduxjs/toolkit";var Er={cues:[],fetchState:"idle"},$d=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ry=Ty("rules/resetCues"),tt=Ey("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(c=>c.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return b.info(s.message),[]}}),jd=ky({name:"answer",initialState:Er,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(tt.pending,e=>{e.fetchState="loading"}).addCase(tt.rejected,e=>{e.fetchState="error"}).addCase(tt.fulfilled,(e,o)=>{let n=o.payload.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload,...s]}).addCase(M,()=>Er).addCase(Ry.toString(),()=>Er)}}),{removeCue:Xd}=jd.actions,Qd=jd.reducer;import{Fragment as Fy}from"react";import{connect as Hy}from"react-redux";import Oy from"classnames";import{Fragment as Dy}from"react";import Py from"classnames";var Zd={root:"dd-uszkm"};import{jsx as Ay}from"react/jsx-runtime";var Iy=({className:t,children:e})=>{let o=h("Unicode",Zd);return Ay("span",{className:Py(t,o.root),children:e})},Jd=Iy;var Yd={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var kr={};$(kr,{enUS:()=>Ly,nlNL:()=>My});var Ly={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"}]},My={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 ot,jsxs as Mn}from"react/jsx-runtime";var _y=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Yd),a=k(kr),d=e==="Started"?"stop":"start",l=d==="start"?"\u25B6":d==="stop"?"\u25FC":"";return Mn(L,{className:Oy(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[ot(_,{children:Mn(_.Content,{children:[Mn(_.Title,{children:[e&&ot("span",{className:i.stateBadge,children:a(e)}),o]}),ot("span",{children:n})]})}),ot(L.Actions,{fixed:e==="Started",children:ot(L.ActionButton,{primary:!0,className:d==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Mn(Dy,{children:[ot(Jd,{children:l})," ",ot("span",{children:a(d)})]})})})]})},ec=_y;import{jsx as tc}from"react/jsx-runtime";var By=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},Ky=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>tc(Fy,{children:t.map(s=>tc(ec,{displayName:s.displayName,description:s.description,disabled:s.isBusy||By(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Uy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},zy={onStartAutoflow:br,onStopAutoflow:Cr},oc=Hy(Uy,zy)(Ky);import Vy from"classnames";import{useCallback as nc}from"react";import{useDispatch as Wy,useSelector as Nn}from"react-redux";var Pe={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as Be,jsxs as On}from"react/jsx-runtime";var qy=({suggestion:t})=>{let e=k(Xe),o=Wy(),n=Nn(Dd(t.text)),s=Nn(_d(t.text)),r=Nn(Fd(t.text)),i=Nn(pt),{replyOptions:a}=t,d=nc(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(An({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=nc(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let p=parseInt(c.target.dataset.index,10),u=a[p];o(Ln({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return On(L,{onClick:d,className:Vy(Pe.root,{[Pe.isUsed]:n,[Pe.hasError]:r}),children:[Be(_,{children:On(_.Content,{children:[On(_.Title,{className:Pe.title,children:[t.text," ",Be(es,{className:Pe.label,children:"analyse tool"})," ",r&&Be("span",{className:Pe.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Be("ul",{className:Pe.quickReplies,children:a.map(c=>Be("li",{className:Pe.quickReply,children:c.title},c.title))})]})}),On(L.Actions,{fixed:r||n,children:[a&&a.length>0&&Be(L.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,p)=>Be(L.DropdownItem,{index:p,label:c.title,onClick:l},c.title))}),Be(L.ActionButton,{primary:!0,disabled:n,onClick:d,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},sc=qy;import{useEffect as Gy,useState as $y}from"react";import{useDispatch as jy}from"react-redux";import ac from"classnames";import{jsx as rc}from"react/jsx-runtime";var co=()=>rc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:rc("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 ic={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as kt,jsxs as lc}from"react/jsx-runtime";var Xy=({entities:t})=>{let e=h("EntitiesWidgetList",ic),[o,n]=$y(void 0),s=jy(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),be(a.text),s(q({name:"entity copied",data:{entity:a,type:"copy"}})))};return Gy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:kt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>lc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[kt("span",{className:e.entityText,children:a.text}),lc("span",{className:e.iconWrapper,children:[kt("span",{className:ac(e.icon),children:kt(co,{})}),kt("span",{className:ac(e.icon,o===d&&e.iconClicked),children:kt(co,{})})]})]},a.text))})},dc=Xy;import{jsx as cc}from"react/jsx-runtime";var uc=()=>cc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:cc("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 pc}from"react/jsx-runtime";var mc=()=>pc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:pc("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 gc}from"react/jsx-runtime";var fc=()=>gc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:gc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as uv}from"react-redux";import Cc from"classnames";import{useEffect as lv,useState as dv}from"react";import{jsx as hc,jsxs as Qy}from"react/jsx-runtime";var yc=({className:t})=>Qy("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[hc("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),hc("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import Zy from"dompurify";import{Fragment as Jy,useMemo as Yy,useRef as ev,useState as tv}from"react";import ov from"snarkdown";var vc={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as uo,jsxs as Sc}from"react/jsx-runtime";function nv(t){return`<button type="button" class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function Rr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function sv(t){return t.replace(/\r\n/g,`
|
|
8
|
-
`)}var rv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",vc),i=ev(null),[a,d]=tv(null),l=Yy(()=>{let g=ov(sv(t));return Zy.sanitize(g).replace(/<\/code>/g,`${nv(r.copyIcon)}</code>`)},[t]),c=g=>{var x;let f=g.target,y=!!((x=i.current)!=null&&x.querySelector("code"));a||y&&f.tagName!=="CODE"||!y&&f!==i.current||(f.addEventListener("mouseleave",()=>d(null),{once:!0}),d(f))},p=()=>{if(!a)return;d(null);let g=a.querySelector("button");g&&(we(g,r.fadeup),n(Rr(a)))},u=g=>{g.target.tagName.toLowerCase()==="button"&&(we(g.target,r.fadeup),n(Rr(g.target.parentElement)))},m=()=>{a&&(d(null),s(Rr(a)))};return Sc(Jy,{children:[a&&uo(Tt,{triggerRef:{current:a},parentNode:a,className:r.popover,children:Sc("div",{className:r.options,children:[uo("button",{type:"button",className:r.option,onClick:p,children:o}),uo("div",{className:r.divider}),uo("button",{type:"button",className:r.option,onClick:m,children:e})]})}),uo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},xc=rv;var Pr={};$(Pr,{enUS:()=>iv,nlNL:()=>av});var iv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},av={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var bc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as Ie,jsxs as wc}from"react/jsx-runtime";var cv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",bc),a=k(Pr),d=xt(),[l,c]=dv(null),p=y=>{o&&o(y,t)},u=y=>{n&&n(y,t)},m=y=>{y.preventDefault(),y.stopPropagation(),e(t)},g=y=>{y.preventDefault(),y.stopPropagation(),we(y.target,i.fadeup),c("up"),s(t)},f=y=>{y.preventDefault(),y.stopPropagation(),we(y.target,i.fadedown),c("down"),r(t)};return lv(()=>{d("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),wc(L,{"data-testid":"cue",children:[Ie(_,{children:wc(_.Content,{children:[t.title&&Ie(_.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.title}),Ie(xc,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:p,onUse:u})]})}),Ie(L.IconButton,{title:a("thumbsUp"),onClick:g,icon:Ie(sn,{}),className:Cc(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Ie(L.IconButton,{title:a("thumbsDown"),onClick:f,icon:Ie(nn,{}),className:Cc(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Ie(L.IconButton,{title:a("removeCue"),onClick:m,icon:Ie(yc,{})})]})},Tc=cv;import{Fragment as mv,jsx as Ec}from"react/jsx-runtime";var pv=({cues:t})=>{let e=uv(),o=oe(),n=xt(),s=l=>{e(Xd({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description,cueText:l.text})},r=(l,c)=>{be(l),n("Assistant response copied",{name:c.rule.name,group:c.rule.label,description:c.rule.description,copiedText:l})},i=(l,c)=>{o.send(Oe,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:c.rule.name,group:c.rule.label,description:c.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up",cueText:l.text})},d=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down",cueText:l.text})};return Ec(mv,{children:t.map(l=>Ec(Tc,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:d,onThumbsUp:a},l.rule.id))})},kc=pv;import{Fragment as gv,useEffect as fv}from"react";var Rc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as nt,jsxs as Pc}from"react/jsx-runtime";function hv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var Ic=({data:t,schema:e})=>{let o=h("WidgetCustomData",Rc),n=s=>{be(s)};return fv(()=>{b.info("Custom data",t,e)},[t]),nt("dl",{className:o.root,children:e.map(s=>{let r=hv(t,s.path);return Pc(gv,{children:[nt("dt",{className:o.label,children:s.label}),nt("dd",{className:o.value,children:s.type==="boolean"&&r?nt("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?nt("span",{className:o.isFalse,children:s.falseValue}):r?Pc("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[nt("span",{children:r}),nt(co,{})]}):"-"})]},s.label)})})};import{useCallback as vv}from"react";var yv=/(https?:\/\/[^\s]+)/,Ac=t=>t.split(" ").find(e=>yv.test(e));import{jsx as Rt,jsxs as Dn}from"react/jsx-runtime";var Sv=({suggestion:t,lines:e,onUse:o})=>{var c;let n=t.text||t.url||t.message,s=Ac(n),r=k(Xe),i=w("showImages"),a=w("fallbackImage"),d=p=>{p.preventDefault(),p.stopPropagation(),o(n)},l=vv(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return Dn(L,{onClick:d,"data-testid":"edit-suggestion",children:[Dn(_,{children:[i&&t.image&&Rt(_.Image,{src:Pn(t,"small",a||void 0),title:t.title}),Dn(_.Content,{children:[t.title&&Rt(_.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((c=t.searchKeywords)==null?void 0:c.length)>0&&Rt(L.Labels,{labels:t.searchKeywords}),Rt(_.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Dn(L.Actions,{children:[s&&Rt(L.ActionButton,{onClick:l,label:r("visitUrl")}),Rt(L.ActionButton,{primary:!0,onClick:d,label:r("useSuggestion")})]})]})},Lc=Sv;import{Fragment as bv,jsx as Mc}from"react/jsx-runtime";var xv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Oe,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Mc(bv,{children:e.map(s=>Mc(Lc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Nc=xv;var po={};$(po,{enUS:()=>Cv,nlNL:()=>wv});var Cv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},wv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var mo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as P,jsxs as Pt}from"react/jsx-runtime";var Fn=(t,e)=>{let o=B(j);Dc(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},kv=({onLogIn:t})=>{let e=h("Widget",mo),o=w("isEmbedded"),n=w("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(xn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Oc=({text:t})=>{let e=h("Widget",mo);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Rv=()=>{let t=k(po),e=_n(),o=h("Widget",mo),n=w("showSearch"),s=w("showSummaryCommand"),r=w("showKnowledgeSearch"),i=B(zd("/admin/")),a=oe(),d=w("productName"),l=n||s||r||i;return Fn(()=>(e(Tr()),()=>{e(qd())}),[e]),l?P(ve,{title:t("actions"),type:"shortcuts",children:Pt("div",{className:o.shortcutList,children:[n&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[P(yt,{}),t("linkSearch")]}),s&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P(fc,{}),t("linkSummary")]}),r&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(mc,{}),t("linkKnowledgeSearch")]}),i&&Pt("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:d}),rel:"noreferrer",children:[P(uc,{}),t("linkStudioLogin",{productName:d})]})]})}):null},Pv=()=>{let t=_n(),e=w("showCustomMessages"),o=B(Od),n=B(pt);return Fn(()=>(t(ao(n)),t(Bd(n)),()=>{t(Kd(n))}),[t,e,n]),!e||o.length===0?null:P(ve,{type:"custom-messages","data-testid":"custom-messages",children:P(J,{withDivider:!0,children:o.map(s=>P(sc,{suggestion:s},s.text))})})},Iv=()=>{let t=k(po),e=_n(),o=w("showAutoflows"),n=B(Id),s=B(pt);return Fn(()=>(e(Re(s)),e(Ad(s)),()=>{e(Ld(s))}),[e,o,s]),!o||n.length===0?null:P(ve,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:P(J,{withDivider:!0,children:P(oc,{})})})},Av=()=>{let t=_n(),e=B(dn),o=B(pl),n=B($d),s=B(Mi),r=B(on),i=B(cn),a=B(Te),d=B(ko);return Dc(()=>{!!s&&!o&&b.warn("Custom data provided, but no schema.")},[s,o]),Fn(()=>{e.forEach(({type:l})=>{l==="entities"?t(ae()):wo.includes(l)||t(de(l))})},[t,d,a]),P(Ev,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m})=>{var g,f;switch(l){case"entities":return r&&r.length>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(dc,{entities:r})},l);case"cues":return n&&n.length>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(J,{withDivider:!0,children:P(kc,{cues:n})})},l);case"custom-data":return s&&m&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(J,{withDivider:!0,children:P(Ic,{data:s,schema:m})})},l);default:return((f=(g=i[l])==null?void 0:g.suggestions)==null?void 0:f.length)>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(J,{withDivider:!0,children:P(Nc,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Lv=({onLogIn:t})=>{let e=k(po),o=h("Widget",mo),n=B(mt),s=B(j),r=B(pt),i=B(Te);return n===!1?P(Oc,{text:e("notSupported")}):s===!1?P(kv,{onLogIn:t}):!i||!r||s===null?P(Oc,{text:e("waiting")}):P("div",{className:Tv(o.root),"data-testid":"widget",children:Pt(os,{className:o.sectionList,children:[P(Rv,{}),P(Pv,{}),P(Iv,{}),P(Av,{})]})})},_c=Lv;function fo(t){let e=new Range;return e.selectNodeContents(t),e}function Fc(t,e,o){try{return st(t,e,o),!0}catch{return!1}}function Hn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Bn(t){return"tagName"in t&&t.tagName==="BR"}var go=/[\u200B-\u200D\uFEFF]/g;function st(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(d,l){let c=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(d))return l;for(let u=0;u<=d.length;u++)if(p.test(d[u])||c++,c===l)return u;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(go,""),p=s+c.length,u=e>=s&&e<=p,m=o>=s&&o<=p;if(u){let g=i(l,e-s);g===0&&!m?n.setStartBefore(d):n.setStart(d,g)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Bn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Hn(d)&&l&&!Hn(l)&&!Bn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Kn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===o,m=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;u&&(a=l+g.substring(0,n).replace(go,"").length),m&&(d=l+g.substring(0,r).replace(go,"").length),l+=g.replace(go,"").length;break}case Node.ELEMENT_NODE:{let g=p.nextSibling===null;Bn(p)&&!g&&l++;for(let f=0;f<p.childNodes.length;f++){let y=u&&f===n,x=m&&f===r;if(y&&(a=l),x&&(d=l),d!==void 0||((!y||!i)&&c(p.childNodes[f]),m&&f===r-1&&(d=l),d!==void 0))break}!m&&Hn(p)&&!g&&l++,m&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a??d,end:d}}function Un(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 d(l){let c=l===o,p=l===s;switch(c&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=c?n:0,m=p?r:void 0,g=l.textContent.replace(go,"");u===0&&m===void 0?a+=g:a+=g.substring(u,m);break}case Node.ELEMENT_NODE:{let u=l.nextSibling===null;i===0&&Bn(l)&&!u&&(a+=`
|
|
9
|
-
`);for(let m=c?n:0;m<(p?Math.min(r,l.childNodes.length):l.childNodes.length)&&(d(l.childNodes[m]),i!==1);m++);!p&&i===0&&
|
|
10
|
-
`);break}default:break}p&&i++}return d(t),a}var Hc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Hc||{}),Ke=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Le(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Hc).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Bc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var It=class extends Ke{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Un(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!Bc(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Bc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Kn(this.element,e);let o=this.lastKnownSelection;if(o&&Fc(this.element,o.start,o.end))return o;let n=fo(this.element);return n.collapse(!1),Kn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Un(this.element,st(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(e={shouldObserve:!0}){super.listen(e),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),e!=null&&e.shouldObserve&&this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let o=this.element.isContentEditable,n=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var At=class extends Ke{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 Kc(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Mv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Ir=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()}},Ar=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Kc(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()}},Lr=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(),b.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 Ar(e,this.deepdeskUrl,{debug:!0}):new Ir(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Mv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(b.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;b.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)}},Uc=Lr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Mr=t=>new Promise(e=>{setTimeout(e,t)});var Mt=class extends Lt{name="ClientError"},Or=class extends Lt{name="ServerError"},Nr=new Map;async function Nv(t){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=await t.text();return o===""?null:(b.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))}var fe=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,d=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:g=E=>E instanceof TypeError,retryOnResponse:f=E=>E.status>=500,version:y="v1",...x}=o;if(l)if(d){if(Nr.has(i)){n(Nr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let v={credentials:"include",...x,headers:{"Content-Type":"application/json",...x.headers}};!d&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":y});let S=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let C=async()=>(S--,a(i,v).then(async E=>f(E)&&!r.isAborted&&S>0?(await Mr(u),C()):E.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),C()):E).catch(async E=>{if(g(E)&&!r.isAborted&&S>0)return await Mr(u),C();throw E}));C().then(async E=>{let N=await Nv(E);if(delete this.latestRequestByUrl[i],E.status>=500){s(new Or("Server Error",N));return}else if(E.status===401){s(new Mt("Unauthorized",N));return}else if(E.status===403){s(new Mt("Forbidden",N));return}else if(E.status===404){s(new Mt("Not Found",N));return}else if(E.status>=400){s(new Mt("Bad Request",N));return}l&&Nr.set(i,N),n(N)}).catch(E=>{s(E)})})}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 Ov;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Ov||={});function zn(t){return{...A(t),tags:t.tags}}var Ue=class t{constructor(e,o={}){this.options=o;this.client=new fe(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(),b.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...F(e),tags:e.tags},{version:"v2"});return zn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return A(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return A(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return A(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return A(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return A(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(),b.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 b.info(`Successfully retrieved conversation ${r.id} for session ${e}`),zn(r)}async isConversationSupported(e,o={}){b.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=F(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return zn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...F(s),tags:s.tags})),{version:"v2"})).map(s=>zn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,d])=>({...i,[a]:d}),{});return this.client.post("/api/events",F({...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:F({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return A(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw b.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",F(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}`,F(o),{abortLatest:!0})).map(r=>({...A(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(d=>d.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`,F(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 A(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",F(e),{abortLatest:!0});return A(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,F(e),{version:"v2"});return A(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,F({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return A(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return A(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return A(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 A(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 A(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return A(o)}async translateMessages(e){let o=await this.client.post("/api/translate",F(e),{version:"v2"});return A(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(oi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&b.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var ho=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ps(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,A(s))}catch{b.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 Dv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Dv||={});var yo=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=b;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return A(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,F(o));return A(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,F(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return A(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",F(e));return A(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new ho(`${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 zv,configureStore as Vv}from"@reduxjs/toolkit";import{createSlice as _v}from"@reduxjs/toolkit";var zc={startTime:null,stopTime:null},Vc=_v({name:"handlingTime",initialState:zc,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,()=>zc)}}),{handlingTimeStart:Wc,handlingTimeStop:Vn,handlingTimeReset:qc}=Vc.actions,Gc=Vc.reducer;var $c=(t={})=>{let e={onAuthError:ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Fv,createSlice as Hv}from"@reduxjs/toolkit";var Wn={list:{keywordMatches:[]},fetchState:"idle"};var rt=Fv("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 Wn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Bv=Hv({name:"styleSuggestions",initialState:Wn,reducers:{},extraReducers:t=>{t.addCase(rt.pending,e=>{e.fetchState="loading"}).addCase(rt.rejected,e=>{e.fetchState="error"}).addCase(rt.fulfilled,(e,o)=>{e.fetchState="done",Le(e.list,o.payload)||(e.list=o.payload)}).addCase(We,e=>{e.list=Wn.list}).addCase(M,()=>Wn)}}),jc=Bv.reducer;var Xc=(t={})=>{let e,o=!0,n={getStyleSuggestions:rt,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),d}};function Kv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Qc=(t={})=>{let e={getTextSuggestions:de,getAutocompleteSuggestions:to,debounce:200,check:wt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(f=d.conversation.current)==null?void 0:f.id,u=r.type===un.toString();if(!p||!l&&!c)return a;let{input:{userCommitted:m}}=d;return Kv(m,i)&&!u||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let y=ft(d);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},u?0:e.debounce)),a}};var Zc=rt.fulfilled.toString();function Uv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Jc=t=>e=>o=>n=>{var l;if(n.type!==Zc){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=Uv(s,i);n.type===Zc&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var Wv=zv({answer:rl,auth:ui,autoflows:Md,conversation:fi,contentTypes:ua,customMessages:Ud,passwordlessToken:Gd,entities:Fa,knowledgeAssistant:ol,handlingTime:Gc,info:_i,input:Ai,settings:si,profile:ml,search:Vi,summary:qa,styleSuggestions:jc,ui:Hl,rules:Qd,textSuggestions:Cl});function Yc(t){return Vv({reducer:Wv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),$c(),Qc({debounce:200}),Xc({debounce:500}),Jc(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var qv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Gv=t=>e=>o=>n=>{var a;let s=e.getState(),r=is("inlineSuggestions")(s);switch(n.type){case ct.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case q.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 No.toString():t.handleKeyDown(n.payload);break;case We.toString():t.logSendMessage(n.payload);break;case Oo.toString():t.handleInputChanged(n.payload);break;case tt.fulfilled.toString():n.isBroadcasted||t.broadcast(hs,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case We.toString():t.handleAfterSendMessage(n.payload);break;case oo.toString():t.onUpdateShowTabHint(n.payload);break;case Vn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case pe.toString():{let{start:d,end:l}=s.input.selection;t.emit("select-suggestion",{type:qv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:d,end:l}:{start:0,end:l}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(xe()));break}case Mo.toString():{let{start:d,end:l}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:d,end:l}:{start:0,end:l}},{mayApplyChanges:!0});break}case Bt.toString():{let d=e.getState(),{text:l,selection:c}=d.input.userCommitted;t.emit("reset",{text:l,selectionAfter:c},{mayApplyChanges:!0});break}case Do.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(Ne(0));break}case Ce.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},eu=Gv;function Dr(t){return t.toISOString().replace("T"," ").replace("Z","")}function tu(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:Dr(o),timeStop:Dr(n)}}function ou(t,e,o){var N,X,H;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:d,agentStartedTypingTimestamp:l,externalTimeTotalSeconds:c,pastes:p,cuts:u,deletions:m,textSuggestions:g,offeredTextSuggestions:f}}=e[t],y=n.length,v=g.reduce((I,{text:O,searchTerm:V})=>I+O.length-(V?V.length:0),0),S=l??Date.now(),R=(Date.now()-S)/1e3+(c||0),C=s/R,E=g.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:p,cuts:u,deletions:m,lenTextTyped:s+E,lenTextTotal:y,lenTextAssisted:v,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:R,charsPerSecond:C,numPastes:d,textSuggestionsV2:g,suggestionsCounters:[{source:"gpt",countOffered:f.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(X=e.info.agentInfo)==null?void 0:X.agentName,agentEmail:(H=e.info.agentInfo)==null?void 0:H.agentEmail}}function _r(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return _r(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?_r(s,e):null}function nu(t,e){return _r(t,e)}function su(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function $v(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Fr(t){return $v(t)&&(He(t)||bn(t))}var iu,he=new Map,jv=["bottom","height","left","right","top","width"],ru=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:jv.some(o=>t[o]!==e[o]);function au(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,...au(e)]:[]}function lu(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var qn=!1,du=()=>{qn=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();ru(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(lu,e.rect):e.rect;ru(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),he.size===0){qn=!1;return}iu=window.requestAnimationFrame(du)};function Hr(t,e){let o=au(t),n=[],s=o.map((r,i)=>Hr(r,a=>{n[i]=a;let d=he.get(t);if(!d)return;let l=n.reduce(lu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),he.has(t)){let i=he.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else he.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!qn&&du()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(iu),qn=!1)}}}}var cu,ye=new Map,uu=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.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)))}),ye.size!==0&&(cu=window.requestAnimationFrame(uu))};function pu(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&uu()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(cu)}}}}var Br=["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 Nt(t){return parseFloat(t)}function Gn(t){return Math.round(t*1e6)}function mu(t){return t/1e6}function Ur(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Nt(t.width),r=Nt(t.borderLeftWidth),i=Nt(t.borderRightWidth),a=Nt(t.paddingRight),d=mu(Gn(s)-Gn(r)-Gn(i)),l=mu(Gn(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function $n(t,e={}){var c;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};Kr(n,o,Br),Ur(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=pu(t,()=>{Kr(n,o,Br),Ur(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Hr(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),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,Br),Ur(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(),m=window.getComputedStyle(e.closestScrollElement),g=Nt(m.borderTopWidth),f=Nt(m.borderBottomWidth),y=u.top+g-p.top,x=p.top+p.height+-(u.top+u.height-f);o.style.clipPath=`inset(${y}px 0px ${x}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(c=t.parentElement)==null||c.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var gu=(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{b.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Xv(t){return t.offsetParent!==null}function fu(t){if(!Xv(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 zr(t,e,o=100){let n=fu(t);e({isVisible:n});let s=setInterval(()=>{let r=fu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as K}from"react/jsx-runtime";var hu=gu("showTabHint",!0),Xn=class t{static version="11.5.1-beta.4";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:d}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Ue(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[eu({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u,m)=>this.emit(p,u,m),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=>hu.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new yo(o)}),this.store=Yc(c),this.broadcastEvents=new Uc({debug:!0,deepdeskUrl:l,eventMap:Wi(this.store),createCustomChannel:d}),this.store.dispatch(oo(hu.value())),this.store.dispatch(Eo({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(b.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(b.warn("Profile has not been loaded (yet)"),!0):(b.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ct(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();j(n)&&ri(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){b.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ds({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Ro(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Po({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(cs(e))).payload}async postMessages(e){return(await this.store.dispatch(Ao(e))).payload}async updateConversation(e){return(await this.store.dispatch(Io(e))).payload}resetConversation(){this.store.dispatch(M()),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(Eo(e))}setVisitorInfo(e){this.store.dispatch(Oi(e))}setCustomData(e){this.store.dispatch(Di(e))}async setAgentInfo(e){await this.store.dispatch(Kt(e))}async setAgentSettings(e){await this.store.dispatch(gs(e))}async getAgentSettings(){return(await this.store.dispatch(fs())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(un()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Oo(e))}notifyKeyDown(e){this.store.dispatch(No(e))}notifyPaste(e,o){this.store.dispatch(ki({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ti(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(xe())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(tt({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Fe({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(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,d=s!==-1;if(this.store.dispatch(Ei(hi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(bi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},c=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(wi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Bt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?c():l();return;case"Down":case"ArrowDown":{i?l():c();return}case"Esc":case"Escape":{i&&d&&this.store.dispatch(Ne(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Ne(-1)),this.store.dispatch(Bt()),e.preventDefault()):o||(this.store.dispatch(Fe({collapse:!0})),this.store.dispatch(_l(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,u=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(oo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Ri()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(b.info("Start handling time"),this.store.dispatch(Wc()))}handlingTimeStop(){this.state.handlingTime.startTime&&(b.info("Stop handling time"),this.store.dispatch(Vn()))}logSendMessage(e){let o=ou("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=tu(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(qc())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(We(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({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){b.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),b.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=$n(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{jn(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,d]=$n(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{jn(s),d()})}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(()=>{jn(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),b.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()?(b.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ii(n.metrics))):b.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(!Fr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:g,closestScrollSelector:f,appendOverlayTo:y,inlineSuggestions:x,floatingMenu:v}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:x,floatingMenu:!!v}),o.automaticHandlingTime&&this.setupHandlingTime(e),Je(e),this.inputMediator=g||(He(e)?new At(e):new It(e)),this.inputMediator.on("change",({plainText:C})=>{this.notifyInputChanged(C)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Pi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",C=>{this.notifyKeyDown(C)}),this.inputMediator.on("paste",({pastedText:C,selectionText:E})=>{this.notifyPaste(C,E)}),this.inputMediator.on("cut",({selectionText:C})=>{this.notifyCut(C)});let S=f&&nu(e,f)||void 0;if(x){let{customStyles:C,appendOverlayTo:E}=o;if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Ot(K(Ye,{store:this.store,customStyles:C,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(Wl,{})})}),N),this.inputMediator.on("caret",H=>{this.store.dispatch(ue([])),H?(N.style.display="block",N.style.top=`${H.top}px`,N.style.left=`${H.left}px`):N.style.display="none"});let X=this.overlayContainerFactory("floating-menu",S||e,{appendTo:typeof v=="object"&&"appendOverlayTo"in v?v.appendOverlayTo:E},C==null?void 0:C.floatingMenuRootNode);Ot(K(Ye,{store:this.store,customStyles:C,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(Ol,{onLogIn:()=>this.loginViaPopup().catch(H=>b.warn(H.message))})})}),X)}else{let C=this.overlayContainerFactory("deepdesk-tab-completion",S||e,{appendTo:y,closestScrollElement:S,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),E=this.overlayContainerFactory("deepdesk-suggestions-overlay",S||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Ot(K(Ye,{store:this.store,customStyles:n,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(kd,{inputElement:e})})}),C),Ot(K(Ye,{store:this.store,customStyles:n,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(ed,{onLogIn:()=>this.loginViaPopup().catch(N=>b.warn(N.message))})})}),E)}Ot(K(Ye,{store:this.store,customStyles:n,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(Pl,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",C=>{clearTimeout(R),C===null?R=setTimeout(()=>{C!==null&&this.store.dispatch(us(C))},500):this.store.dispatch(us(C))}),this.inputMediator.on("disabled",()=>{var C;(C=this.inputMediator)==null||C.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(sr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(sr(!0))),this.store.dispatch(xi({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 C;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((C=this.state.conversation.current)==null?void 0:C.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&&b.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Ot(K(Ye,{store:this.store,customStyles:n,children:K(Ge,{broadcastEvents:this.broadcastEvents,children:K(_c,{onLogIn:()=>this.loginViaPopup().catch(i=>b.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&jn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=zr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){su(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(eo());let e=Te(this.state);e&&(await this.store.dispatch(Jt()),this.store.dispatch(Eo({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 d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=async m=>{var g,f;if((g=m.data)!=null&&g.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=m.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(zt),d=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{d=!0,l()}};let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=async m=>{var g;if(m.origin===a.origin)switch((g=m.data)==null?void 0:g.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(f,a.origin,[s.port2])}catch(f){b.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&b.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(b.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;b.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=dn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):wo.includes(n)||this.store.dispatch(de(n))})}catch(n){this.handleError(n)}}};async function Qv(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},d=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(d()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Zv(t,e,o={}){let n=o.replace?st(t,o.replace.start,o.replace.end):fo(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(`
|
|
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 Ll}from"react/jsx-runtime";var hf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Ml=({className:t,color:e})=>Ll("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ll("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:hf[e||"pink"]})});var Nl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var nr={};j(nr,{enUS:()=>yf,nlNL:()=>vf});var yf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},vf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as bf}from"react-redux";import{jsx as sr,jsxs as Ol}from"react/jsx-runtime";var Dl=({onLogIn:t})=>{let e=k(nr),o=w("floatingMenu"),n=w("productName"),s=bf(),r=xf(X),i=h("FloatingMenu",Nl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(ee(!0)):t()};return Ol("button",{className:Sf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[sr("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),Ol("div",{className:i.icon,children:[sr(Ml,{className:i.logo,color:"pink"}),r===!1&&sr(Al,{className:i.lock})]})]})};import{useEffect as Uf,useRef as zf}from"react";import{connect as Vf,useDispatch as Wf,useSelector as yn}from"react-redux";import{useEffect as Cf}from"react";function Ze(t){Cf(()=>{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 wt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as wf}from"@reduxjs/toolkit";var Tf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var gn=({ui:t})=>t.overlayCollapsed;var _l=wf({name:"ui",initialState:Tf,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:oo,setInputHasFocus:rr,setOverlayCollapsed:Fe,setOpenOverlayWhenTyping:Fl,setOverlayCollapsedUserOverwrite:Hl}=_l.actions,Bl=_l.reducer;import{Fragment as Hf,useMemo as Bf}from"react";import{Interweave as Rf}from"interweave";import{useEffect as Pf,useMemo as If,useRef as Af}from"react";import{useDispatch as Lf,useSelector as Mf}from"react-redux";import{useEffect as Ef}from"react";function Kl(t,e,o){Ef(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Ul={root:"dd-1MBCO",actions:"dd--x4cy",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as fn,jsxs as Ff}from"react/jsx-runtime";var Nf=["search","personal-collection-search","search-autocomplete"];function Of(t,e,o,n={}){let s="";return Nf.includes(e)?s=fa(Ns(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ns(t,o,n),n.placeholders===!0&&(s=ha(s)),s}var Df=()=>{},_f=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=w("inlineSuggestions"),r=Mf(ft),i=Lf(),a=h("TextSuggestion",Ul),d=Af(null);Pf(()=>{let c=setTimeout(()=>{i(wi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(c)}},[o]),Kl(d,"click",()=>{i(Ne(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=If(()=>Of(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:Ff("div",{className:a.root,onMouseEnter:()=>i(Ne(t)),children:[fn(A,{ref:d,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Df,children:fn(Rf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&fn("div",{className:a.actions,children:fn(tn,{onFeedback:()=>n(o),suggestion:o.text})})]})},zl=_f;import{jsx as Vl}from"react/jsx-runtime";var Kf=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Bf(()=>{let r=e.map((i,a)=>Vl(zl,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return Vl(Hf,{children:s})},hn=Kf;var Wl={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as vn}from"react/jsx-runtime";var qf=({textSuggestions:t,selectedIndex:e})=>{let o=zf(null),n=h("InlineSuggestionsOverlay",Wl),s=yn(wt),r=Wf(),i=yn(X),a=yn(mt),d=yn(gn),l=w("showTextSuggestions");return Ze(()=>{setTimeout(()=>{r(Fe({collapse:!0,skipWhenInputFocus:!0}))})}),Uf(()=>{let c=o.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),d||!s||!l||t.length===0||i!==!0||a===!1?null:vn("div",{className:n.root,"data-variant":"inline",children:vn("div",{ref:o,className:n.paper,children:vn(Y,{children:vn(hn,{suggestions:t,selectedIndex:e})})})})},Gf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),ql=Vf(Gf)(qf);import{Provider as $f}from"react-redux";import{jsx as Sn}from"react/jsx-runtime";var jf=({children:t})=>{let o=w("locale").replace("-","");return Sn(ks.Provider,{value:o,children:t})},Xf=({store:t,customStyles:e={},children:o})=>Sn($f,{store:t,children:Sn(jf,{children:Sn(_t.Provider,{value:e,children:o})})}),Ye=Xf;import cr from"classnames";import{useEffect as ah,useRef as lh,useState as dh}from"react";import{connect as ch,useDispatch as uh,useSelector as no}from"react-redux";import{useState as Qf}from"react";function Gl(t,e){let[o,n]=Qf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return x.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){x.error(i)}}]}var $l=()=>/Mac/i.test(navigator.platform);import Yf from"classnames";import{Fragment as eh,useCallback as ar,useMemo as Xl}from"react";var ir={};j(ir,{enUS:()=>Zf,nlNL:()=>Jf});var Zf={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"}]}]},Jf={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 jl={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as xn,jsxs as Ql}from"react/jsx-runtime";var lr=(t,e,o)=>n=>xn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),th=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=k(ir),i=oe(),a=h("Login",jl),d=w("productName"),l=ar(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),c=ar(y=>{y.preventDefault(),i.send(ht,!0)},[e]),p=Xl(()=>y=>xn("a",{onClick:v=>{v.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),u=ar(y=>xn("button",{type:"button",className:a.anchorButton,onClick:c,children:y},"prompt"),[c]),{min:m,hour:g,day:f}=Xl(()=>({min:lr(a,60*10,l),hour:lr(a,60*60,l),day:lr(a,60*60*12,l)}),[]);return Ql("div",{className:Yf(t,a.root),children:[r("loginPlease",{login:o?u:p,productName:d}),n&&Ql(eh,{children:[xn("br",{}),r("snooze",{min:m,hour:g,day:f})]})]})},bn=th;import{useDispatch as oh}from"react-redux";var Zl={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as Jl,jsxs as sh}from"react/jsx-runtime";var nh=({title:t})=>{let e=h("SearchTrigger",Zl),o=oh();return sh("button",{type:"button",className:e.root,onClick:()=>o(ee(!0)),children:[Jl(yt,{}),Jl("span",{className:e.text,children:t})]})},Yl=nh;var dr={};j(dr,{enUS:()=>rh,nlNL:()=>ih});var rh={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"}]},ih={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 ed={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2"};import{jsx as W,jsxs as so}from"react/jsx-runtime";var ph=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",ed),s=k(dr),r=no(wt),i=Si(),a=uh(),d=lh(null),l=w("searchTriggerKey"),c=w("productName"),p=no(gn),u=no(X),m=no(mt),[g,f]=dh(null),y=w("showSearch"),b=w("showTextSuggestions"),v=w("adminUrl"),S=w("isEmbedded"),[R,C]=Gl("dd-snooze-until-ms",0),E=p||R>Date.now(),O=no(F=>F.input.text),Q=t.filter(F=>F.source!=="gpt").length,B=()=>{E&&C(0),a(Hl(!E))},L=F=>{a(G({name:"suggestion feedback",data:{text:F.text,source:"overlay",context:O},options:{includeConversationData:!0}}))},_=F=>{let z=Date.now()+F*1e3;C(z),x.info(`Snooze until: ${new Date(z)}`),a(Fe({collapse:!0}))};return ah(()=>{Q===0&&f(null)},[t,Q]),Ze(()=>{a(Fe({collapse:!0,skipWhenInputFocus:!0}))}),u===null||m===!1?null:u===!1?so("div",{ref:d,className:cr(n.root,{[n.isCollapsed]:E}),children:[!E&&so("div",{className:n.triggers,children:[W("div",{style:{flex:1}}),W("div",{className:n.triggersRight,children:W(lt,{className:n.toggleButton,title:s("collapse"),onClick:B,isCollapsed:!1})})]}),W("div",{className:n.toggleButtonWrapper,children:W(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:B,isCollapsed:!0})}),W("div",{className:n.collapsible,children:W(bn,{loginUrl:v,isEmbedded:S,onLogIn:o,onSnooze:_})})]}):!i||!r?null:so("div",{ref:d,className:cr(n.root,{[n.isCollapsed]:E}),children:[!E&&so("div",{className:n.triggers,children:[W("div",{style:{flex:1},children:y&&W("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(s($l()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>f(null),children:W(Yl,{title:s("search")})})}),so("div",{className:n.triggersRight,onFocus:()=>{},children:[W("div",{className:cr(!g&&n.hintsHidden,n.hints),children:g}),W(lt,{className:n.toggleButton,title:s("collapse"),onClick:B,isCollapsed:!1})]})]}),W("div",{className:n.toggleButtonWrapper,children:W(lt,{className:n.toggleButton,title:s("open",{productName:c}),onClick:B,isCollapsed:!0})}),Q>0&&b&&W("div",{className:n.collapsible,onFocus:()=>{},children:W(Y,{children:W(hn,{onFeedback:L,suggestions:t,selectedIndex:e,reverse:!0})})})]})},mh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),td=ch(mh)(ph);import br from"classnames";import{Interweave as cy}from"interweave";import{useCallback as uy,useEffect as py,useMemo as kd,useRef as my}from"react";import{connect as gy}from"react-redux";import{useEffect as gh,useRef as fh,useState as hh}from"react";function Cn(t){return t.contentEditable==="true"}function yh(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 od(t){let{selectionStart:e,selectionEnd:o}=Cn(t)?yh(t):t;return[e,o]}function nd(t){let[,e]=hh(),o=fh(null);return o.current=od(t),gh(()=>{let n=()=>{let[s,r]=o.current??[],i=od(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 sd(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(wo);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=n.indexOf(d,a);return s>l&&r<l+d.length?(o.selectionStart=l,o.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as vh}from"react";var Sh=["div","span","mark","strong","b","i","u","em"];function ur(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(Sh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),vh(n,{children:ur(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var rd={agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import Bh from"classnames";import{Matcher as Kh}from"interweave";import{useEffect as Uh,useMemo as zh}from"react";import{useEffect as xh,useRef as bh,useState as Ch}from"react";function id(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function wn(t){let e=bh(null),[o,n]=Ch(!1);return xh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=id((c,p)=>{let u=e.current;if(!u)return;let m=c/r,g=p/r,f=u.getBoundingClientRect(),y=m>f.x&&m<f.x+f.width&&g>f.y&&g<f.y+f.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:c,clientY:p})=>[c,p]),[d,l]=id(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,o]}function ad(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Tn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function ld(t){return t!=null}import md from"classnames";import{createRef as Mh,useCallback as mr,useMemo as Nh,useRef as Oh,useState as Dh}from"react";import{useState as wh,useLayoutEffect as Th}from"react";var Eh=["bottom","height","left","right","top","width"],kh=(t={},e={})=>Eh.some(o=>t[o]!==e[o]),Ee=new Map,dd,cd=()=>{let t=[],e=[];Ee.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();kh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ee.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),dd=window.requestAnimationFrame(cd)};function Rh(t,e){return{observe(){let o=Ee.size===0;if(Ee.has(t)){let n=Ee.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ee.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&cd()},unobserve(){let o=Ee.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ee.delete(t),Ee.size||cancelAnimationFrame(dd)}}}}function pr(t){let[e,o]=wh(null);return Th(()=>{if(!t.current)return;let n=Rh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Ph,useLayoutEffect as Ih,useState as Ah}from"react";import{createPortal as Lh}from"react-dom";var ud={root:"dd-r-dgo"};var pd=({children:t,parentNode:e})=>{let[o,n]=Ah(null),s=Ph(_t);return Ih(()=>{let r=document.createElement("div");return Je(r),r.classList.add(ud.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?Lh(t,o):null};var me={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as gr}from"react/jsx-runtime";var En=(t=!1)=>{let[e,o]=Dh(t),n=mr(()=>o(!0),[]),s=mr(()=>o(!1),[]),r=mr(()=>o(a=>!a),[]),i=Oh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function fr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Tt=({className:t,triggerRef:e,boundaryRef:o=Mh(),position:n="above",align:s="center",children:r,toStyle:i=fr,parentNode:a,...d})=>{let l=pr(e),c=pr(o),p=Nh(()=>i(l,c,0),[l,c]);return gr(pd,{parentNode:a,children:gr("div",{className:md(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,...d,role:"dialog",children:gr("div",{className:md(t,me.root),children:r})})})};import _h from"classnames";import{forwardRef as Fh,useRef as Hh}from"react";var ke={agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as gd}from"react/jsx-runtime";var kn=Fh(({className:t,children:e,...o},n)=>{let s=Hh(null),r=h("TabCompletion",ke);return gd("div",{ref:Tn([s,n]),className:_h(t,r.popoverContentContainer),...o,children:gd("div",{className:r.popoverContent,children:e})})});import{jsx as ro,jsxs as qh}from"react/jsx-runtime";var Vh=t=>e=>{let o=fr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Wh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ke),i=En(),a=zh(()=>Vh(t.getBoundingClientRect()),[t]),[d,l]=wn(t);return Uh(()=>{l?i.open():i.close()},[l]),qh("span",{children:[ro("mark",{ref:Tn([d,i.triggerRef]),className:Bh(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&ro(Tt,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:ro(kn,{style:o,children:ro("div",{className:r.hintText,children:s})})})]})},Rn=class extends Kh{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${ad(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(ld);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 ro(Wh,{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 Gh}from"interweave";import $h from"classnames";import{jsx as fd}from"react/jsx-runtime";var jh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ke),[n,s]=wn(t);return fd("mark",{ref:n,className:$h(o.matchPlaceholder,{[o.hover]:s}),children:e})},Pn=class extends Gh{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 fd(jh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import xr from"classnames";import{Matcher as ny}from"interweave";import{createRef as sy,forwardRef as ry,useCallback as iy,useEffect as wd,useRef as Td,useState as Ed}from"react";import{useDispatch as ay}from"react-redux";import{jsx as hd}from"react/jsx-runtime";var yd=()=>hd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:hd("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 Xh,useEffect as Sd,useState as xd}from"react";import{useDispatch as Qh,useSelector as bd}from"react-redux";import Zh from"lodash.debounce";var vd={root:"dd-ky-Bv",content:"dd-kV5e1"};function In(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 hr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as et,jsxs as yr}from"react/jsx-runtime";var Jh=3,Yh=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),ey=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=Jh})=>{let r=h("LinkSearch",vd),[i,a]=xd(""),d=Qh(),l=bd(xl("url")),c=bd(zi("URL",Yh)),[p,u]=xd(c.length-1),m=w("fallbackImage"),g=v=>{let S=v.target;a(S.value)},f=(v,S)=>{v.stopPropagation(),v.preventDefault(),window.open(S,"_blank")},y=v=>{var C;let S=p-1<0?c.length-1:p-1,R=p+1===c.length?0:p+1;v.code==="Escape"&&(a(""),e()),v.code==="ArrowUp"&&u(S),v.code==="ArrowDown"&&u(R),v.code==="Enter"&&t(((C=c[p])==null?void 0:C.text)||i)},b=Xh(Zh(v=>{d(qe({query:v,type:"URL",tags:["link-search"]}))},300),[]);return Sd(()=>{i&&b(i)},[i]),Sd(()=>()=>{d(Ho())},[]),yr("div",{className:r.root,children:[et(Y,{withDivider:!0,children:(i?c:l).slice(0,s).map((v,S)=>et(A,{selected:p===S,onClick:()=>t(v.text),"data-testid":"linksearch-suggestion",children:yr(D,{children:[et(D.Image,{src:In(v,"small",m||void 0),title:v.title||v.text}),yr(D.Content,{className:r.content,cropText:!0,children:[et(D.Title,{children:v.title||hr(v.text)}),v.title&&hr(v.text)]}),et(A.Actions,{children:et(A.ActionButton,{label:n,onClick:R=>f(R,v.text)})})]})},v.text))}),et($t,{value:i,onChange:g,autoFocus:!0,placeholder:o,onKeyUp:y})]})},Cd=ey;var vr={};j(vr,{enUS:()=>ty,nlNL:()=>oy});var ty={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},oy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ge,jsxs as Sr}from"react/jsx-runtime";var ly=ry((t,e)=>{let o=h("TabCompletion",ke);return ge("mark",{ref:e,className:xr(o.matchSelection)},"selection-start")}),dy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=k(vr),i=h("TabCompletion",ke),a=Td(null),d=Td(null),[l,c]=Ed(null),p=ay(),u=En(document.activeElement===n),[m]=Ed(()=>document.createRange());u.triggerRef.current=m,wd(()=>()=>m.detach(),[]),wd(()=>{let f=t.current,y=a.current;!f||!y||(m.setStart(f,0),m.setEnd(y,0))},[t.current,a.current]),Ze(()=>{u.close()});let g=iy(f=>{let y=m.toString(),b=/^http(s?):\/\//.test(f)?f:`https://${f}`;p(No({text:`[${y}](${b})`,replace:"selection"}))},[]);return Sr("span",{children:[ge("mark",{ref:a,className:xr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&ge(Tt,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:Sr(kn,{style:o,ref:d,children:[ge("div",{className:xr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:Sr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[ge(yd,{}),ge("span",{children:"\xA0"}),ge("span",{children:r("insertLink")})]})}),l==="insertLink"&&ge(Cd,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:g,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},An=class extends ny{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=sy(),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?ge(ly,{ref:this.startRef}):ge(dy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as fy}from"react-redux";import{jsx as Et,jsxs as vy}from"react/jsx-runtime";var hy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=h("TabCompletion",rd),c=w("insertLink"),p=w("showMidSentenceSuggestions"),u=w("inlineSuggestions"),m=nd(a),g=my(null),f=fy(X);py(()=>{He(a)&&m&&sd(a,m)},[m]);let y=uy(S=>{if(!s||!o)return S;let R=[Et("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Et("span",{"data-testid":"tab-completion",className:br(l.tabText,l.resetIndent),"data-source":d,children:o},"tabText")];return n&&R.push(Et("span",{className:br(l.hint,l.resetIndent),children:Et(es,{keyCode:"tab"},"tabHint")})),ur(S,R)},[s,o,n]),b=kd(()=>{let S=[];return c&&S.push(new An("selection")),S.push(new Pn("placeholders")),r&&S.push(new Rn("keywords")),S},[u,c,r]),v=kd(()=>{let S=window.getComputedStyle(a);return{"--dd-color":S.color,"--dd-font-size":S.fontSize,"--dd-font-family":S.fontFamily,"--dd-font-variant":S.fontVariant}},[]);return!t||!f?null:vy("div",{ref:S=>{S!=null&&S.parentElement&&(g.current=S==null?void 0:S.parentElement)},className:l.root,style:v,children:[Et(cy,{tagName:"span",containerTagName:"div",className:br(l.container,l.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:y,matchers:b,selection:m,keywordMatches:i,inputElement:a,inputStyle:v,boundaryRef:g,inlineSuggestionsOnlyAtEnd:!p}),Et("br",{})]})},yy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var f;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",d=t.html??Qt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:c}=e,{isSupported:p}=s,{showTabCompletion:u,visible:m,showStyleSuggestions:g}=o;return{showTabHint:c,showStyleSuggestions:g,showTabCompletion:u,content:d,tabText:l,source:a,keywordMatches:((f=n.list)==null?void 0:f.keywordMatches)??[],enabled:m&&p!==!1}},Rd=gy(yy)(hy);import Tv from"classnames";import{Fragment as Ev,useEffect as _c}from"react";import{useDispatch as Fn,useSelector as K}from"react-redux";import{createAsyncThunk as io,createSlice as Sy}from"@reduxjs/toolkit";var Pd={list:[],fetchState:"idle"},Ad=t=>t.autoflows.list||[],Id=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Re=io("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),Cr=io("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(Re(t.platformSessionId))}),wr=io("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(Re(t.platformSessionId))}),xy=Sy({name:"autoflows",initialState:Pd,reducers:{},extraReducers:t=>{t.addCase(Cr.pending,(e,o)=>{let n=Id(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(wr.pending,(e,o)=>{let n=Id(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Re.pending,e=>{e.fetchState="loading"}),t.addCase(Re.rejected,e=>{e.fetchState="error"}),t.addCase(Re.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(M,()=>Pd)}}),Ld=io("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(Re(t))}),s.on("sessionCompleted",()=>{o(Re(t))})}),Md=io("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Nd=xy.reducer;import{createAsyncThunk as lo,createSlice as by}from"@reduxjs/toolkit";var Od={list:[],fetchState:"idle",sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Dd=t=>t.customMessages.list,_d=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Fd=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Hd=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ao=lo("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Ln=lo("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)}),Mn=lo("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)}),Bd=by({name:"customMessages",initialState:Od,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ao.pending,e=>{e.fetchState="loading"}).addCase(ao.rejected,e=>{e.fetchState="error"}).addCase(ao.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Ln.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Ln.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Mn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Mn.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,()=>Od)}}),Kd=lo("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(Bd.actions.onCustomMessage(r))})}),Ud=lo("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),zd=Bd.reducer;var Vd=t=>e=>{let{passwordlessToken:{token:o},settings:{isEmbedded:n,adminUrl:s}}=e;return s?n?o?`${s}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null:`${s}${t}`:null};import{createAsyncThunk as Wd,createSlice as Cy}from"@reduxjs/toolkit";var wy={token:null,interval:null},Tr=Wd("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return{token:await o.requestPasswordlessToken()}}),Er=Wd("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(Tr()),setInterval(()=>n(Tr()),o)}),qd=Cy({name:"passwordlessToken",initialState:wy,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(Tr.fulfilled,(e,o)=>{e.token=o.payload.token}),t.addCase(Er.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Gd}=qd.actions,$d=qd.reducer;import{createAction as Ty,createAsyncThunk as Ey,createSlice as ky}from"@reduxjs/toolkit";var kr={cues:[],fetchState:"idle"},jd=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ry=Ty("rules/resetCues"),tt=Ey("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(c=>c.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return x.info(s.message),[]}}),Xd=ky({name:"answer",initialState:kr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(tt.pending,e=>{e.fetchState="loading"}).addCase(tt.rejected,e=>{e.fetchState="error"}).addCase(tt.fulfilled,(e,o)=>{let n=o.payload.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload,...s]}).addCase(M,()=>kr).addCase(Ry.toString(),()=>kr)}}),{removeCue:Qd}=Xd.actions,Zd=Xd.reducer;import{Fragment as Fy}from"react";import{connect as Hy}from"react-redux";import Oy from"classnames";import{Fragment as Dy}from"react";import Py from"classnames";var Jd={root:"dd-uszkm"};import{jsx as Ay}from"react/jsx-runtime";var Iy=({className:t,children:e})=>{let o=h("Unicode",Jd);return Ay("span",{className:Py(t,o.root),children:e})},Yd=Iy;var ec={isDisabled:"dd-Sp--t",root:"dd-maqTG",buttonStop:"dd-rcq8w",stateBadge:"dd-zOnkT",isCompleted:"dd-GA-rt",isStarted:"dd-PZwtX",isAborted:"dd-PAXSE"};var Rr={};j(Rr,{enUS:()=>Ly,nlNL:()=>My});var Ly={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"}]},My={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 ot,jsxs as Nn}from"react/jsx-runtime";var _y=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",ec),a=k(Rr),d=e==="Started"?"stop":"start",l=d==="start"?"\u25B6":d==="stop"?"\u25FC":"";return Nn(A,{className:Oy(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[ot(D,{children:Nn(D.Content,{children:[Nn(D.Title,{children:[e&&ot("span",{className:i.stateBadge,children:a(e)}),o]}),ot("span",{children:n})]})}),ot(A.Actions,{fixed:e==="Started",children:ot(A.ActionButton,{primary:!0,className:d==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Nn(Dy,{children:[ot(Yd,{children:l})," ",ot("span",{children:a(d)})]})})})]})},tc=_y;import{jsx as oc}from"react/jsx-runtime";var By=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},Ky=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>oc(Fy,{children:t.map(s=>oc(tc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||By(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Uy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},zy={onStartAutoflow:Cr,onStopAutoflow:wr},nc=Hy(Uy,zy)(Ky);import Vy from"classnames";import{useCallback as sc}from"react";import{useDispatch as Wy,useSelector as On}from"react-redux";var Pe={root:"dd-ERsBr",title:"dd-b36p6",isUsed:"dd-fp2IX",quickReplies:"dd--VrvP",quickReply:"dd-wFhWh",label:"dd-R9sND",errorIcon:"dd-8cdcH"};import{jsx as Be,jsxs as Dn}from"react/jsx-runtime";var qy=({suggestion:t})=>{let e=k(Xe),o=Wy(),n=On(_d(t.text)),s=On(Fd(t.text)),r=On(Hd(t.text)),i=On(pt),{replyOptions:a}=t,d=sc(c=>{c.preventDefault(),c.stopPropagation(),!(n||!i)&&o(Ln({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=sc(c=>{if(c.preventDefault(),c.stopPropagation(),!i||!a)return;let p=parseInt(c.target.dataset.index,10),u=a[p];o(Mn({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return Dn(A,{onClick:d,className:Vy(Pe.root,{[Pe.isUsed]:n,[Pe.hasError]:r}),children:[Be(D,{children:Dn(D.Content,{children:[Dn(D.Title,{className:Pe.title,children:[t.text," ",Be(ts,{className:Pe.label,children:"analyse tool"})," ",r&&Be("span",{className:Pe.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Be("ul",{className:Pe.quickReplies,children:a.map(c=>Be("li",{className:Pe.quickReply,children:c.title},c.title))})]})}),Dn(A.Actions,{fixed:r||n,children:[a&&a.length>0&&Be(A.DropdownButton,{label:e("answer"),disabled:s,children:a.map((c,p)=>Be(A.DropdownItem,{index:p,label:c.title,onClick:l},c.title))}),Be(A.ActionButton,{primary:!0,disabled:n,onClick:d,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},rc=qy;import{useEffect as Gy,useState as $y}from"react";import{useDispatch as jy}from"react-redux";import lc from"classnames";import{jsx as ic}from"react/jsx-runtime";var co=()=>ic("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:ic("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 ac={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as kt,jsxs as dc}from"react/jsx-runtime";var Xy=({entities:t})=>{let e=h("EntitiesWidgetList",ac),[o,n]=$y(void 0),s=jy(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),be(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return Gy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:kt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>dc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[kt("span",{className:e.entityText,children:a.text}),dc("span",{className:e.iconWrapper,children:[kt("span",{className:lc(e.icon),children:kt(co,{})}),kt("span",{className:lc(e.icon,o===d&&e.iconClicked),children:kt(co,{})})]})]},a.text))})},cc=Xy;import{jsx as uc}from"react/jsx-runtime";var pc=()=>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 mc}from"react/jsx-runtime";var gc=()=>mc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:mc("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 fc}from"react/jsx-runtime";var hc=()=>fc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:fc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as uv}from"react-redux";import wc from"classnames";import{useEffect as lv,useState as dv}from"react";import{jsx as yc,jsxs as Qy}from"react/jsx-runtime";var vc=({className:t})=>Qy("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[yc("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),yc("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import Zy from"dompurify";import{Fragment as Jy,useMemo as Yy,useRef as ev,useState as tv}from"react";import ov from"snarkdown";var Sc={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{jsx as uo,jsxs as xc}from"react/jsx-runtime";function nv(t){return`<button type="button" class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function Pr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function sv(t){return t.replace(/\r\n/g,`
|
|
8
|
+
`)}var rv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",Sc),i=ev(null),[a,d]=tv(null),l=Yy(()=>{let g=ov(sv(t));return Zy.sanitize(g).replace(/<\/code>/g,`${nv(r.copyIcon)}</code>`)},[t]),c=g=>{var b;let f=g.target,y=!!((b=i.current)!=null&&b.querySelector("code"));a||y&&f.tagName!=="CODE"||!y&&f!==i.current||(f.addEventListener("mouseleave",()=>d(null),{once:!0}),d(f))},p=()=>{if(!a)return;d(null);let g=a.querySelector("button");g&&(we(g,r.fadeup),n(Pr(a)))},u=g=>{g.target.tagName.toLowerCase()==="button"&&(we(g.target,r.fadeup),n(Pr(g.target.parentElement)))},m=()=>{a&&(d(null),s(Pr(a)))};return xc(Jy,{children:[a&&uo(Tt,{triggerRef:{current:a},parentNode:a,className:r.popover,children:xc("div",{className:r.options,children:[uo("button",{type:"button",className:r.option,onClick:p,children:o}),uo("div",{className:r.divider}),uo("button",{type:"button",className:r.option,onClick:m,children:e})]})}),uo("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},bc=rv;var Ir={};j(Ir,{enUS:()=>iv,nlNL:()=>av});var iv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},av={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var Cc={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l"};import{jsx as Ie,jsxs as Tc}from"react/jsx-runtime";var cv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",Cc),a=k(Ir),d=xt(),[l,c]=dv(null),p=y=>{o&&o(y,t)},u=y=>{n&&n(y,t)},m=y=>{y.preventDefault(),y.stopPropagation(),e(t)},g=y=>{y.preventDefault(),y.stopPropagation(),we(y.target,i.fadeup),c("up"),s(t)},f=y=>{y.preventDefault(),y.stopPropagation(),we(y.target,i.fadedown),c("down"),r(t)};return lv(()=>{d("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label,cueText:t.text})},[]),Tc(A,{"data-testid":"cue",children:[Ie(D,{children:Tc(D.Content,{children:[t.title&&Ie(D.Title,{className:i.title,"data-testid":"widget-cue-title",children:t.title}),Ie(bc,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:p,onUse:u})]})}),Ie(A.IconButton,{title:a("thumbsUp"),onClick:g,icon:Ie(rn,{}),className:wc(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Ie(A.IconButton,{title:a("thumbsDown"),onClick:f,icon:Ie(sn,{}),className:wc(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Ie(A.IconButton,{title:a("removeCue"),onClick:m,icon:Ie(vc,{})})]})},Ec=cv;import{Fragment as mv,jsx as kc}from"react/jsx-runtime";var pv=({cues:t})=>{let e=uv(),o=oe(),n=xt(),s=l=>{e(Qd({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description,cueText:l.text})},r=(l,c)=>{be(l),n("Assistant response copied",{name:c.rule.name,group:c.rule.label,description:c.rule.description,copiedText:l})},i=(l,c)=>{o.send(Oe,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:c.rule.name,group:c.rule.label,description:c.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up",cueText:l.text})},d=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down",cueText:l.text})};return kc(mv,{children:t.map(l=>kc(Ec,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:d,onThumbsUp:a},l.rule.id))})},Rc=pv;import{Fragment as gv,useEffect as fv}from"react";var Pc={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as nt,jsxs as Ic}from"react/jsx-runtime";function hv(t,e){return e.split(".").reduce((o,n)=>!o||typeof o!="object"||!(n in o)?null:o[n],t)}var Ac=({data:t,schema:e})=>{let o=h("WidgetCustomData",Pc),n=s=>{be(s)};return fv(()=>{x.info("Custom data",t,e)},[t]),nt("dl",{className:o.root,children:e.map(s=>{let r=hv(t,s.path);return Ic(gv,{children:[nt("dt",{className:o.label,children:s.label}),nt("dd",{className:o.value,children:s.type==="boolean"&&r?nt("span",{className:o.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?nt("span",{className:o.isFalse,children:s.falseValue}):r?Ic("button",{type:"button",onClick:()=>n(r),className:o.copyButton,children:[nt("span",{children:r}),nt(co,{})]}):"-"})]},s.label)})})};import{useCallback as vv}from"react";var yv=/(https?:\/\/[^\s]+)/,Lc=t=>t.split(" ").find(e=>yv.test(e));import{jsx as Rt,jsxs as _n}from"react/jsx-runtime";var Sv=({suggestion:t,lines:e,onUse:o})=>{var c;let n=t.text||t.url||t.message,s=Lc(n),r=k(Xe),i=w("showImages"),a=w("fallbackImage"),d=p=>{p.preventDefault(),p.stopPropagation(),o(n)},l=vv(p=>{window.open(s,"_blank"),p.stopPropagation(),p.preventDefault()},[s]);return _n(A,{onClick:d,"data-testid":"edit-suggestion",children:[_n(D,{children:[i&&t.image&&Rt(D.Image,{src:In(t,"small",a||void 0),title:t.title}),_n(D.Content,{children:[t.title&&Rt(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((c=t.searchKeywords)==null?void 0:c.length)>0&&Rt(A.Labels,{labels:t.searchKeywords}),Rt(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),_n(A.Actions,{children:[s&&Rt(A.ActionButton,{onClick:l,label:r("visitUrl")}),Rt(A.ActionButton,{primary:!0,onClick:d,label:r("useSuggestion")})]})]})},Mc=Sv;import{Fragment as bv,jsx as Nc}from"react/jsx-runtime";var xv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Oe,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return Nc(bv,{children:e.map(s=>Nc(Mc,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Oc=xv;var po={};j(po,{enUS:()=>Cv,nlNL:()=>wv});var Cv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},wv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var mo={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",sectionList:"dd-bF9pF",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",link:"dd-DRo0x"};import{jsx as P,jsxs as Pt}from"react/jsx-runtime";var Hn=(t,e)=>{let o=K(X);_c(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},kv=({onLogIn:t})=>{let e=h("Widget",mo),o=w("isEmbedded"),n=w("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(bn,{isEmbedded:o,loginUrl:n,onLogIn:t})})},"login")},Dc=({text:t})=>{let e=h("Widget",mo);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Rv=()=>{let t=k(po),e=Fn(),o=h("Widget",mo),n=w("showSearch"),s=w("showSummaryCommand"),r=w("showKnowledgeSearch"),i=K(Vd("/admin/")),a=oe(),d=w("productName"),l=n||s||r||i;return Hn(()=>(e(Er()),()=>{e(Gd())}),[e]),l?P(ve,{title:t("actions"),type:"shortcuts",children:Pt("div",{className:o.shortcutList,children:[n&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-search","aria-label":t("linkSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0}),children:[P(yt,{}),t("linkSearch")]}),s&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-summary","aria-label":t("linkSummary"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[P(hc,{}),t("linkSummary")]}),r&&Pt("button",{type:"button",className:o.shortcut,"data-testid":"shortcut-knowledge-assist","aria-label":t("linkKnowledgeSearch"),onClick:()=>a.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[P(gc,{}),t("linkKnowledgeSearch")]}),i&&Pt("a",{className:o.shortcut,target:"_blank",href:i,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:d}),rel:"noreferrer",children:[P(pc,{}),t("linkStudioLogin",{productName:d})]})]})}):null},Pv=()=>{let t=Fn(),e=w("showCustomMessages"),o=K(Dd),n=K(pt);return Hn(()=>(t(ao(n)),t(Kd(n)),()=>{t(Ud(n))}),[t,e,n]),!e||o.length===0?null:P(ve,{type:"custom-messages","data-testid":"custom-messages",children:P(Y,{withDivider:!0,children:o.map(s=>P(rc,{suggestion:s},s.text))})})},Iv=()=>{let t=k(po),e=Fn(),o=w("showAutoflows"),n=K(Ad),s=K(pt);return Hn(()=>(e(Re(s)),e(Ld(s)),()=>{e(Md(s))}),[e,o,s]),!o||n.length===0?null:P(ve,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:P(Y,{withDivider:!0,children:P(nc,{})})})},Av=()=>{let t=Fn(),e=K(cn),o=K(ml),n=K(jd),s=K(Ni),r=K(nn),i=K(un),a=K(Te),d=K(Ro);return _c(()=>{!!s&&!o&&x.warn("Custom data provided, but no schema.")},[s,o]),Hn(()=>{e.forEach(({type:l})=>{l==="entities"?t(ae()):To.includes(l)||t(de(l))})},[t,d,a]),P(Ev,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m})=>{var g,f;switch(l){case"entities":return r&&r.length>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(cc,{entities:r})},l);case"cues":return n&&n.length>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(Y,{withDivider:!0,children:P(Rc,{cues:n})})},l);case"custom-data":return s&&m&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(Y,{withDivider:!0,children:P(Ac,{data:s,schema:m})})},l);default:return((f=(g=i[l])==null?void 0:g.suggestions)==null?void 0:f.length)>0&&P(ve,{type:l,title:c,"data-testid":`type-${l}`,children:P(Y,{withDivider:!0,children:P(Oc,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},Lv=({onLogIn:t})=>{let e=k(po),o=h("Widget",mo),n=K(mt),s=K(X),r=K(pt),i=K(Te);return n===!1?P(Dc,{text:e("notSupported")}):s===!1?P(kv,{onLogIn:t}):!i||!r||s===null?P(Dc,{text:e("waiting")}):P("div",{className:Tv(o.root),"data-testid":"widget",children:Pt(ns,{className:o.sectionList,children:[P(Rv,{}),P(Pv,{}),P(Iv,{}),P(Av,{})]})})},Fc=Lv;function fo(t){let e=new Range;return e.selectNodeContents(t),e}function Hc(t,e,o){try{return st(t,e,o),!0}catch{return!1}}function Bn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Kn(t){return"tagName"in t&&t.tagName==="BR"}var go=/[\u200B-\u200D\uFEFF]/g;function st(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(d,l){let c=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(d))return l;for(let u=0;u<=d.length;u++)if(p.test(d[u])||c++,c===l)return u;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(go,""),p=s+c.length,u=e>=s&&e<=p,m=o>=s&&o<=p;if(u){let g=i(l,e-s);g===0&&!m?n.setStartBefore(d):n.setStart(d,g)}m&&(n.setEnd(d,i(l,o-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(Kn(d)&&(s===e&&n.setStartBefore(d),s++,s===o)){n.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;Bn(d)&&l&&!Bn(l)&&!Kn(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Un(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===o,m=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;u&&(a=l+g.substring(0,n).replace(go,"").length),m&&(d=l+g.substring(0,r).replace(go,"").length),l+=g.replace(go,"").length;break}case Node.ELEMENT_NODE:{let g=p.nextSibling===null;Kn(p)&&!g&&l++;for(let f=0;f<p.childNodes.length;f++){let y=u&&f===n,b=m&&f===r;if(y&&(a=l),b&&(d=l),d!==void 0||((!y||!i)&&c(p.childNodes[f]),m&&f===r-1&&(d=l),d!==void 0))break}!m&&Bn(p)&&!g&&l++,m&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a??d,end:d}}function zn(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 d(l){let c=l===o,p=l===s;switch(c&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=c?n:0,m=p?r:void 0,g=l.textContent.replace(go,"");u===0&&m===void 0?a+=g:a+=g.substring(u,m);break}case Node.ELEMENT_NODE:{let u=l.nextSibling===null;i===0&&Kn(l)&&!u&&(a+=`
|
|
9
|
+
`);for(let m=c?n:0;m<(p?Math.min(r,l.childNodes.length):l.childNodes.length)&&(d(l.childNodes[m]),i!==1);m++);!p&&i===0&&Bn(l)&&!u&&(a+=`
|
|
10
|
+
`);break}default:break}p&&i++}return d(t),a}var Bc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Bc||{}),Ke=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Le(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Bc).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(e={shouldObserve:!0}){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},0);let o=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e!=null&&e.shouldObserve&&o.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{o.disconnect()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function Kc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var It=class extends Ke{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),zn(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!Kc(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Kc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Un(this.element,e);let o=this.lastKnownSelection;if(o&&Hc(this.element,o.start,o.end))return o;let n=fo(this.element);return n.collapse(!1),Un(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return zn(this.element,st(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(e={shouldObserve:!0}){super.listen(e),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),e!=null&&e.shouldObserve&&this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let o=this.element.isContentEditable,n=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>n.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var At=class extends Ke{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 Uc(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Mv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Ar=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()}},Lr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Uc(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()}},Mr=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(),x.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 Lr(e,this.deepdeskUrl,{debug:!0}):new Ar(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Mv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(x.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;x.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)}},zc=Mr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Nr=t=>new Promise(e=>{setTimeout(e,t)});var Mt=class extends Lt{name="ClientError"},Dr=class extends Lt{name="ServerError"},Or=new Map;async function Nv(t){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e&&e.includes("application/json"))return t.json();let o=await t.text();return o===""?null:(x.warn("Unexpected response body:",o.slice(0,20)),JSON.parse(o))}var fe=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,d=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:g=E=>E instanceof TypeError,retryOnResponse:f=E=>E.status>=500,version:y="v1",...b}=o;if(l)if(d){if(Or.has(i)){n(Or.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let v={credentials:"include",...b,headers:{"Content-Type":"application/json",...b.headers}};!d&&this.csrfToken&&(v.headers={...v.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(v.headers={...v.headers,"X-Deepdesk-API-Version":y});let S=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let C=async()=>(S--,a(i,v).then(async E=>f(E)&&!r.isAborted&&S>0?(await Nr(u),C()):E.status===401&&m===!0&&R===!1?(R=!0,await this.refreshToken(),C()):E).catch(async E=>{if(g(E)&&!r.isAborted&&S>0)return await Nr(u),C();throw E}));C().then(async E=>{let O=await Nv(E);if(delete this.latestRequestByUrl[i],E.status>=500){s(new Dr("Server Error",O));return}else if(E.status===401){s(new Mt("Unauthorized",O));return}else if(E.status===403){s(new Mt("Forbidden",O));return}else if(E.status===404){s(new Mt("Not Found",O));return}else if(E.status>=400){s(new Mt("Bad Request",O));return}l&&Or.set(i,O),n(O)}).catch(E=>{s(E)})})}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 Ov;(e=>{let t;(d=>(d.SEND_MESSAGE="Send Message",d.HANDLING_TIME="Handling Time",d.START_AUTOFLOW="Start Autoflow",d.ABORT_AUTOFLOW="Abort Autoflow",d.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",d.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Ov||={});function Vn(t){return{...I(t),tags:t.tags}}var Ue=class t{constructor(e,o={}){this.options=o;this.client=new fe(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(),x.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...H(e),tags:e.tags},{version:"v2"});return Vn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return I(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return I(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return I(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return I(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});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(),x.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 x.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Vn(r)}async isConversationSupported(e,o={}){x.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=H(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Vn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...H(s),tags:s.tags})),{version:"v2"})).map(s=>Vn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,d])=>({...i,[a]:d}),{});return this.client.post("/api/events",H({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:H({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return I(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw x.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",H(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,H(o),{abortLatest:!0})).map(r=>({...I(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(d=>d.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,H(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return 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",H(e),{abortLatest:!0});return I(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,H(e),{version:"v2"});return I(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,H({question:e.question,doNotKnowAnswer:e.doNotKnowAnswer,customerInstruction:e.customerInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return 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 getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return I(o)}async translateMessages(e){let o=await this.client.post("/api/translate",H(e),{version:"v2"});return I(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(ni);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&x.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var ho=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ms(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,I(s))}catch{x.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 Dv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Dv||={});var yo=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=x;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`,H(o));return I(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,H(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return I(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",H(e));return I(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new ho(`${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 zv,configureStore as Vv}from"@reduxjs/toolkit";import{createSlice as _v}from"@reduxjs/toolkit";var Vc={startTime:null,stopTime:null},Wc=_v({name:"handlingTime",initialState:Vc,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,()=>Vc)}}),{handlingTimeStart:qc,handlingTimeStop:Wn,handlingTimeReset:Gc}=Wc.actions,$c=Wc.reducer;var jc=(t={})=>{let e={onAuthError:ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Fv,createSlice as Hv}from"@reduxjs/toolkit";var qn={list:{keywordMatches:[]},fetchState:"idle"};var rt=Fv("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 qn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Bv=Hv({name:"styleSuggestions",initialState:qn,reducers:{},extraReducers:t=>{t.addCase(rt.pending,e=>{e.fetchState="loading"}).addCase(rt.rejected,e=>{e.fetchState="error"}).addCase(rt.fulfilled,(e,o)=>{e.fetchState="done",Le(e.list,o.payload)||(e.list=o.payload)}).addCase(We,e=>{e.list=qn.list}).addCase(M,()=>qn)}}),Xc=Bv.reducer;var Qc=(t={})=>{let e,o=!0,n={getStyleSuggestions:rt,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),d}};function Kv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Zc=(t={})=>{let e={getTextSuggestions:de,getAutocompleteSuggestions:to,debounce:200,check:wt,...t},o;return n=>s=>r=>{var f;let{input:{userCommitted:i}}=n.getState(),a=s(r),d=n.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(f=d.conversation.current)==null?void 0:f.id,u=r.type===pn.toString();if(!p||!l&&!c)return a;let{input:{userCommitted:m}}=d;return Kv(m,i)&&!u||(clearTimeout(o),!e.check(d))||(o=setTimeout(()=>{let y=ft(d);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},u?0:e.debounce)),a}};var Jc=rt.fulfilled.toString();function Uv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Yc=t=>e=>o=>n=>{var l;if(n.type!==Jc){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=Uv(s,i);n.type===Jc&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var Wv=zv({answer:il,auth:pi,autoflows:Nd,conversation:hi,contentTypes:pa,customMessages:zd,passwordlessToken:$d,entities:Ha,knowledgeAssistant:nl,handlingTime:$c,info:Fi,input:Li,settings:ri,profile:gl,search:Wi,summary:Ga,styleSuggestions:Xc,ui:Bl,rules:Zd,textSuggestions:wl});function eu(t){return Vv({reducer:Wv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),jc(),Zc({debounce:200}),Qc({debounce:500}),Yc(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var qv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Gv=t=>e=>o=>n=>{var a,d,l,c,p;let s=e.getState(),r=as("inlineSuggestions")(s);switch(n.type){case ct.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:n.payload}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((d=n.payload.options)==null?void 0:d.includeConversationData)&&((l=s.conversation.current)==null?void 0:l.id),data:n.payload.data});break;case Oo.toString():t.handleKeyDown(n.payload);break;case We.toString():t.logSendMessage(n.payload);break;case Do.toString():t.handleInputChanged(n.payload);break;case tt.fulfilled.toString():n.isBroadcasted||t.broadcast(ys,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case We.toString():t.handleAfterSendMessage(n.payload);break;case oo.toString():t.onUpdateShowTabHint(n.payload);break;case Wn.toString():t.logHandlingTime();break;case"analytics/logEvent/fulfilled":{t.emit("event",n.meta.arg);break}case pe.toString():{let{start:u,end:m}=s.input.selection;t.emit("select-suggestion",{type:qv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:u,end:m}:{start:0,end:m}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(xe()));break}case No.toString():{let{start:u,end:m}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:u,end:m}:{start:0,end:m}},{mayApplyChanges:!0});break}case Bt.toString():{let u=e.getState(),{text:m,selection:g}=u.input.userCommitted;t.emit("reset",{text:m,selectionAfter:g},{mayApplyChanges:!0});break}case _o.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:(c=s.conversation.current)==null?void 0:c.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(Ne(0));break}case Ce.fulfilled.toString():{t.sendEvent("conversation summarized",{conversationId:(p=s.conversation.current)==null?void 0:p.id,data:{summary:n.payload.summary,model:e.getState().summary.model}});break}default:break}return i},tu=Gv;function _r(t){return t.toISOString().replace("T"," ").replace("Z","")}function ou(t,e){var r,i,a,d;let o=(r=t.conversation.current)==null?void 0:r.id;if(!o)return x.warn("No conversationId for handling time metrics"),null;let{startTime:n,stopTime:s}=t.handlingTime;return!n||!s?(x.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:o,clientVersion:e.version,agentId:(i=t.info.agentInfo)==null?void 0:i.agentId,agentName:(a=t.info.agentInfo)==null?void 0:a.agentName,agentEmail:(d=t.info.agentInfo)==null?void 0:d.agentEmail,timeStart:_r(n),timeStop:_r(s)}}function nu(t,e,o){var Q,B,L,_;let n=(Q=e.conversation.current)==null?void 0:Q.id;if(!n)return x.warn("No conversationId for send message metrics"),null;let{text:s,metrics:{numCharsTyped:r,numCharsPasted:i,numCharsCut:a,numCharsDeleted:d,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:u,cuts:m,deletions:g,textSuggestions:f,offeredTextSuggestions:y}}=e[t],b=s.length,S=f.reduce((F,{text:z,searchTerm:vo})=>F+z.length-(vo?vo.length:0),0),R=c??Date.now(),C=(Date.now()-R)/1e3+(p||0),E=r/C,O=f.reduce((F,{searchTerm:z})=>F+(z?z.length:0),0);return{conversationId:n,source:"agent",text:s,clientVersion:o.version,pastes:u,cuts:m,deletions:g,lenTextTyped:r+O,lenTextTotal:b,lenTextAssisted:S,lenTextPasted:i,lenTextCut:a,lenTextDeleted:d,timeTotalSeconds:C,charsPerSecond:E,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:y.filter(F=>F.source==="gpt").length}],agentId:(B=e.info.agentInfo)==null?void 0:B.agentId,agentName:(L=e.info.agentInfo)==null?void 0:L.agentName,agentEmail:(_=e.info.agentInfo)==null?void 0:_.agentEmail}}function Fr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Fr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Fr(s,e):null}function su(t,e){return Fr(t,e)}function ru(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function $v(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Hr(t){return $v(t)&&(He(t)||Cn(t))}var au,he=new Map,jv=["bottom","height","left","right","top","width"],iu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:jv.some(o=>t[o]!==e[o]);function lu(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,...lu(e)]:[]}function du(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Gn=!1,cu=()=>{Gn=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();iu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(du,e.rect):e.rect;iu(o,e.totalRect)&&e.callbacks.forEach(n=>n(o)),e.totalRect=o}),he.size===0){Gn=!1;return}au=window.requestAnimationFrame(cu)};function Br(t,e){let o=lu(t),n=[],s=o.map((r,i)=>Br(r,a=>{n[i]=a;let d=he.get(t);if(!d)return;let l=n.reduce(du,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),he.has(t)){let i=he.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else he.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!Gn&&cu()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(au),Gn=!1)}}}}var uu,ye=new Map,pu=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.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)))}),ye.size!==0&&(uu=window.requestAnimationFrame(pu))};function mu(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&pu()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(uu)}}}}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 Ur(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Nt(t){return parseFloat(t)}function $n(t){return Math.round(t*1e6)}function gu(t){return t/1e6}function zr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Nt(t.width),r=Nt(t.borderLeftWidth),i=Nt(t.borderRightWidth),a=Nt(t.paddingRight),d=gu($n(s)-$n(r)-$n(i)),l=gu($n(n));if(d-l>2){let c=d-l;o.style.paddingRight=`${a+c}px`}}function jn(t,e={}){var c;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};Ur(n,o,Kr),zr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=mu(t,()=>{Ur(n,o,Kr),zr(n,t,o),r(),setTimeout(r,0)}),a,d=!0,l=Br(t,p=>{if(p===null){e.onRemove&&e.onRemove(),o.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),p.height===0&&p.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Ur(n,o,Kr),zr(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(),m=window.getComputedStyle(e.closestScrollElement),g=Nt(m.borderTopWidth),f=Nt(m.borderBottomWidth),y=u.top+g-p.top,b=p.top+p.height+-(u.top+u.height-f);o.style.clipPath=`inset(${y}px 0px ${b}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(c=t.parentElement)==null||c.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var fu=(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{x.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Xv(t){return t.offsetParent!==null}function hu(t){if(!Xv(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 Vr(t,e,o=100){let n=hu(t);e({isVisible:n});let s=setInterval(()=>{let r=hu(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as U}from"react/jsx-runtime";var yu=fu("showTabHint",!0),Qn=class t{static version="11.5.2";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:d}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Ue(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[tu({broadcast:(p,u,m)=>{this.broadcastEvents.send(p,u,m)},emit:(p,u,m)=>this.emit(p,u,m),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=>yu.update(p),sendEvent:(p,u)=>this.deepdeskApi.sendEvent(p,u)})]};o&&Object.assign(c,{deepdeskBrokerAPI:new yo(o)}),this.store=eu(c),this.broadcastEvents=new zc({debug:!0,deepdeskUrl:l,eventMap:qi(this.store),createCustomChannel:d}),this.store.dispatch(oo(yu.value())),this.store.dispatch(ko({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(x.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(x.warn("Profile has not been loaded (yet)"),!0):(x.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(ct(null)),this.store.dispatch(Se()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();X(n)&&ii(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){x.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(cs({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Po(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(Io({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(us(e))).payload}async postMessages(e){return(await this.store.dispatch(Lo(e))).payload}async updateConversation(e){return(await this.store.dispatch(Ao(e))).payload}resetConversation(){this.store.dispatch(M()),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(ko(e))}setVisitorInfo(e){this.store.dispatch(Di(e))}setCustomData(e){this.store.dispatch(_i(e))}async setAgentInfo(e){await this.store.dispatch(Kt(e))}async setAgentSettings(e){await this.store.dispatch(fs(e))}async getAgentSettings(){return(await this.store.dispatch(hs())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(pn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Do(e))}notifyKeyDown(e){this.store.dispatch(Oo(e))}notifyPaste(e,o){this.store.dispatch(Ri({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ei(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(xe())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(tt({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Fe({collapse:!1})),this.inputMediator&&this.store.dispatch(xi({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,d=s!==-1;if(this.store.dispatch(ki(yi(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(Ci()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},c=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(Ti()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Bt()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?c():l();return;case"Down":case"ArrowDown":{i?l():c();return}case"Esc":case"Escape":{i&&d&&this.store.dispatch(Ne(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Ne(-1)),this.store.dispatch(Bt()),e.preventDefault()):o||(this.store.dispatch(Fe({collapse:!0})),this.store.dispatch(Fl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:p}=this.state.input,u=p.text.substring(0,p.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(oo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(pe({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(xe())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Pi()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(x.info("Start handling time"),this.store.dispatch(qc()))}handlingTimeStop(){this.state.handlingTime.startTime&&(x.info("Stop handling time"),this.store.dispatch(Wn()))}logSendMessage(e){let o=nu("input",this.state,{version:this.version});o&&(e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o))}logHandlingTime(){let e=ou(this.state,{version:this.version});e&&(this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Gc()))}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(xe()),this.store.dispatch(We(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{let r=this.eventListeners[e];r&&r.forEach(i=>{try{i(o)}catch(a){x.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),x.error(a)}})};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]=jn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Xn(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,d]=jn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Xn(s),d()})}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(()=>{Xn(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),x.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()?(x.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ai(n.metrics))):x.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(!Hr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,isEmbedded:p,detectSubmit:u,insertLink:m,inputMediator:g,closestScrollSelector:f,appendOverlayTo:y,inlineSuggestions:b,floatingMenu:v}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:d,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:c,showTextSuggestions:i,insertLink:m,isEmbedded:p,inlineSuggestions:b,floatingMenu:!!v}),o.automaticHandlingTime&&this.setupHandlingTime(e),Je(e),this.inputMediator=g||(He(e)?new At(e):new It(e)),this.inputMediator.on("change",({plainText:C})=>{this.notifyInputChanged(C)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Ii({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",C=>{this.notifyKeyDown(C)}),this.inputMediator.on("paste",({pastedText:C,selectionText:E})=>{this.notifyPaste(C,E)}),this.inputMediator.on("cut",({selectionText:C})=>{this.notifyCut(C)});let S=f&&su(e,f)||void 0;if(b){let{customStyles:C,appendOverlayTo:E}=o;if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let O=this.createInlineContainer(e,"deepdesk-caret");Ot(U(Ye,{store:this.store,customStyles:C,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(ql,{})})}),O),this.inputMediator.on("caret",B=>{this.store.dispatch(ue([])),B?(O.style.display="block",O.style.top=`${B.top}px`,O.style.left=`${B.left}px`):O.style.display="none"});let Q=this.overlayContainerFactory("floating-menu",S||e,{appendTo:typeof v=="object"&&"appendOverlayTo"in v?v.appendOverlayTo:E},C==null?void 0:C.floatingMenuRootNode);Ot(U(Ye,{store:this.store,customStyles:C,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(Dl,{onLogIn:()=>this.loginViaPopup().catch(B=>x.warn(B.message))})})}),Q)}else{let C=this.overlayContainerFactory("deepdesk-tab-completion",S||e,{appendTo:y,closestScrollElement:S,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),E=this.overlayContainerFactory("deepdesk-suggestions-overlay",S||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Ot(U(Ye,{store:this.store,customStyles:n,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(Rd,{inputElement:e})})}),C),Ot(U(Ye,{store:this.store,customStyles:n,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(td,{onLogIn:()=>this.loginViaPopup().catch(O=>x.warn(O.message))})})}),E)}Ot(U(Ye,{store:this.store,customStyles:n,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(Il,{})})}),this.createContainer("deepdesk-overlays"));let R;this.inputMediator.on("selection",C=>{clearTimeout(R),C===null?R=setTimeout(()=>{C!==null&&this.store.dispatch(ps(C))},500):this.store.dispatch(ps(C))}),this.inputMediator.on("disabled",()=>{var C;(C=this.inputMediator)==null||C.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(rr(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(rr(!0))),this.store.dispatch(bi({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 C;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((C=this.state.conversation.current)==null?void 0:C.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&&x.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Ot(U(Ye,{store:this.store,customStyles:n,children:U(Ge,{broadcastEvents:this.broadcastEvents,children:U(Fc,{onLogIn:()=>this.loginViaPopup().catch(i=>x.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Xn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Vr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){ru(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(eo());let e=Te(this.state);e&&(await this.store.dispatch(Jt()),this.store.dispatch(ko({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 d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=async m=>{var g,f;if((g=m.data)!=null&&g.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((f=m.data)==null?void 0:f.jwt),await this.isLoggedIn(),this.broadcastEvents.send(zt),d=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{d=!0,l()}};let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&n(new Error("Popup blocked by browser"));let p=async m=>{var g;if(m.origin===a.origin)switch((g=m.data)==null?void 0:g.type){case"deepdesk-popup-loaded":{try{let f=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(f,a.origin,[s.port2])}catch(f){x.error("Error posting message to popup",f),n(f)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&x.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(m.data.message));break}}};window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(x.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;x.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=cn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):To.includes(n)||this.store.dispatch(de(n))})}catch(n){this.handleError(n)}}};async function Qv(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},d=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(d()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function Zv(t,e,o={}){let n=o.replace?st(t,o.replace.start,o.replace.end):fo(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
11
11
|
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?st(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 Jv(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 Yv(t){let e=document.createDocumentFragment();return t.split(`
|
|
12
|
-
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function
|
|
12
|
+
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function vu(t,e){let o=t.parentElement;if(!o){console.warn("No insert point found");return}let{display:n}=window.getComputedStyle(o);n.includes("block")||n==="table-cell"?o==null||o.insertBefore(e,t.nextSibling):vu(o,e)}async function eS(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 d=a.getRangeAt(0);if(!d)return;s=document.createElement("span"),d.insertNode(s);let l=n?Jv(e):Yv(e);o?vu(d.startContainer,l):(d.insertNode(l),d.collapse(!1))};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function tS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function oS(t,e,o){await new Ue(t).authenticateWithKey(e,o)}async function nS(t){let o=await new fe(t).get("/platform/config/",{version:null,useCache:!0});return I(o)}async function sS(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 rS(t,e){let o=await sS(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{D as Card,It as ContentEditableInput,Ue as DeepdeskAPI,Qn as DeepdeskSDK,fe as HTTPClient,Ke as InputMediator,dt as InputType,es as KeyboardHint,ts as Label,Eo as Locale,ve as Section,ns as SectionList,Ae as Sources,A as Suggestion,Y as SuggestionList,At as TextAreaInput,lt as ToggleButton,rS as attachFile,oS as authenticateWithKey,fo as createFullRange,jn as createOverlayContainer,st as createRangeFromOffsets,Qt as escapeHTML,nS as fetchPlatformConfig,tS as formatTextMarkup,Un as getRangeOffsets,zn as getRangeText,eS as insertCKEditor,Os as isHTML,Hr as isSupportedInputElement,Zv as updateContentEditable,Qv as updateTextArea,Ze as useClickOutsideRoot,h as useStyles,Vr as waitForElementVisibilityChange};
|