@deepdesk/deepdesk-sdk 11.2.0 → 11.2.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +7 -6
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +6 -5
- package/dist/index.iife.js +8 -7
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
var su=Object.defineProperty;var Z=(t,e)=>{for(var o in e)su(t,o,{get:e[o],enumerable:!0})};import Fr from"classnames";import uu,{createContext as pu,useContext as $n,useEffect as gu,useState as mu}from"react";import ru,{useContext as iu}from"react";import au from"classnames";var _t=ru.createContext({});function h(t,e){let{debug:o,...n}=iu(_t),s=n[t];return s?Object.entries(e).reduce((r,[i,a])=>{let c=s[i];return{...r,[i]:au(a,c,o?`${t}__${i}`:!1)}},{}):e}var Hr={root:"jo"};import{jsx as go,jsxs as cu}from"react/jsx-runtime";var mo=()=>cu("svg",{className:Hr.root,width:"185",height:"170",viewBox:"0 0 185 170",xmlns:"http://www.w3.org/2000/svg",children:[go("defs",{children:go("style",{children:".cls-1 { fill: #b3b3b3; }"})}),go("title",{children:"Failed loading image"}),go("path",{className:"cls-1",d:"M15 130.896V16.994c0-1.097.898-1.994 2.007-1.994h150.986A2 2 0 0 1 170 16.994v69.147L133.015 51 87.26 120.377l-35.863-17.758L15 130.896zM2 0C.895 0 0 .887 0 2v166c0 1.105.887 2 2 2h181c1.105 0 2-.887 2-2V2c0-1.105-.887-2-2-2H2zm49 72c11.046 0 20-9.178 20-20.5S62.046 31 51 31s-20 9.178-20 20.5S39.954 72 51 72z",fillRule:"evenodd"})]});var Vn={root:"Yo",imageWrapper:"F",image:"qo",content:"m",title:"Co",contentIsCropped:"So",lineClamp:"Eo"};import{jsx as st}from"react/jsx-runtime";var fo=pu(Vn),fu=({title:t,src:e})=>{let o=$n(fo),[n,s]=mu(!1);return gu(()=>{s(!1)},[e]),st("div",{className:o.imageWrapper,children:e&&!n?st("img",{className:o.image,alt:t,src:e,onError:()=>s(!0)}):st(mo,{})})},hu=({className:t,lineClamp:e=!1,cropText:o=!1,children:n})=>{let s=$n(fo);return st("div",{className:Fr(s.content,t,{[s.contentIsCropped]:o,[s.lineClamp]:e}),children:n})},yu=({as:t="h1",cropText:e=!1,className:o,children:n,...s})=>{let r=$n(fo);return uu.createElement(t,{className:Fr(r.title,o,{[r.contentIsCropped]:e}),...s},n)},ho=({children:t})=>{let e=h("Card",Vn);return st("div",{className:e.root,children:st(fo.Provider,{value:e,children:t})})};ho.Image=fu;ho.Content=hu;ho.Title=yu;var H=ho;import Su from"classnames";var Br={root:"H"};import{jsx as Cu}from"react/jsx-runtime";var xu={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},bu=({className:t,keyCode:e,...o})=>{let n=h("KeyboardHint",Br);return Cu("span",{"data-key":xu[e],className:Su(t,n.root),...o})},qn=bu;import Tu from"classnames";var Kr={root:"Go"};import{jsx as ku}from"react/jsx-runtime";var Eu=({className:t,children:e,...o})=>{let n=h("Label",Kr);return ku("span",{...o,className:Tu(t,n.root),children:e})},Gn=Eu;var Ur={root:"No",subTitleContainer:"Ao",subtitle:"Fo",suggestions:"Ho"};import{jsx as jn,jsxs as Iu}from"react/jsx-runtime";var Pu=({title:t,children:e,type:o,...n})=>{let s=h("Section",Ur);return Iu("section",{...n,className:s.root,"data-section-type":o,children:[t&&jn("div",{className:s.subTitleContainer,children:jn("span",{className:s.subtitle,children:t})}),jn("div",{className:s.suggestions,children:e})]})},ke=Pu;import Au from"classnames";import Mu from"react";var zr={root:"Lo"};import{jsx as Ou}from"react/jsx-runtime";var Nu=Mu.forwardRef(({className:t,children:e},o)=>{let n=h("SectionList",zr);return Ou("div",{ref:o,className:Au(n.root,t),children:e})}),Wn=Nu;import Dt from"classnames";import Zn,{createContext as Du,useCallback as Hu,useContext as rt}from"react";var Xn={fadein:"L",root:"e",isClickable:"M",isSelected:"Mo",actions:"R",actionsIsFixed:"Ro",actionButton:"t",dropdownList:"T",dropdownButton:"U",dropdownItem:"B",dropdownItemButton:"D",actionButtonIsPrimary:"To",actionButtonIsDisabled:"Uo",labels:"Bo",label:"Do",iconButtons:"I",iconButton:"n"};import{jsx as de,jsxs as qr}from"react/jsx-runtime";var Ke=Du(Xn),Fu=({fixed:t,children:e,...o})=>{let n=rt(Ke);return de("div",{...o,className:Dt(n.actions,{[n.actionsIsFixed]:t}),children:e})};function Vr(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type===$r}var $r=({className:t,icon:e,title:o,...n})=>{let s=rt(Ke);return de("button",{type:"button",className:Dt(s.iconButton,t),title:o,"aria-label":o,...n,children:e})},Bu=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=rt(Ke);return qr("div",{className:Dt(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,de("ul",{className:r.dropdownList,children:s})]})},Ku=({index:t,label:e,onClick:o})=>{let n=rt(Ke);return de("li",{className:n.dropdownItem,children:de("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Uu=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=rt(Ke);return de("button",{type:"button",className:Dt(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},zu=({labels:t})=>{let e=rt(Ke);return de("div",{className:e.labels,children:t.map(o=>de("span",{className:e.label,children:o},o))})},Ue=Zn.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=h("Suggestion",Xn),c=Hu(u=>{u.preventDefault(),o&&o(u)},[o]),l=Zn.Children.toArray(n).filter(Vr),d=Zn.Children.toArray(n).filter(u=>!Vr(u));return de(s,{...r,ref:i,className:Dt(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:c,children:qr(Ke.Provider,{value:a,children:[d,de("div",{className:a.iconButtons,children:l})]})})});Ue.Labels=zu;Ue.Actions=Fu;Ue.ActionButton=Uu;Ue.DropdownButton=Bu;Ue.DropdownItem=Ku;Ue.IconButton=$r;var M=Ue;import $u from"classnames";var Gr={root:"Io",isWithDivider:"Oo"};import{jsx as Gu}from"react/jsx-runtime";var qu=({withDivider:t,children:e})=>{let o=h("SuggestionList",Gr);return Gu("div",{"data-testid":"suggestions-overlay-list",className:$u(o.root,{[o.isWithDivider]:t}),children:e})},te=qu;import Wu from"classnames";var jr={root:"u",isCollapsed:"O"};import{jsx as Qn}from"react/jsx-runtime";var Xu=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=h("ToggleButton",jr);return Qn("button",{type:"button",className:Wu(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:Qn("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:Qn("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},it=Xu;var Wr=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,yo=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var Xr=/x-deepdesk-(([a-z0-9\-_])+-version)/,Re=(m=>(m.SEARCH="search",m.TEMPLATE="template",m.ELASTIC_SEARCH="search-autocomplete",m.GPT="gpt",m.TRIE="trie",m.TRIE_WITH_TYPOS="trie-with-typos",m.SEMANTIC="semantic",m.TEXT_RECOMMENDATION="text_recommendation",m.URL_RECOMMENDATION="url_recommendation",m.LINK_RECOMMENDATION="link_recommendation",m.PERSONAL_COLLECTION="personal-collection",m.PERSONAL_COLLECTION_SEARCH="personal-collection-search",m.SEARCH_OVERLAY="search-overlay",m.SEARCH_PREVIEW="search-preview",m.SEARCH_URL="search-url",m))(Re||{}),at=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(at||{});import{render as Nt,unmountComponentAtNode as Bn}from"react-dom";import{Fragment as af}from"react";import{createSlice as Zu}from"@reduxjs/toolkit";import{useSelector as Qu}from"react-redux";var vo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(vo||{});var Ju={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,inlineSuggestions:!1,floatingMenu:!1,adminUrl:void 0,productName:"Deepdesk"},Zr=Zu({name:"settings",initialState:Ju,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:So}=Zr.actions,Jn=t=>e=>e.settings[t],b=t=>Qu(Jn(t)),Qr=Zr.reducer;import{useSelector as Yi}from"react-redux";import{createAsyncThunk as Yn,createSlice as Yu}from"@reduxjs/toolkit";var ep={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},W=t=>t.auth.isLoggedIn,Jr=t=>t.auth.loginFetchState,Yr=t=>t.auth.verifyFetchState,ei=t=>t.auth.showLoginOverlay,ve=Yn("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),ti=Yn("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),Ht=Yn("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),oi=Yu({name:"auth",initialState:ep,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(ve.pending,e=>{e.loginFetchState="loading"}),t.addCase(ve.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(ve.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(Ht.pending,e=>{e.verifyFetchState="loading"}),t.addCase(Ht.rejected,e=>{e.verifyFetchState="error"}),t.addCase(Ht.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:lt,setShowLoginOverlay:ni}=oi.actions,si=oi.reducer;import{createAction as ut,createSlice as cp}from"@reduxjs/toolkit";import{diffChars as dp}from"diff";import{useSelector as up}from"react-redux";function ri(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Pe(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)=>Pe(r,e[i],o-1)):ri(t)&&ri(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Pe(t[i],e[i],o-1)):!1}function tp(t){return Math.max(...t.map(e=>e.length))}function op(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 ii(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<tp(n);s++){let r=op(n.map(a=>a[s]),e),i=n.filter(a=>!r.includes(a[s]));if(i.length>=e)n=i;else return{text:n[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var np=2;function es(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=ii(t,np);return o&&o.text!==e?o:t[0]}import{createAction as rp,createAsyncThunk as ct,createSlice as ip}from"@reduxjs/toolkit";var sp={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},w=sp;var ai={current:null,isSupported:null},_=rp("resetConversation"),xo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},bo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},dt=t=>t.conversation.isSupported,ts=ct("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),Co=ct("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),wo=ct("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),To=ct("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=bo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),os=ct("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:c}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:c})})}),Eo=ct("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=bo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),ap=[Co.rejected,wo.rejected,To.rejected,Eo.rejected].map(t=>t==null?void 0:t.toString()),lp=ip({name:"conversation",initialState:ai,reducers:{},extraReducers:t=>{t.addCase(ts.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(Co.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(wo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(os.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(To.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Eo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(_,()=>ai).addMatcher(e=>ap.includes(e.type),(e,o)=>{var n;throw w.info("Conversation action rejected",o.type,((n=o.error)==null?void 0:n.message)||"No message"),new Error(o.error.message)})}}),li=lp.reducer;var Ie={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 ci(t){let{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}=t;return{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}}var Ro=ut("input/replaceText"),Po=ut("input/keyDown"),ze=ut("input/sendMessage"),Io=ut("input/uiInputChange"),Lo=ut("input/applyImageSuggestion"),G=ut("input/sendEvent");function ko(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:c},eventMetrics:{inputType:l},replace:d}=t.stagedSuggestion,u=o==="search"||o==="personal-collection-search",p=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(u||d==="selection")&&(p=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(p=c),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:p,source:o,abVariant:n,abTestName:s,inputType:l,sourceText:i,trainingJobs:r||[],searchTerm:u?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var di=cp({name:"input",initialState:Ie,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,{...Ie,selection:t.selection})},resetToCommitted(t){t.text=t.userCommitted.text,t.selection=t.userCommitted.selection,t.stagedSuggestion=null,t.tabCompletionSuggestion=es(t.textSuggestions,t.userCommitted.text)},changeSelection(t,e){e.payload&&(Pe(t.selection,e.payload)||(t.selection=e.payload,t.userCommitted.selection=t.selection,t.stagedSuggestion&&ko(t)))},platformInput(t,e){let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end),t.text=o,t.html=n||null},userInput(t,e){var r,i,a,c;if(t.previousKeyDownEvent){let{key:l,shiftKey:d,ctrlKey:u,metaKey:p,altKey:g}=t.previousKeyDownEvent;switch(l){case"Enter":d&&(t.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:f}=t,{text:m}=e.payload,y=dp(f,m);f.length-m.length>1&&t.metrics.deletions.push(...y.filter(E=>E.removed).map(E=>E.value)),t.metrics.numCharsDeleted+=f.length-m.length;break}case"C":case"V":case"X":if(!u&&!p){t.metrics.numCharsTyped+=1;let f=((r=t.selection)==null?void 0:r.start)!==void 0&&((i=t.selection)==null?void 0:i.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}break;case"Shift":break;default:if(!u&&!p&&!g){t.metrics.numCharsTyped+=1;let f=((a=t.selection)==null?void 0:a.start)!==void 0&&((c=t.selection)==null?void 0:c.end)!==void 0?t.text.substring(t.selection.start,t.selection.end):null;f&&f.length>0&&(t.metrics.numCharsDeleted+=f.length,t.metrics.deletions.push(f))}}}!t.metrics.agentStartedTypingTimestamp&&e.payload.text!==t.text&&(t.metrics.agentStartedTypingTimestamp=Date.now()),e.payload.text===""&&(t.metrics=Ie.metrics,t.textSuggestions=[],t.stagedSuggestion=null),t.text!==e.payload.text&&ko(t);let{text:o,html:n,selection:s}=e.payload;s&&(t.selection.start=s.start,t.selection.end=s.end,t.userCommitted.selection.start=s.start,t.userCommitted.selection.end=s.end),t.text=o,t.html=n||null,t.userCommitted.text=o,t.previousKeyDownEvent=null},stageSuggestion(t,e){let{text:o}=e.payload;switch(t.stagedSuggestion=e.payload,t.tabCompletionSuggestion=void 0,e.payload.replace){case"selection":t.text=`${t.text.slice(0,t.selection.start)}${o}${t.text.slice(t.selection.end)}`,t.selection.end=t.selection.start+o.length,t.selection.start+=o.length;break;case"until-selection-end":t.text=`${o}${t.text.slice(t.selection.end)}`,t.selection.start=o.length,t.selection.end=o.length;break;default:throw new Error(`Unknown replace ${e.payload.replace}`)}e.payload.eventMetrics.inputType==="tab"&&ko(t)},commitSuggestion(t){ko(t)},offeredTextSuggestion(t,e){let{text:o,suggestion:{source:n}}=e.payload;t.metrics.offeredTextSuggestions.find(r=>r.text===o)||t.metrics.offeredTextSuggestions.push({text:o,source:n})},registerCut(t,e){let{metrics:o}=t,n=e.payload;t.metrics={...t.metrics,numCharsCut:o.numCharsCut+n.length,cuts:[...o.cuts,n]}},registerPaste(t,e){let{metrics:o}=t,{text:n,selectionText:s}=e.payload,r=o.numCharsDeleted+(s&&s.length?s.length:0),i=s&&s.length?[...o.deletions,s]:o.deletions;t.metrics={...t.metrics,numCharsDeleted:r,deletions:i,numCharsPasted:o.numCharsPasted+n.length,numPaste:o.numPaste+1,pastes:[...o.pastes,n]}},registerKeyDown(t,e){t.previousKeyDownEvent=e.payload},nextTextSuggestionIndex(t){let e=t.textSuggestions.length;t.selectedSuggestionIndex=t.selectedSuggestionIndex<e-1?t.selectedSuggestionIndex+1:t.selectedSuggestionIndex},previousTextSuggestionIndex(t){t.selectedSuggestionIndex=t.selectedSuggestionIndex>=0?t.selectedSuggestionIndex-1:t.selectedSuggestionIndex},setTextSuggestions(t,e){if(t.selectedSuggestionIndex=-1,t.textSuggestions=e.payload,e.payload.length===0)return;let o=t.userCommitted.text.substring(0,t.userCommitted.selection.end),n=es(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(_,e=>{e.tabCompletionSuggestion=Ie.tabCompletionSuggestion,e.previousKeyDownEvent=Ie.previousKeyDownEvent,e.textSuggestions=Ie.textSuggestions,e.selectedSuggestionIndex=Ie.selectedSuggestionIndex,e.metrics=Ie.metrics})}}),pt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),pp=t=>t.input.selection,ui=()=>up(pp),{userInput:pi,changeSelection:ns,initialInput:gi,nextTextSuggestionIndex:mi,offeredTextSuggestion:fi,previousTextSuggestionIndex:hi,registerCut:yi,registerKeyDown:vi,registerPaste:Si,reset:xi,resetToCommitted:Ft,platformInput:bi,setSelectedTextSuggestionIndex:Le,setTextSuggestions:ue,stageSuggestion:pe,commitSuggestion:Se,setMetrics:Ci}=di.actions,wi=di.reducer;import{createAsyncThunk as hp,createSlice as yp}from"@reduxjs/toolkit";import{createAsyncThunk as rs,createSlice as mp}from"@reduxjs/toolkit";function gp(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function L(t){return Array.isArray(t)?t.map(L):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[gp(o)]:L(t[o])}),{}):t}function ss(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function K(t){return Array.isArray(t)?t.map(K):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[ss(o)]:K(t[o])}),{}):t}var fp={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Kt=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},Bt=rs("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?L(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),L(n))}),is=rs("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}),as=rs("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),Ti=t=>t.info.agentInfo,Ei=mp({name:"info",initialState:fp,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Bt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Bt.rejected,e=>{e.fetchState="error"}).addCase(Bt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(is.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(as.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(_,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:ki}=Ei.actions,Ri=Ei.reducer;var Ao={list:[],fetchState:"idle",isOpen:!1,page:"search",aggregates:{}},Pi=t=>t.search.isOpen,Ii=t=>t.search.page,Li=t=>t.search.list,Ai=t=>t.search.aggregates;function Mi(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var Ve=hp("search/getAll",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(a=n.conversation.current)==null?void 0:a.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r,aggregates:i}=await o.search({profile:s,query:t.query,tags:t.tags,size:t.size,current:t.current,filters:{type:t.type},params:Kt(n)});return{results:r.map(c=>({...c,source:`search-${c.type.toLowerCase()}`,searchTerm:t.query})),aggregates:i}}),Ni=yp({name:"search",initialState:Ao,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=Ao.fetchState,t.list=Ao.list}},extraReducers:t=>{t.addCase(Ve.pending,e=>{e.fetchState="loading"}).addCase(Ve.rejected,(e,o)=>{e.fetchState="error",w.error(o.error)}).addCase(Ve.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload.results,e.aggregates=o.payload.aggregates||{}}).addCase(_,()=>Ao)}}),{resetSearch:Mo,setIsOpen:Y,setPage:re}=Ni.actions,Oi=Ni.reducer;var ls="SetCues",gt="ShowLoginOverlay",Ut="UserLoggedIn",vp="UserLoggedOut",Ae="ApplySuggestion",cs="ApplyImageSuggestion",Sp="ShowCommandPalette",xp=t=>({[ls]:e=>{t.dispatch({...e,isBroadcasted:!0})},[Sp]:e=>{t.dispatch(Y(e.isOpen)),e.page&&t.dispatch(re(e.page))},[gt]:e=>{t.dispatch(ni(e))},[Ut]:()=>{t.dispatch(ve())},[vp]:()=>{t.dispatch(ve())},[cs]:e=>{t.dispatch(Lo({suggestion:e.suggestion}))},[Ae]:e=>{t.dispatch(pe({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(Se())}}),_i=xp;import Di,{useContext as bp}from"react";import{jsx as Cp}from"react/jsx-runtime";var Hi=Di.createContext(null),$e=({broadcastEvents:t,children:e})=>{let o=Di.useMemo(()=>t,[]);return Cp(Hi.Provider,{value:o,children:e})},oe=()=>{let t=bp(Hi);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import Ss from"classnames";import{useCallback as Qi,useEffect as Xp,useMemo as Zp,useState as xs}from"react";import{useDispatch as Qp,useSelector as Jp}from"react-redux";import{createContext as Op,useContext as _p}from"react";var ds=function(t,e){return ds=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])},ds(t,e)};function zt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ds(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 Fi(t,e){var o={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++)e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(o[n[s]]=t[n[s]]);return o}function No(t,e,o){if(o||arguments.length===2)for(var n=0,s=e.length,r;n<s;n++)(r||!(n in e))&&(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return t.concat(r||Array.prototype.slice.call(e))}var Oo;(function(t){t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",t[t.INVALID_TAG=23]="INVALID_TAG",t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(Oo||(Oo={}));var _o=class{constructor(e){console.warn(`[vite-messages-plugin]: Message "${e}" was not precompiled. Did you use the correct extenstion *.messages.ts?`)}};var 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 Do;(function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"})(Do||(Do={}));function us(t){return t.type===ie.literal}function Bi(t){return t.type===ie.argument}function Ho(t){return t.type===ie.number}function Fo(t){return t.type===ie.date}function Bo(t){return t.type===ie.time}function Ko(t){return t.type===ie.select}function Uo(t){return t.type===ie.plural}function Ki(t){return t.type===ie.pound}function zo(t){return t.type===ie.tag}function Vo(t){return!!(t&&typeof t=="object"&&t.type===Do.number)}function Vt(t){return!!(t&&typeof t=="object"&&t.type===Do.dateTime)}function ps(t){t.forEach(function(e){if(delete e.location,Ko(e)||Uo(e))for(var o in e.options)delete e.options[o].location,ps(e.options[o].value);else Ho(e)&&Vo(e.style)||(Fo(e)||Bo(e))&&Vt(e.style)?delete e.style.location:zo(e)&&ps(e.children)})}function Ui(t,e){e===void 0&&(e={}),e=ee({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var o=new _o(t,e).parse();if(o.err){var n=SyntaxError(Oo[o.err.kind]);throw n.location=o.err.location,n.originalMessage=o.err.message,n}return e!=null&&e.captureLocation||ps(o.val),o.val}function $o(t,e){var o=e&&e.cache?e.cache:Pp,n=e&&e.serializer?e.serializer:Rp,s=e&&e.strategy?e.strategy:Tp;return s(t,{cache:o,serializer:n})}function wp(t){return t==null||typeof t=="number"||typeof t=="boolean"}function zi(t,e,o,n){var s=wp(n)?n:o(n),r=e.get(s);return typeof r>"u"&&(r=t.call(this,n),e.set(s,r)),r}function Vi(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 gs(t,e,o,n,s){return o.bind(e,t,n,s)}function Tp(t,e){var o=t.length===1?zi:Vi;return gs(t,this,o,e.cache.create(),e.serializer)}function Ep(t,e){return gs(t,this,Vi,e.cache.create(),e.serializer)}function kp(t,e){return gs(t,this,zi,e.cache.create(),e.serializer)}var Rp=function(){return JSON.stringify(arguments)};function ms(){this.cache=Object.create(null)}ms.prototype.get=function(t){return this.cache[t]};ms.prototype.set=function(t,e){this.cache[t]=e};var Pp={create:function(){return new ms}},qo={variadic:Ep,monadic:kp};var qe;(function(t){t.MISSING_VALUE="MISSING_VALUE",t.INVALID_VALUE="INVALID_VALUE",t.MISSING_INTL_API="MISSING_INTL_API"})(qe||(qe={}));var $t=function(t){zt(e,t);function e(o,n,s){var r=t.call(this,o)||this;return r.code=n,r.originalMessage=s,r}return e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error);var fs=function(t){zt(e,t);function e(o,n,s,r){return t.call(this,'Invalid values for "'.concat(o,'": "').concat(n,'". Options are "').concat(Object.keys(s).join('", "'),'"'),qe.INVALID_VALUE,r)||this}return e}($t);var $i=function(t){zt(e,t);function e(o,n,s){return t.call(this,'Value for "'.concat(o,'" must be of type ').concat(n),qe.INVALID_VALUE,s)||this}return e}($t);var qi=function(t){zt(e,t);function e(o,n){return t.call(this,'The intl string context variable "'.concat(o,'" was not provided to the string "').concat(n,'"'),qe.MISSING_VALUE,n)||this}return e}($t);var j;(function(t){t[t.literal=0]="literal",t[t.object=1]="object"})(j||(j={}));function Ip(t){return t.length<2?t:t.reduce(function(e,o){var n=e[e.length-1];return!n||n.type!==j.literal||o.type!==j.literal?e.push(o):n.value+=o.value,e},[])}function Lp(t){return typeof t=="function"}function qt(t,e,o,n,s,r,i){if(t.length===1&&us(t[0]))return[{type:j.literal,value:t[0].value}];for(var a=[],c=0,l=t;c<l.length;c++){var d=l[c];if(us(d)){a.push({type:j.literal,value:d.value});continue}if(Ki(d)){typeof r=="number"&&a.push({type:j.literal,value:o.getNumberFormat(e).format(r)});continue}var u=d.value;if(!(s&&u in s))throw new qi(u,i);var p=s[u];if(Bi(d)){(!p||typeof p=="string"||typeof p=="number")&&(p=typeof p=="string"||typeof p=="number"?String(p):""),a.push({type:typeof p=="string"?j.literal:j.object,value:p});continue}if(Fo(d)){var g=typeof d.style=="string"?n.date[d.style]:Vt(d.style)?d.style.parsedOptions:void 0;a.push({type:j.literal,value:o.getDateTimeFormat(e,g).format(p)});continue}if(Bo(d)){var g=typeof d.style=="string"?n.time[d.style]:Vt(d.style)?d.style.parsedOptions:n.time.medium;a.push({type:j.literal,value:o.getDateTimeFormat(e,g).format(p)});continue}if(Ho(d)){var g=typeof d.style=="string"?n.number[d.style]:Vo(d.style)?d.style.parsedOptions:void 0;g&&g.scale&&(p=p*(g.scale||1)),a.push({type:j.literal,value:o.getNumberFormat(e,g).format(p)});continue}if(zo(d)){var f=d.children,m=d.value,y=s[m];if(!Lp(y))throw new $i(m,"function",i);var E=qt(f,e,o,n,s,r),S=y(E.map(function(x){return x.value}));Array.isArray(S)||(S=[S]),a.push.apply(a,S.map(function(x){return{type:typeof x=="string"?j.literal:j.object,value:x}}))}if(Ko(d)){var v=d.options[p]||d.options.other;if(!v)throw new fs(d.value,p,Object.keys(d.options),i);a.push.apply(a,qt(v.value,e,o,n,s));continue}if(Uo(d)){var v=d.options["=".concat(p)];if(!v){if(!Intl.PluralRules)throw new $t(`Intl.PluralRules is not available in this environment.
|
|
2
2
|
Try polyfilling it using "@formatjs/intl-pluralrules"
|
|
3
|
-
`,qe.MISSING_INTL_API,i);var k=o.getPluralRules(e,{type:d.pluralType}).select(p-(d.offset||0));v=d.options[k]||d.options.other}if(!v)throw new fs(d.value,p,Object.keys(d.options),i);a.push.apply(a,qt(v.value,e,o,n,s,p-(d.offset||0)));continue}}return Ip(a)}function Ap(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 Mp(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Ap(t[n],e[n]),o},ee({},t)):t}function hs(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Np(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.number),strategy:qo.variadic}),getDateTimeFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.dateTime),strategy:qo.variadic}),getPluralRules:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.pluralRules),strategy:qo.variadic})}}var Gi=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var d=r.formatToParts(l);if(d.length===1)return d[0].value;var u=d.reduce(function(p,g){return!p.length||g.type!==j.literal||typeof p[p.length-1]!="string"?p.push(g.value):p[p.length-1]+=g.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return qt(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,c=Fi(i,["formatters"]);this.ast=t.__parse(e,ee(ee({},c),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Mp(t.formats,n),this.formatters=s&&s.formatters||Np(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=Ui,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 Dp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Hp="dummy",ys=Op(null);function R(t){let e=_p(ys);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=Dp(o,n);return r?new Gi(r).format(s):(e!==Hp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Bp,useRef as Kp}from"react";var ji={root:"X",content:"Xo"};import{jsx as Wi}from"react/jsx-runtime";var Up=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let c=Kp(null),l=h("Dialog",ji),d=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===c.current&&t&&n()};return Bp(()=>{var p,g;!c.current||!t||!e||(g=(p=c.current)==null?void 0:p.querySelector("input, textarea"))==null||g.focus()},[t,e,c]),t?Wi("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:c,onKeyDown:d,onMouseDown:u,children:Wi("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},Go=Up;import Vp from"classnames";var Xi={root:"y"};import{jsx as qp}from"react/jsx-runtime";var $p=({className:t,value:e,...o})=>{let n=h("TextInput",Xi);return qp("input",{className:Vp(t,n.root),type:"text",value:e,...o})},Gt=$p;var vs={};Z(vs,{enUS:()=>Gp,nlNL:()=>jp});var Gp={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"}]},jp={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 Zi={root:"Jo",anchorButton:"Ko",errorMessage:"Po",title:"Qo",subtitle:"Vo",text:"Wo",input:"Zo",actions:"_o",button:"w",primaryButton:"oe"};import{jsx as Q,jsxs as jo}from"react/jsx-runtime";var Yp=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},eg=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=R(vs),i=h("LoginTokenDialog",Zi),a=Jp(Yr),c=Qp(),l=b("productName"),[d,u]=xs(t||""),[p,g]=xs(0),[f,m]=xs(""),y=Qi(async k=>{k.preventDefault(),c(ti({email:d})),g(1)},[o,d]),E=()=>{m(""),g(0)},S=Qi(async k=>{k.preventDefault();let x=Yp(k.target.elements.token.value);if(!x){m(r("verifyCodeError",{login:v}));return}c(Ht({token:x}))},[o]),v=Zp(()=>k=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:k},"back-button"),[]);return Xp(()=>{a==="error"&&m(r("verifyCodeError",{login:v})),a==="done"&&n()},[a]),Q(Go,{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})}),p===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(Gt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:k=>u(k.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:Ss(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&jo("form",{onSubmit:S,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q(Gt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&Q("div",{className:i.errorMessage,children:f}),jo("div",{className:i.actions,children:[Q("button",{type:"button",className:Ss(i.button),onClick:E,children:r("back")}),Q("button",{type:"submit",className:Ss(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ji=eg;import{jsx as og}from"react/jsx-runtime";var tg=()=>{let t=Yi(ei),e=Yi(Ti),o=b("adminUrl"),n=oe(),s=()=>n.send(gt,!1),r=()=>{n.send(gt,!1),n.send(Ut)};return og(Ji,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},ea=tg;import Ym from"lodash.debounce";import{Fragment as ef,useCallback as zs,useEffect as Vs,useState as $s}from"react";import{useDispatch as tf,useSelector as Xe}from"react-redux";import{createAsyncThunk as ng,createSlice as sg}from"@reduxjs/toolkit";var rg={data:null,fetchState:"idle"},ta=t=>t.contentTypes.data,jt=ng("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),ig=sg({name:"contentTypes",initialState:rg,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})}}),oa=ig.reducer;function Ge(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 Ta,useState as Gg,useRef as jg,useCallback as Wg}from"react";import{useState as dg}from"react";import bs from"classnames";var ne={root:"ee",list:"ie",listWrapper:"re",listHorizontal:"J",page:"v",search:"K",pageNav:"te",pageTitle:"ne",pageBackButton:"P",listHeader:"ae",listHeading:"pe",listMoreButton:"de",listItem:"Q",listItemContent:"a",listItemText:"le",listItemDescription:"se",listItemActions:"V",truncate:"ce",lineClamp:"xe",listItemTitle:"fe",listItemAction:"ge",listItemPrimaryAction:"be",listItemSelected:"he",sources:"me",sourcesTitle:"ue",source:"ye",icon:"W",searchIcon:"we",searchInputWrapper:"ve",searchInput:"k",select:"ke",selectType:"ze",selectWrapper:"z",image:"je",imageSrc:"Ye",imageSrcHidden:"qe",imageSrcStatus:"Ce",imageTitle:"Se",actions:"Ee",actionsWrapper:"Ge",actionsBar:"Ne",actionButton:"Z",hasShortKeys:"Ae",actionShortcut:"Fe",actionShortcutFixKerning:"He"};var je={};Z(je,{enUS:()=>lg,nlNL:()=>cg});var lg={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"}]},cg={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}]};import{jsx as Wt,jsxs as pg}from"react/jsx-runtime";var ug=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=dg("loading"),r=R(je);return pg("div",{className:o.image,children:[Wt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:bs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Wt("span",{className:bs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Wt("span",{className:bs(o.imageSrc,o.imageSrcStatus),children:Wt(mo,{})}),e&&Wt("span",{className:o.imageTitle,children:e})]})},na=ug;import gg from"react";import mg from"classnames";import{jsx as Cs,jsxs as sa}from"react/jsx-runtime";function ws({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=R(je),i=h("CommandPalette",ne);return gg.Children.count(t)===0?null:sa("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&sa("div",{className:i.listHeader,children:[e&&Cs("h4",{className:i.listHeading,children:e}),n&&s&&Cs("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Cs("div",{className:mg(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Zo from"classnames";import{Interweave as Fg}from"interweave";var fg=/[.*+?^${}()|[\]\\]/g,hg=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function yg(t){return t.replace(fg,"\\$&")}function vg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Sg(t){return t.search(hg)}function ra(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${yg(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ia(t){return t.replace(yo,'<mark data-type="placeholder">$1</mark>')}function Xt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function xg(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 Ts(t,e,o={}){if(e){let n=vg(e.toLowerCase(),t.toLowerCase()),s=Xt(t.substring(n,t.length));if(o.stripAgentPart){let c=t.substring(0,n),l=Sg(c);return`<span style="opacity: 0.5">${c.substring(l+1)}</span>${s}`}let i=e.split(Wr).length>3||e.length>30?xg(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Xt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var bg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Es(t){return bg.test(t)}function aa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import wg,{useState as la,useEffect as ca,useMemo as Tg,useRef as da,useCallback as Eg,useContext as kg}from"react";import Rg from"classnames";var ks={root:"Le",trigger:"_",content:"Me",contentOpen:"Re",contentTop:"Te",contentBottom:"Ue",item:"oo"};import{jsx as Wo,jsxs as Ag}from"react/jsx-runtime";var Pg=0,ua=wg.createContext(null),Ig=()=>{let t=kg(ua);if(!t)throw new Error("Invalid DropdownContext");return t},pa=({trigger:t,children:e,position:o="bottom"})=>{let n=Tg(()=>++Pg,[]),s=da(null),r=da(null),i=h("Dropdown",ks),[a,c]=la(!1),[l,d]=la(o),u=g=>{g.preventDefault(),g.stopPropagation(),c(!a)},p=Eg(([g])=>{!g.isIntersecting&&a&&d(l==="top"?"bottom":"top")},[a]);return ca(()=>{let g=f=>{s.current&&!s.current.contains(f.target)&&c(!1)};return document.addEventListener("click",g),()=>{document.removeEventListener("click",g)}},[]),ca(()=>{if(!r.current&&!a)return()=>{};let g=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&g.observe(r.current),()=>{r.current&&g.unobserve(r.current)}},[r,a]),Wo(ua.Provider,{value:{setIsOpen:c},children:Ag("div",{ref:s,className:i.root,children:[Wo("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),Wo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Rg(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Lg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",ks),{setIsOpen:i}=Ig(),a=c=>{i(!1),o(c),c.stopPropagation()};return Wo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}pa.Item=Lg;var Rs=pa;import{jsx as ga}from"react/jsx-runtime";var ma=t=>ga("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:ga("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 We={};Z(We,{enUS:()=>Mg,nlNL:()=>Ng});var Mg={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"}]},Ng={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 Ps}from"react/jsx-runtime";var Og="%0d%0a%0d%0a%0d%0a",_g=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Og)}`},Dg=({suggestion:t,onFeedback:e})=>{let o=R(We),n=b("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Ps(Rs,{trigger:Ps(ma,{"data-testid":"feedback-dropdown-trigger"}),children:Ps(Rs.Item,{as:"a",href:_g(n,t),onClick:e,children:o("giveFeedback")})})},Xo=Dg;import Is from"react";import{jsx as Hg}from"react/jsx-runtime";var fa=Is.createContext(void 0);function Me(){let t=Is.useContext(fa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ha=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Is.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Hg(fa.Provider,{value:i,children:t})};import{jsx as Ne,jsxs as Ls}from"react/jsx-runtime";function As({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,description:i,sources:a,id:c,styles:l,...d}){let{selected:u,onChangeOpen:p}=Me(),g=h("CommandPalette",ne);function f(m){n(m),t&&p(!1)}return Ls("div",{className:Zo(g.listItem,c===u&&g.listItemSelected),children:[Ne("button",{type:"button",className:Zo(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":d.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":c,...d,children:Ls("div",{className:g.listItemContent,children:[typeof o=="string"?Ne("p",{className:Zo(g.listItemText,g.truncate,l==null?void 0:l.title),children:o}):o,i&&Ne(Fg,{tagName:"p",allowList:[],content:Es(i)?aa(i):i,className:Zo(g.listItemDescription,l==null?void 0:l.description,e?g.lineClamp:g.truncate)})]})}),s&&Ne("div",{className:g.listItemActions,children:Ne(Xo,{suggestion:String(o),onFeedback:s})}),a&&Ls("div",{className:g.sources,children:[Ne("span",{className:g.sourcesTitle,children:"Sources"}),a.map(m=>m.url?Ne("a",{className:g.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>r&&r(m),children:m.name},m.url):Ne("span",{className:g.source,children:m.name},m.name))]})]})}import{jsx as ya,jsxs as Bg}from"react/jsx-runtime";var va=()=>Bg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[ya("title",{id:"angleLeftTitle",children:"AngleLeft"}),ya("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 Sa,jsxs as Ms}from"react/jsx-runtime";function Ns({children:t,title:e,id:o,onDismiss:n}){let s=R(je),r=h("CommandPalette",ne),{page:i}=Me();return i!==o?null:Ms("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Ms("div",{className:r.pageNav,children:[Ms("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Sa(va,{}),s("back")]}),e&&Sa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Ug}from"react";import{jsx as xa,jsxs as Kg}from"react/jsx-runtime";var mt=()=>Kg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[xa("path",{d:"M0 0h24v24H0z",fill:"none"}),xa("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as ft,jsxs as Os}from"react/jsx-runtime";function zg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let c=h("CommandPalette",ne);return Os("div",{className:c.search,children:[ft("div",{className:c.searchIcon,children:ft(mt,{})}),Os("div",{className:c.searchInputWrapper,children:[ft("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:c.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ft("div",{className:c.selectWrapper,children:Os("select",{"data-testid":"command-palette-type-select",className:c.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&ft("option",{children:n}),s.map(l=>ft("option",{value:l.value,children:l.label},l.value))]})})]})]})}var ba=Ug(zg);import Ca from"classnames";import{jsx as $g,jsxs as qg}from"react/jsx-runtime";var Vg=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return qg("button",{type:"button",...n,onClick:t,className:Ca(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>$g("span",{className:Ca(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},wa=Vg;import{jsx as Ea,jsxs as Zg}from"react/jsx-runtime";var Xg="[data-command-palette-item]";function ht({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:c,types:l,children:d,isOpen:u,search:p}){let[g,f]=Gg(),m=jg(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},E=()=>{var I;if(n!==o&&s){s(o);return}if(c&&i){i(void 0),(I=m.current)==null||I.focus();return}if(p.length>0){r("");return}a(!1)},S=()=>{let I=v();I.length!==0&&f(I[0].dataset.itemId)},v=()=>Array.from(document.querySelectorAll(Xg)||[]),k=I=>document.querySelector(`[data-item-id=${I}]`),x=I=>{let O=k(I);O&&f(O.dataset.itemId)},T=I=>{let O=k(I);O&&O.scrollIntoView({behavior:"smooth"})},N=()=>{if(!g)return;let I=v(),O=k(g);if(!O)return;let P=I.indexOf(O),$=I[P+1];$&&$.dataset.itemId?x($.dataset.itemId):S()},U=()=>{if(!g)return;let I=v(),O=k(g);if(!O)return;let P=I.indexOf(O),$=I[P-1];$&&$.dataset.itemId?x($.dataset.itemId):x(I[I.length-1].dataset.itemId)},F=Wg(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),N();break}case"ArrowUp":{I.preventDefault(),U();break}case"Enter":{if(g){let O=k(g);O==null||O.click()}break}}},[g]);return Ta(()=>{S()},[p,n,c,u]),Ta(()=>{g&&T(g)},[g]),Ea(Go,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:E,onClose:y,onKeyDown:F,children:Zg(ha,{selected:g,setSelected:f,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&Ea(ba,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:c,types:l,typePlaceholder:e}),d]})})}ht.Page=Ns;ht.List=ws;ht.Image=na;ht.ListItem=As;ht.Button=wa;var D=ht;import{useEffect as Qg}from"react";function ka(t,e){Qg(()=>{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 La,useRef as rm}from"react";import{useSelector as im,useDispatch as am}from"react-redux";import{createAsyncThunk as Jg,createSlice as Yg}from"@reduxjs/toolkit";var Ra={data:null,fetchState:"idle"},Qo=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=Jg("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)}),em=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),tm=Yg({name:"entities",initialState:Ra,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=em(e.data?[...e.data,...o.payload]:o.payload)}).addCase(_,()=>Ra)}}),Pa=tm.reducer;var _s={};Z(_s,{enUS:()=>om,nlNL:()=>nm});var om={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},nm={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Ia={root:"Be",empty:"De"};import{jsx as Ds,jsxs as cm}from"react/jsx-runtime";var lm=({onCopy:t})=>{let e=rm(null),o=h("EntitiesList",Ia),n=im(Qo),{setSelected:s}=Me(),r=R(_s),i=am();return La(()=>{i(ae())},[]),La(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),cm("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Ds(D.List,{children:n.map((a,c)=>Ds(D.ListItem,{id:`entity-${c}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Ds("p",{className:o.empty,children:r("noResults")})]})},Aa=lm;import{Fragment as hm,useEffect as Jo,useRef as ym,useState as vm}from"react";import{useSelector as Fs,useDispatch as Sm}from"react-redux";import{createAsyncThunk as dm,createSlice as um}from"@reduxjs/toolkit";var Ma={data:null,fetchState:"idle"},Na=t=>t.summary.data,Oa=t=>t.summary.fetchState==="error",_a=t=>t.summary.model,xe=dm("summary/getSummary",async(t,e)=>{var d,u,p;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(p=(u=e.getState().info)==null?void 0:u.agentInfo)==null?void 0:p.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,c=await a();if(c.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(c,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),pm=um({name:"summary",initialState:Ma,reducers:{},extraReducers:t=>{t.addCase(xe.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(xe.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(xe.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(_,()=>Ma)}}),Da=pm.reducer;var Hs={};Z(Hs,{enUS:()=>gm,nlNL:()=>mm});var gm={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."}]},mm={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 Ha={root:"Ie",actions:"Oe",main:"Xe",textInput:"eo",loading:"Je",error:"Ke"};import{jsx as yt,jsxs as bm}from"react/jsx-runtime";var xm=({onCopy:t})=>{let e=ym(null),o=h("SummaryForm",Ha),[n,s]=vm(""),r=R(Hs),i=Fs(_a),a=Fs(Na),c=Fs(Oa),l=Sm(),d=()=>{l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},u=()=>{let p=document.getSelection();p&&l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:p==null?void 0:p.toString(),model:i},options:{includeConversationData:!0}}))};return Jo(()=>{l(xe())},[]),Jo(()=>{s(a||"")},[a]),Jo(()=>{e.current&&a&&e.current.focus()},[e,a]),Jo(()=>{let p=g=>{g.key==="Enter"&&g.shiftKey&&d()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),yt("div",{className:o.root,tabIndex:-1,children:c?yt("p",{className:o.error,children:r("error")}):bm(hm,{children:[yt("div",{className:o.main,children:yt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:u,onChange:p=>s(p.target.value)})}),yt("div",{className:o.actions,children:yt(D.Button,{shortKeys:[8679,8629],onClick:d,children:r("copy")})})]})})},Fa=xm;var Zt={};Z(Zt,{enUS:()=>Cm,nlNL:()=>wm});var Cm={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?"}]},wm={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 Dm,{useEffect as Us,useRef as Hm}from"react";import{useDispatch as Fm,useSelector as ja}from"react-redux";var Bs={};Z(Bs,{enUS:()=>Tm,nlNL:()=>Em});var Tm={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"}]},Em={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 Ba={root:"io",title:"Pe",empty:"Qe",status:"Ve",form:"ro",input:"to",submit:"We",question:"Ze",answer:"_e",alignRight:"oi"};import{createAction as Am,createAsyncThunk as Mm,createSlice as Nm}from"@reduxjs/toolkit";import{createAsyncThunk as Rm,createSlice as Pm}from"@reduxjs/toolkit";var Im={data:null,fetchState:"idle"},Ka=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Qt=Rm("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}),Lm=Pm({name:"knowledgeAssistant",initialState:Im,reducers:{},extraReducers:t=>{t.addCase(Qt.pending,e=>{e.fetchState="loading"}).addCase(Qt.rejected,e=>{e.fetchState="error"}).addCase(Qt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ua=Lm.reducer;var Ks={data:[],fetchState:"idle"},za=t=>{var e;return(e=t.answer)==null?void 0:e.data},Va=t=>t.answer.fetchState,St=Am("answer/resetKnowledgeSearch"),vt=Mm("answer/getAnswer",async(t,e)=>{var c,l,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Ka(e.getState()),r=(c=e.getState().conversation.current)==null?void 0:c.sessionId,i=(d=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Om=Nm({name:"answer",initialState:Ks,reducers:{},extraReducers:t=>{t.addCase(vt.pending,e=>{e.fetchState="loading"}).addCase(vt.rejected,e=>{e.fetchState="error"}).addCase(vt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(_,()=>Ks).addCase(St,()=>Ks)}}),$a=Om.reducer;import{jsx as qa,jsxs as _m}from"react/jsx-runtime";var Ga=()=>_m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[qa("title",{id:"paperPlaneTitle",children:"PaperPlane"}),qa("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 be,jsxs as Wa}from"react/jsx-runtime";var Bm=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Dm.useState(""),{setSelected:r}=Me(),i=Hm(null),a=h("EntitiesList",Ba),c=R(Bs),l=Fm(),d=ja(za),u=ja(Va),p=async f=>{f.preventDefault(),f.stopPropagation(),n!==""&&l(vt(n))},g=(f,m)=>{l(G({name:"knowledge assist source viewed",data:{question:m,sourceViewed:f.url||f.name},options:{includeConversationData:!0}}))};return Us(()=>{var f;o&&u==="idle"?l(vt(o)):(f=i.current)==null||f.focus()},[i,u]),Us(()=>{u==="done"&&(l(G({name:"knowledge assist question answered",data:{question:n||o,sources:d[d.length-1].answer.sources,answer:d[d.length-1].answer.answer,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),r(`knowledge-assist-${d.length-1}`),s(""))},[u,d]),Us(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),Wa("div",{className:a.root,children:[d.length>0&&be("div",{className:a.alignRight,children:be(D.Button,{onClick:e,children:c("reset")})}),d.map(({question:f,answer:m},y)=>be(D.List,{children:be(D.ListItem,{id:`knowledge-assist-${y}`,"data-testid":"knowledge-search-answer",description:m.answer,closeOnSelect:!0,onClick:()=>t(m.answer),onSourceClick:E=>g(E,f),sources:m.sources,styles:{title:a.question,description:a.answer},children:f})},`${m.answer}_${y}`)),u==="loading"&&be("p",{className:a.status,children:c("loading")}),u==="error"&&be("p",{className:a.status,children:c("error")}),Wa("form",{className:a.form,onSubmit:p,children:[be("input",{ref:i,placeholder:c("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:f=>{r(void 0),s(f.target.value)}}),be("button",{type:"submit",className:a.submit,children:be(Ga,{})})]})]})},Xa=Bm;import{createAsyncThunk as Km,createSlice as Um}from"@reduxjs/toolkit";var zm={data:null,fetchState:"idle"},Oe=t=>t.profile.data,Yo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Jt=Km("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)}),Vm=Um({name:"profile",initialState:zm,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})}}),Za=Vm.reducer;import{useEffect as Wm}from"react";import{useDispatch as Xm}from"react-redux";import{createAction as Gm,createAsyncThunk as el,createSlice as jm}from"@reduxjs/toolkit";var $m=["{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}"],qm=new RegExp($m.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Qa(t,e){let o=t.split(qm),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],c=r===o.length-2;n+=i.length;let l=n;if(c){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let d=l===-1?e.slice(n):e.slice(n,l);s.push(d),n=l}return s.join("")}function Ja(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var tl={suggestions:[],fetchState:"idle",isInitialRequest:null},Ya={default:tl},ol=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},nl=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},en=t=>t.textSuggestions,sl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},tn=Gm("textSuggestions/refresh"),le=el("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=pt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getTextSuggestions(s,Kt(n),t);if(t==="default"){let d=i?c.filter(sl(a)):c;e.dispatch(ue(d.slice(0,r)))}return c}),Yt=el("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getAutocompleteSuggestions(s,{...Kt(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(c=c.filter(sl(t))),i&&(c=c.map(d=>({...d,text:d.source!=="trie-with-typos"?Qa(d.text,t):d.text}))),c=Ja(c,r),e.dispatch(ue(c)),c}),rl=jm({name:"textSuggestions",initialState:Ya,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(le.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||tl;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(le.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(le.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(Yt.pending,e=>{e.default.fetchState="loading"}).addCase(Yt.rejected,e=>{e.default.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(_,()=>Ya)}}),{setTextSuggestions:DT,setSuggestionState:HT}=rl.actions,il=rl.reducer;import{useSelector as al}from"react-redux";import{jsx as on,jsxs as Qm}from"react/jsx-runtime";var Zm=({commands:t,onClick:e})=>{var a,c,l;let o=Xm(),n=R(Zt),s=al(Oe),r=al(en),i=((l=(c=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:c.initialTypes)==null?void 0:l.filter(({isActive:d})=>d))||[];return Wm(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(le(d))})},[]),Qm("div",{children:[t.length>0&&on(D.List,{heading:n("commands"),children:t.map((d,u)=>on(D.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:u})=>{var p;return on(D.List,{heading:u,orientation:"vertical",children:(p=r[d])==null?void 0:p.suggestions.map((g,f)=>on(D.ListItem,{id:`${d}-${f}`,closeOnSelect:!1,description:g.text,onClick:()=>e(g.text,g),"data-testid":"search-overlay-suggestion",children:g.title},`${g.id}-${g.text}`))},d)})]})},ll=Zm;import{jsx as se,jsxs as qs}from"react/jsx-runtime";var of=200,nf=5,sf=4,cl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),rf=()=>{let t=tf(),e=oe(),o=R(Zt),[n,s]=$s(!1),[r,i]=$s(""),a=Xe(Ii),c=Xe(Oe),[l,d]=$s(),u=Xe(W),p=b("showSearch"),g=b("showEntitiesCommand"),f=b("showSummaryCommand"),m=b("showKnowledgeSearch"),y=b("showImageSearch"),E=b("searchTriggerKey"),S=Xe(ta),v=Xe(Li),k=Xe(Ai),x=Xe(Pi),T=C=>nt(v.filter(q=>q.type===C.toUpperCase()),C),N=[{value:"PERSONAL",label:o("personalSuggestions"),list:T("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:T("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:T("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:T("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(C=>C.shouldShow),U=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:g&&cl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:f&&cl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:m}].filter(C=>C.shouldShow),F=(S==null?void 0:S.map(C=>({value:C.code.toUpperCase(),label:`${C.name}s`,list:T(C.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],I=zs(Ym((C,q)=>{t(Ve({query:C,type:q,tags:["search-overlay"],size:l?50:20}))},of),[l]),O=zs((C,q)=>{switch(q.type){case"IMAGE":e.send(cs,{suggestion:q});break;default:e.send(Ae,{text:C,suggestion:q})}t(Y(!1))},[t]),P=C=>{Ge(C.text),t(G({name:"entity copied",data:{entity:C,type:"copy"}})),t(Y(!1))},$=zs(C=>{t(G({name:"suggestion feedback",data:{text:C.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),Un=C=>{e.send(Ae,{text:C,suggestion:{source:"knowledge-assist",text:C}}),t(G({name:"answer used",data:{originalText:C},options:{includeConversationData:!0}})),i(""),t(re("search")),t(St()),t(Y(!1))},zn=C=>{Ge(C),t(Y(!1))};function nt(C,q){return C.slice(0,l?10:q.toLowerCase()==="image"?sf:nf)}function Ot(C){return q=>{n?window.confirm(o("warning"))&&(C(q),s(!1)):C(q)}}return Vs(()=>{r?I(r,l):t(Mo())},[r,l]),Vs(()=>{a==="search"&&t(St())},[a]),Vs(()=>{u&&t(jt())},[u]),ka(E,()=>t(Y(!0))),!p||!c?null:qs(D,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ot(C=>t(Y(C))),onChangeType:C=>d(C),onChangePage:Ot(C=>t(re(C))),selectedType:l,search:r,page:a,isOpen:x,types:[...F,...N],children:[qs(D.Page,{id:"search",children:[r.length===0&&se(ll,{commands:U,onClick:O}),r.length>0&&qs(ef,{children:[U.length>0&&se(D.List,{heading:o("commands"),children:U.map((C,q)=>se(D.ListItem,{closeOnSelect:!1,onClick:C.onClick,id:`commands-${q}`,children:C.label},C.label))}),[...F,...N].map(({value:C,label:q,list:Dr,lineClamp:ou,listOrientation:nu})=>se(D.List,{heading:q,orientation:nu==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(C),hasMore:!l&&k[C.toLowerCase()]>nt(Dr,C).length,children:nt(Dr,C).map(J=>se(D.ListItem,{id:`${C}-${J.id}`,closeOnSelect:!1,lineClamp:ou,onClick:()=>O(J.text,J),description:C!=="IMAGE"?J.title&&J.text:void 0,onFeedback:C!=="IMAGE"?()=>$(J):void 0,children:C==="IMAGE"?se(D.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},C))]})]}),se(D.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Ot(()=>{t(re("search"))}),children:se(Aa,{onCopy:P})}),se(D.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Ot(()=>{t(re("search"))}),children:se(Fa,{onCopy:zn})}),se(D.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Ot(()=>{t(St()),t(re("search"))}),children:se(Xa,{question:r,onUse:Un,onResetQuestion:()=>{t(St()),i("")}})})]})},dl=rf;import{jsx as ul,jsxs as cf}from"react/jsx-runtime";var lf=()=>{let t=b("showSearch"),e=b("isEmbedded");return cf(af,{children:[t&&ul(dl,{}),e&&ul(ea,{})]})},pl=lf;import mf from"classnames";import{useSelector as ff}from"react-redux";import{jsx as Gs}from"react/jsx-runtime";var gl=({className:t})=>Gs("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:Gs("g",{children:Gs("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
|
+
`,qe.MISSING_INTL_API,i);var k=o.getPluralRules(e,{type:d.pluralType}).select(p-(d.offset||0));v=d.options[k]||d.options.other}if(!v)throw new fs(d.value,p,Object.keys(d.options),i);a.push.apply(a,qt(v.value,e,o,n,s,p-(d.offset||0)));continue}}return Ip(a)}function Ap(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 Mp(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=Ap(t[n],e[n]),o},ee({},t)):t}function hs(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function Np(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.number),strategy:qo.variadic}),getDateTimeFormat:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.dateTime),strategy:qo.variadic}),getPluralRules:$o(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,No([void 0],o,!1)))},{cache:hs(t.pluralRules),strategy:qo.variadic})}}var Gi=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(l){var d=r.formatToParts(l);if(d.length===1)return d[0].value;var u=d.reduce(function(p,g){return!p.length||g.type!==j.literal||typeof p[p.length-1]!="string"?p.push(g.value):p[p.length-1]+=g.value,p},[]);return u.length<=1?u[0]||"":u},this.formatToParts=function(l){return qt(r.ast,r.locales,r.formatters,r.formats,l,void 0,r.message)},this.resolvedOptions=function(){var l;return{locale:((l=r.resolvedLocale)===null||l===void 0?void 0:l.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,c=Fi(i,["formatters"]);this.ast=t.__parse(e,ee(ee({},c),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Mp(t.formats,n),this.formatters=s&&s.formatters||Np(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=Ui,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 Dp(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Hp="dummy",ys=Op(null);function R(t){let e=_p(ys);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=Dp(o,n);return r?new Gi(r).format(s):(e!==Hp&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}import{useEffect as Bp,useRef as Kp}from"react";var ji={root:"X",content:"Xo"};import{jsx as Wi}from"react/jsx-runtime";var Up=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,onKeyDown:r,overlayAriaLabel:i,contentAriaLabel:a})=>{let c=Kp(null),l=h("Dialog",ji),d=p=>{if(p.key==="Escape"){p.preventDefault(),p.stopPropagation(),s();return}r&&r(p)},u=p=>{p.target===c.current&&t&&n()};return Bp(()=>{var p,g;!c.current||!t||!e||(g=(p=c.current)==null?void 0:p.querySelector("input, textarea"))==null||g.focus()},[t,e,c]),t?Wi("div",{role:"dialog","data-testid":"dialog",className:l.root,"aria-label":i,ref:c,onKeyDown:d,onMouseDown:u,children:Wi("div",{"data-testid":"dialog-content",className:l.content,"aria-label":a,children:o})}):null},Go=Up;import Vp from"classnames";var Xi={root:"y"};import{jsx as qp}from"react/jsx-runtime";var $p=({className:t,value:e,...o})=>{let n=h("TextInput",Xi);return qp("input",{className:Vp(t,n.root),type:"text",value:e,...o})},Gt=$p;var vs={};Z(vs,{enUS:()=>Gp,nlNL:()=>jp});var Gp={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"}]},jp={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 Zi={root:"Jo",anchorButton:"Ko",errorMessage:"Po",title:"Qo",subtitle:"Vo",text:"Wo",input:"Zo",actions:"_o",button:"w",primaryButton:"oe"};import{jsx as Q,jsxs as jo}from"react/jsx-runtime";var Yp=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},eg=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=R(vs),i=h("LoginTokenDialog",Zi),a=Jp(Yr),c=Qp(),l=b("productName"),[d,u]=xs(t||""),[p,g]=xs(0),[f,m]=xs(""),y=Qi(async k=>{k.preventDefault(),c(ti({email:d})),g(1)},[o,d]),E=()=>{m(""),g(0)},S=Qi(async k=>{k.preventDefault();let x=Yp(k.target.elements.token.value);if(!x){m(r("verifyCodeError",{login:v}));return}c(Ht({token:x}))},[o]),v=Zp(()=>k=>Q("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:E,children:k},"back-button"),[]);return Xp(()=>{a==="error"&&m(r("verifyCodeError",{login:v})),a==="done"&&n()},[a]),Q(Go,{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})}),p===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(Gt,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:d,onChange:k=>u(k.target.value)}),Q("div",{className:i.actions,children:Q("button",{type:"submit",className:Ss(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),p===1&&jo("form",{onSubmit:S,children:[Q("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),Q("p",{className:i.text,children:r("verifyCodeBody")}),Q(Gt,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&Q("div",{className:i.errorMessage,children:f}),jo("div",{className:i.actions,children:[Q("button",{type:"button",className:Ss(i.button),onClick:E,children:r("back")}),Q("button",{type:"submit",className:Ss(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},Ji=eg;import{jsx as og}from"react/jsx-runtime";var tg=()=>{let t=Yi(ei),e=Yi(Ti),o=b("adminUrl"),n=oe(),s=()=>n.send(gt,!1),r=()=>{n.send(gt,!1),n.send(Ut)};return og(Ji,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},ea=tg;import Ym from"lodash.debounce";import{Fragment as ef,useCallback as zs,useEffect as Vs,useState as $s}from"react";import{useDispatch as tf,useSelector as Xe}from"react-redux";import{createAsyncThunk as ng,createSlice as sg}from"@reduxjs/toolkit";var rg={data:null,fetchState:"idle"},ta=t=>t.contentTypes.data,jt=ng("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),ig=sg({name:"contentTypes",initialState:rg,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})}}),oa=ig.reducer;function Ge(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 Ta,useState as Gg,useRef as jg,useCallback as Wg}from"react";import{useState as dg}from"react";import bs from"classnames";var ne={root:"ee",list:"ie",listWrapper:"re",listHorizontal:"J",page:"v",search:"K",pageNav:"te",pageTitle:"ne",pageBackButton:"P",listHeader:"ae",listHeading:"pe",listMoreButton:"de",listItem:"Q",listItemContent:"a",listItemText:"le",listItemDescription:"se",listItemActions:"V",truncate:"ce",lineClamp:"xe",listItemTitle:"fe",listItemAction:"ge",listItemPrimaryAction:"be",listItemSelected:"he",sources:"me",sourcesTitle:"ue",source:"ye",icon:"W",searchIcon:"we",searchInputWrapper:"ve",searchInput:"k",select:"ke",selectType:"ze",selectWrapper:"z",image:"je",imageSrc:"Ye",imageSrcHidden:"qe",imageSrcStatus:"Ce",imageTitle:"Se",actions:"Ee",actionsWrapper:"Ge",actionsBar:"Ne",actionButton:"Z",hasShortKeys:"Ae",actionShortcut:"Fe",actionShortcutFixKerning:"He"};var je={};Z(je,{enUS:()=>lg,nlNL:()=>cg});var lg={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"}]},cg={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}],showAll:[{type:0,value:"Toon meer"}]};import{jsx as Wt,jsxs as pg}from"react/jsx-runtime";var ug=({src:t,title:e})=>{let o=h("CommandPalette",ne),[n,s]=dg("loading"),r=R(je);return pg("div",{className:o.image,children:[Wt("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:bs(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&Wt("span",{className:bs(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&Wt("span",{className:bs(o.imageSrc,o.imageSrcStatus),children:Wt(mo,{})}),e&&Wt("span",{className:o.imageTitle,children:e})]})},na=ug;import gg from"react";import mg from"classnames";import{jsx as Cs,jsxs as sa}from"react/jsx-runtime";function ws({children:t,heading:e,orientation:o,hasMore:n,onShowAll:s}){let r=R(je),i=h("CommandPalette",ne);return gg.Children.count(t)===0?null:sa("div",{"data-testid":"commandpalette-list",className:i.list,children:[(e||n)&&sa("div",{className:i.listHeader,children:[e&&Cs("h4",{className:i.listHeading,children:e}),n&&s&&Cs("button",{onClick:s,className:i.listMoreButton,type:"button",children:r("showAll")})]}),Cs("div",{className:mg(i.listWrapper,o==="horizontal"&&i.listHorizontal),children:t})]})}import Zo from"classnames";import{Interweave as Fg}from"interweave";var fg=/[.*+?^${}()|[\]\\]/g,hg=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function yg(t){return t.replace(fg,"\\$&")}function vg(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function Sg(t){return t.search(hg)}function ra(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${yg(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ia(t){return t.replace(yo,'<mark data-type="placeholder">$1</mark>')}function Xt(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function xg(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 Ts(t,e,o={}){if(e){let n=vg(e.toLowerCase(),t.toLowerCase()),s=Xt(t.substring(n,t.length));if(o.stripAgentPart){let c=t.substring(0,n),l=Sg(c);return`<span style="opacity: 0.5">${c.substring(l+1)}</span>${s}`}let i=e.split(Wr).length>3||e.length>30?xg(e.trim(),n):0;return`${`${i>0?"\u2026":""}${Xt(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var bg=/(<\/[a-zA-Z]+[0-9]?>|<[a-zA-Z]+\s?\/>|<br>)/i;function Es(t){return bg.test(t)}function aa(t){let e=document.createElement("template");return e.innerHTML=t,e.content.textContent??""}import wg,{useState as la,useEffect as ca,useMemo as Tg,useRef as da,useCallback as Eg,useContext as kg}from"react";import Rg from"classnames";var ks={root:"Le",trigger:"_",content:"Me",contentOpen:"Re",contentTop:"Te",contentBottom:"Ue",item:"oo"};import{jsx as Wo,jsxs as Ag}from"react/jsx-runtime";var Pg=0,ua=wg.createContext(null),Ig=()=>{let t=kg(ua);if(!t)throw new Error("Invalid DropdownContext");return t},pa=({trigger:t,children:e,position:o="bottom"})=>{let n=Tg(()=>++Pg,[]),s=da(null),r=da(null),i=h("Dropdown",ks),[a,c]=la(!1),[l,d]=la(o),u=g=>{g.preventDefault(),g.stopPropagation(),c(!a)},p=Eg(([g])=>{!g.isIntersecting&&a&&d(l==="top"?"bottom":"top")},[a]);return ca(()=>{let g=f=>{s.current&&!s.current.contains(f.target)&&c(!1)};return document.addEventListener("click",g),()=>{document.removeEventListener("click",g)}},[]),ca(()=>{if(!r.current&&!a)return()=>{};let g=new IntersectionObserver(p,{root:null,rootMargin:"0px",threshold:1});return r.current&&g.observe(r.current),()=>{r.current&&g.unobserve(r.current)}},[r,a]),Wo(ua.Provider,{value:{setIsOpen:c},children:Ag("div",{ref:s,className:i.root,children:[Wo("button",{id:`dropdown-${n}`,"data-testid":"dropdown-trigger","aria-haspopup":"true","aria-expanded":a,"aria-label":"Dropdown trigger",type:"button",className:i.trigger,onClick:u,children:t}),Wo("div",{"data-testid":"dropdown-content",ref:r,"aria-hidden":!a,"aria-labelledby":`dropdown-${n}`,className:Rg(i.content,{[i.contentOpen]:a,[i.contentTop]:l==="top",[i.contentBottom]:l==="bottom"}),children:e})]})})};function Lg({as:t,children:e,onClick:o,...n}){let s=t||"button",r=h("Dropdown",ks),{setIsOpen:i}=Ig(),a=c=>{i(!1),o(c),c.stopPropagation()};return Wo(s,{type:"button",className:r.item,onClick:a,...n,children:e})}pa.Item=Lg;var Rs=pa;import{jsx as ga}from"react/jsx-runtime";var ma=t=>ga("svg",{xmlns:"http://www.w3.org/2000/svg",height:"16",width:"14",viewBox:"0 0 448 512",...t,children:ga("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 We={};Z(We,{enUS:()=>Mg,nlNL:()=>Ng});var Mg={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"}]},Ng={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 Ps}from"react/jsx-runtime";var Og="%0d%0a%0d%0a%0d%0a",_g=(t,e)=>{let o=[`Suggestie: ${encodeURIComponent(e)}`,"Beschrijf je feedback:"];return`mailto:${t.join(",")}?subject=Suggestie feedback&body=${o.join(Og)}`},Dg=({suggestion:t,onFeedback:e})=>{let o=R(We),n=b("suggestionFeedbackEmailAddresses");return!n||n.length===0?null:Ps(Rs,{trigger:Ps(ma,{"data-testid":"feedback-dropdown-trigger"}),children:Ps(Rs.Item,{as:"a",href:_g(n,t),onClick:e,children:o("giveFeedback")})})},Xo=Dg;import Is from"react";import{jsx as Hg}from"react/jsx-runtime";var fa=Is.createContext(void 0);function Me(){let t=Is.useContext(fa);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var ha=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Is.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Hg(fa.Provider,{value:i,children:t})};import{jsx as Ne,jsxs as Ls}from"react/jsx-runtime";function As({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onFeedback:s,onSourceClick:r,description:i,sources:a,id:c,styles:l,...d}){let{selected:u,onChangeOpen:p}=Me(),g=h("CommandPalette",ne);function f(m){n(m),t&&p(!1)}return Ls("div",{className:Zo(g.listItem,c===u&&g.listItemSelected),children:[Ne("button",{type:"button",className:Zo(g.listItemAction,g.listItemPrimaryAction),"aria-disabled":d.disabled??!1,onClick:f,"data-command-palette-item":!0,"data-item-id":c,...d,children:Ls("div",{className:g.listItemContent,children:[typeof o=="string"?Ne("p",{className:Zo(g.listItemText,g.truncate,l==null?void 0:l.title),children:o}):o,i&&Ne(Fg,{tagName:"p",allowList:[],content:Es(i)?aa(i):i,className:Zo(g.listItemDescription,l==null?void 0:l.description,e?g.lineClamp:g.truncate)})]})}),s&&Ne("div",{className:g.listItemActions,children:Ne(Xo,{suggestion:String(o),onFeedback:s})}),a&&Ls("div",{className:g.sources,children:[Ne("span",{className:g.sourcesTitle,children:"Sources"}),a.map(m=>m.url?Ne("a",{className:g.source,href:m.url,target:"_blank",title:m.url,rel:"noopener noreferrer",onClick:()=>r&&r(m),children:m.name},m.url):Ne("span",{className:g.source,children:m.name},m.name))]})]})}import{jsx as ya,jsxs as Bg}from"react/jsx-runtime";var va=()=>Bg("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[ya("title",{id:"angleLeftTitle",children:"AngleLeft"}),ya("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 Sa,jsxs as Ms}from"react/jsx-runtime";function Ns({children:t,title:e,id:o,onDismiss:n}){let s=R(je),r=h("CommandPalette",ne),{page:i}=Me();return i!==o?null:Ms("div",{className:r.page,id:`page_${o}`,tabIndex:-1,children:[n&&Ms("div",{className:r.pageNav,children:[Ms("button",{className:r.pageBackButton,type:"button",onClick:n,children:[Sa(va,{}),s("back")]}),e&&Sa("h3",{className:r.pageTitle,children:e})]}),t]})}import{forwardRef as Ug}from"react";import{jsx as xa,jsxs as Kg}from"react/jsx-runtime";var mt=()=>Kg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[xa("path",{d:"M0 0h24v24H0z",fill:"none"}),xa("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as ft,jsxs as Os}from"react/jsx-runtime";function zg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let c=h("CommandPalette",ne);return Os("div",{className:c.search,children:[ft("div",{className:c.searchIcon,children:ft(mt,{})}),Os("div",{className:c.searchInputWrapper,children:[ft("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:l=>{t(l.currentTarget.value)},onFocus:l=>{l.currentTarget.select()},className:c.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&ft("div",{className:c.selectWrapper,children:Os("select",{"data-testid":"command-palette-type-select",className:c.select,onChange:l=>e(l.target.value===n?void 0:l.target.value),value:i||n,children:[n&&ft("option",{children:n}),s.map(l=>ft("option",{value:l.value,children:l.label},l.value))]})})]})]})}var ba=Ug(zg);import Ca from"classnames";import{jsx as $g,jsxs as qg}from"react/jsx-runtime";var Vg=({onClick:t,shortKeys:e,children:o,...n})=>{let s=h("CommandPalette",ne);return qg("button",{type:"button",...n,onClick:t,className:Ca(s.actionButton,n.className,{[s.hasShortKeys]:e&&e.length>0}),children:[o,e&&e.map(r=>$g("span",{className:Ca(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},wa=Vg;import{jsx as Ea,jsxs as Zg}from"react/jsx-runtime";var Xg="[data-command-palette-item]";function ht({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:c,types:l,children:d,isOpen:u,search:p}){let[g,f]=Gg(),m=jg(null),y=()=>{s&&s(o),i(void 0),r(""),a(!1)},E=()=>{var I;if(n!==o&&s){s(o);return}if(c&&i){i(void 0),(I=m.current)==null||I.focus();return}if(p.length>0){r("");return}a(!1)},S=()=>{let I=v();I.length!==0&&f(I[0].dataset.itemId)},v=()=>Array.from(document.querySelectorAll(Xg)||[]),k=I=>document.querySelector(`[data-item-id=${I}]`),x=I=>{let O=k(I);O&&f(O.dataset.itemId)},T=I=>{let O=k(I);O&&O.scrollIntoView({behavior:"smooth"})},N=()=>{if(!g)return;let I=v(),O=k(g);if(!O)return;let P=I.indexOf(O),$=I[P+1];$&&$.dataset.itemId?x($.dataset.itemId):S()},U=()=>{if(!g)return;let I=v(),O=k(g);if(!O)return;let P=I.indexOf(O),$=I[P-1];$&&$.dataset.itemId?x($.dataset.itemId):x(I[I.length-1].dataset.itemId)},F=Wg(I=>{switch(I.key){case"ArrowDown":{I.preventDefault(),N();break}case"ArrowUp":{I.preventDefault(),U();break}case"Enter":{if(g){let O=k(g);O==null||O.click()}break}}},[g]);return Ta(()=>{S()},[p,n,c,u]),Ta(()=>{g&&T(g)},[g]),Ea(Go,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:u,onBack:E,onClose:y,onKeyDown:F,children:Zg(ha,{selected:g,setSelected:f,isOpen:u,onChangeOpen:a,page:n,children:[n===o&&Ea(ba,{ref:m,onChange:r,onChangeType:i,placeholder:t,value:p,selectedType:c,types:l,typePlaceholder:e}),d]})})}ht.Page=Ns;ht.List=ws;ht.Image=na;ht.ListItem=As;ht.Button=wa;var D=ht;import{useEffect as Qg}from"react";function ka(t,e){Qg(()=>{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 La,useRef as rm}from"react";import{useSelector as im,useDispatch as am}from"react-redux";import{createAsyncThunk as Jg,createSlice as Yg}from"@reduxjs/toolkit";var Ra={data:null,fetchState:"idle"},Qo=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=Jg("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)}),em=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),tm=Yg({name:"entities",initialState:Ra,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=em(e.data?[...e.data,...o.payload]:o.payload)}).addCase(_,()=>Ra)}}),Pa=tm.reducer;var _s={};Z(_s,{enUS:()=>om,nlNL:()=>nm});var om={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},nm={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var Ia={root:"Be",empty:"De"};import{jsx as Ds,jsxs as cm}from"react/jsx-runtime";var lm=({onCopy:t})=>{let e=rm(null),o=h("EntitiesList",Ia),n=im(Qo),{setSelected:s}=Me(),r=R(_s),i=am();return La(()=>{i(ae())},[]),La(()=>{e.current&&(e.current.focus(),s("entity-0"))},[e]),cm("div",{className:o.root,ref:e,tabIndex:-1,children:[n&&n.length>0&&Ds(D.List,{children:n.map((a,c)=>Ds(D.ListItem,{id:`entity-${c}`,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities"),n&&n.length===0&&Ds("p",{className:o.empty,children:r("noResults")})]})},Aa=lm;import{Fragment as hm,useEffect as Jo,useRef as ym,useState as vm}from"react";import{useSelector as Fs,useDispatch as Sm}from"react-redux";import{createAsyncThunk as dm,createSlice as um}from"@reduxjs/toolkit";var Ma={data:null,fetchState:"idle"},Na=t=>t.summary.data,Oa=t=>t.summary.fetchState==="error",_a=t=>t.summary.model,xe=dm("summary/getSummary",async(t,e)=>{var d,u,p;let o=e.getState().profile.data,n=(d=e.getState().conversation.current)==null?void 0:d.sessionId,s=(p=(u=e.getState().info)==null?void 0:u.agentInfo)==null?void 0:p.agentId;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:r,dynamicThunkObject:i}=e.extra;if(!i.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let a=i.conversationQuery,c=await a();if(c.length===0)return Promise.reject(new Error("No messages are included"));let l=await r.getSummary(c,{externalConversationId:n,agentId:s,promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel});return l.summary?l:Promise.reject(new Error("Summary is not provided"))}),pm=um({name:"summary",initialState:Ma,reducers:{},extraReducers:t=>{t.addCase(xe.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(xe.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(xe.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary,e.model=o.payload.model)}).addCase(_,()=>Ma)}}),Da=pm.reducer;var Hs={};Z(Hs,{enUS:()=>gm,nlNL:()=>mm});var gm={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."}]},mm={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 Ha={root:"Ie",actions:"Oe",main:"Xe",textInput:"eo",loading:"Je",error:"Ke"};import{jsx as yt,jsxs as bm}from"react/jsx-runtime";var xm=({onCopy:t})=>{let e=ym(null),o=h("SummaryForm",Ha),[n,s]=vm(""),r=R(Hs),i=Fs(_a),a=Fs(Na),c=Fs(Oa),l=Sm(),d=()=>{l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:n,model:i},options:{includeConversationData:!0}})),t(n)},u=()=>{let p=document.getSelection();p&&l(G({name:"summary copied to clipboard",data:{originalText:a,finalText:p==null?void 0:p.toString(),model:i},options:{includeConversationData:!0}}))};return Jo(()=>{l(xe())},[]),Jo(()=>{s(a||"")},[a]),Jo(()=>{e.current&&a&&e.current.focus()},[e,a]),Jo(()=>{let p=g=>{g.key==="Enter"&&g.shiftKey&&d()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}},[n]),yt("div",{className:o.root,tabIndex:-1,children:c?yt("p",{className:o.error,children:r("error")}):bm(hm,{children:[yt("div",{className:o.main,children:yt("textarea",{placeholder:a?void 0:r("loading"),disabled:!a,className:o.textInput,ref:e,value:n,onCopy:u,onChange:p=>s(p.target.value)})}),yt("div",{className:o.actions,children:yt(D.Button,{shortKeys:[8679,8629],onClick:d,children:r("copy")})})]})})},Fa=xm;var Zt={};Z(Zt,{enUS:()=>Cm,nlNL:()=>wm});var Cm={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?"}]},wm={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 Dm,{useEffect as Us,useRef as Hm}from"react";import{useDispatch as Fm,useSelector as ja}from"react-redux";var Bs={};Z(Bs,{enUS:()=>Tm,nlNL:()=>Em});var Tm={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"}]},Em={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 Ba={root:"io",title:"Pe",empty:"Qe",status:"Ve",form:"ro",input:"to",submit:"We",question:"Ze",answer:"_e",alignRight:"oi"};import{createAction as Am,createAsyncThunk as Mm,createSlice as Nm}from"@reduxjs/toolkit";import{createAsyncThunk as Rm,createSlice as Pm}from"@reduxjs/toolkit";var Im={data:null,fetchState:"idle"},Ka=t=>{var e;return(e=t.knowledgeAssistant)==null?void 0:e.data},Qt=Rm("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}),Lm=Pm({name:"knowledgeAssistant",initialState:Im,reducers:{},extraReducers:t=>{t.addCase(Qt.pending,e=>{e.fetchState="loading"}).addCase(Qt.rejected,e=>{e.fetchState="error"}).addCase(Qt.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Ua=Lm.reducer;var Ks={data:[],fetchState:"idle"},za=t=>{var e;return(e=t.answer)==null?void 0:e.data},Va=t=>t.answer.fetchState,St=Am("answer/resetKnowledgeSearch"),vt=Mm("answer/getAnswer",async(t,e)=>{var c,l,d;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=Ka(e.getState()),r=(c=e.getState().conversation.current)==null?void 0:c.sessionId,i=(d=(l=e.getState().info)==null?void 0:l.agentInfo)==null?void 0:d.agentId;if(!s)throw new Error("KnowledgeAssistant is not defined");let a=await o.knowledgeAssist({promptInstruction:s.prompt,question:t},n,s.code,{agentId:i,conversationId:r});return{question:t,answer:a}}),Om=Nm({name:"answer",initialState:Ks,reducers:{},extraReducers:t=>{t.addCase(vt.pending,e=>{e.fetchState="loading"}).addCase(vt.rejected,e=>{e.fetchState="error"}).addCase(vt.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(_,()=>Ks).addCase(St,()=>Ks)}}),$a=Om.reducer;import{jsx as qa,jsxs as _m}from"react/jsx-runtime";var Ga=()=>_m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[qa("title",{id:"paperPlaneTitle",children:"PaperPlane"}),qa("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 be,jsxs as Wa}from"react/jsx-runtime";var Bm=({onUse:t,onResetQuestion:e,question:o})=>{let[n,s]=Dm.useState(""),{setSelected:r}=Me(),i=Hm(null),a=h("EntitiesList",Ba),c=R(Bs),l=Fm(),d=ja(za),u=ja(Va),p=async f=>{f.preventDefault(),f.stopPropagation(),n!==""&&l(vt(n))},g=(f,m)=>{l(G({name:"knowledge assist source viewed",data:{question:m,sourceViewed:f.url||f.name},options:{includeConversationData:!0}}))};return Us(()=>{var f;o&&u==="idle"?l(vt(o)):(f=i.current)==null||f.focus()},[i,u]),Us(()=>{u==="done"&&(l(G({name:"knowledge assist question answered",data:{question:n||o,sources:d[d.length-1].answer.sources,answer:d[d.length-1].answer.answer,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),r(`knowledge-assist-${d.length-1}`),s(""))},[u,d]),Us(()=>{i.current&&i.current.scrollIntoView({behavior:"smooth"})},[i,d]),Wa("div",{className:a.root,children:[d.length>0&&be("div",{className:a.alignRight,children:be(D.Button,{onClick:e,children:c("reset")})}),d.map(({question:f,answer:m},y)=>be(D.List,{children:be(D.ListItem,{id:`knowledge-assist-${y}`,"data-testid":"knowledge-search-answer",description:m.answer,closeOnSelect:!0,onClick:()=>t(m.answer),onSourceClick:E=>g(E,f),sources:m.sources,styles:{title:a.question,description:a.answer},children:f})},`${m.answer}_${y}`)),u==="loading"&&be("p",{className:a.status,children:c("loading")}),u==="error"&&be("p",{className:a.status,children:c("error")}),Wa("form",{className:a.form,onSubmit:p,children:[be("input",{ref:i,placeholder:c("anotherQuestion"),className:a.input,type:"text",value:n,onFocus:()=>{r(void 0)},onChange:f=>{r(void 0),s(f.target.value)}}),be("button",{type:"submit",className:a.submit,children:be(Ga,{})})]})]})},Xa=Bm;import{createAsyncThunk as Km,createSlice as Um}from"@reduxjs/toolkit";var zm={data:null,fetchState:"idle"},Oe=t=>t.profile.data,Yo=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],Jt=Km("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)}),Vm=Um({name:"profile",initialState:zm,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})}}),Za=Vm.reducer;import{useEffect as Wm}from"react";import{useDispatch as Xm}from"react-redux";import{createAction as Gm,createAsyncThunk as el,createSlice as jm}from"@reduxjs/toolkit";var $m=["{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}"],qm=new RegExp($m.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Qa(t,e){let o=t.split(qm),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],c=r===o.length-2;n+=i.length;let l=n;if(c){let u=a.charAt(0),p=0;do l=u?e.indexOf(u,l+1):-1,p+=1;while(l!==-1&&a.indexOf(e.slice(l))!==0);if(l===-1&&p>2)return t}else l=a&&a!==""?e.indexOf(a,n):-1;let d=l===-1?e.slice(n):e.slice(n,l);s.push(d),n=l}return s.join("")}function Ja(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var tl={suggestions:[],fetchState:"idle",isInitialRequest:null},Ya={default:tl},ol=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},nl=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},en=t=>t.textSuggestions,sl=t=>{let e=t.toLowerCase();return o=>{let n=o.text.toLowerCase();return n.startsWith(e)&&n.length>e.length}},tn=Gm("textSuggestions/refresh"),le=el("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=pt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getTextSuggestions(s,Kt(n),t);if(t==="default"){let d=i?c.filter(sl(a)):c;e.dispatch(ue(d.slice(0,r)))}return c}),Yt=el("textSuggestions/autocompletions",async(t,e)=>{var l;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(l=n.conversation.current)==null?void 0:l.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let c=await o.getAutocompleteSuggestions(s,{...Kt(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(c=c.filter(sl(t))),i&&(c=c.map(d=>({...d,text:d.source!=="trie-with-typos"?Qa(d.text,t):d.text}))),c=Ja(c,r),e.dispatch(ue(c)),c}),rl=jm({name:"textSuggestions",initialState:Ya,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(le.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||tl;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(le.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(le.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(Yt.pending,e=>{e.default.fetchState="loading"}).addCase(Yt.rejected,e=>{e.default.fetchState="error"}).addCase(Yt.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(_,()=>Ya)}}),{setTextSuggestions:HT,setSuggestionState:FT}=rl.actions,il=rl.reducer;import{useSelector as al}from"react-redux";import{jsx as on,jsxs as Qm}from"react/jsx-runtime";var Zm=({commands:t,onClick:e})=>{var a,c,l;let o=Xm(),n=R(Zt),s=al(Oe),r=al(en),i=((l=(c=(a=s==null?void 0:s.uiConfig)==null?void 0:a.search)==null?void 0:c.initialTypes)==null?void 0:l.filter(({isActive:d})=>d))||[];return Wm(()=>{i.forEach(({type:d})=>{(!r[d]||r[d].suggestions.length===0)&&o(le(d))})},[]),Qm("div",{children:[t.length>0&&on(D.List,{heading:n("commands"),children:t.map((d,u)=>on(D.ListItem,{id:`command-${u}`,closeOnSelect:!1,onClick:d.onClick,children:d.label},d.label))}),i.map(({type:d,title:u})=>{var p;return on(D.List,{heading:u,orientation:"vertical",children:(p=r[d])==null?void 0:p.suggestions.map((g,f)=>on(D.ListItem,{id:`${d}-${f}`,closeOnSelect:!1,description:g.text,onClick:()=>e(g.text,g),"data-testid":"search-overlay-suggestion",children:g.title},`${g.id}-${g.text}`))},d)})]})},ll=Zm;import{jsx as se,jsxs as qs}from"react/jsx-runtime";var of=200,nf=5,sf=4,cl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),rf=()=>{let t=tf(),e=oe(),o=R(Zt),[n,s]=$s(!1),[r,i]=$s(""),a=Xe(Ii),c=Xe(Oe),[l,d]=$s(),u=Xe(W),p=b("showSearch"),g=b("showEntitiesCommand"),f=b("showSummaryCommand"),m=b("showKnowledgeSearch"),y=b("showImageSearch"),E=b("searchTriggerKey"),S=Xe(ta),v=Xe(Li),k=Xe(Ai),x=Xe(Pi),T=C=>nt(v.filter(q=>q.type===C.toUpperCase()),C),N=[{value:"PERSONAL",label:o("personalSuggestions"),list:T("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:T("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:T("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:T("IMAGE"),listOrientation:"horizontal",shouldShow:y}].filter(C=>C.shouldShow),U=[{label:o("entitiesClipboard"),onClick:()=>t(re("entities")),shouldShow:g&&cl(o("entitiesClipboard"),r)},{label:o("summaryClipboard"),onClick:()=>t(re("summary")),shouldShow:f&&cl(o("summaryClipboard"),r)},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(re("knowledgeAssist")),shouldShow:m}].filter(C=>C.shouldShow),F=(S==null?void 0:S.map(C=>({value:C.code.toUpperCase(),label:`${C.name}s`,list:T(C.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],I=zs(Ym((C,q)=>{t(Ve({query:C,type:q,tags:["search-overlay"],size:l?50:20}))},of),[l]),O=zs((C,q)=>{switch(q.type){case"IMAGE":e.send(cs,{suggestion:q});break;default:e.send(Ae,{text:C,suggestion:q})}t(Y(!1))},[t]),P=C=>{Ge(C.text),t(G({name:"entity copied",data:{entity:C,type:"copy"}})),t(Y(!1))},$=zs(C=>{t(G({name:"suggestion feedback",data:{text:C.text,source:"search",context:r},options:{includeConversationData:!0}}))},[r]),Un=C=>{e.send(Ae,{text:C,suggestion:{source:"knowledge-assist",text:C}}),t(G({name:"answer used",data:{originalText:C},options:{includeConversationData:!0}})),i(""),t(re("search")),t(St()),t(Y(!1))},zn=C=>{Ge(C),t(Y(!1))};function nt(C,q){return C.slice(0,l?10:q.toLowerCase()==="image"?sf:nf)}function Ot(C){return q=>{n?window.confirm(o("warning"))&&(C(q),s(!1)):C(q)}}return Vs(()=>{r?I(r,l):t(Mo())},[r,l]),Vs(()=>{a==="search"&&t(St())},[a]),Vs(()=>{u&&t(jt())},[u]),ka(E,()=>t(Y(!0))),!p||!c?null:qs(D,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:Ot(C=>t(Y(C))),onChangeType:C=>d(C),onChangePage:Ot(C=>t(re(C))),selectedType:l,search:r,page:a,isOpen:x,types:[...F,...N],children:[qs(D.Page,{id:"search",children:[r.length===0&&se(ll,{commands:U,onClick:O}),r.length>0&&qs(ef,{children:[U.length>0&&se(D.List,{heading:o("commands"),children:U.map((C,q)=>se(D.ListItem,{closeOnSelect:!1,onClick:C.onClick,id:`commands-${q}`,children:C.label},C.label))}),[...F,...N].map(({value:C,label:q,list:Dr,lineClamp:ou,listOrientation:nu})=>se(D.List,{heading:q,orientation:nu==="horizontal"?"horizontal":"vertical",onShowAll:()=>d(C),hasMore:!l&&k[C.toLowerCase()]>nt(Dr,C).length,children:nt(Dr,C).map(J=>se(D.ListItem,{id:`${C}-${J.id}`,closeOnSelect:!1,lineClamp:ou,onClick:()=>O(J.text,J),description:C!=="IMAGE"?J.title&&J.text:void 0,onFeedback:C!=="IMAGE"?()=>$(J):void 0,children:C==="IMAGE"?se(D.Image,{title:J.title||J.text,src:J.image}):J.title||J.text},`${J.id}-${J.text}`))},C))]})]}),se(D.Page,{id:"entities",title:o("entitiesTitle"),onDismiss:Ot(()=>{t(re("search"))}),children:se(Aa,{onCopy:P})}),se(D.Page,{id:"summary",title:o("summaryTitle"),onDismiss:Ot(()=>{t(re("search"))}),children:se(Fa,{onCopy:zn})}),se(D.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),onDismiss:Ot(()=>{t(St()),t(re("search"))}),children:se(Xa,{question:r,onUse:Un,onResetQuestion:()=>{t(St()),i("")}})})]})},dl=rf;import{jsx as ul,jsxs as cf}from"react/jsx-runtime";var lf=()=>{let t=b("showSearch"),e=b("isEmbedded");return cf(af,{children:[t&&ul(dl,{}),e&&ul(ea,{})]})},pl=lf;import mf from"classnames";import{useSelector as ff}from"react-redux";import{jsx as Gs}from"react/jsx-runtime";var gl=({className:t})=>Gs("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:Gs("g",{children:Gs("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 ml}from"react/jsx-runtime";var df={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},fl=({className:t,color:e})=>ml("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ml("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:df[e||"pink"]})});var hl={root:"j",text:"Y",isLoggedIn:"ei",isLoggedOut:"no",icon:"ii",logo:"ri",lock:"ti"};var js={};Z(js,{enUS:()=>pf,nlNL:()=>gf});var pf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},gf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as hf}from"react-redux";import{jsx as Ws,jsxs as yl}from"react/jsx-runtime";var vl=({onLogIn:t})=>{let e=R(js),o=b("floatingMenu"),n=b("productName"),s=hf(),r=ff(W),i=h("FloatingMenu",hl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return yl("button",{className:mf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Ws("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),yl("div",{className:i.icon,children:[Ws(fl,{className:i.logo,color:"pink"}),r===!1&&Ws(gl,{className:i.lock})]})]})};import{useEffect as Ff,useRef as Bf}from"react";import{connect as Kf,useDispatch as Uf,useSelector as an}from"react-redux";import{useEffect as yf}from"react";function xt(t){yf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ze(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function bt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as vf}from"@reduxjs/toolkit";var Sf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var nn=({ui:t})=>t.overlayCollapsed;var Sl=vf({name:"ui",initialState:Sf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:eo,setInputHasFocus:Xs,setOverlayCollapsed:_e,setOpenOverlayWhenTyping:xl,setOverlayCollapsedUserOverwrite:bl}=Sl.actions,Cl=Sl.reducer;import{Fragment as Of,useMemo as _f}from"react";import{Interweave as wf}from"interweave";import{useEffect as Tf,useMemo as Ef,useRef as kf}from"react";import{useDispatch as Rf,useSelector as Pf}from"react-redux";import{useEffect as xf}from"react";function wl(t,e,o){xf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Tl={root:"ni",actions:"ai",badge:"pi",formattedText:"ao"};import{jsx as sn,jsxs as Nf}from"react/jsx-runtime";var If=["search","personal-collection-search","search-autocomplete"];function Lf(t,e,o,n={}){let s="";return If.includes(e)?s=ra(Ts(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ts(t,o,n),n.placeholders===!0&&(s=ia(s)),s}var Af=()=>{},Mf=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Pf(pt),i=Rf(),a=h("TextSuggestion",Tl),c=kf(null);Tf(()=>{let d=setTimeout(()=>{i(fi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),wl(c,"click",()=>{i(Le(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Ef(()=>Lf(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:Nf("div",{className:a.root,onMouseEnter:()=>i(Le(t)),children:[sn(M,{ref:c,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Af,children:sn(wf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&sn("div",{className:a.actions,children:sn(Xo,{onFeedback:()=>n(o),suggestion:o.text})})]})},El=Mf;import{jsx as kl}from"react/jsx-runtime";var Df=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=_f(()=>{let r=e.map((i,a)=>kl(El,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return kl(Of,{children:s})},rn=Df;var Rl={root:"di",paper:"li"};import{jsx as ln}from"react/jsx-runtime";var zf=({textSuggestions:t,selectedIndex:e})=>{let o=Bf(null),n=h("InlineSuggestionsOverlay",Rl),s=an(bt),r=Uf(),i=an(W),a=an(dt),c=an(nn),l=b("showTextSuggestions");return xt(()=>{setTimeout(()=>{r(_e({collapse:!0,skipWhenInputFocus:!0}))})}),Ff(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),c||!s||!l||t.length===0||i!==!0||a===!1?null:ln("div",{className:n.root,"data-variant":"inline",children:ln("div",{ref:o,className:n.paper,children:ln(te,{children:ln(rn,{suggestions:t,selectedIndex:e})})})})},Vf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Pl=Kf(Vf)(zf);import{Provider as $f}from"react-redux";import{jsx as cn}from"react/jsx-runtime";var qf=({children:t})=>{let o=b("locale").replace("-","");return cn(ys.Provider,{value:o,children:t})},Gf=({store:t,customStyles:e={},children:o})=>cn($f,{store:t,children:cn(qf,{children:cn(_t.Provider,{value:e,children:o})})}),Qe=Gf;import er from"classnames";import{useEffect as ah,useRef as lh,useState as ch}from"react";import{connect as dh,useDispatch as uh,useSelector as to}from"react-redux";import{useState as jf}from"react";function Il(t,e){let[o,n]=jf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Ll=()=>/Mac/i.test(navigator.platform);import Qf from"classnames";import{Fragment as Jf,useCallback as Qs,useMemo as Ml}from"react";var Zs={};Z(Zs,{enUS:()=>Wf,nlNL:()=>Xf});var Wf={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"}]}]},Xf={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 Al={root:"si",anchor:"ci",anchorButton:"xi"};import{jsx as dn,jsxs as Nl}from"react/jsx-runtime";var Js=(t,e,o)=>n=>dn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Yf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=R(Zs),i=oe(),a=h("Login",Al),c=b("productName"),l=Qs(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=Qs(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=Ml(()=>y=>dn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),p=Qs(y=>dn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:g,hour:f,day:m}=Ml(()=>({min:Js(a,60*10,l),hour:Js(a,60*60,l),day:Js(a,60*60*12,l)}),[]);return Nl("div",{className:Qf(t,a.root),children:[r("loginPlease",{login:o?p:u,productName:c}),n&&Nl(Jf,{children:[dn("br",{}),r("snooze",{min:g,hour:f,day:m})]})]})},un=Yf;import{useDispatch as th}from"react-redux";var Ol={root:"po",text:"fi"};import{jsx as _l,jsxs as nh}from"react/jsx-runtime";var oh=({title:t})=>{let e=h("SearchTrigger",Ol),o=th();return nh("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[_l(mt,{}),_l("span",{className:e.text,children:t})]})},Dl=oh;var Ys={};Z(Ys,{enUS:()=>sh,nlNL:()=>rh});var sh={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"}]},rh={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 Hl={root:"gi",isInline:"q",toggleButton:"bi",toggleButtonWrapper:"C",toggleButtonWrapperHidden:"hi",isCollapsed:"do",collapsible:"mi",hints:"lo",hintsHidden:"ui",triggers:"so",triggersRight:"yi"};import{jsx as V,jsxs as oo}from"react/jsx-runtime";var ph=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Hl),s=R(Ys),r=to(bt),i=ui(),a=uh(),c=lh(null),l=b("searchTriggerKey"),d=b("productName"),u=to(nn),p=to(W),g=to(dt),[f,m]=ch(null),y=b("showSearch"),E=b("showTextSuggestions"),S=b("adminUrl"),v=b("isEmbedded"),[k,x]=Il("dd-snooze-until-ms",0),T=u||k>Date.now(),N=to(P=>P.input.text),U=t.filter(P=>P.source!=="gpt").length,F=()=>{T&&x(0),a(bl(!T))},I=P=>{a(G({name:"suggestion feedback",data:{text:P.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=P=>{let $=Date.now()+P*1e3;x($),w.info(`Snooze until: ${new Date($)}`),a(_e({collapse:!0}))};return ah(()=>{U===0&&m(null)},[t,U]),xt(()=>{a(_e({collapse:!0,skipWhenInputFocus:!0}))}),p===null||g===!1?null:p===!1?oo("div",{ref:c,className:er(n.root,{[n.isCollapsed]:T}),children:[!T&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1}}),V("div",{className:n.triggersRight,children:V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),V("div",{className:n.collapsible,children:V(un,{loginUrl:S,isEmbedded:v,onLogIn:o,onSnooze:O})})]}):!i||!r?null:oo("div",{ref:c,className:er(n.root,{[n.isCollapsed]:T}),children:[!T&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1},children:y&&V("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(Ll()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>m(null),children:V(Dl,{title:s("search")})})}),oo("div",{className:n.triggersRight,onFocus:()=>{},children:[V("div",{className:er(!f&&n.hintsHidden,n.hints),children:f}),V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U>0&&E&&V("div",{className:n.collapsible,onFocus:()=>{},children:V(te,{children:V(rn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},gh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Fl=dh(gh)(ph);import ur from"classnames";import{Interweave as my}from"interweave";import{useCallback as fy,useEffect as hy,useMemo as lc,useRef as yy}from"react";import{connect as vy}from"react-redux";import{useEffect as mh,useRef as fh,useState as hh}from"react";function pn(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 Bl(t){let{selectionStart:e,selectionEnd:o}=pn(t)?yh(t):t;return[e,o]}function Kl(t){let[,e]=hh(),o=fh(null);return o.current=Bl(t),mh(()=>{let n=()=>{let[s,r]=o.current??[],i=Bl(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 Ul(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(yo);if(!i||i.length===0)return;let a=0;i.find(c=>{let l=n.indexOf(c,a);return s>l&&r<l+c.length?(o.selectionStart=l,o.selectionEnd=l+c.length,!0):(a=l+c.length,!1)})}import{cloneElement as vh}from"react";var Sh=["div","span","mark","strong","b","i","u","em"];function tr(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:tr(i,e,o+1)})]}return[...t,...e]}function De(t){return t.tagName.toLowerCase()==="textarea"}var ce={root:"wi",container:"vi",agentText:"co",tabText:"xo",hint:"S",matchSelection:"fo",focus:"ki",resetIndent:"zi",matchKeyword:"p",matchPlaceholder:"d",hover:"go",hintText:"ji",popover:"Yi",popoverRoot:"qi",popoverContentContainer:"bo",popoverContent:"Ci",selectionOptions:"Si",selectionOptionsIsHidden:"Ei",selectionOptionsButton:"Gi",caret:"Ni",popoverSuggestionsRoot:"Ai",suggestionsOverlayInputStyles:"Fi"};import zh from"classnames";import{Matcher as Vh}from"interweave";import{useEffect as $h,useMemo as qh}from"react";import{useEffect as bh,useRef as Ch,useState as wh}from"react";function zl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function gn(t){let e=Ch(null),[o,n]=wh(!1);return bh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=zl((d,u)=>{let p=e.current;if(!p)return;let g=d/r,f=u/r,m=p.getBoundingClientRect(),y=g>m.x&&g<m.x+m.width&&f>m.y&&f<m.y+m.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[c,l]=zl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",c),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",c)}},[e]),[e,o]}function Vl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function $l(t){return t!=null}import Xl from"classnames";import{createRef as _h,useCallback as nr,useMemo as Dh,useRef as Hh,useState as Fh}from"react";import{useState as Th,useLayoutEffect as Eh}from"react";var kh=["bottom","height","left","right","top","width"],Rh=(t={},e={})=>kh.some(o=>t[o]!==e[o]),Ce=new Map,ql,Gl=()=>{let t=[],e=[];Ce.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Rh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ce.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),ql=window.requestAnimationFrame(Gl)};function Ph(t,e){return{observe(){let o=Ce.size===0;if(Ce.has(t)){let n=Ce.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ce.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Gl()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame(ql)}}}}function or(t){let[e,o]=Th(null);return Eh(()=>{if(!t.current)return;let n=Ph(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Lh,useLayoutEffect as Ah,useState as Mh}from"react";import{createPortal as Nh}from"react-dom";var jl={root:"Hi"};var Wl=({children:t,parentNode:e})=>{let[o,n]=Mh(null),s=Lh(_t);return Ah(()=>{let r=document.createElement("div");return Ze(r),r.classList.add(jl.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?Nh(t,o):null};var ge={ref:"Li",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as sr}from"react/jsx-runtime";var fn=(t=!1)=>{let[e,o]=Fh(t),n=nr(()=>o(!0),[]),s=nr(()=>o(!1),[]),r=nr(()=>o(a=>!a),[]),i=Hh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function rr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Ct=({className:t,triggerRef:e,boundaryRef:o=_h(),position:n="above",align:s="center",children:r,toStyle:i=rr,parentNode:a,...c})=>{let l=or(e),d=or(o),u=Dh(()=>i(l,d,0),[l,d]);return sr(Wl,{parentNode:a,children:sr("div",{className:Xl(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...c,role:"dialog",children:sr("div",{className:Xl(t,ge.root),children:r})})})};import Bh from"classnames";import{forwardRef as Kh,useRef as Uh}from"react";import{jsx as Zl}from"react/jsx-runtime";var hn=Kh(({className:t,children:e,...o},n)=>{let s=Uh(null),r=h("TabCompletion",ce);return Zl("div",{ref:mn([s,n]),className:Bh(t,r.popoverContentContainer),...o,children:Zl("div",{className:r.popoverContent,children:e})})});import{jsx as no,jsxs as Wh}from"react/jsx-runtime";var Gh=t=>e=>{let o=rr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},jh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ce),i=fn(),a=qh(()=>Gh(t.getBoundingClientRect()),[t]),[c,l]=gn(t);return $h(()=>{l?i.open():i.close()},[l]),Wh("span",{children:[no("mark",{ref:mn([c,i.triggerRef]),className:zh(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&no(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:no(hn,{style:o,children:no("div",{className:r.hintText,children:s})})})]})},yn=class extends Vh{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${Vl(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($l);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return no(jh,{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 Xh}from"interweave";import Zh from"classnames";import{jsx as Ql}from"react/jsx-runtime";var Qh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ce),[n,s]=gn(t);return Ql("mark",{ref:n,className:Zh(o.matchPlaceholder,{[o.hover]:s}),children:e})},vn=class extends Xh{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 Ql(Qh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import dr from"classnames";import{Matcher as ay}from"interweave";import{createRef as ly,forwardRef as cy,useCallback as dy,useEffect as rc,useRef as ic,useState as ac}from"react";import{useDispatch as uy}from"react-redux";import{jsx as Jl}from"react/jsx-runtime";var Yl=()=>Jl("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Jl("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 Yh,useEffect as tc,useState as oc}from"react";import{useDispatch as ey,useSelector as nc}from"react-redux";import ty from"lodash.debounce";var ec={root:"Mi",content:"Ri"};function Sn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function ir(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Je,jsxs as ar}from"react/jsx-runtime";var oy=3,ny=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),sy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=oy})=>{let r=h("LinkSearch",ec),[i,a]=oc(""),c=ey(),l=nc(ol("url")),d=nc(Mi("URL",ny)),[u,p]=oc(d.length-1),g=b("fallbackImage"),f=S=>{let v=S.target;a(v.value)},m=(S,v)=>{S.stopPropagation(),S.preventDefault(),window.open(v,"_blank")},y=S=>{var x;let v=u-1<0?d.length-1:u-1,k=u+1===d.length?0:u+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&p(v),S.code==="ArrowDown"&&p(k),S.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},E=Yh(ty(S=>{c(Ve({query:S,type:"URL",tags:["link-search"]}))},300),[]);return tc(()=>{i&&E(i)},[i]),tc(()=>()=>{c(Mo())},[]),ar("div",{className:r.root,children:[Je(te,{withDivider:!0,children:(i?d:l).slice(0,s).map((S,v)=>Je(M,{selected:u===v,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:ar(H,{children:[Je(H.Image,{src:Sn(S,"small",g||void 0),title:S.title||S.text}),ar(H.Content,{className:r.content,cropText:!0,children:[Je(H.Title,{children:S.title||ir(S.text)}),S.title&&ir(S.text)]}),Je(M.Actions,{children:Je(M.ActionButton,{label:n,onClick:k=>m(k,S.text)})})]})},S.text))}),Je(Gt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:y})]})},sc=sy;var lr={};Z(lr,{enUS:()=>ry,nlNL:()=>iy});var ry={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},iy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as me,jsxs as cr}from"react/jsx-runtime";var py=cy((t,e)=>{let o=h("TabCompletion",ce);return me("mark",{ref:e,className:dr(o.matchSelection)},"selection-start")}),gy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=R(lr),i=h("TabCompletion",ce),a=ic(null),c=ic(null),[l,d]=ac(null),u=uy(),p=fn(document.activeElement===n),[g]=ac(()=>document.createRange());p.triggerRef.current=g,rc(()=>()=>g.detach(),[]),rc(()=>{let m=t.current,y=a.current;!m||!y||(g.setStart(m,0),g.setEnd(y,0))},[t.current,a.current]),xt(()=>{p.close()});let f=dy(m=>{let y=g.toString(),E=/^http(s?):\/\//.test(m)?m:`https://${m}`;u(Ro({text:`[${y}](${E})`,replace:"selection"}))},[]);return cr("span",{children:[me("mark",{ref:a,className:dr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&me(Ct,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:cr(hn,{style:o,ref:c,children:[me("div",{className:dr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:cr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[me(Yl,{}),me("span",{children:"\xA0"}),me("span",{children:r("insertLink")})]})}),l==="insertLink"&&me(sc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),p.close()}})]})})]},"selection-end")},xn=class extends ay{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=ly(),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?me(py,{ref:this.startRef}):me(gy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Sy}from"react-redux";import{jsx as wt,jsxs as Cy}from"react/jsx-runtime";var xy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:c})=>{let l=h("TabCompletion",ce),d=b("insertLink"),u=b("showMidSentenceSuggestions"),p=b("inlineSuggestions"),g=Kl(a),f=yy(null),m=Sy(W);hy(()=>{De(a)&&g&&Ul(a,g)},[g]);let y=fy(v=>{if(!s||!o)return v;let k=[wt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),wt("span",{"data-testid":"tab-completion",className:ur(l.tabText,l.resetIndent),"data-source":c,children:o},"tabText")];return n&&k.push(wt("span",{className:ur(l.hint,l.resetIndent),children:wt(qn,{keyCode:"tab"},"tabHint")})),tr(v,k)},[s,o,n]),E=lc(()=>{let v=[];return d&&v.push(new xn("selection")),v.push(new vn("placeholders")),r&&v.push(new yn("keywords")),v},[p,d,r]),S=lc(()=>{let v=window.getComputedStyle(a);return{"--dd-color":v.color,"--dd-font-size":v.fontSize,"--dd-font-family":v.fontFamily,"--dd-font-variant":v.fontVariant}},[]);return!t||!m?null:Cy("div",{ref:v=>{v!=null&&v.parentElement&&(f.current=v==null?void 0:v.parentElement)},className:l.root,style:S,children:[wt(my,{tagName:"span",containerTagName:"div",className:ur(l.container,l.agentText),disableLineBreaks:De(a),content:e||"\u200B",onAfterParse:y,matchers:E,selection:g,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!u}),wt("br",{})]})},by=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",c=t.html??Xt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:p,visible:g,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:p,content:c,tabText:l,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:g&&u!==!1}},cc=vy(by)(xy);import Nv from"classnames";import{useEffect as Ov}from"react";import{useDispatch as _v,useSelector as X}from"react-redux";import{createAsyncThunk as so,createSlice as wy}from"@reduxjs/toolkit";var dc={list:[],fetchState:"idle",isInitialRequest:null},pc=t=>t.autoflows.list||[],uc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},we=so("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),pr=so("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(we(t.platformSessionId))}),gr=so("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(we(t.platformSessionId))}),Ty=wy({name:"autoflows",initialState:dc,reducers:{},extraReducers:t=>{t.addCase(pr.pending,(e,o)=>{let n=uc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(gr.pending,(e,o)=>{let n=uc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(we.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(we.rejected,e=>{e.fetchState="error"}),t.addCase(we.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(_,()=>dc)}}),gc=so("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(we(t))}),s.on("sessionCompleted",()=>{o(we(t))})}),mc=so("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),fc=Ty.reducer;import{createAsyncThunk as io,createSlice as Ey}from"@reduxjs/toolkit";var hc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},yc=t=>t.customMessages.list,vc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Sc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),xc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ro=io("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),bn=io("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Cn=io("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),bc=Ey({name:"customMessages",initialState:hc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ro.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Cn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Cn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(_,()=>hc)}}),Cc=io("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(bc.actions.onCustomMessage(r))})}),wc=io("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Tc=bc.reducer;import{createAsyncThunk as Ec,createSlice as ky}from"@reduxjs/toolkit";var Ry={token:null,accountUrl:null,interval:null},kc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},mr=Ec("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),fr=Ec("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(mr()),setInterval(()=>n(mr()),o)}),Rc=ky({name:"passwordlessToken",initialState:Ry,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(mr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(fr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Pc}=Rc.actions,Ic=Rc.reducer;import{createAction as Py,createAsyncThunk as Iy,createSlice as Ly}from"@reduxjs/toolkit";var hr={cues:[],fetchState:"idle"},Lc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ay=Py("rules/resetCues"),Ye=Iy("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(d=>d.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return w.info(s.message),[]}}),Ac=Ly({name:"answer",initialState:hr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.fetchState="loading"}).addCase(Ye.rejected,e=>{e.fetchState="error"}).addCase(Ye.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(_,()=>hr).addCase(Ay.toString(),()=>hr)}}),{removeCue:Mc}=Ac.actions,Nc=Ac.reducer;function Oc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as Vy}from"react";import{connect as $y}from"react-redux";import Ky from"classnames";import{Fragment as Uy}from"react";import Ny from"classnames";var _c={root:"Ti"};import{jsx as _y}from"react/jsx-runtime";var Oy=({className:t,children:e})=>{let o=h("Unicode",_c);return _y("span",{className:Ny(t,o.root),children:e})},Dc=Oy;var Hc={isDisabled:"Ui",buttonStart:"Bi",root:"Di",buttonStop:"ho",stateBadge:"h",isCompleted:"Ii",isStarted:"Oi",isAborted:"Xi"};var yr={};Z(yr,{enUS:()=>Hy,nlNL:()=>Fy});var Hy={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"}]},Fy={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 et,jsxs as wn}from"react/jsx-runtime";var zy=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Hc),a=R(yr),c=e==="Started"?"stop":"start",l=c==="start"?"\u25B6":c==="stop"?"\u25FC":"";return wn(M,{className:Ky(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[et(H,{children:wn(H.Content,{children:[wn(H.Title,{children:[e&&et("span",{className:i.stateBadge,children:a(e)}),o]}),et("span",{children:n})]})}),et(M.Actions,{fixed:e==="Started",children:et(M.ActionButton,{primary:!0,className:c==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:wn(Uy,{children:[et(Dc,{children:l})," ",et("span",{children:a(c)})]})})})]})},Fc=zy;import{jsx as Bc}from"react/jsx-runtime";var qy=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},Gy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Bc(Vy,{children:t.map(s=>Bc(Fc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||qy(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),jy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},Wy={onStartAutoflow:pr,onStopAutoflow:gr},Kc=$y(jy,Wy)(Gy);import Zy from"classnames";import{useCallback as Uc}from"react";import{useDispatch as Qy,useSelector as Tn}from"react-redux";var Te={root:"mo",title:"uo",isUsed:"Ji",quickReplies:"Ki",quickReply:"Pi",hasError:"Qi",label:"Vi",errorIcon:"Wi"};import{jsx as He,jsxs as En}from"react/jsx-runtime";var Jy=({suggestion:t})=>{let e=R(We),o=Qy(),n=Tn(vc(t.text)),s=Tn(Sc(t.text)),r=Tn(xc(t.text)),i=Tn(xo),{replyOptions:a}=t,c=Uc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Uc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),p=a[u];o(Cn({platformSessionId:i,reply:p,suggestion:t}))},[t,n,o,i]);return En(M,{onClick:c,className:Zy(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[He(H,{children:En(H.Content,{children:[En(H.Title,{className:Te.title,children:[t.text," ",He(Gn,{className:Te.label,children:"analyse tool"})," ",r&&He("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&He("ul",{className:Te.quickReplies,children:a.map(d=>He("li",{className:Te.quickReply,children:d.title},d.title))})]})}),En(M.Actions,{fixed:r||n,children:[a&&a.length>0&&He(M.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>He(M.DropdownItem,{index:u,label:d.title,onClick:l},d.title))}),He(M.ActionButton,{primary:!0,disabled:n,onClick:c,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},zc=Jy;import{useEffect as ev,useState as tv}from"react";import{useDispatch as ov}from"react-redux";import qc from"classnames";import{jsx as Vc}from"react/jsx-runtime";var vr=()=>Vc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Vc("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 $c={root:"Zi",entity:"r",entityText:"_i",iconWrapper:"or",icon:"er",iconClicked:"ir"};import{jsx as Tt,jsxs as Gc}from"react/jsx-runtime";var nv=({entities:t})=>{let e=h("EntitiesWidgetList",$c),[o,n]=tv(void 0),s=ov(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ge(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return ev(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Tt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,c)=>Gc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Tt("span",{className:e.entityText,children:a.text}),Gc("span",{className:e.iconWrapper,children:[Tt("span",{className:qc(e.icon),children:Tt(vr,{})}),Tt("span",{className:qc(e.icon,o===c&&e.iconClicked),children:Tt(vr,{})})]})]},a.text))})},jc=nv;import{jsx as Wc}from"react/jsx-runtime";var Xc=()=>Wc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Wc("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 Zc}from"react/jsx-runtime";var Qc=()=>Zc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Zc("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 Jc}from"react/jsx-runtime";var Yc=()=>Jc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Jc("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 Cv}from"react-redux";import{useDispatch as rv}from"react-redux";import{createAsyncThunk as sv}from"@reduxjs/toolkit";function ed(t){return sv("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 kn(){let t=rv();return async(e,o)=>{await t(ed({name:e,data:o}))}}import ud from"classnames";import{useEffect as Sv,useState as xv}from"react";import{jsx as td,jsxs as iv}from"react/jsx-runtime";var od=({className:t})=>iv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[td("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),td("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import{jsx as nd}from"react/jsx-runtime";var sd=t=>nd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nd("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 rd}from"react/jsx-runtime";var id=t=>rd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:rd("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 Et(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)}import lv from"dompurify";import{Fragment as cv,useMemo as dv,useRef as uv,useState as pv}from"react";import gv from"snarkdown";var ad={fadeup:"E",root:"i",popover:"rr",options:"yo",copyIcon:"G",option:"wo",divider:"tr"};import{jsx as ao,jsxs as ld}from"react/jsx-runtime";function mv(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 Sr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}var fv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",ad),i=uv(null),[a,c]=pv(null),l=dv(()=>{let f=gv(t);return lv.sanitize(f).replace(/<\/code>/g,`${mv(r.copyIcon)}</code>`)},[t]),d=f=>{var E;let m=f.target,y=!!((E=i.current)!=null&&E.querySelector("code"));a||y&&m.tagName!=="CODE"||!y&&m!==i.current||(m.addEventListener("mouseleave",()=>c(null),{once:!0}),c(m))},u=()=>{if(!a)return;c(null);let f=a.querySelector("button");f&&(Et(f,r.fadeup),n(Sr(a)))},p=f=>{f.target.tagName.toLowerCase()==="button"&&(Et(f.target,r.fadeup),n(Sr(f.target.parentElement)))},g=()=>{a&&(c(null),s(Sr(a)))};return ld(cv,{children:[a&&ao(Ct,{triggerRef:{current:a},parentNode:a,className:r.popover,children:ld("div",{className:r.options,children:[ao("button",{type:"button",className:r.option,onClick:u,children:o}),ao("div",{className:r.divider}),ao("button",{type:"button",className:r.option,onClick:g,children:e})]})}),ao("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:d,onClick:p})]})},cd=fv;var xr={};Z(xr,{enUS:()=>hv,nlNL:()=>yv});var hv={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"}]},yv={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 dd={fadeup:"N",fadedown:"A",selected:"vo",thumbsUp:"nr",thumbsDown:"ar"};import{jsx as Ee,jsxs as pd}from"react/jsx-runtime";var bv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",dd),a=R(xr),c=kn(),[l,d]=xv(null),u=y=>{o&&o(y,t)},p=y=>{n&&n(y,t)},g=y=>{y.preventDefault(),y.stopPropagation(),e(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadeup),d("up"),s(t)},m=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadedown),d("down"),r(t)};return Sv(()=>{c("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),pd(M,{"data-testid":"cue",children:[Ee(H,{children:pd(H.Content,{children:[t.title&&Ee(H.Title,{"data-testid":"widget-cue-title",children:t.title}),Ee(cd,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:p})]})}),Ee(M.IconButton,{title:a("thumbsUp"),onClick:f,icon:Ee(id,{}),className:ud(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Ee(M.IconButton,{title:a("thumbsDown"),onClick:m,icon:Ee(sd,{}),className:ud(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Ee(M.IconButton,{title:a("removeCue"),onClick:g,icon:Ee(od,{})})]})},gd=bv;import{Fragment as Tv,jsx as md}from"react/jsx-runtime";var wv=({cues:t})=>{let e=Cv(),o=oe(),n=kn(),s=l=>{e(Mc({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description})},r=(l,d)=>{Ge(l),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:l})},i=(l,d)=>{o.send(Ae,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up"})},c=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down"})};return md(Tv,{children:t.map(l=>md(gd,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:c,onThumbsUp:a},l.rule.id))})},fd=wv;import{useCallback as kv}from"react";var Ev=/(https?:\/\/[^\s]+)/,hd=t=>t.split(" ").find(e=>Ev.test(e));import{jsx as kt,jsxs as Rn}from"react/jsx-runtime";var Rv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=hd(n),r=R(We),i=b("showImages"),a=b("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),o(n)},l=kv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Rn(M,{onClick:c,"data-testid":"edit-suggestion",children:[Rn(H,{children:[i&&t.image&&kt(H.Image,{src:Sn(t,"small",a||void 0),title:t.title}),Rn(H.Content,{children:[t.title&&kt(H.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&kt(M.Labels,{labels:t.searchKeywords}),kt(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Rn(M.Actions,{children:[s&&kt(M.ActionButton,{onClick:l,label:r("visitUrl")}),kt(M.ActionButton,{primary:!0,onClick:c,label:r("useSuggestion")})]})]})},yd=Rv;import{Fragment as Iv,jsx as vd}from"react/jsx-runtime";var Pv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ae,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return vd(Iv,{children:e.map(s=>vd(yd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Sd=Pv;var br={};Z(br,{enUS:()=>Lv,nlNL:()=>Av});var Lv={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"}]},Av={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 xd={root:"pr",loginText:"dr",stateText:"ko",sectionList:"lr",shortcutList:"sr",shortcut:"cr",link:"zo"};import{jsx as A,jsxs as Rt}from"react/jsx-runtime";var Pn=(t,e)=>{let o=X(W);Ov(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Dv=({onLogIn:t})=>{let e=R(br),o=_v(),n=b("isEmbedded"),s=h("Widget",xd),r=b("showAutoflows"),i=b("showCustomMessages"),a=b("showSummaryCommand"),c=b("showKnowledgeSearch"),l=b("showSearch"),d=X(Oe),u=X(Yo),p=X(pc),g=X(Lc),f=X(Qo),m=X(yc),y=X(bo),E=X(dt),S=X(W),v=X(xo),k=X(Oc),x=X(en),T=oe(),N=X(nl),U=X(kc("/admin/")),F=b("adminUrl"),I=b("productName");if(Pn(()=>(o(ro(v)),o(Cc(v)),()=>{o(wc(v))}),[o,E,i,v]),Pn(()=>(o(we(v)),o(gc(v)),()=>{o(mc(v))}),[o,E,r,v]),Pn(()=>{u.forEach(({type:P})=>{o(P==="entities"?ae():le(P))})},[o,E,y,d]),Pn(()=>(o(fr()),()=>{o(Pc())}),[o]),E===!1)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("notSupported")})})},"supported");if(S===!1)return A("div",{className:s.loginText,children:A("div",{children:A(un,{isEmbedded:n,loginUrl:F,onLogIn:t})})},"login");if(!d||!v||S===null||N||k)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("waiting")})})},"waiting");let O=l||a||c||U;return A("div",{className:Nv(s.root),"data-testid":"widget",children:Rt(Wn,{className:s.sectionList,children:[O&&A(ke,{title:e("actions"),type:"shortcuts",children:Rt("div",{className:s.shortcutList,children:[l&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0}),children:[A(mt,{}),e("linkSearch")]}),a&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[A(Yc,{}),e("linkSummary")]}),c&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[A(Qc,{}),e("linkKnowledgeSearch")]}),U&&Rt("a",{className:s.shortcut,target:"_blank",href:U,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[A(Xc,{}),e("linkStudioLogin",{productName:I})]})]})}),i&&m.length>0&&A(ke,{type:"custom-messages","data-testid":"custom-messages",children:A(te,{withDivider:!0,children:m.map(P=>A(zc,{suggestion:P},P.text))})}),r&&p.length>0&&A(ke,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:A(te,{withDivider:!0,children:A(Kc,{})})}),u.map(({type:P,title:$,amount:Un,lines:zn})=>{var nt;switch(P){case"entities":return f&&f.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(jc,{entities:f})},P);case"cues":return g&&g.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(fd,{cues:g})})},P);default:return((nt=x[P])==null?void 0:nt.fetchState)==="done"&&x[P].suggestions.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(Sd,{lines:zn,contentType:P,suggestions:x[P].suggestions.slice(0,Un)||[]})})},P)}})]})})},bd=Dv;function co(t){let e=new Range;return e.selectNodeContents(t),e}function Cd(t,e,o){try{return tt(t,e,o),!0}catch{return!1}}function In(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Ln(t){return"tagName"in t&&t.tagName==="BR"}var lo=/[\u200B-\u200D\uFEFF]/g;function tt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(c,l){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(c))return l;for(let p=0;p<=c.length;p++)if(u.test(c[p])||d++,d===l)return p;throw new Error("Offset out of range")}function a(c){switch(c.nodeType){case Node.TEXT_NODE:{let l=c.textContent,d=l.replace(lo,""),u=s+d.length,p=e>=s&&e<=u,g=o>=s&&o<=u;if(p){let f=i(l,e-s);f===0&&!g?n.setStartBefore(c):n.setStart(c,f)}g&&(n.setEnd(c,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Ln(c)&&(s===e&&n.setStartBefore(c),s++,s===o)){n.setEndAfter(c),r=!0;return}for(let d=0;d<c.childNodes.length&&(a(c.childNodes[d]),!r);d++);let l=c.lastChild;In(c)&&l&&!In(l)&&!Ln(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function An(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,c,l=0;function d(u){let p=u===o,g=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;p&&(a=l+f.substring(0,n).replace(lo,"").length),g&&(c=l+f.substring(0,r).replace(lo,"").length),l+=f.replace(lo,"").length;break}case Node.ELEMENT_NODE:{let f=u.nextSibling===null;Ln(u)&&!f&&l++;for(let m=0;m<u.childNodes.length;m++){let y=p&&m===n,E=g&&m===r;if(y&&(a=l),E&&(c=l),c!==void 0||((!y||!i)&&d(u.childNodes[m]),g&&m===r-1&&(c=l),c!==void 0))break}!g&&In(u)&&!f&&l++,g&&(c=l);break}default:break}}if(d(t),c===void 0)throw new Error("Could not determine start and end");return{start:a??c,end:c}}function Mn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function c(l){let d=l===o,u=l===s;switch(d&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=d?n:0,g=u?r:void 0,f=l.textContent.replace(lo,"");p===0&&g===void 0?a+=f:a+=f.substring(p,g);break}case Node.ELEMENT_NODE:{let p=l.nextSibling===null;i===0&&Ln(l)&&!p&&(a+=`
|
|
7
|
+
c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});import{jsx as ml}from"react/jsx-runtime";var df={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},fl=({className:t,color:e})=>ml("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ml("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:df[e||"pink"]})});var hl={root:"j",text:"Y",isLoggedIn:"ei",isLoggedOut:"no",icon:"ii",logo:"ri",lock:"ti"};var js={};Z(js,{enUS:()=>pf,nlNL:()=>gf});var pf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},gf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as hf}from"react-redux";import{jsx as Ws,jsxs as yl}from"react/jsx-runtime";var vl=({onLogIn:t})=>{let e=R(js),o=b("floatingMenu"),n=b("productName"),s=hf(),r=ff(W),i=h("FloatingMenu",hl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return yl("button",{className:mf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[Ws("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),yl("div",{className:i.icon,children:[Ws(fl,{className:i.logo,color:"pink"}),r===!1&&Ws(gl,{className:i.lock})]})]})};import{useEffect as Ff,useRef as Bf}from"react";import{connect as Kf,useDispatch as Uf,useSelector as an}from"react-redux";import{useEffect as yf}from"react";function xt(t){yf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ze(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function bt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as vf}from"@reduxjs/toolkit";var Sf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var nn=({ui:t})=>t.overlayCollapsed;var Sl=vf({name:"ui",initialState:Sf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:eo,setInputHasFocus:Xs,setOverlayCollapsed:_e,setOpenOverlayWhenTyping:xl,setOverlayCollapsedUserOverwrite:bl}=Sl.actions,Cl=Sl.reducer;import{Fragment as Of,useMemo as _f}from"react";import{Interweave as wf}from"interweave";import{useEffect as Tf,useMemo as Ef,useRef as kf}from"react";import{useDispatch as Rf,useSelector as Pf}from"react-redux";import{useEffect as xf}from"react";function wl(t,e,o){xf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var Tl={root:"ni",actions:"ai",badge:"pi",formattedText:"ao"};import{jsx as sn,jsxs as Nf}from"react/jsx-runtime";var If=["search","personal-collection-search","search-autocomplete"];function Lf(t,e,o,n={}){let s="";return If.includes(e)?s=ra(Ts(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ts(t,o,n),n.placeholders===!0&&(s=ia(s)),s}var Af=()=>{},Mf=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Pf(pt),i=Rf(),a=h("TextSuggestion",Tl),c=kf(null);Tf(()=>{let d=setTimeout(()=>{i(fi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),wl(c,"click",()=>{i(Le(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=Ef(()=>Lf(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:Nf("div",{className:a.root,onMouseEnter:()=>i(Le(t)),children:[sn(M,{ref:c,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Af,children:sn(wf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:l})}),e&&n&&sn("div",{className:a.actions,children:sn(Xo,{onFeedback:()=>n(o),suggestion:o.text})})]})},El=Mf;import{jsx as kl}from"react/jsx-runtime";var Df=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=_f(()=>{let r=e.map((i,a)=>kl(El,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return kl(Of,{children:s})},rn=Df;var Rl={root:"di",paper:"li"};import{jsx as ln}from"react/jsx-runtime";var zf=({textSuggestions:t,selectedIndex:e})=>{let o=Bf(null),n=h("InlineSuggestionsOverlay",Rl),s=an(bt),r=Uf(),i=an(W),a=an(dt),c=an(nn),l=b("showTextSuggestions");return xt(()=>{setTimeout(()=>{r(_e({collapse:!0,skipWhenInputFocus:!0}))})}),Ff(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),c||!s||!l||t.length===0||i!==!0||a===!1?null:ln("div",{className:n.root,"data-variant":"inline",children:ln("div",{ref:o,className:n.paper,children:ln(te,{children:ln(rn,{suggestions:t,selectedIndex:e})})})})},Vf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Pl=Kf(Vf)(zf);import{Provider as $f}from"react-redux";import{jsx as cn}from"react/jsx-runtime";var qf=({children:t})=>{let o=b("locale").replace("-","");return cn(ys.Provider,{value:o,children:t})},Gf=({store:t,customStyles:e={},children:o})=>cn($f,{store:t,children:cn(qf,{children:cn(_t.Provider,{value:e,children:o})})}),Qe=Gf;import er from"classnames";import{useEffect as ah,useRef as lh,useState as ch}from"react";import{connect as dh,useDispatch as uh,useSelector as to}from"react-redux";import{useState as jf}from"react";function Il(t,e){let[o,n]=jf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return w.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){w.error(i)}}]}var Ll=()=>/Mac/i.test(navigator.platform);import Qf from"classnames";import{Fragment as Jf,useCallback as Qs,useMemo as Ml}from"react";var Zs={};Z(Zs,{enUS:()=>Wf,nlNL:()=>Xf});var Wf={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"}]}]},Xf={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 Al={root:"si",anchor:"ci",anchorButton:"xi"};import{jsx as dn,jsxs as Nl}from"react/jsx-runtime";var Js=(t,e,o)=>n=>dn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Yf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=R(Zs),i=oe(),a=h("Login",Al),c=b("productName"),l=Qs(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=Qs(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=Ml(()=>y=>dn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),p=Qs(y=>dn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:g,hour:f,day:m}=Ml(()=>({min:Js(a,60*10,l),hour:Js(a,60*60,l),day:Js(a,60*60*12,l)}),[]);return Nl("div",{className:Qf(t,a.root),children:[r("loginPlease",{login:o?p:u,productName:c}),n&&Nl(Jf,{children:[dn("br",{}),r("snooze",{min:g,hour:f,day:m})]})]})},un=Yf;import{useDispatch as th}from"react-redux";var Ol={root:"po",text:"fi"};import{jsx as _l,jsxs as nh}from"react/jsx-runtime";var oh=({title:t})=>{let e=h("SearchTrigger",Ol),o=th();return nh("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[_l(mt,{}),_l("span",{className:e.text,children:t})]})},Dl=oh;var Ys={};Z(Ys,{enUS:()=>sh,nlNL:()=>rh});var sh={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"}]},rh={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 Hl={root:"gi",isInline:"q",toggleButton:"bi",toggleButtonWrapper:"C",toggleButtonWrapperHidden:"hi",isCollapsed:"do",collapsible:"mi",hints:"lo",hintsHidden:"ui",triggers:"so",triggersRight:"yi"};import{jsx as V,jsxs as oo}from"react/jsx-runtime";var ph=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Hl),s=R(Ys),r=to(bt),i=ui(),a=uh(),c=lh(null),l=b("searchTriggerKey"),d=b("productName"),u=to(nn),p=to(W),g=to(dt),[f,m]=ch(null),y=b("showSearch"),E=b("showTextSuggestions"),S=b("adminUrl"),v=b("isEmbedded"),[k,x]=Il("dd-snooze-until-ms",0),T=u||k>Date.now(),N=to(P=>P.input.text),U=t.filter(P=>P.source!=="gpt").length,F=()=>{T&&x(0),a(bl(!T))},I=P=>{a(G({name:"suggestion feedback",data:{text:P.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=P=>{let $=Date.now()+P*1e3;x($),w.info(`Snooze until: ${new Date($)}`),a(_e({collapse:!0}))};return ah(()=>{U===0&&m(null)},[t,U]),xt(()=>{a(_e({collapse:!0,skipWhenInputFocus:!0}))}),p===null||g===!1?null:p===!1?oo("div",{ref:c,className:er(n.root,{[n.isCollapsed]:T}),children:[!T&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1}}),V("div",{className:n.triggersRight,children:V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),V("div",{className:n.collapsible,children:V(un,{loginUrl:S,isEmbedded:v,onLogIn:o,onSnooze:O})})]}):!i||!r?null:oo("div",{ref:c,className:er(n.root,{[n.isCollapsed]:T}),children:[!T&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1},children:y&&V("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(Ll()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>m(null),children:V(Dl,{title:s("search")})})}),oo("div",{className:n.triggersRight,onFocus:()=>{},children:[V("div",{className:er(!f&&n.hintsHidden,n.hints),children:f}),V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U>0&&E&&V("div",{className:n.collapsible,onFocus:()=>{},children:V(te,{children:V(rn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},gh=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Fl=dh(gh)(ph);import ur from"classnames";import{Interweave as my}from"interweave";import{useCallback as fy,useEffect as hy,useMemo as lc,useRef as yy}from"react";import{connect as vy}from"react-redux";import{useEffect as mh,useRef as fh,useState as hh}from"react";function pn(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 Bl(t){let{selectionStart:e,selectionEnd:o}=pn(t)?yh(t):t;return[e,o]}function Kl(t){let[,e]=hh(),o=fh(null);return o.current=Bl(t),mh(()=>{let n=()=>{let[s,r]=o.current??[],i=Bl(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 Ul(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(yo);if(!i||i.length===0)return;let a=0;i.find(c=>{let l=n.indexOf(c,a);return s>l&&r<l+c.length?(o.selectionStart=l,o.selectionEnd=l+c.length,!0):(a=l+c.length,!1)})}import{cloneElement as vh}from"react";var Sh=["div","span","mark","strong","b","i","u","em"];function tr(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:tr(i,e,o+1)})]}return[...t,...e]}function De(t){return t.tagName.toLowerCase()==="textarea"}var ce={root:"wi",container:"vi",agentText:"co",tabText:"xo",hint:"S",matchSelection:"fo",focus:"ki",resetIndent:"zi",matchKeyword:"p",matchPlaceholder:"d",hover:"go",hintText:"ji",popover:"Yi",popoverRoot:"qi",popoverContentContainer:"bo",popoverContent:"Ci",selectionOptions:"Si",selectionOptionsIsHidden:"Ei",selectionOptionsButton:"Gi",caret:"Ni",popoverSuggestionsRoot:"Ai",suggestionsOverlayInputStyles:"Fi"};import zh from"classnames";import{Matcher as Vh}from"interweave";import{useEffect as $h,useMemo as qh}from"react";import{useEffect as bh,useRef as Ch,useState as wh}from"react";function zl(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function gn(t){let e=Ch(null),[o,n]=wh(!1);return bh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=zl((d,u)=>{let p=e.current;if(!p)return;let g=d/r,f=u/r,m=p.getBoundingClientRect(),y=g>m.x&&g<m.x+m.width&&f>m.y&&f<m.y+m.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[c,l]=zl(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",c),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",c)}},[e]),[e,o]}function Vl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function $l(t){return t!=null}import Xl from"classnames";import{createRef as _h,useCallback as nr,useMemo as Dh,useRef as Hh,useState as Fh}from"react";import{useState as Th,useLayoutEffect as Eh}from"react";var kh=["bottom","height","left","right","top","width"],Rh=(t={},e={})=>kh.some(o=>t[o]!==e[o]),Ce=new Map,ql,Gl=()=>{let t=[],e=[];Ce.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Rh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ce.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),ql=window.requestAnimationFrame(Gl)};function Ph(t,e){return{observe(){let o=Ce.size===0;if(Ce.has(t)){let n=Ce.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ce.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&Gl()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame(ql)}}}}function or(t){let[e,o]=Th(null);return Eh(()=>{if(!t.current)return;let n=Ph(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Lh,useLayoutEffect as Ah,useState as Mh}from"react";import{createPortal as Nh}from"react-dom";var jl={root:"Hi"};var Wl=({children:t,parentNode:e})=>{let[o,n]=Mh(null),s=Lh(_t);return Ah(()=>{let r=document.createElement("div");return Ze(r),r.classList.add(jl.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?Nh(t,o):null};var ge={ref:"Li",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as sr}from"react/jsx-runtime";var fn=(t=!1)=>{let[e,o]=Fh(t),n=nr(()=>o(!0),[]),s=nr(()=>o(!1),[]),r=nr(()=>o(a=>!a),[]),i=Hh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function rr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Ct=({className:t,triggerRef:e,boundaryRef:o=_h(),position:n="above",align:s="center",children:r,toStyle:i=rr,parentNode:a,...c})=>{let l=or(e),d=or(o),u=Dh(()=>i(l,d,0),[l,d]);return sr(Wl,{parentNode:a,children:sr("div",{className:Xl(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...c,role:"dialog",children:sr("div",{className:Xl(t,ge.root),children:r})})})};import Bh from"classnames";import{forwardRef as Kh,useRef as Uh}from"react";import{jsx as Zl}from"react/jsx-runtime";var hn=Kh(({className:t,children:e,...o},n)=>{let s=Uh(null),r=h("TabCompletion",ce);return Zl("div",{ref:mn([s,n]),className:Bh(t,r.popoverContentContainer),...o,children:Zl("div",{className:r.popoverContent,children:e})})});import{jsx as no,jsxs as Wh}from"react/jsx-runtime";var Gh=t=>e=>{let o=rr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},jh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ce),i=fn(),a=qh(()=>Gh(t.getBoundingClientRect()),[t]),[c,l]=gn(t);return $h(()=>{l?i.open():i.close()},[l]),Wh("span",{children:[no("mark",{ref:mn([c,i.triggerRef]),className:zh(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&no(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:no(hn,{style:o,children:no("div",{className:r.hintText,children:s})})})]})},yn=class extends Vh{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${Vl(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($l);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return no(jh,{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 Xh}from"interweave";import Zh from"classnames";import{jsx as Ql}from"react/jsx-runtime";var Qh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ce),[n,s]=gn(t);return Ql("mark",{ref:n,className:Zh(o.matchPlaceholder,{[o.hover]:s}),children:e})},vn=class extends Xh{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 Ql(Qh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import dr from"classnames";import{Matcher as ay}from"interweave";import{createRef as ly,forwardRef as cy,useCallback as dy,useEffect as rc,useRef as ic,useState as ac}from"react";import{useDispatch as uy}from"react-redux";import{jsx as Jl}from"react/jsx-runtime";var Yl=()=>Jl("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Jl("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 Yh,useEffect as tc,useState as oc}from"react";import{useDispatch as ey,useSelector as nc}from"react-redux";import ty from"lodash.debounce";var ec={root:"Mi",content:"Ri"};function Sn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function ir(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Je,jsxs as ar}from"react/jsx-runtime";var oy=3,ny=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),sy=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=oy})=>{let r=h("LinkSearch",ec),[i,a]=oc(""),c=ey(),l=nc(ol("url")),d=nc(Mi("URL",ny)),[u,p]=oc(d.length-1),g=b("fallbackImage"),f=S=>{let v=S.target;a(v.value)},m=(S,v)=>{S.stopPropagation(),S.preventDefault(),window.open(v,"_blank")},y=S=>{var x;let v=u-1<0?d.length-1:u-1,k=u+1===d.length?0:u+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&p(v),S.code==="ArrowDown"&&p(k),S.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},E=Yh(ty(S=>{c(Ve({query:S,type:"URL",tags:["link-search"]}))},300),[]);return tc(()=>{i&&E(i)},[i]),tc(()=>()=>{c(Mo())},[]),ar("div",{className:r.root,children:[Je(te,{withDivider:!0,children:(i?d:l).slice(0,s).map((S,v)=>Je(M,{selected:u===v,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:ar(H,{children:[Je(H.Image,{src:Sn(S,"small",g||void 0),title:S.title||S.text}),ar(H.Content,{className:r.content,cropText:!0,children:[Je(H.Title,{children:S.title||ir(S.text)}),S.title&&ir(S.text)]}),Je(M.Actions,{children:Je(M.ActionButton,{label:n,onClick:k=>m(k,S.text)})})]})},S.text))}),Je(Gt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:y})]})},sc=sy;var lr={};Z(lr,{enUS:()=>ry,nlNL:()=>iy});var ry={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},iy={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as me,jsxs as cr}from"react/jsx-runtime";var py=cy((t,e)=>{let o=h("TabCompletion",ce);return me("mark",{ref:e,className:dr(o.matchSelection)},"selection-start")}),gy=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=R(lr),i=h("TabCompletion",ce),a=ic(null),c=ic(null),[l,d]=ac(null),u=uy(),p=fn(document.activeElement===n),[g]=ac(()=>document.createRange());p.triggerRef.current=g,rc(()=>()=>g.detach(),[]),rc(()=>{let m=t.current,y=a.current;!m||!y||(g.setStart(m,0),g.setEnd(y,0))},[t.current,a.current]),xt(()=>{p.close()});let f=dy(m=>{let y=g.toString(),E=/^http(s?):\/\//.test(m)?m:`https://${m}`;u(Ro({text:`[${y}](${E})`,replace:"selection"}))},[]);return cr("span",{children:[me("mark",{ref:a,className:dr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":p.opened?"true":"false",children:s}),p.opened&&me(Ct,{className:i.popoverRoot,triggerRef:p.triggerRef,boundaryRef:e,position:"above",align:"start",children:cr(hn,{style:o,ref:c,children:[me("div",{className:dr(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:cr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[me(Yl,{}),me("span",{children:"\xA0"}),me("span",{children:r("insertLink")})]})}),l==="insertLink"&&me(sc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),p.close()}})]})})]},"selection-end")},xn=class extends ay{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=ly(),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?me(py,{ref:this.startRef}):me(gy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as Sy}from"react-redux";import{jsx as wt,jsxs as Cy}from"react/jsx-runtime";var xy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:c})=>{let l=h("TabCompletion",ce),d=b("insertLink"),u=b("showMidSentenceSuggestions"),p=b("inlineSuggestions"),g=Kl(a),f=yy(null),m=Sy(W);hy(()=>{De(a)&&g&&Ul(a,g)},[g]);let y=fy(v=>{if(!s||!o)return v;let k=[wt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),wt("span",{"data-testid":"tab-completion",className:ur(l.tabText,l.resetIndent),"data-source":c,children:o},"tabText")];return n&&k.push(wt("span",{className:ur(l.hint,l.resetIndent),children:wt(qn,{keyCode:"tab"},"tabHint")})),tr(v,k)},[s,o,n]),E=lc(()=>{let v=[];return d&&v.push(new xn("selection")),v.push(new vn("placeholders")),r&&v.push(new yn("keywords")),v},[p,d,r]),S=lc(()=>{let v=window.getComputedStyle(a);return{"--dd-color":v.color,"--dd-font-size":v.fontSize,"--dd-font-family":v.fontFamily,"--dd-font-variant":v.fontVariant}},[]);return!t||!m?null:Cy("div",{ref:v=>{v!=null&&v.parentElement&&(f.current=v==null?void 0:v.parentElement)},className:l.root,style:S,children:[wt(my,{tagName:"span",containerTagName:"div",className:ur(l.container,l.agentText),disableLineBreaks:De(a),content:e||"\u200B",onAfterParse:y,matchers:E,selection:g,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!u}),wt("br",{})]})},by=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",c=t.html??Xt(t.text),l=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:p,visible:g,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:p,content:c,tabText:l,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:g&&u!==!1}},cc=vy(by)(xy);import Ov from"classnames";import{useEffect as _v}from"react";import{useDispatch as Dv,useSelector as X}from"react-redux";import{createAsyncThunk as so,createSlice as wy}from"@reduxjs/toolkit";var dc={list:[],fetchState:"idle",isInitialRequest:null},pc=t=>t.autoflows.list||[],uc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},we=so("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),pr=so("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(we(t.platformSessionId))}),gr=so("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(we(t.platformSessionId))}),Ty=wy({name:"autoflows",initialState:dc,reducers:{},extraReducers:t=>{t.addCase(pr.pending,(e,o)=>{let n=uc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(gr.pending,(e,o)=>{let n=uc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(we.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(we.rejected,e=>{e.fetchState="error"}),t.addCase(we.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(_,()=>dc)}}),gc=so("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(we(t))}),s.on("sessionCompleted",()=>{o(we(t))})}),mc=so("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),fc=Ty.reducer;import{createAsyncThunk as io,createSlice as Ey}from"@reduxjs/toolkit";var hc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},yc=t=>t.customMessages.list,vc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Sc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),xc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ro=io("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),bn=io("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Cn=io("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),bc=Ey({name:"customMessages",initialState:hc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ro.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Cn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Cn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(_,()=>hc)}}),Cc=io("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(bc.actions.onCustomMessage(r))})}),wc=io("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Tc=bc.reducer;import{createAsyncThunk as Ec,createSlice as ky}from"@reduxjs/toolkit";var Ry={token:null,accountUrl:null,interval:null},kc=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},mr=Ec("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),fr=Ec("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(mr()),setInterval(()=>n(mr()),o)}),Rc=ky({name:"passwordlessToken",initialState:Ry,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(mr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(fr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Pc}=Rc.actions,Ic=Rc.reducer;import{createAction as Py,createAsyncThunk as Iy,createSlice as Ly}from"@reduxjs/toolkit";var hr={cues:[],fetchState:"idle"},Lc=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ay=Py("rules/resetCues"),Ye=Iy("rules/evaluate",async(t,e)=>{var o,n;try{let{deepdeskAPI:s}=e.extra,r=e.getState(),i=(o=r.conversation.current)==null?void 0:o.id;if(!i)throw new Error("No current conversation to evaluate rules");if(!(await s.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await s.getRules()).some(d=>d.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await s.evaluateRule(t.label,i,{tags:((n=r.conversation.current)==null?void 0:n.tags)||void 0,...t.params})}catch(s){return w.info(s.message),[]}}),Ac=Ly({name:"answer",initialState:hr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.fetchState="loading"}).addCase(Ye.rejected,e=>{e.fetchState="error"}).addCase(Ye.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(_,()=>hr).addCase(Ay.toString(),()=>hr)}}),{removeCue:Mc}=Ac.actions,Nc=Ac.reducer;function Oc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as Vy}from"react";import{connect as $y}from"react-redux";import Ky from"classnames";import{Fragment as Uy}from"react";import Ny from"classnames";var _c={root:"Ti"};import{jsx as _y}from"react/jsx-runtime";var Oy=({className:t,children:e})=>{let o=h("Unicode",_c);return _y("span",{className:Ny(t,o.root),children:e})},Dc=Oy;var Hc={isDisabled:"Ui",buttonStart:"Bi",root:"Di",buttonStop:"ho",stateBadge:"h",isCompleted:"Ii",isStarted:"Oi",isAborted:"Xi"};var yr={};Z(yr,{enUS:()=>Hy,nlNL:()=>Fy});var Hy={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"}]},Fy={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 et,jsxs as wn}from"react/jsx-runtime";var zy=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Hc),a=R(yr),c=e==="Started"?"stop":"start",l=c==="start"?"\u25B6":c==="stop"?"\u25FC":"";return wn(M,{className:Ky(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[et(H,{children:wn(H.Content,{children:[wn(H.Title,{children:[e&&et("span",{className:i.stateBadge,children:a(e)}),o]}),et("span",{children:n})]})}),et(M.Actions,{fixed:e==="Started",children:et(M.ActionButton,{primary:!0,className:c==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:wn(Uy,{children:[et(Dc,{children:l})," ",et("span",{children:a(c)})]})})})]})},Fc=zy;import{jsx as Bc}from"react/jsx-runtime";var qy=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},Gy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Bc(Vy,{children:t.map(s=>Bc(Fc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||qy(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),jy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},Wy={onStartAutoflow:pr,onStopAutoflow:gr},Kc=$y(jy,Wy)(Gy);import Zy from"classnames";import{useCallback as Uc}from"react";import{useDispatch as Qy,useSelector as Tn}from"react-redux";var Te={root:"mo",title:"uo",isUsed:"Ji",quickReplies:"Ki",quickReply:"Pi",hasError:"Qi",label:"Vi",errorIcon:"Wi"};import{jsx as He,jsxs as En}from"react/jsx-runtime";var Jy=({suggestion:t})=>{let e=R(We),o=Qy(),n=Tn(vc(t.text)),s=Tn(Sc(t.text)),r=Tn(xc(t.text)),i=Tn(xo),{replyOptions:a}=t,c=Uc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),l=Uc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),p=a[u];o(Cn({platformSessionId:i,reply:p,suggestion:t}))},[t,n,o,i]);return En(M,{onClick:c,className:Zy(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[He(H,{children:En(H.Content,{children:[En(H.Title,{className:Te.title,children:[t.text," ",He(Gn,{className:Te.label,children:"analyse tool"})," ",r&&He("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&He("ul",{className:Te.quickReplies,children:a.map(d=>He("li",{className:Te.quickReply,children:d.title},d.title))})]})}),En(M.Actions,{fixed:r||n,children:[a&&a.length>0&&He(M.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>He(M.DropdownItem,{index:u,label:d.title,onClick:l},d.title))}),He(M.ActionButton,{primary:!0,disabled:n,onClick:c,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},zc=Jy;import{useEffect as ev,useState as tv}from"react";import{useDispatch as ov}from"react-redux";import qc from"classnames";import{jsx as Vc}from"react/jsx-runtime";var vr=()=>Vc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:Vc("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 $c={root:"Zi",entity:"r",entityText:"_i",iconWrapper:"or",icon:"er",iconClicked:"ir"};import{jsx as Tt,jsxs as Gc}from"react/jsx-runtime";var nv=({entities:t})=>{let e=h("EntitiesWidgetList",$c),[o,n]=tv(void 0),s=ov(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ge(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return ev(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Tt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,c)=>Gc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Tt("span",{className:e.entityText,children:a.text}),Gc("span",{className:e.iconWrapper,children:[Tt("span",{className:qc(e.icon),children:Tt(vr,{})}),Tt("span",{className:qc(e.icon,o===c&&e.iconClicked),children:Tt(vr,{})})]})]},a.text))})},jc=nv;import{jsx as Wc}from"react/jsx-runtime";var Xc=()=>Wc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Wc("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 Zc}from"react/jsx-runtime";var Qc=()=>Zc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Zc("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 Jc}from"react/jsx-runtime";var Yc=()=>Jc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Jc("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 wv}from"react-redux";import{useDispatch as rv}from"react-redux";import{createAsyncThunk as sv}from"@reduxjs/toolkit";function ed(t){return sv("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 kn(){let t=rv();return async(e,o)=>{await t(ed({name:e,data:o}))}}import ud from"classnames";import{useEffect as xv,useState as bv}from"react";import{jsx as td,jsxs as iv}from"react/jsx-runtime";var od=({className:t})=>iv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[td("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),td("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import{jsx as nd}from"react/jsx-runtime";var sd=t=>nd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:nd("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 rd}from"react/jsx-runtime";var id=t=>rd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:rd("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 Et(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)}import lv from"dompurify";import{Fragment as cv,useMemo as dv,useRef as uv,useState as pv}from"react";import gv from"snarkdown";var ad={fadeup:"E",root:"i",popover:"rr",options:"yo",copyIcon:"G",option:"wo",divider:"tr"};import{jsx as ao,jsxs as ld}from"react/jsx-runtime";function mv(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 Sr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}function fv(t){return t.replace(/\r\n/g,`
|
|
8
|
+
`)}var hv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",ad),i=uv(null),[a,c]=pv(null),l=dv(()=>{let f=gv(fv(t));return lv.sanitize(f).replace(/<\/code>/g,`${mv(r.copyIcon)}</code>`)},[t]),d=f=>{var E;let m=f.target,y=!!((E=i.current)!=null&&E.querySelector("code"));a||y&&m.tagName!=="CODE"||!y&&m!==i.current||(m.addEventListener("mouseleave",()=>c(null),{once:!0}),c(m))},u=()=>{if(!a)return;c(null);let f=a.querySelector("button");f&&(Et(f,r.fadeup),n(Sr(a)))},p=f=>{f.target.tagName.toLowerCase()==="button"&&(Et(f.target,r.fadeup),n(Sr(f.target.parentElement)))},g=()=>{a&&(c(null),s(Sr(a)))};return ld(cv,{children:[a&&ao(Ct,{triggerRef:{current:a},parentNode:a,className:r.popover,children:ld("div",{className:r.options,children:[ao("button",{type:"button",className:r.option,onClick:u,children:o}),ao("div",{className:r.divider}),ao("button",{type:"button",className:r.option,onClick:g,children:e})]})}),ao("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:d,onClick:p})]})},cd=hv;var xr={};Z(xr,{enUS:()=>yv,nlNL:()=>vv});var yv={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"}]},vv={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 dd={fadeup:"N",fadedown:"A",selected:"vo",thumbsUp:"nr",thumbsDown:"ar"};import{jsx as Ee,jsxs as pd}from"react/jsx-runtime";var Cv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",dd),a=R(xr),c=kn(),[l,d]=bv(null),u=y=>{o&&o(y,t)},p=y=>{n&&n(y,t)},g=y=>{y.preventDefault(),y.stopPropagation(),e(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadeup),d("up"),s(t)},m=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadedown),d("down"),r(t)};return xv(()=>{c("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),pd(M,{"data-testid":"cue",children:[Ee(H,{children:pd(H.Content,{children:[t.title&&Ee(H.Title,{"data-testid":"widget-cue-title",children:t.title}),Ee(cd,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:p})]})}),Ee(M.IconButton,{title:a("thumbsUp"),onClick:f,icon:Ee(id,{}),className:ud(i.thumbsUp,l==="up"&&i.selected),disabled:!!l}),Ee(M.IconButton,{title:a("thumbsDown"),onClick:m,icon:Ee(sd,{}),className:ud(i.thumbsDown,l==="down"&&i.selected),disabled:!!l}),Ee(M.IconButton,{title:a("removeCue"),onClick:g,icon:Ee(od,{})})]})},gd=Cv;import{Fragment as Ev,jsx as md}from"react/jsx-runtime";var Tv=({cues:t})=>{let e=wv(),o=oe(),n=kn(),s=l=>{e(Mc({id:l.rule.id})),n("Assistant response closed",{name:l.rule.name,group:l.rule.label,description:l.rule.description})},r=(l,d)=>{Ge(l),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:l})},i=(l,d)=>{o.send(Ae,{text:l,suggestion:{source:"cue",sourceText:l}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:l})},a=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"up"})},c=l=>{n("Assistant response feedback",{name:l.rule.name,group:l.rule.label,description:l.rule.description,thumb:"down"})};return md(Ev,{children:t.map(l=>md(gd,{cue:l,onRemove:s,onCopy:r,onUse:i,onThumbsDown:c,onThumbsUp:a},l.rule.id))})},fd=Tv;import{useCallback as Rv}from"react";var kv=/(https?:\/\/[^\s]+)/,hd=t=>t.split(" ").find(e=>kv.test(e));import{jsx as kt,jsxs as Rn}from"react/jsx-runtime";var Pv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=hd(n),r=R(We),i=b("showImages"),a=b("fallbackImage"),c=u=>{u.preventDefault(),u.stopPropagation(),o(n)},l=Rv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Rn(M,{onClick:c,"data-testid":"edit-suggestion",children:[Rn(H,{children:[i&&t.image&&kt(H.Image,{src:Sn(t,"small",a||void 0),title:t.title}),Rn(H.Content,{children:[t.title&&kt(H.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&kt(M.Labels,{labels:t.searchKeywords}),kt(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Rn(M.Actions,{children:[s&&kt(M.ActionButton,{onClick:l,label:r("visitUrl")}),kt(M.ActionButton,{primary:!0,onClick:c,label:r("useSuggestion")})]})]})},yd=Pv;import{Fragment as Lv,jsx as vd}from"react/jsx-runtime";var Iv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ae,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return vd(Lv,{children:e.map(s=>vd(yd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},Sd=Iv;var br={};Z(br,{enUS:()=>Av,nlNL:()=>Mv});var Av={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"}]},Mv={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 xd={root:"pr",loginText:"dr",stateText:"ko",sectionList:"lr",shortcutList:"sr",shortcut:"cr",link:"zo"};import{jsx as A,jsxs as Rt}from"react/jsx-runtime";var Pn=(t,e)=>{let o=X(W);_v(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Hv=({onLogIn:t})=>{let e=R(br),o=Dv(),n=b("isEmbedded"),s=h("Widget",xd),r=b("showAutoflows"),i=b("showCustomMessages"),a=b("showSummaryCommand"),c=b("showKnowledgeSearch"),l=b("showSearch"),d=X(Oe),u=X(Yo),p=X(pc),g=X(Lc),f=X(Qo),m=X(yc),y=X(bo),E=X(dt),S=X(W),v=X(xo),k=X(Oc),x=X(en),T=oe(),N=X(nl),U=X(kc("/admin/")),F=b("adminUrl"),I=b("productName");if(Pn(()=>(o(ro(v)),o(Cc(v)),()=>{o(wc(v))}),[o,E,i,v]),Pn(()=>(o(we(v)),o(gc(v)),()=>{o(mc(v))}),[o,E,r,v]),Pn(()=>{u.forEach(({type:P})=>{o(P==="entities"?ae():le(P))})},[o,E,y,d]),Pn(()=>(o(fr()),()=>{o(Pc())}),[o]),E===!1)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("notSupported")})})},"supported");if(S===!1)return A("div",{className:s.loginText,children:A("div",{children:A(un,{isEmbedded:n,loginUrl:F,onLogIn:t})})},"login");if(!d||!v||S===null||N||k)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("waiting")})})},"waiting");let O=l||a||c||U;return A("div",{className:Ov(s.root),"data-testid":"widget",children:Rt(Wn,{className:s.sectionList,children:[O&&A(ke,{title:e("actions"),type:"shortcuts",children:Rt("div",{className:s.shortcutList,children:[l&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0}),children:[A(mt,{}),e("linkSearch")]}),a&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[A(Yc,{}),e("linkSummary")]}),c&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>T.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[A(Qc,{}),e("linkKnowledgeSearch")]}),U&&Rt("a",{className:s.shortcut,target:"_blank",href:U,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[A(Xc,{}),e("linkStudioLogin",{productName:I})]})]})}),i&&m.length>0&&A(ke,{type:"custom-messages","data-testid":"custom-messages",children:A(te,{withDivider:!0,children:m.map(P=>A(zc,{suggestion:P},P.text))})}),r&&p.length>0&&A(ke,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:A(te,{withDivider:!0,children:A(Kc,{})})}),u.map(({type:P,title:$,amount:Un,lines:zn})=>{var nt;switch(P){case"entities":return f&&f.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(jc,{entities:f})},P);case"cues":return g&&g.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(fd,{cues:g})})},P);default:return((nt=x[P])==null?void 0:nt.fetchState)==="done"&&x[P].suggestions.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(Sd,{lines:zn,contentType:P,suggestions:x[P].suggestions.slice(0,Un)||[]})})},P)}})]})})},bd=Hv;function co(t){let e=new Range;return e.selectNodeContents(t),e}function Cd(t,e,o){try{return tt(t,e,o),!0}catch{return!1}}function In(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Ln(t){return"tagName"in t&&t.tagName==="BR"}var lo=/[\u200B-\u200D\uFEFF]/g;function tt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(c,l){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(c))return l;for(let p=0;p<=c.length;p++)if(u.test(c[p])||d++,d===l)return p;throw new Error("Offset out of range")}function a(c){switch(c.nodeType){case Node.TEXT_NODE:{let l=c.textContent,d=l.replace(lo,""),u=s+d.length,p=e>=s&&e<=u,g=o>=s&&o<=u;if(p){let f=i(l,e-s);f===0&&!g?n.setStartBefore(c):n.setStart(c,f)}g&&(n.setEnd(c,i(l,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Ln(c)&&(s===e&&n.setStartBefore(c),s++,s===o)){n.setEndAfter(c),r=!0;return}for(let d=0;d<c.childNodes.length&&(a(c.childNodes[d]),!r);d++);let l=c.lastChild;In(c)&&l&&!In(l)&&!Ln(l)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function An(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,c,l=0;function d(u){let p=u===o,g=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;p&&(a=l+f.substring(0,n).replace(lo,"").length),g&&(c=l+f.substring(0,r).replace(lo,"").length),l+=f.replace(lo,"").length;break}case Node.ELEMENT_NODE:{let f=u.nextSibling===null;Ln(u)&&!f&&l++;for(let m=0;m<u.childNodes.length;m++){let y=p&&m===n,E=g&&m===r;if(y&&(a=l),E&&(c=l),c!==void 0||((!y||!i)&&d(u.childNodes[m]),g&&m===r-1&&(c=l),c!==void 0))break}!g&&In(u)&&!f&&l++,g&&(c=l);break}default:break}}if(d(t),c===void 0)throw new Error("Could not determine start and end");return{start:a??c,end:c}}function Mn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function c(l){let d=l===o,u=l===s;switch(d&&i++,l.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let p=d?n:0,g=u?r:void 0,f=l.textContent.replace(lo,"");p===0&&g===void 0?a+=f:a+=f.substring(p,g);break}case Node.ELEMENT_NODE:{let p=l.nextSibling===null;i===0&&Ln(l)&&!p&&(a+=`
|
|
8
9
|
`);for(let g=d?n:0;g<(u?Math.min(r,l.childNodes.length):l.childNodes.length)&&(c(l.childNodes[g]),i!==1);g++);!u&&i===0&&In(l)&&!p&&(a+=`
|
|
9
|
-
`);break}default:break}u&&i++}return c(t),a}var wd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(wd||{}),Fe=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Pe(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(wd).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 Td(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Pt=class extends Fe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Mn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Td(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Td(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return An(this.element,e);let o=this.lastKnownSelection;if(o&&Cd(this.element,o.start,o.end))return o;let n=co(this.element);return n.collapse(!1),An(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Mn(this.element,tt(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 It=class extends Fe{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Ed(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,c])=>{i.searchParams.append(a,c)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Hv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Cr=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()}},wr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Ed(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()}},Tr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new wr(e,this.deepdeskUrl,{debug:!0}):new Cr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Hv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},kd=Tr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Er=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends Lt{name="ClientError"},Rr=class extends Lt{name="ServerError"},kr=new Map,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,c=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:d=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:g=!0,retryOnError:f=T=>T instanceof TypeError,retryOnResponse:m=T=>T.status>=500,version:y="v1",...E}=o;if(l)if(c){if(kr.has(i)){n(kr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...E,headers:{"Content-Type":"application/json",...E.headers}};!c&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":y});let v=u,k=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(v--,a(i,S).then(async T=>m(T)&&!r.isAborted&&v>0?(await Er(p),x()):T.status===401&&g===!0&&k===!1?(k=!0,await this.refreshToken(),x()):T).catch(async T=>{if(f(T)&&!r.isAborted&&v>0)return await Er(p),x();throw T}));x().then(T=>T.json().catch(()=>null).then(N=>{T.status>=500?s(new Rr("Server Error",N)):T.status===401?s(new At("Unauthorized",N)):T.status===403?s(new At("Forbidden",N)):T.status===404?s(new At("Not Found",N)):T.status>=400&&s(new At("Bad Request",N)),delete this.latestRequestByUrl[i],l&&kr.set(i,N),n(N)})).catch(T=>{s(T)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Fv;(e=>{let t;(c=>(c.SEND_MESSAGE="Send Message",c.HANDLING_TIME="Handling Time",c.START_AUTOFLOW="Start Autoflow",c.ABORT_AUTOFLOW="Abort Autoflow",c.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",c.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Fv||={});function Nn(t){return{...L(t),tags:t.tags}}var Be=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(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...K(e),tags:e.tags},{version:"v2"});return Nn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Nn(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=K(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Nn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...K(s),tags:s.tags})),{version:"v2"})).map(s=>Nn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,c])=>({...i,[a]:c}),{});return this.client.post("/api/events",K({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:K({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return L(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",K(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,K(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(c=>c.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,K(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",K(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,K(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,K({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",K(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Xr);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var uo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ss(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Bv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Bv||={});var po=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,K(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,K(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",K(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new uo(`${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 Gv,configureStore as jv}from"@reduxjs/toolkit";import{createSlice as Kv}from"@reduxjs/toolkit";var Rd={startTime:null,stopTime:null},Pd=Kv({name:"handlingTime",initialState:Rd,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(_,()=>Rd)}}),{handlingTimeStart:Id,handlingTimeStop:On,handlingTimeReset:Ld}=Pd.actions,Ad=Pd.reducer;var Md=(t={})=>{let e={onAuthError:lt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Uv,createSlice as zv}from"@reduxjs/toolkit";var _n={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var ot=Uv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return _n.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Vv=zv({name:"styleSuggestions",initialState:_n,reducers:{},extraReducers:t=>{t.addCase(ot.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ot.rejected,e=>{e.fetchState="error"}).addCase(ot.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(ze,e=>{e.list=_n.list}).addCase(_,()=>_n)}}),Nd=Vv.reducer;var Od=(t={})=>{let e,o=!0,n={getStyleSuggestions:ot,debounce:500,...t};return s=>r=>i=>{var g;let a=s.getState().input.text,c=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return c;let{showStyleSuggestions:d}=l.settings;if(!((g=l.conversation.current)==null?void 0:g.id)||!d)return c;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),c}};function $v(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var _d=(t={})=>{let e={getTextSuggestions:le,getAutocompleteSuggestions:Yt,debounce:200,check:bt,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),c=n.getState();if(c.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:d}=c.settings,u=(m=c.conversation.current)==null?void 0:m.id,p=r.type===tn.toString();if(!u||!l&&!d)return a;let{input:{userCommitted:g}}=c;return $v(g,i)&&!p||(clearTimeout(o),!e.check(c))||(o=setTimeout(()=>{let y=pt(c);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Dd=ot.fulfilled.toString();function qv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(c=>c.keyword===s),i=e.keywordMatches.filter(c=>c.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Hd=t=>e=>o=>n=>{var l;if(n.type!==Dd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let c=qv(s,i);n.type===Dd&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:c}})};var Wv=Gv({answer:$a,auth:si,autoflows:fc,conversation:li,contentTypes:oa,customMessages:Tc,passwordlessToken:Ic,entities:Pa,knowledgeAssistant:Ua,handlingTime:Ad,info:Ri,input:wi,settings:Qr,profile:Za,search:Oi,summary:Da,styleSuggestions:Nd,ui:Cl,rules:Nc,textSuggestions:il});function Fd(t){return jv({reducer:Wv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Md(),_d({debounce:200}),Od({debounce:500}),Hd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Xv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Zv=t=>e=>o=>n=>{var a;let s=e.getState(),r=Jn("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case xe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Po.toString():t.handleKeyDown(n.payload);break;case ze.toString():t.logSendMessage(n.payload);break;case Io.toString():t.handleInputChanged(n.payload);break;case Ye.fulfilled.toString():n.isBroadcasted||t.broadcast(ls,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case ze.toString():t.handleAfterSendMessage(n.payload);break;case eo.toString():t.onUpdateShowTabHint(n.payload);break;case On.toString():t.logHandlingTime();break;case pe.toString():{let{start:c,end:l}=s.input.selection;t.emit("select-suggestion",{type:Xv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(Se()));break}case Ro.toString():{let{start:c,end:l}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0});break}case Ft.toString():{let c=e.getState(),{text:l,selection:d}=c.input.userCommitted;t.emit("reset",{text:l,selectionAfter:d},{mayApplyChanges:!0});break}case Lo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(Le(0));break}default:break}return i},Bd=Zv;function Pr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Kd(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:Pr(o),timeStop:Pr(n)}}function Ud(t,e,o){var N,U,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:c,agentStartedTypingTimestamp:l,externalTimeTotalSeconds:d,pastes:u,cuts:p,deletions:g,textSuggestions:f,offeredTextSuggestions:m}}=e[t],y=n.length,S=f.reduce((I,{text:O,searchTerm:P})=>I+O.length-(P?P.length:0),0),v=l??Date.now(),k=(Date.now()-v)/1e3+(d||0),x=s/k,T=f.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:p,deletions:g,lenTextTyped:s+T,lenTextTotal:y,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:k,charsPerSecond:x,numPastes:c,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(U=e.info.agentInfo)==null?void 0:U.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Ir(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Ir(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Ir(s,e):null}function zd(t,e){return Ir(t,e)}function Vd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Qv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Lr(t){return Qv(t)&&(De(t)||pn(t))}var $d,he=new Map,Jv=["bottom","height","left","right","top","width"],Yv=(t={},e={})=>Jv.some(o=>t[o]!==e[o]);function qd(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,...qd(e)]:[]}function Gd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Dn=!1,jd=()=>{Dn=!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();Yv(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Gd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),he.size===0){Dn=!1;return}$d=window.requestAnimationFrame(jd)};function Ar(t,e){let o=qd(t),n=[],s=o.map((r,i)=>Ar(r,a=>{n[i]=a;let c=he.get(t);if(!c)return;let l=n.reduce(Gd,c.rect);c.callbacks.forEach(d=>d(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&&!Dn&&jd()},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($d),Dn=!1)}}}}var Wd,ye=new Map,Xd=()=>{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&&(Wd=window.requestAnimationFrame(Xd))};function Zd(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&&Xd()},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(Wd)}}}}var Mr=["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 Nr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Mt(t){return parseFloat(t)}function Hn(t){return Math.round(t*1e6)}function Qd(t){return t/1e6}function Or(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Mt(t.width),r=Mt(t.borderLeftWidth),i=Mt(t.borderRightWidth),a=Mt(t.paddingRight),c=Qd(Hn(s)-Hn(r)-Hn(i)),l=Qd(Hn(n));if(c-l>2){let d=c-l;o.style.paddingRight=`${a+d}px`}}function Fn(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ze(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Nr(n,o,Mr),Or(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Zd(t,()=>{Nr(n,o,Mr),Or(n,t,o),r(),setTimeout(r,0)}),a,c=!0,l=Ar(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!c&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),c=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),c=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Nr(n,o,Mr),Or(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),g=window.getComputedStyle(e.closestScrollElement),f=Mt(g.borderTopWidth),m=Mt(g.borderBottomWidth),y=p.top+f-u.top,E=u.top+u.height+-(p.top+p.height-m);o.style.clipPath=`inset(${y}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Jd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function eS(t){return t.offsetParent!==null}function Yd(t){if(!eS(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 _r(t,e,o=100){let n=Yd(t);e({isVisible:n});let s=setInterval(()=>{let r=Yd(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as z}from"react/jsx-runtime";var eu=Jd("showTabHint",!0),Kn=class t{static version="11.2.0";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:c}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Be(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Bd({broadcast:(u,p,g)=>{this.broadcastEvents.send(u,p,g)},emit:(u,p,g)=>this.emit(u,p,g),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>eu.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new po(o)}),this.store=Fd(d),this.broadcastEvents=new kd({debug:!0,deepdeskUrl:l,eventMap:_i(this.store),createCustomChannel:c}),this.store.dispatch(eo(eu.value())),this.store.dispatch(So({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(ve()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();W(n)&&Jr(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(ve())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ts({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Co(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(wo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(os(e))).payload}async postMessages(e){return(await this.store.dispatch(Eo(e))).payload}async updateConversation(e){return(await this.store.dispatch(To(e))).payload}resetConversation(){this.store.dispatch(_()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(xe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(So(e))}setVisitorInfo(e){this.store.dispatch(ki(e))}async setAgentInfo(e){await this.store.dispatch(Bt(e))}async setAgentSettings(e){await this.store.dispatch(is(e))}async getAgentSettings(){return(await this.store.dispatch(as())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(tn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Io(e))}notifyKeyDown(e){this.store.dispatch(Po(e))}notifyPaste(e,o){this.store.dispatch(Si({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(yi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(Se())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(Ye({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(_e({collapse:!1})),this.inputMediator&&this.store.dispatch(pi({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,c=s!==-1;if(this.store.dispatch(vi(ci(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(mi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(hi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ft()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():l();return;case"Down":case"ArrowDown":{i?l():d();return}case"Esc":case"Escape":{i&&c&&this.store.dispatch(Le(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Le(-1)),this.store.dispatch(Ft()),e.preventDefault()):o||(this.store.dispatch(_e({collapse:!0})),this.store.dispatch(xl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,p=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:g}=this.state.input;this.store.dispatch(eo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&g&&g.text.startsWith(p)&&(this.store.dispatch(pe({text:g.text,suggestion:g,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Se())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(xi()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Id()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(On()))}logSendMessage(e){let o=Ud("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=Kd(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Ld())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Se()),this.store.dispatch(ze(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){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Fn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Bn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,c]=Fn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Bn(s),c()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ze(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{Bn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ci(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Lr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:p,insertLink:g,inputMediator:f,closestScrollSelector:m,appendOverlayTo:y,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:g,isEmbedded:u,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ze(e),this.inputMediator=f||(De(e)?new It(e):new Pt(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(bi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:T})=>{this.notifyPaste(x,T)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let v=m&&zd(e,m)||void 0;if(E){let{customStyles:x,appendOverlayTo:T}=o;if(De(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Pl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(ue([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let U=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:T},x==null?void 0:x.floatingMenuRootNode);Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(vl,{onLogIn:()=>this.loginViaPopup().catch(F=>w.warn(F.message))})})}),U)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:y,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),T=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(cc,{inputElement:e})})}),x),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Fl,{onLogIn:()=>this.loginViaPopup().catch(N=>w.warn(N.message))})})}),T)}Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(pl,{})})}),this.createContainer("deepdesk-overlays"));let k;this.inputMediator.on("selection",x=>{clearTimeout(k),x===null?k=setTimeout(()=>{x!==null&&this.store.dispatch(ns(x))},500):this.store.dispatch(ns(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Xs(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Xs(!0))),this.store.dispatch(gi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(Se()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(bd,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Bn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=_r(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Vd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=Oe(this.state);e&&(await this.store.dispatch(Qt()),this.store.dispatch(So({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let c=!1,l=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=async g=>{var f,m;if((f=g.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=g.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ut),c=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{c=!0,l()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async g=>{var f;if(g.origin===a.origin)switch((f=g.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){w.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{l(),g.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(g.data.message));break}}};window.addEventListener("message",u);let p=setInterval(()=>{d&&!d.closed||(l(),c||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Yo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(le(n))})}catch(n){this.handleError(n)}}};async function tS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},c=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(c()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function oS(t,e,o={}){let n=o.replace?tt(t,o.replace.start,o.replace.end):co(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
10
|
-
`).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?tt(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
|
|
11
|
-
`).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function tu(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:tu(t,e.parentNode)}async function
|
|
10
|
+
`);break}default:break}u&&i++}return c(t),a}var wd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(wd||{}),Fe=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Pe(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(wd).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 Td(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Pt=class extends Fe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Mn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!Td(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!Td(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return An(this.element,e);let o=this.lastKnownSelection;if(o&&Cd(this.element,o.start,o.end))return o;let n=co(this.element);return n.collapse(!1),An(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Mn(this.element,tt(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 It=class extends Fe{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Ed(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,c])=>{i.searchParams.append(a,c)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Fv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var Cr=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()}},wr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Ed(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()}},Tr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),w.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new wr(e,this.deepdeskUrl,{debug:!0}):new Cr(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Fv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(w.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;w.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},kd=Tr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Er=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends Lt{name="ClientError"},Rr=class extends Lt{name="ServerError"},kr=new Map,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,c=o.method===void 0||o.method.toLowerCase()==="get",{useCache:l=!1,abortLatest:d=!1,attempts:u=1,retryDelay:p=500,refreshTokenOn401:g=!0,retryOnError:f=T=>T instanceof TypeError,retryOnResponse:m=T=>T.status>=500,version:y="v1",...E}=o;if(l)if(c){if(kr.has(i)){n(kr.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...E,headers:{"Content-Type":"application/json",...E.headers}};!c&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":y});let v=u,k=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(v--,a(i,S).then(async T=>m(T)&&!r.isAborted&&v>0?(await Er(p),x()):T.status===401&&g===!0&&k===!1?(k=!0,await this.refreshToken(),x()):T).catch(async T=>{if(f(T)&&!r.isAborted&&v>0)return await Er(p),x();throw T}));x().then(T=>T.json().catch(()=>null).then(N=>{T.status>=500?s(new Rr("Server Error",N)):T.status===401?s(new At("Unauthorized",N)):T.status===403?s(new At("Forbidden",N)):T.status===404?s(new At("Not Found",N)):T.status>=400&&s(new At("Bad Request",N)),delete this.latestRequestByUrl[i],l&&kr.set(i,N),n(N)})).catch(T=>{s(T)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Bv;(e=>{let t;(c=>(c.SEND_MESSAGE="Send Message",c.HANDLING_TIME="Handling Time",c.START_AUTOFLOW="Start Autoflow",c.ABORT_AUTOFLOW="Abort Autoflow",c.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",c.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Bv||={});function Nn(t){return{...L(t),tags:t.tags}}var Be=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(),w.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...K(e),tags:e.tags},{version:"v2"});return Nn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),w.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return w.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Nn(r)}async isConversationSupported(e,o={}){w.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=K(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Nn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...K(s),tags:s.tags})),{version:"v2"})).map(s=>Nn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,c])=>({...i,[a]:c}),{});return this.client.post("/api/events",K({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:K({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){let n=await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model});return L(n)}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw w.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",K(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,K(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(c=>c.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,K(o),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",K(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,K(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,K({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",K(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Xr);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&w.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var uo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ss(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{w.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Kv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Kv||={});var po=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=w;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,K(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,K(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",K(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new uo(`${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 jv,configureStore as Wv}from"@reduxjs/toolkit";import{createSlice as Uv}from"@reduxjs/toolkit";var Rd={startTime:null,stopTime:null},Pd=Uv({name:"handlingTime",initialState:Rd,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(_,()=>Rd)}}),{handlingTimeStart:Id,handlingTimeStop:On,handlingTimeReset:Ld}=Pd.actions,Ad=Pd.reducer;var Md=(t={})=>{let e={onAuthError:lt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as zv,createSlice as Vv}from"@reduxjs/toolkit";var _n={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var ot=zv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return _n.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),$v=Vv({name:"styleSuggestions",initialState:_n,reducers:{},extraReducers:t=>{t.addCase(ot.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ot.rejected,e=>{e.fetchState="error"}).addCase(ot.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(ze,e=>{e.list=_n.list}).addCase(_,()=>_n)}}),Nd=$v.reducer;var Od=(t={})=>{let e,o=!0,n={getStyleSuggestions:ot,debounce:500,...t};return s=>r=>i=>{var g;let a=s.getState().input.text,c=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return c;let{showStyleSuggestions:d}=l.settings;if(!((g=l.conversation.current)==null?void 0:g.id)||!d)return c;let{text:p}=l.input;return p===a&&!o||(clearTimeout(e),p==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:p}))},t.debounce)),c}};function qv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var _d=(t={})=>{let e={getTextSuggestions:le,getAutocompleteSuggestions:Yt,debounce:200,check:bt,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),c=n.getState();if(c.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:d}=c.settings,u=(m=c.conversation.current)==null?void 0:m.id,p=r.type===tn.toString();if(!u||!l&&!d)return a;let{input:{userCommitted:g}}=c;return qv(g,i)&&!p||(clearTimeout(o),!e.check(c))||(o=setTimeout(()=>{let y=pt(c);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},p?0:e.debounce)),a}};var Dd=ot.fulfilled.toString();function Gv(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(c=>c.keyword===s),i=e.keywordMatches.filter(c=>c.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Hd=t=>e=>o=>n=>{var l;if(n.type!==Dd){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let c=Gv(s,i);n.type===Dd&&c.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:c}})};var Xv=jv({answer:$a,auth:si,autoflows:fc,conversation:li,contentTypes:oa,customMessages:Tc,passwordlessToken:Ic,entities:Pa,knowledgeAssistant:Ua,handlingTime:Ad,info:Ri,input:wi,settings:Qr,profile:Za,search:Oi,summary:Da,styleSuggestions:Nd,ui:Cl,rules:Nc,textSuggestions:il});function Fd(t){return Wv({reducer:Xv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Md(),_d({debounce:200}),Od({debounce:500}),Hd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Zv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Qv=t=>e=>o=>n=>{var a;let s=e.getState(),r=Jn("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Po.toString():t.handleKeyDown(n.payload);break;case ze.toString():t.logSendMessage(n.payload);break;case Io.toString():t.handleInputChanged(n.payload);break;case Ye.fulfilled.toString():n.isBroadcasted||t.broadcast(ls,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case ze.toString():t.handleAfterSendMessage(n.payload);break;case eo.toString():t.onUpdateShowTabHint(n.payload);break;case On.toString():t.logHandlingTime();break;case pe.toString():{let{start:c,end:l}=s.input.selection;t.emit("select-suggestion",{type:Zv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(Se()));break}case Ro.toString():{let{start:c,end:l}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:c,end:l}:{start:0,end:l}},{mayApplyChanges:!0});break}case Ft.toString():{let c=e.getState(),{text:l,selection:d}=c.input.userCommitted;t.emit("reset",{text:l,selectionAfter:d},{mayApplyChanges:!0});break}case Lo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(Le(0));break}case xe.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},Bd=Qv;function Pr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Kd(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:Pr(o),timeStop:Pr(n)}}function Ud(t,e,o){var N,U,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:c,agentStartedTypingTimestamp:l,externalTimeTotalSeconds:d,pastes:u,cuts:p,deletions:g,textSuggestions:f,offeredTextSuggestions:m}}=e[t],y=n.length,S=f.reduce((I,{text:O,searchTerm:P})=>I+O.length-(P?P.length:0),0),v=l??Date.now(),k=(Date.now()-v)/1e3+(d||0),x=s/k,T=f.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:p,deletions:g,lenTextTyped:s+T,lenTextTotal:y,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:k,charsPerSecond:x,numPastes:c,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(U=e.info.agentInfo)==null?void 0:U.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Ir(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Ir(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Ir(s,e):null}function zd(t,e){return Ir(t,e)}function Vd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Jv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Lr(t){return Jv(t)&&(De(t)||pn(t))}var $d,he=new Map,Yv=["bottom","height","left","right","top","width"],eS=(t={},e={})=>Yv.some(o=>t[o]!==e[o]);function qd(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,...qd(e)]:[]}function Gd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Dn=!1,jd=()=>{Dn=!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();eS(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(Gd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),he.size===0){Dn=!1;return}$d=window.requestAnimationFrame(jd)};function Ar(t,e){let o=qd(t),n=[],s=o.map((r,i)=>Ar(r,a=>{n[i]=a;let c=he.get(t);if(!c)return;let l=n.reduce(Gd,c.rect);c.callbacks.forEach(d=>d(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&&!Dn&&jd()},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($d),Dn=!1)}}}}var Wd,ye=new Map,Xd=()=>{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&&(Wd=window.requestAnimationFrame(Xd))};function Zd(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&&Xd()},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(Wd)}}}}var Mr=["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 Nr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Mt(t){return parseFloat(t)}function Hn(t){return Math.round(t*1e6)}function Qd(t){return t/1e6}function Or(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Mt(t.width),r=Mt(t.borderLeftWidth),i=Mt(t.borderRightWidth),a=Mt(t.paddingRight),c=Qd(Hn(s)-Hn(r)-Hn(i)),l=Qd(Hn(n));if(c-l>2){let d=c-l;o.style.paddingRight=`${a+d}px`}}function Fn(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ze(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Nr(n,o,Mr),Or(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Zd(t,()=>{Nr(n,o,Mr),Or(n,t,o),r(),setTimeout(r,0)}),a,c=!0,l=Ar(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!c&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),c=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),c=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Nr(n,o,Mr),Or(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),g=window.getComputedStyle(e.closestScrollElement),f=Mt(g.borderTopWidth),m=Mt(g.borderBottomWidth),y=p.top+f-u.top,E=u.top+u.height+-(p.top+p.height-m);o.style.clipPath=`inset(${y}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.appendChild(o),l.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve()}]}var Jd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{w.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function tS(t){return t.offsetParent!==null}function Yd(t){if(!tS(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 _r(t,e,o=100){let n=Yd(t);e({isVisible:n});let s=setInterval(()=>{let r=Yd(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as z}from"react/jsx-runtime";var eu=Jd("showTabHint",!0),Kn=class t{static version="11.2.1-beta.1";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:c}){let l=e.replace(/\/api$/,"");this.deepdeskApi=new Be(l,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Bd({broadcast:(u,p,g)=>{this.broadcastEvents.send(u,p,g)},emit:(u,p,g)=>this.emit(u,p,g),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>eu.update(u),sendEvent:(u,p)=>this.deepdeskApi.sendEvent(u,p)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new po(o)}),this.store=Fd(d),this.broadcastEvents=new kd({debug:!0,deepdeskUrl:l,eventMap:_i(this.store),createCustomChannel:c}),this.store.dispatch(eo(eu.value())),this.store.dispatch(So({locale:s,adminUrl:l,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(w.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(w.warn("Profile has not been loaded (yet)"),!0):(w.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(ve()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();W(n)&&Jr(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(ve())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){w.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ts({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Co(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(wo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(os(e))).payload}async postMessages(e){return(await this.store.dispatch(Eo(e))).payload}async updateConversation(e){return(await this.store.dispatch(To(e))).payload}resetConversation(){this.store.dispatch(_()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(xe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(So(e))}setVisitorInfo(e){this.store.dispatch(ki(e))}async setAgentInfo(e){await this.store.dispatch(Bt(e))}async setAgentSettings(e){await this.store.dispatch(is(e))}async getAgentSettings(){return(await this.store.dispatch(as())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(tn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Io(e))}notifyKeyDown(e){this.store.dispatch(Po(e))}notifyPaste(e,o){this.store.dispatch(Si({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(yi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(Se())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(Ye({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(_e({collapse:!1})),this.inputMediator&&this.store.dispatch(pi({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,c=s!==-1;if(this.store.dispatch(vi(ci(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let l=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(mi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(hi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ft()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():l();return;case"Down":case"ArrowDown":{i?l():d();return}case"Esc":case"Escape":{i&&c&&this.store.dispatch(Le(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Le(-1)),this.store.dispatch(Ft()),e.preventDefault()):o||(this.store.dispatch(_e({collapse:!0})),this.store.dispatch(xl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,p=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:g}=this.state.input;this.store.dispatch(eo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&g&&g.text.startsWith(p)&&(this.store.dispatch(pe({text:g.text,suggestion:g,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Se())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(xi()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(w.info("Start handling time"),this.store.dispatch(Id()))}handlingTimeStop(){this.state.handlingTime.startTime&&(w.info("Stop handling time"),this.store.dispatch(On()))}logSendMessage(e){let o=Ud("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=Kd(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Ld())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Se()),this.store.dispatch(ze(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){w.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),w.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Fn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Bn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,c]=Fn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Bn(s),c()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ze(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{Bn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),w.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(w.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(Ci(n.metrics))):w.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Lr(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:p,insertLink:g,inputMediator:f,closestScrollSelector:m,appendOverlayTo:y,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:c,showSuggestionsBeforePattern:l,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:g,isEmbedded:u,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ze(e),this.inputMediator=f||(De(e)?new It(e):new Pt(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(bi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:T})=>{this.notifyPaste(x,T)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let v=m&&zd(e,m)||void 0;if(E){let{customStyles:x,appendOverlayTo:T}=o;if(De(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Pl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(ue([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let U=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:T},x==null?void 0:x.floatingMenuRootNode);Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(vl,{onLogIn:()=>this.loginViaPopup().catch(F=>w.warn(F.message))})})}),U)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:y,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),T=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(cc,{inputElement:e})})}),x),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Fl,{onLogIn:()=>this.loginViaPopup().catch(N=>w.warn(N.message))})})}),T)}Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(pl,{})})}),this.createContainer("deepdesk-overlays"));let k;this.inputMediator.on("selection",x=>{clearTimeout(k),x===null?k=setTimeout(()=>{x!==null&&this.store.dispatch(ns(x))},500):this.store.dispatch(ns(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{p&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Xs(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Xs(!0))),this.store.dispatch(gi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(Se()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&w.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(bd,{onLogIn:()=>this.loginViaPopup().catch(i=>w.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Bn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=_r(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Vd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=Oe(this.state);e&&(await this.store.dispatch(Qt()),this.store.dispatch(So({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let c=!1,l=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(p)};r.onmessage=async g=>{var f,m;if((f=g.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=g.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ut),c=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{c=!0,l()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async g=>{var f;if(g.origin===a.origin)switch((f=g.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){w.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{l(),g.data.message==="Timeout"&&w.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(g.data.message));break}}};window.addEventListener("message",u);let p=setInterval(()=>{d&&!d.closed||(l(),c||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(l)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(w.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;w.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Yo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(le(n))})}catch(n){this.handleError(n)}}};async function oS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},c=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(c()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function nS(t,e,o={}){let n=o.replace?tt(t,o.replace.start,o.replace.end):co(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
|
|
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?tt(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 sS(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 rS(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 tu(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:tu(t,e.parentNode)}async function iS(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let c=a.getRangeAt(0);if(!c)return;s=document.createElement("span"),c.insertNode(s);let l=n?sS(e):rS(e);if(o){let d=c.startContainer===t?t.childNodes[c.startOffset]:c.startContainer,u=tu(t,d)??t.firstChild;t.insertBefore(l,(u==null?void 0:u.nextSibling)??null)}else c.insertNode(l),c.collapse(!1)};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function aS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function lS(t,e,o){await new Be(t).authenticateWithKey(e,o)}async function cS(t){let o=await new fe(t).get("/platform/config/",{version:null,useCache:!0});return L(o)}async function dS(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 uS(t,e){let o=await dS(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{H as Card,Pt as ContentEditableInput,Be as DeepdeskAPI,Kn as DeepdeskSDK,fe as HTTPClient,Fe as InputMediator,at as InputType,qn as KeyboardHint,Gn as Label,vo as Locale,ke as Section,Wn as SectionList,Re as Sources,M as Suggestion,te as SuggestionList,It as TextAreaInput,it as ToggleButton,uS as attachFile,lS as authenticateWithKey,co as createFullRange,Fn as createOverlayContainer,tt as createRangeFromOffsets,Xt as escapeHTML,cS as fetchPlatformConfig,aS as formatTextMarkup,An as getRangeOffsets,Mn as getRangeText,iS as insertCKEditor,Es as isHTML,Lr as isSupportedInputElement,nS as updateContentEditable,oS as updateTextArea,h as useStyles,_r as waitForElementVisibilityChange};
|